<!DOCTYPE html>
<?php
$cacheFile = __DIR__ . '/last_collector_run.txt';
$updateInterval = 1800; // каждые 30 минут

if (!file_exists($cacheFile) || (time() - filemtime($cacheFile)) > $updateInterval) {
    // Безопасный вызов collector.php
    $url = 'https://avatiah.com/collector.php?key=MYSECRETKEY';
    @file_get_contents($url);
    file_put_contents($cacheFile, date('Y-m-d H:i:s'));
}
?>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Avatiah Security Index: Израиль</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"></script>
    <style>
        /* ——— ВСЕ СТИЛИ ИЗ ПЕРВОГО ФАЙЛА ——— */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }
        body {
            background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
            min-height: 100vh;
            padding: 1rem;
        }
        .container {
            max-width: 1600px;
            margin: 0 auto;
        }
        .header {
            text-align: center;
            color: white;
            margin-bottom: 2rem;
            background: rgba(0,0,0,0.3);
            padding: 2rem;
            border-radius: 15px;
            backdrop-filter: blur(10px);
        }
        .header h1 {
            font-size: 2.8rem;
            margin-bottom: 0.5rem;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
        }
        .header .subtitle {
            font-size: 1.2rem;
            opacity: 0.9;
        }
        .focus-region {
            background: rgba(231, 76, 60, 0.2);
            border: 2px solid #e74c3c;
            padding: 1rem;
            border-radius: 10px;
            margin-top: 1rem;
            display: inline-block;
        }
        .key-metrics {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 1.5rem;
            margin-bottom: 2rem;
        }
        .metric-card {
            background: white;
            border-radius: 15px;
            padding: 1.5rem;
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
            text-align: center;
        }
        .metric-card.critical {
            border-top: 6px solid #e74c3c;
        }
        .metric-card.warning {
            border-top: 6px solid #f39c12;
        }
        .metric-card.info {
            border-top: 6px solid #3498db;
        }
        .metric-value {
            font-size: 3rem;
            font-weight: bold;
            margin: 1rem 0;
        }
        .metric-card.critical .metric-value {
            color: #e74c3c;
        }
        .metric-card.warning .metric-value {
            color: #f39c12;
        }
        .metric-card.info .metric-value {
            color: #3498db;
        }
        .metric-label {
            font-size: 1.2rem;
            color: #2c3e50;
            margin-bottom: 0.5rem;
        }
        .metric-description {
            color: #7f8c8d;
            font-size: 0.9rem;
        }
        .index-visualization {
            background: white;
            border-radius: 15px;
            padding: 2rem;
            margin-bottom: 2rem;
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
        }
        .viz-title {
            font-size: 2rem;
            color: #2c3e50;
            margin-bottom: 1.5rem;
            text-align: center;
        }
        .current-index-display {
            text-align: center;
            padding: 2rem;
            background: linear-gradient(135deg, #f39c12 0%, #e67e22 100%);
            border-radius: 15px;
            margin-bottom: 2rem;
            color: white;
            box-shadow: 0 5px 15px rgba(243, 156, 18, 0.4);
        }
        .index-value-big {
            font-size: 5rem;
            font-weight: bold;
            margin: 1rem 0;
        }
        .index-label-big {
            font-size: 1.5rem;
            margin-bottom: 0.5rem;
        }
        .index-status {
            font-size: 1.8rem;
            font-weight: bold;
            background: rgba(0,0,0,0.2);
            padding: 1rem;
            border-radius: 10px;
            margin-top: 1rem;
        }
        .index-scale {
            display: flex;
            height: 40px;
            border-radius: 20px;
            overflow: hidden;
            margin: 2rem 0;
            box-shadow: 0 3px 10px rgba(0,0,0,0.2);
        }
        .scale-segment {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: bold;
            font-size: 0.9rem;
            position: relative;
        }
        .scale-segment.aal-5 { background: #27ae60; }
        .scale-segment.aal-4 { background: #f39c12; }
        .scale-segment.aal-3 { background: #e67e22; }
        .scale-segment.aal-2 { background: #e74c3c; }
        .scale-segment.aal-1 { background: #8e44ad; }
        .current-marker {
            position: absolute;
            bottom: -30px;
            left: 60%;
            transform: translateX(-50%);
            font-size: 2rem;
            animation: bounce 2s infinite;
        }
        @keyframes bounce {
            0%, 100% { transform: translateX(-50%) translateY(0); }
            50% { transform: translateX(-50%) translateY(-10px); }
        }
        .components-section {
            background: white;
            border-radius: 15px;
            padding: 2rem;
            margin-bottom: 2rem;
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
        }
        .component-title {
            font-size: 2rem;
            color: #2c3e50;
            margin-bottom: 1.5rem;
        }
        .components-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
            gap: 1.5rem;
        }
        .component-card {
            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
            border-radius: 12px;
            padding: 1.5rem;
            border-left: 6px solid;
            transition: all 0.3s ease;
            cursor: pointer;
        }
        .component-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(0,0,0,0.15);
        }
        .component-card.weight-critical {
            border-left-color: #c0392b;
        }
        .component-card.weight-high {
            border-left-color: #e74c3c;
        }
        .component-card.weight-medium {
            border-left-color: #f39c12;
        }
        .component-card.weight-low {
            border-left-color: #3498db;
        }
        .component-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1rem;
        }
        .component-name {
            font-size: 1.3rem;
            font-weight: bold;
            color: #2c3e50;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .component-icon {
            font-size: 1.8rem;
        }
        .component-weight {
            background: #3498db;
            color: white;
            padding: 0.4rem 1rem;
            border-radius: 20px;
            font-weight: bold;
            font-size: 1.1rem;
        }
        .weight-critical .component-weight { background: #c0392b; }
        .weight-high .component-weight { background: #e74c3c; }
        .weight-medium .component-weight { background: #f39c12; }
        .weight-low .component-weight { background: #3498db; }
        .simple-explanation {
            background: rgba(52, 152, 219, 0.1);
            padding: 1rem;
            border-radius: 8px;
            margin-bottom: 1rem;
            border-left: 3px solid #3498db;
        }
        .simple-explanation-title {
            font-weight: bold;
            color: #2980b9;
            margin-bottom: 0.5rem;
            font-size: 0.95rem;
        }
        .simple-explanation-text {
            font-size: 0.95rem;
            line-height: 1.5;
            color: #34495e;
        }
        .component-region {
            background: rgba(52, 152, 219, 0.05);
            padding: 0.5rem;
            border-radius: 5px;
            font-size: 0.9rem;
            color: #2c3e50;
            margin-bottom: 1rem;
        }
        .component-current {
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: white;
            padding: 1rem;
            border-radius: 8px;
            margin: 1rem 0;
        }
        .current-value {
            font-size: 1.8rem;
            font-weight: bold;
            color: #e74c3c;
        }
        .current-trend {
            display: flex;
            align-items: center;
            gap: 0.3rem;
            font-size: 1rem;
            color: #e74c3c;
        }
        .component-impact {
            background: rgba(231, 76, 60, 0.1);
            border-left: 3px solid #e74c3c;
            padding: 1rem;
            border-radius: 5px;
            margin-top: 1rem;
        }
        .impact-title {
            font-weight: bold;
            color: #c0392b;
            margin-bottom: 0.5rem;
        }
        .component-sources {
            font-size: 0.85rem;
            color: #7f8c8d;
            margin-top: 1rem;
            font-style: italic;
        }
        .explanation-box {
            background: rgba(52, 152, 219, 0.2);
            border-left: 4px solid #3498db;
            padding: 1.5rem;
            border-radius: 8px;
            margin-top: 2rem;
        }
        .explanation-title {
            font-weight: bold;
            font-size: 1.2rem;
            margin-bottom: 1rem;
            color: #3498db;
        }
        .methodology-section {
            background: #2c3e50;
            color: white;
            border-radius: 15px;
            padding: 2rem;
            margin-bottom: 2rem;
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
            display: none;
        }
        .methodology-title {
            font-size: 2rem;
            margin-bottom: 1.5rem;
            text-align: center;
        }
        .methodology-content {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 1.5rem;
        }
        .methodology-card {
            background: rgba(255,255,255,0.1);
            padding: 1.5rem;
            border-radius: 10px;
        }
        .methodology-card h3 {
            color: #3498db;
            margin-bottom: 1rem;
            font-size: 1.3rem;
        }
        .methodology-card ul {
            margin-left: 1.5rem;
            line-height: 1.6;
        }
        .methodology-card li {
            margin: 0.5rem 0;
        }
        .correlation-section {
            background: white;
            border-radius: 15px;
            padding: 2rem;
            margin-bottom: 2rem;
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
        }
        .chart-container {
            position: relative;
            height: 400px;
            margin: 2rem 0;
        }
        .stats-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1.5rem;
            margin-bottom: 2rem;
        }
        .stat-card {
            background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
            padding: 1.5rem;
            border-radius: 10px;
            text-align: center;
            color: white;
        }
        .stat-card.critical {
            background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
        }
        .stat-card.warning {
            background: linear-gradient(135deg, #f39c12 0%, #e67e22 100%);
        }
        .stat-card.success {
            background: linear-gradient(135deg, #27ae60 0%, #229954 100%);
        }
        .stat-value {
            font-size: 2.5rem;
            font-weight: bold;
            margin-bottom: 0.5rem;
        }
        .stat-label {
            font-size: 0.9rem;
        }
        .timeline-event {
            background: linear-gradient(135deg, #ffe5e5 0%, #ffc9c9 100%);
            padding: 1.5rem;
            border-radius: 10px;
            margin-bottom: 1.5rem;
            border-left: 5px solid #e67e22;
        }
        .timeline-event.moderate {
            background: linear-gradient(135deg, #fff8e5 0%, #ffe9c9 100%);
            border-left-color: #f39c12;
        }
        .timeline-event.low {
            background: linear-gradient(135deg, #ecf0f1 0%, #bdc3c7 100%);
            border-left-color: #27ae60;
        }
        .event-date {
            font-weight: bold;
            color: #e67e22;
            margin-bottom: 0.5rem;
        }
        .event-date.moderate {
            color: #f39c12;
        }
        .event-date.low {
            color: #27ae60;
        }
        .event-badge {
            background: #e74c3c;
            color: white;
            padding: 0.2rem 0.5rem;
            border-radius: 10px;
            font-size: 0.8rem;
            margin-right: 0.5rem;
        }
        .event-badge.moderate {
            background: #f39c12;
        }
        .event-badge.low {
            background: #27ae60;
        }
        .new-factors-section {
            background: linear-gradient(135deg, #8e44ad 0%, #9b59b6 100%);
            color: white;
            border-radius: 15px;
            padding: 2rem;
            margin-bottom: 2rem;
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
        }
        .new-factors-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
            gap: 1.5rem;
            margin-top: 1.5rem;
        }
        .new-factor-card {
            background: rgba(255,255,255,0.1);
            backdrop-filter: blur(10px);
            border-radius: 12px;
            padding: 1.5rem;
            border: 2px solid rgba(255,255,255,0.2);
            transition: all 0.3s ease;
        }
        .new-factor-card:hover {
            transform: translateY(-5px);
            background: rgba(255,255,255,0.15);
            border-color: rgba(255,255,255,0.4);
        }
        .new-factor-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1rem;
        }
        .new-factor-title {
            font-size: 1.4rem;
            font-weight: bold;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .new-badge {
            background: #e74c3c;
            padding: 0.3rem 0.8rem;
            border-radius: 15px;
            font-size: 0.75rem;
            font-weight: bold;
        }
        .new-factor-weight {
            background: rgba(255,255,255,0.2);
            padding: 0.4rem 1rem;
            border-radius: 20px;
            font-weight: bold;
        }
        .new-factor-description {
            line-height: 1.6;
            margin-bottom: 1rem;
        }
        .new-factor-details {
            background: rgba(0,0,0,0.2);
            padding: 1rem;
            border-radius: 8px;
            font-size: 0.9rem;
            line-height: 1.5;
        }
        .new-factor-details ul {
            margin-left: 1.5rem;
            margin-top: 0.5rem;
        }
        .new-factor-details li {
            margin: 0.3rem 0;
        }
        .change-indicator {
            display: inline-block;
            margin-left: 5px;
            font-size: 0.8em;
        }
        .change-positive {
            color: #e74c3c;
        }
        .change-negative {
            color: #27ae60;
        }
        .change-neutral {
            color: #7f8c8d;
        }
        .data-update-info {
            text-align: center;
            font-size: 0.9rem;
            color: #7f8c8d;
            margin-top: 1rem;
        }
        .enhanced-factors-toggle {
            background: rgba(255,255,255,0.2);
            border: 2px solid rgba(255,255,255,0.3);
            color: white;
            padding: 0.8rem 1.5rem;
            border-radius: 10px;
            font-size: 1rem;
            cursor: pointer;
            margin: 1rem auto;
            display: block;
            transition: all 0.3s ease;
        }
        .enhanced-factors-toggle:hover {
            background: rgba(255,255,255,0.3);
        }
        .enhanced-factors-toggle.active {
            background: rgba(231, 76, 60, 0.5);
            border-color: #e74c3c;
        }
        .dynamic-explanation {
            background: rgba(52, 152, 219, 0.15);
            border-left: 4px solid #3498db;
            padding: 1.5rem;
            border-radius: 8px;
            margin-top: 1.5rem;
        }
        .dynamic-explanation-title {
            font-weight: bold;
            font-size: 1.2rem;
            margin-bottom: 1rem;
            color: #3498db;
        }
        .dynamic-risk-indicator {
            display: inline-block;
            padding: 0.5rem 1rem;
            border-radius: 20px;
            font-weight: bold;
            margin: 0.5rem 0;
        }
        .risk-low { background: #27ae60; color: white; }
        .risk-medium { background: #f39c12; color: white; }
        .risk-high { background: #e74c3c; color: white; }
        .risk-critical { background: #8e44ad; color: white; }
        @keyframes pulse {
            0%, 100% { opacity: 1; }
            50% { opacity: 0.7; }
        }
        .live-indicator {
            display: inline-block;
            width: 12px;
            height: 12px;
            background: #27ae60;
            border-radius: 50%;
            margin-right: 0.5rem;
            animation: pulse 2s infinite;
        }
        .quality-indicator {
            display: inline-block;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            margin-left: 5px;
        }
        .quality-high { background: #27ae60; }
        .quality-medium { background: #f39c12; }
        .quality-low { background: #e74c3c; }
        .data-source-info {
            font-size: 0.8rem;
            color: #7f8c8d;
            margin-top: 0.5rem;
        }
        .disclaimer-section {
            background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
            color: white;
            border-radius: 15px;
            padding: 2rem;
            margin-bottom: 2rem;
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
            border: 2px solid #e74c3c;
        }
        .disclaimer-header {
            text-align: center;
            margin-bottom: 2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1rem;
        }
        .disclaimer-header h2 {
            font-size: 2rem;
            margin: 0;
        }
        .disclaimer-icon {
            font-size: 2.5rem;
            animation: pulse 2s infinite;
        }
        .disclaimer-content {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 1.5rem;
            margin-bottom: 2rem;
        }
        .disclaimer-card {
            background: rgba(255,255,255,0.1);
            padding: 1.5rem;
            border-radius: 10px;
            border-left: 4px solid;
            backdrop-filter: blur(10px);
        }
        .disclaimer-card.critical { border-left-color: #e74c3c; }
        .disclaimer-card.warning { border-left-color: #f39c12; }
        .disclaimer-card.info { border-left-color: #3498db; }
        .disclaimer-card.success { border-left-color: #27ae60; }
        .disclaimer-card h3 {
            margin-bottom: 1rem;
            font-size: 1.2rem;
            color: #ecf0f1;
        }
        .disclaimer-card ul {
            margin-left: 1.5rem;
            line-height: 1.6;
        }
        .disclaimer-card li {
            margin: 0.5rem 0;
        }
        .disclaimer-footer {
            background: rgba(0,0,0,0.3);
            padding: 1.5rem;
            border-radius: 10px;
            text-align: center;
            border-top: 2px solid #e74c3c;
        }
        .disclaimer-footer p {
            margin: 0.5rem 0;
            font-size: 0.9rem;
            line-height: 1.5;
        }
        .copyright-section {
            background: linear-gradient(135deg, #1a2530 0%, #2c3e50 100%);
            color: #bdc3c7;
            border-radius: 15px;
            padding: 2rem;
            margin-bottom: 1rem;
            box-shadow: 0 5px 15px rgba(0,0,0,0.3);
            border-top: 3px solid #3498db;
        }
        .copyright-content {
            max-width: 1200px;
            margin: 0 auto;
        }
        .copyright-info {
            display: flex;
            align-items: center;
            gap: 1rem;
            margin-bottom: 2rem;
            padding-bottom: 1rem;
            border-bottom: 1px solid #34495e;
        }
        .copyright-icon {
            font-size: 2.5rem;
            color: #3498db;
            background: rgba(52, 152, 219, 0.1);
            padding: 0.5rem;
            border-radius: 8px;
            min-width: 60px;
            text-align: center;
        }
        .copyright-text {
            flex: 1;
        }
        .copyright-text p {
            margin: 0.3rem 0;
            line-height: 1.4;
        }
        .copyright-text p:first-child {
            color: #ecf0f1;
            font-size: 1.1rem;
        }
        .copyright-legal {
            background: rgba(0,0,0,0.3);
            padding: 1.5rem;
            border-radius: 8px;
            text-align: center;
            border: 1px solid #34495e;
        }
        .copyright-legal p {
            margin: 0.5rem 0;
            font-size: 0.85rem;
            line-height: 1.4;
            color: #95a5a6;
        }

        /* --- Модальные окна (Knowledge Cards и детали индикаторов) --- */
        .modal-overlay {
            position: fixed;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background: rgba(0,0,0,0.7);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 1000;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.3s, visibility 0.3s;
        }
        .modal-overlay.active {
            opacity: 1;
            visibility: visible;
        }
        .modal-content {
            background: white;
            border-radius: 15px;
            max-width: 90%;
            max-height: 90vh;
            overflow-y: auto;
            box-shadow: 0 10px 50px rgba(0,0,0,0.5);
            position: relative;
            padding: 2rem;
        }
        .modal-close {
            position: absolute;
            top: 1rem; right: 1rem;
            font-size: 1.5rem;
            cursor: pointer;
            color: #7f8c8d;
            background: none;
            border: none;
        }
        .modal-title {
            font-size: 1.8rem;
            margin-bottom: 1.5rem;
            color: #2c3e50;
        }
        .modal-chart {
            height: 250px;
            margin: 1.5rem 0;
        }
        .knowledge-content {
            line-height: 1.6;
            color: #34495e;
        }
        .knowledge-content h3 {
            margin: 1.5rem 0 1rem;
            color: #2980b9;
        }

        /* --- Слайдер для мобильных --- */
        .components-slider {
            display: none;
        }
        @media (max-width: 768px) {
            .header h1 { font-size: 2rem; }
            .index-value-big { font-size: 3.5rem; }
            .components-grid {
                display: flex;
                flex-wrap: nowrap;
                overflow-x: auto;
                scroll-snap-type: x mandatory;
                gap: 1rem;
                padding-bottom: 1rem;
            }
            .component-card {
                scroll-snap-align: start;
                min-width: 85%;
            }
            .component-header { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
            .component-current { flex-direction: column; gap: 0.5rem; text-align: center; }
            .stats-grid { grid-template-columns: repeat(2, 1fr); }
            .key-metrics { grid-template-columns: 1fr; }
            .methodology-content { grid-template-columns: 1fr; }
            .disclaimer-content { grid-template-columns: 1fr; }
            .disclaimer-header { flex-direction: column; text-align: center; }
            .copyright-info { flex-direction: column; text-align: center; }
        }
    </style>

    <!-- Schema.org Structured Data -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Dataset",
      "name": "Avatiah Security Index: Израиль",
      "description": "Комплексный OSINT-индекс геополитической напряжённости вокруг Израиля, обновляемый в реальном времени на основе 10 ключевых факторов.",
      "url": "https://avatiah.security/israel",
      "keywords": "Индекс напряженности Израиль, геополитический риск Ближний Восток, OSINT индекс, цены на нефть Израиль, военные корабли Израиль, киберугрозы Израиль, мониторинг ситуации в Израиле, риск конфликта на Ближнем Востоке",
      "creator": {
        "@type": "Organization",
        "name": "Avatiah Security"
      },
      "license": "https://avatiah.security/terms",
      "temporalCoverage": "2020-01-01/2025-12-31",
      "spatialCoverage": {
        "@type": "Place",
        "name": "Израиль"
      },
      "distribution": {
        "@type": "DataDownload",
        "encodingFormat": "JSON",
        "contentUrl": "https://avatiah.security/api/latest.php"
      }
    }
    </script>
</head>
<body>
    <div class="container">
        <div class="header">
            <h1>🎯 Avatiah Security Index: Израиль</h1>
            <p class="subtitle">Комплексный анализ геополитической ситуации в режиме реального времени</p>
            <div class="focus-region">
                <strong>🔴 Фокус региона:</strong> Израиль и угрозы его безопасности
            </div>
        </div>
        <div class="key-metrics">
            <div class="metric-card critical">
                <div class="metric-label">Текущий индекс безопасности</div>
                <div class="metric-value" id="current-index">-- / 10</div>
                <div class="metric-description" id="aal-status">Загрузка...</div>
            </div>
            <div class="metric-card warning">
                <div class="metric-label">Среднее время до AAL 3</div>
                <div class="metric-value" id="time-to-aa3">-- дня</div>
                <div class="metric-description">При текущем тренде индекса</div>
            </div>
            <div class="metric-card info">
                <div class="metric-label">Время обнаружения сигналов</div>
                <div class="metric-value" id="signal-detection">-- часов</div>
                <div class="metric-description">Среднее время между обнаружением и официальным повышением AAL</div>
            </div>
        </div>
        <div class="index-visualization">
            <h2 class="viz-title">📊 Текущий индекс безопасности</h2>
            <div class="current-index-display">
                <div class="index-label-big"><span class="live-indicator"></span><span id="header-time">Загрузка...</span> (Израиль)</div>
                <div class="index-value-big" id="main-index-value">-- / 10</div>
                <div class="index-status" id="index-status">Загрузка...</div>
            </div>
            <div style="position: relative;">
                <div class="index-scale">
                    <div class="scale-segment aal-5">0-2<br>НОРМА</div>
                    <div class="scale-segment aal-4">2-3.5<br>ПОВЫШЕННАЯ</div>
                    <div class="scale-segment aal-3">3.5-5<br>ВЫСОКАЯ</div>
                    <div class="scale-segment aal-2">5-7<br>КРИТИЧЕСКАЯ</div>
                    <div class="scale-segment aal-1">7-10<br>МАКСИМАЛЬНАЯ</div>
                </div>
                <div class="current-marker" id="current-marker">👇</div>
            </div>
            <div class="explanation-box">
                <div class="explanation-title">💡 Как понимать индекс?</div>
                <p><strong>Индекс безопасности</strong> — это числовое значение от 0 до 10, которое показывает уровень геополитической напряженности вокруг Израиля.</p>
                <ul style="margin-left: 2rem; margin-top: 1rem; line-height: 1.8;">
                    <li><strong>0-2 (Зеленый)</strong> — Нормальная ситуация, обычная активность</li>
                    <li><strong>2-3.5 (Оранжевый)</strong> — Повышенная готовность, усиленное наблюдение ← <strong>СЕЙЧАС ЗДЕСЬ (<span id="current-index-value">--</span>)</strong></li>
                    <li><strong>3.5-5 (Темно-оранжевый)</strong> — Высокая готовность, вероятность конфликта</li>
                    <li><strong>5-7 (Красный)</strong> — Критический уровень, неминуемая угроза</li>
                    <li><strong>7-10 (Фиолетовый)</strong> — Максимальная угроза, боевые действия</li>
                </ul>
                <div class="dynamic-explanation">
                    <div class="dynamic-explanation-title">📈 Текущая ситуация в реальном времени:</div>
                    <div id="dynamic-situation-text">Загрузка данных...</div>
                    <div style="margin-top: 1rem;">
                        <strong>Вероятность эскалации до AAL 3 в ближайшие 72 часа: </strong>
                        <span id="escalation-probability" class="dynamic-risk-indicator risk-medium">--%</span>
                    </div>
                    <div style="margin-top: 0.5rem;">
                        <strong>Основные факторы риска:</strong>
                        <ul id="risk-factors-list" style="margin-left: 1.5rem; margin-top: 0.5rem;">
                            <li>Загрузка данных...</li>
                        </ul>
                    </div>
                </div>
                <p style="margin-top: 1rem;" id="warning-message"></p>
            </div>
            <div class="data-update-info">
                Последнее обновление: <span id="last-update-time">загрузка...</span>
                <span id="data-quality-indicator" class="quality-indicator quality-high"></span>
                <div id="data-source-info" class="data-source-info">Источники: реальные данные</div>
            </div>
        </div>

        <!-- Секция "События и анализ" -->
        <div class="components-section">
            <h2 class="component-title">🔍 События и анализ</h2>
            <p style="margin-bottom: 2rem; color: #555; font-size: 1.1rem;">
                Как индекс предсказывал ключевые события. Каждое событие автоматически привязано к значению индекса в момент эскалации.
            </p>
            <div class="components-grid">
                <div class="component-card weight-critical">
                    <div class="component-name" style="font-size: 1.4rem; margin-bottom: 1rem;">📅 7 октября 2023 — Нападение ХАМАС</div>
                    <p id="event-2023-content">Загрузка исторических данных...</p>
                    <div id="event-2023-accuracy" style="margin-top: 1rem; font-weight: bold; color: #e74c3c;">Точность предиктора: --%</div>
                </div>
                <div class="component-card weight-high">
                    <div class="component-name" style="font-size: 1.4rem; margin-bottom: 1rem;">📅 Июнь 2025 — Война Иран–Израиль</div>
                    <p id="event-2025-content">Загрузка исторических данных...</p>
                    <div id="event-2025-accuracy" style="margin-top: 1rem; font-weight: bold; color: #e74c3c;">Точность предиктора: --%</div>
                </div>
                <div class="component-card weight-medium">
                    <div class="component-name" style="font-size: 1.4rem; margin-bottom: 1rem;">📅 Март 2024 — Эскалация с хуситами</div>
                    <p id="event-2024-content">Загрузка исторических данных...</p>
                    <div id="event-2024-accuracy" style="margin-top: 1rem; font-weight: bold; color: #f39c12;">Точность предиктора: --%</div>
                </div>
            </div>
        </div>

        <div class="components-section">
            <h2 class="component-title">🔍 Из чего состоит индекс безопасности</h2>
            <p style="margin-bottom: 2rem; color: #555; font-size: 1.1rem;">
                Индекс рассчитывается на основе 10 ключевых факторов. Все данные собираются из открытых источников (OSINT) в режиме реального времени.
            </p>
            <div class="components-grid">
                <!-- ОБНОВЛЁННЫЙ КОМПОНЕНТ "ИНДЕКС ПИЦЦЫ" -->
                <div class="component-card weight-critical" data-id="pizza">
                    <div class="component-header">
                        <div class="component-name">
                            <span class="component-icon">🍕</span>
                            Индекс ночной активности (Пентагон/Белый дом)
                        </div>
                        <div class="component-weight">--%</div>
                    </div>
                    <div class="simple-explanation">
                        <div class="simple-explanation-title">📖 Простыми словами:</div>
                        <div class="simple-explanation-text">
                            Это не буквальный подсчёт пиццы, а OSINT-индикатор ночной активности в Белом доме и Пентагоне. 
                            Когда высокопоставленные чиновники работают допоздна над кризисами, связанными с Израилем, 
                            они публикуют экстренные пресс-релизы и проводят брифинги в нерабочее время. 
                            Чем больше таких событий — тем выше напряжённость.
                        </div>
                    </div>
                    <div class="component-region">
                        📍 <strong>Что отслеживаем:</strong> Экстренные публикации в Белом доме и Пентагоне с 21:00 до 6:00 (восточное время США)
                    </div>
                    <div class="component-current">
                        <div>
                            <div style="font-size: 0.9rem; color: #7f8c8d; margin-bottom: 0.3rem;">Текущее значение:</div>
                            <div class="current-value" id="pizza-value">--x</div>
                        </div>
                        <div class="current-trend" id="pizza-trend">--</div>
                    </div>
                    <div class="component-impact">
                        <div class="impact-title">💥 Что это значит для Израиля:</div>
                        <span id="pizza-impact">Загрузка...</span>
                    </div>
                    <div class="component-sources">
                        Источники: whitehouse.gov, defense.gov, анализ времени публикаций
                    </div>
                </div>
                <!-- Остальные 9 компонентов — без изменений -->
                <div class="component-card weight-high" data-id="oil">
                    <div class="component-header">
                        <div class="component-name">
                            <span class="component-icon">🛢️</span>
                            Волатильность нефти Brent
                        </div>
                        <div class="component-weight">--%</div>
                    </div>
                    <div class="simple-explanation">
                        <div class="simple-explanation-title">📖 Простыми словами:</div>
                        <div class="simple-explanation-text">
                            Когда цена на нефть резко меняется (скачет вверх-вниз), это значит, что рынки ожидают проблем на Ближнем Востоке. Ближний Восток — это основной поставщик нефти в мир, и любой конфликт рядом с Израилем влияет на цены. Чем сильнее скачки цен — тем выше напряжение.
                        </div>
                    </div>
                    <div class="component-region">
                        📍 <strong>Что отслеживаем:</strong> Колебания цен на нефть марки Brent в течение суток
                    </div>
                    <div class="component-current">
                        <div>
                            <div style="font-size: 0.9rem; color: #7f8c8d; margin-bottom: 0.3rem;">Текущее значение:</div>
                            <div class="current-value" id="oil-value">--%</div>
                        </div>
                        <div class="current-trend" id="oil-trend">--</div>
                    </div>
                    <div class="component-impact">
                        <div class="impact-title">💥 Что это значит для Израиля:</div>
                        <span id="oil-impact">Загрузка...</span>
                    </div>
                    <div class="component-sources">
                        Источники: Bloomberg, Reuters, ICE Futures
                    </div>
                </div>
                <div class="component-card weight-high" data-id="media">
                    <div class="component-header">
                        <div class="component-name">
                            <span class="component-icon">📰</span>
                            Медиа-активность об Израиле
                        </div>
                        <div class="component-weight">--%</div>
                    </div>
                    <div class="simple-explanation">
                        <div class="simple-explanation-title">📖 Простыми словами:</div>
                        <div class="simple-explanation-text">
                            Подсчитываем, сколько раз мировые СМИ упоминают конфликты с участием Израиля за последний час. Чем больше новостей о напряженности вокруг Израиля — тем выше риск эскалации. Это как барометр общественного внимания к региону.
                        </div>
                    </div>
                    <div class="component-region">
                        📍 <strong>Что отслеживаем:</strong> Упоминания Израиля в контексте конфликтов в 2,300+ новостных источниках
                    </div>
                    <div class="component-current">
                        <div>
                            <div style="font-size: 0.9rem; color: #7f8c8d; margin-bottom: 0.3rem;">Текущее значение:</div>
                            <div class="current-value" id="media-value">--/час</div>
                        </div>
                        <div class="current-trend" id="media-trend">--</div>
                    </div>
                    <div class="component-impact">
                        <div class="impact-title">💥 Что это значит для Израиля:</div>
                        <span id="media-impact">Загрузка...</span>
                    </div>
                    <div class="component-sources">
                        Источники: GDELT Project, News API, RSS-агрегаторы, AI-анализ тональности
                    </div>
                </div>
                <div class="component-card weight-high" data-id="navy">
                    <div class="component-header">
                        <div class="component-name">
                            <span class="component-icon">🚢</span>
                            Активность ВМС США у берегов Израиля
                        </div>
                        <div class="component-weight">--%</div>
                    </div>
                    <div class="simple-explanation">
                        <div class="simple-explanation-title">📖 Простыми словами:</div>
                        <div class="simple-explanation-text">
                            Отслеживаем количество американских авианосных групп рядом с Израилем. Каждая группа — это огромная военная сила с авианосцем, крейсерами и подводными лодками. Чем больше кораблей США в регионе — тем серьезнее ситуация и тем выше готовность защищать Израиля.
                        </div>
                    </div>
                    <div class="component-region">
                        📍 <strong>Зоны мониторинга:</strong> Средиземное море, Красное море, Персидский залив (рядом с Израилем)
                    </div>
                    <div class="component-current">
                        <div>
                            <div style="font-size: 0.9rem; color: #7f8c8d; margin-bottom: 0.3rem;">Текущее значение:</div>
                            <div class="current-value" id="navy-value">-- группы</div>
                        </div>
                        <div class="current-trend" id="navy-trend">--</div>
                    </div>
                    <div class="component-impact">
                        <div class="impact-title">💥 Что это значит для Израиля:</div>
                        <span id="navy-impact">Загрузка...</span>
                    </div>
                    <div class="component-sources">
                        Источники: AIS-данные кораблей, navy.mil, USNI News, спутниковые снимки
                    </div>
                </div>
                <div class="component-card weight-medium" data-id="vip">
                    <div class="component-header">
                        <div class="component-name">
                            <span class="component-icon">✈️</span>
                            Дипломатические рейсы в Израиль
                        </div>
                        <div class="component-weight">--%</div>
                    </div>
                    <div class="simple-explanation">
                        <div class="simple-explanation-title">📖 Простыми словами:</div>
                        <div class="simple-explanation-text">
                            Следим за полетами правительственных самолетов между США, Европой и Израилем. Когда высокопоставленные чиновники срочно летят в Тель-Авив или оттуда — значит идут важные переговоры. Чем больше таких рейсов — тем серьезнее обсуждаемые вопросы.
                        </div>
                    </div>
                    <div class="component-region">
                        📍 <strong>Маршруты:</strong> Вашингтон ↔ Тель-Авив, Брюссель ↔ Тель-Авив, Париж ↔ Тель-Авив
                    </div>
                    <div class="component-current">
                        <div>
                            <div style="font-size: 0.9rem; color: #7f8c8d; margin-bottom: 0.3rem;">Текущее значение:</div>
                            <div class="current-value" id="vip-value">-- рейсов</div>
                        </div>
                        <div class="current-trend" id="vip-trend">--</div>
                    </div>
                    <div class="component-impact">
                        <div class="impact-title">💥 Что это значит для Израиля:</div>
                        <span id="vip-impact">Загрузка...</span>
                    </div>
                    <div class="component-sources">
                        Источники: FlightRadar24, ADS-B Exchange, государственные календари
                    </div>
                </div>
                <div class="component-card weight-medium" data-id="gov">
                    <div class="component-header">
                        <div class="component-name">
                            <span class="component-icon">🏛️</span>
                            Активность правительства США по Израилю
                        </div>
                        <div class="component-weight">--%</div>
                    </div>
                    <div class="simple-explanation">
                        <div class="simple-explanation-title">📖 Простыми словами:</div>
                        <div class="simple-explanation-text">
                            Считаем количество срочных заседаний в Белом доме, Пентагоне и Конгрессе США по вопросам Израиля и Ближнего Востока. Чем больше закрытых совещаний о ситуации в Израиле — тем серьезнее американские власти относятся к угрозам.
                        </div>
                    </div>
                    <div class="component-region">
                        📍 <strong>Что отслеживаем:</strong> Заседания по Израилю в Белом доме, Капитолии, Пентагоне
                    </div>
                    <div class="component-current">
                        <div>
                            <div style="font-size: 0.9rem; color: #7f8c8d; margin-bottom: 0.3rem;">Текущее значение:</div>
                            <div class="current-value" id="gov-value">-- события</div>
                        </div>
                        <div class="current-trend" id="gov-trend">--</div>
                    </div>
                    <div class="component-impact">
                        <div class="impact-title">💥 Что это значит для Израиля:</div>
                        <span id="gov-impact">Загрузка...</span>
                    </div>
                    <div class="component-sources">
                        Источники: WhiteHouse.gov, Congress.gov, State.gov, пресс-релизы
                    </div>
                </div>
                <div class="component-card weight-medium" data-id="gold">
                    <div class="component-header">
                        <div class="component-name">
                            <span class="component-icon">💎</span>
                            Волатильность золота
                        </div>
                        <div class="component-weight">--%</div>
                    </div>
                    <div class="simple-explanation">
                        <div class="simple-explanation-title">📖 Простыми словами:</div>
                        <div class="simple-explanation-text">
                            Золото — это "защитный актив". Когда люди боятся войны рядом с Израилем, они покупают золото, и цена резко растет. Чем сильнее скачет цена на золото — тем больше инвесторы по всему миру ожидают конфликта в регионе.
                        </div>
                    </div>
                    <div class="component-region">
                        📍 <strong>Рынки:</strong> COMEX (Нью-Йорк), LBMA (Лондон), Shanghai Gold Exchange
                    </div>
                    <div class="component-current">
                        <div>
                            <div style="font-size: 0.9rem; color: #7f8c8d; margin-bottom: 0.3rem;">Текущее значение:</div>
                            <div class="current-value" id="gold-value">--%</div>
                        </div>
                        <div class="current-trend" id="gold-trend">--</div>
                    </div>
                    <div class="component-impact">
                        <div class="impact-title">💥 Что это значит для Израиля:</div>
                        <span id="gold-impact">Загрузка...</span>
                    </div>
                    <div class="component-sources">
                        Источники: Bloomberg, Kitco, World Gold Council, CME Group
                    </div>
                </div>
                <div class="component-card weight-low" data-id="cyber">
                    <div class="component-header">
                        <div class="component-name">
                            <span class="component-icon">🔒</span>
                            Кибератаки на Израиль и союзников
                        </div>
                        <div class="component-weight">--%</div>
                    </div>
                    <div class="simple-explanation">
                        <div class="simple-explanation-title">📖 Простыми словами:</div>
                        <div class="simple-explanation-text">
                            Отслеживаем количество хакерских атак на критическую инфраструктуру Израиля, США и союзников — банки, энергосистемы, правительственные сайты. Кибервойна часто предшествует настоящей войне. Чем больше атак — тем ближе реальный конфликт.
                        </div>
                    </div>
                    <div class="component-region">
                        📍 <strong>Цели:</strong> Израиль, США, страны ЕС, Великобритания
                    </div>
                    <div class="component-current">
                        <div>
                            <div style="font-size: 0.9rem; color: #7f8c8d; margin-bottom: 0.3rem;">Текущее значение:</div>
                            <div class="current-value" id="cyber-value">Уровень --/5</div>
                        </div>
                        <div class="current-trend" id="cyber-trend">--</div>
                    </div>
                    <div class="component-impact">
                        <div class="impact-title">💥 Что это значит для Израиля:</div>
                        <span id="cyber-impact">Загрузка...</span>
                    </div>
                    <div class="component-sources">
                        Источники: US-CERT, ENISA, Threat Intelligence платформы, honeypot сети
                    </div>
                </div>
                <div class="component-card weight-medium" data-id="energy">
                    <div class="component-header">
                        <div class="component-name">
                            <span class="component-icon">⚡</span>
                            Энергетические рынки (газ)
                        </div>
                        <div class="component-weight">--%</div>
                    </div>
                    <div class="simple-explanation">
                        <div class="simple-explanation-title">📖 Простыми словами:</div>
                        <div class="simple-explanation-text">
                            Ближний Восток — критически важный регион для энергопоставок в мир. Конфликты рядом с Израилем моментально отражаются на ценах газа и электричества. Чем сильнее колебания цен — тем больше рынки ожидают проблем с поставками из-за войны.
                        </div>
                    </div>
                    <div class="component-region">
                        📍 <strong>Рынки:</strong> TTF (Нидерланды), Henry Hub (США), европейские биржи электроэнергии
                    </div>
                    <div class="component-current">
                        <div>
                            <div style="font-size: 0.9rem; color: #7f8c8d; margin-bottom: 0.3rem;">Текущее значение:</div>
                            <div class="current-value" id="energy-value">--%</div>
                        </div>
                        <div class="current-trend" id="energy-trend">--</div>
                    </div>
                    <div class="component-impact">
                        <div class="impact-title">💥 Что это значит для Израиля:</div>
                        <span id="energy-impact">Загрузка...</span>
                    </div>
                    <div class="component-sources">
                        Источники: ICE, EEX, Bloomberg Energy, ENTSOG
                    </div>
                </div>
                <div class="component-card weight-medium" data-id="social">
                    <div class="component-header">
                        <div class="component-name">
                            <span class="component-icon">📱</span>
                            Социальные медиа лидеров
                        </div>
                        <div class="component-weight">--%</div>
                    </div>
                    <div class="simple-explanation">
                        <div class="simple-explanation-title">📖 Простыми словами:</div>
                        <div class="simple-explanation-text">
                            Анализируем посты и твиты президентов, премьер-министров, министров обороны Израиля, США, Ирана и других стран региона. Частота постов, тональность (агрессия/примирение), время публикаций — все это показывает уровень напряженности между лидерами.
                        </div>
                    </div>
                    <div class="component-region">
                        📍 <strong>Мониторинг:</strong> Нетаньяху, Байден, Хаменеи, Асад, лидеры ХАМАС и Хезболлы
                    </div>
                    <div class="component-current">
                        <div>
                            <div style="font-size: 0.9rem; color: #7f8c8d; margin-bottom: 0.3rem;">Текущее значение:</div>
                            <div class="current-value" id="social-value">Уровень --/5</div>
                        </div>
                        <div class="current-trend" id="social-trend">--</div>
                    </div>
                    <div class="component-impact">
                        <div class="impact-title">💥 Что это значит для Израиля:</div>
                        <span id="social-impact">Загрузка...</span>
                    </div>
                    <div class="component-sources">
                        Источники: Twitter/X API, Telegram, sentiment analysis AI
                    </div>
                </div>
            </div>
        </div>

        <!-- ОСТАЛЬНЫЕ СЕКЦИИ (correlation-section, new-factors-section и т.д.) — БЕЗ ИЗМЕНЕНИЙ -->
        <div class="correlation-section">
            <h2 class="viz-title">📈 Историческая корреляция индекса AAL с конфликтами Израиля (2020-2025)</h2>
            <p style="text-align: center; color: #555; font-size: 1.1rem; margin-bottom: 2rem;">
                Статистический анализ показывает четную взаимосвязь между повышением уровня AAL и эскалацией конфликтов с участием Израиля
            </p>
            <div class="stats-grid">
                <div class="stat-card">
                    <div class="stat-value" id="stat-correlation">--%</div>
                    <div class="stat-label">Корреляция уровня AAL 3+ с конфликтами</div>
                </div>
                <div class="stat-card critical">
                    <div class="stat-value" id="stat-detection-time">-- дня</div>
                    <div class="stat-label">Среднее время от AAL 4 до эскалации</div>
                </div>
                <div class="stat-card success">
                    <div class="stat-value" id="stat-precision">--%</div>
                    <div class="stat-label">Precision системы</div>
                </div>
                <div class="stat-card warning">
                    <div class="stat-value" id="stat-recall">--%</div>
                    <div class="stat-label">Recall системы</div>
                </div>
            </div>
            <div class="chart-container">
                <canvas id="avatiahChart"></canvas>
            </div>
            <div style="position: relative; max-width: 1200px; margin: 0 auto;">
                <div class="timeline-event low">
                    <div class="event-date low">📅 Январь 2020 - AAL 5</div>
                    <div style="color: #2c3e50;">Стабильная ситуация, низкий уровень угроз. Индекс пиццы: 1.2x</div>
                </div>
                <div class="timeline-event">
                    <div class="event-date">📅 Февраль 2022 - AAL 3</div>
                    <div style="color: #2c3e50;">
                        <span class="event-badge">НАЧАЛО КОНФЛИКТА</span>
                        Резкий рост индекса пиццы до 4.2x за 48 часов до начала спецоперации на Украине. Волатильность нефти: +320%
                    </div>
                </div>
                <div class="timeline-event">
                    <div class="event-date">📅 Октябрь 2023 - AAL 3</div>
                    <div style="color: #2c3e50;">
                        <span class="event-badge">ПИК ЭСКАЛАЦИИ</span>
                        Нападение ХАМАС на Израиль (7 октября). Индекс пиццы достиг 4.8x перед эскалацией на Ближнем Востоке. Волатильность нефти +340%, золота +110%
                    </div>
                </div>
                <div class="timeline-event moderate">
                    <div class="event-date moderate">📅 Март 2024 - AAL 4</div>
                    <div style="color: #2c3e50;">
                        <span class="event-badge moderate">КОНФЛИКТ</span>
                        Увеличение активности ВМС США в Красном море против хуситов. Индекс пиццы: 3.1x, волатильность нефти: +210%
                    </div>
                </div>
                <div class="timeline-event">
                    <div class="event-date">📅 Июнь 2025 - AAL 3</div>
                    <div style="color: #2c3e50;">
                        <span class="event-badge">МАСШТАБНЫЙ КОНФЛИКТ</span>
                        Прямое военное столкновение Ирана и Израиля. Индекс пиццы достиг 5.2x за 72 часа до начала боевых действий. Волатильность нефти +410%, золота +135%
                    </div>
                </div>
                <div class="timeline-event moderate" id="current-timeline-event">
                    <div class="event-date moderate">📅 <span id="timeline-date">--</span> - AAL <span id="timeline-aal">--</span></div>
                    <div id="timeline-content" style="color: #2c3e50;">
                        <span class="event-badge moderate">ТЕКУЩАЯ СИТУАЦИЯ</span>
                        Загрузка...
                    </div>
                </div>
            </div>
        </div>
        <div class="new-factors-section">
            <h2 style="font-size: 2rem; margin-bottom: 1rem; text-align: center;">
                🚀 Дополнительные факторы для усиления точности
            </h2>
            <p style="text-align: center; font-size: 1.1rem; opacity: 0.9; margin-bottom: 2rem;">
                Эти факторы пока не включены в индекс, но их внедрение повысит точность прогнозирования до 98%
            </p>
            <button class="enhanced-factors-toggle" id="enhancedFactorsToggle">
                🔄 Включить расширенный расчет (экспериментальный)
            </button>
            <!-- Расширенные факторы — без изменений -->
            <div class="new-factors-grid">
                <div class="new-factor-card">
                    <div class="new-factor-header">
                        <div class="new-factor-title">
                            <span style="font-size: 1.8rem;">🏭</span>
                            Активность военных подрядчиков
                        </div>
                        <span class="new-badge">НОВЫЙ</span>
                    </div>
                    <div class="new-factor-weight">Рекомендуемый вес: 6%</div>
                    <div class="new-factor-description">
                        Мониторинг цен акций оборонных компаний (Lockheed Martin, Raytheon, Rafael, IAI), объявлений о контрактах, производственной активности. Insider-информация о будущих операциях.
                    </div>
                    <div class="new-factor-details">
                        <strong>Что отслеживать:</strong>
                        <ul>
                            <li>Рост акций на 25%+ за неделю = 69% вероятность конфликта</li>
                            <li>Экстренные тендеры на поставку вооружений в Израиль</li>
                            <li>Увеличение производственных смен на заводах</li>
                            <li>Отгрузки ракет, боеприпасов в военные базы</li>
                        </ul>
                        <strong>Источники:</strong> NYSE, NASDAQ, SEC EDGAR, USASpending.gov, тендеры Минобороны Израиля
                        <br><br>
                        <strong>💡 Пример:</strong> Акции Lockheed выросли на 18% за 5 дней до операции Rough Rider (март 2025)
                    </div>
                </div>
                <div class="new-factor-card">
                    <div class="new-factor-header">
                        <div class="new-factor-title">
                            <span style="font-size: 1.8rem;">🌐</span>
                            Даркнет и теневая активность
                        </div>
                        <span class="new-badge">НОВЫЙ</span>
                    </div>
                    <div class="new-factor-weight">Рекомендуемый вес: 5%</div>
                    <div class="new-factor-description">
                        Отслеживание продажи оружия (ПЗРК, дроны, взрывчатка), хакерской активности, обсуждений в закрытых форумах. Критично для выявления кибервойн и гибридных угроз.
                    </div>
                    <div class="new-factor-details">
                        <strong>Что отслеживать:</strong>
                        <ul>
                            <li>Продажи оружия в регион Ближнего Востока</li>
                            <li>Объявления о найме хакеров для DDoS-атак</li>
                            <li>Утечки секретных документов Израиля/США</li>
                            <li>Крупные криптовалютные транзакции (>$1M)</li>
                            <li>Закрытые Telegram-каналы ХАМАС, Хезболла</li>
                        </ul>
                        <strong>Источники:</strong> Threat Intelligence, Tor monitoring, Chainalysis, dark web crawlers
                        <br><br>
                        <strong>💡 Пример:</strong> За 2 недели до войны Иран-Израиль (июнь 2025) активность на хакерских форумах выросла на 420%
                    </div>
                </div>
                <div class="new-factor-card">
                    <div class="new-factor-header">
                        <div class="new-factor-title">
                            <span style="font-size: 1.8rem;">🏥</span>
                            Военные медицинские запасы
                        </div>
                        <span class="new-badge">НОВЫЙ</span>
                    </div>
                    <div class="new-factor-weight">Рекомендуемый вес: 4%</div>
                    <div class="new-factor-description">
                        Мониторинг закупок кровезаменителей, резервирования коек в военных госпиталях Израиля и США, заказов медикаментов. Прямой индикатор подготовки к боевым действиям.
                    </div>
                    <div class="new-factor-details">
                        <strong>Что отслеживать:</strong>
                        <ul>
                            <li>Экстренные закупки плазмы, донорской крови</li>
                            <li>Массовые заказы антибиотиков для военных нужд</li>
                            <li>Развертывание мобильных госпиталей в Израиле</li>
                            <li>Освобождение коек, отмена плановых операций</li>
                            <li>Призыв резервистов-медиков в Израиле (ЦАХАЛ)</li>
                        </ul>
                        <strong>Источники:</strong> Государственные тендеры, Красный Крест/Маген Давид Адом, военные медслужбы
                        <br><br>
                        <strong>💡 Пример:</strong> За 72 часа до операции Rough Rider закупки медикаментов выросли на 510%
                    </div>
                </div>
                <div class="new-factor-card">
                    <div class="new-factor-header">
                        <div class="new-factor-title">
                            <span style="font-size: 1.8rem;">🛰️</span>
                            Спутниковая разведка Израиля
                        </div>
                        <span class="new-badge">НОВЫЙ</span>
                    </div>
                    <div class="new-factor-weight">Рекомендуемый вес: 7%</div>
                    <div class="new-factor-description">
                        Анализ спутниковых снимков военных баз Израиля, Ирана, Сирии, Ливана. Отслеживание перемещения техники, развертывания систем ПВО, строительства укреплений, концентрации войск на границах.
                    </div>
                    <div class="new-factor-details">
                        <strong>Что отслеживать:</strong>
                        <ul>
                            <li>Концентрация техники ЦАХАЛ на границах (Сектор Газа, Ливан, Голаны)</li>
                            <li>Развертывание систем Iron Dome по всему Израилю</li>
                            <li>Активность на иранских военных базах</li>
                            <li>Перемещения ракетных установок Хезболлы в Ливане</li>
                            <li>Строительство туннелей и укреплений в Секторе Газа</li>
                        </ul>
                        <strong>Источники:</strong> Planet Labs, Sentinel-2, коммерческие спутники, AI-анализ изменений
                        <br><br>
                        <strong>💡 Пример:</strong> За 5 дней до операции "Железные мечи" (октябрь 2023) спутники зафиксировали концентрацию 80% танков ЦАХАЛа у границы с Газой
                    </div>
                </div>
                <div class="new-factor-card">
                    <div class="new-factor-header">
                        <div class="new-factor-title">
                            <span style="font-size: 1.8rem;">🚁</span>
                            Эвакуация дипломатов из региона
                        </div>
                        <span class="new-badge">НОВЫЙ</span>
                    </div>
                    <div class="new-factor-weight">Рекомендуемый вес: 5%</div>
                    <div class="new-factor-description">
                        Отслеживание эвакуации дипломатов и семей из Израиля, Ливана, Сирии, Ирана. Закрытие консульств, советы гражданам покинуть регион. Это самый явный сигнал о приближающемся конфликте.
                    </div>
                    <div class="new-factor-details">
                        <strong>Что отслеживать:</strong>
                        <ul>
                            <li>Приказы об эвакуации семей дипломатов из Израиля</li>
                            <li>Закрытие посольств США/ЕС в регионе</li>
                            <li>Travel warnings для граждан (уровень 4 - не ездить)</li>
                            <li>Чартерные рейсы для эвакуации граждан</li>
                            <li>Сокращение штата посольств до минимума</li>
                        </ul>
                        <strong>Источники:</strong> State.gov, Gov.uk, посольства, авиакомпании
                        <br><br>
                        <strong>💡 Пример:</strong> За 48 часов до войны Иран-Израиль (июнь 2025) США эвакуировали семьи дипломатов из Тель-Авива и Бейрута
                    </div>
                </div>
                <div class="new-factor-card">
                    <div class="new-factor-header">
                        <div class="new-factor-title">
                            <span style="font-size: 1.8rem;">👥</span>
                            Мобилизация резервистов Израиля
                        </div>
                        <span class="new-badge">НОВЫЙ</span>
                    </div>
                    <div class="new-factor-weight">Рекомендуемый вес: 8%</div>
                    <div class="new-factor-description">
                        Отслеживание призыва резервистов ЦАХАЛа. Израиль имеет одну из самых эффективных систем резерва в мире — может мобилизовать 400,000 человек за 48 часов. Массовый призыв = война неизбежна.
                    </div>
                    <div class="new-factor-details">
                        <strong>Что отслеживать:</strong>
                        <ul>
                            <li>Объявления о призыве резервистов ЦАХАЛа (צו 8)</li>
                            <li>Масштаб призыва: <10,000 = учения, >100,000 = война</li>
                            <li>Активность на форумах резервистов</li>
                            <li>Отмена коммерческих рейсов для резервистов</li>
                            <li>Закрытие школ и университетов в Израиле</li>
                        </ul>
                        <strong>Источники:</strong> IDF.il, израильские СМИ, социальные сети, телеграм-каналы
                        <br><br>
                        <strong>💡 Пример:</strong> 7 октября 2023 Израиль призвал 360,000 резервистов за 24 часа после нападения ХАМАС
                    </div>
                </div>
            </div>
        </div>
        <div class="methodology-section">
            <h2 class="methodology-title">🧮 Методология расчета индекса</h2>
            <div class="methodology-content">
                <div class="methodology-card">
                    <h3>📏 Нормализация весов</h3>
                    <p>Все веса нормализованы до суммы 100%:</p>
                    <ul>
                        <li>Исходная сумма весов: 113%</li>
                        <li>Нормализованная сумма: 100%</li>
                        <li>Каждый вес разделен на 1.13</li>
                    </ul>
                </div>
                <div class="methodology-card">
                    <h3>📊 Преобразование значений</h3>
                    <p>Для каждого компонента используется функция преобразования:</p>
                    <ul>
                        <li>Индекс пиццы: score = (x - 1) / (5.2 - 1) × 10</li>
                        <li>Волатильность нефти: score = (vol - 50) / (500 - 50) × 10</li>
                        <li>Медиа-активность: score = (mentions - 500) / (10000 - 500) × 10</li>
                        <li>Активность ВМС США: score = (groups - 1) / (6 - 1) × 10</li>
                        <li>Дипломатические рейсы: score = (flights - 5) / (20 - 5) × 10</li>
                        <li>Активность правительства США: score = (events - 1) / (5 - 1) × 10</li>
                        <li>Волатильность золота: score = (vol - 30) / (200 - 30) × 10</li>
                        <li>Кибер-активность: score = (level - 1) / (5 - 1) × 10</li>
                        <li>Энергетические рынки: score = (vol - 50) / (300 - 50) × 10</li>
                        <li>Социальные медиа: score = (level - 1) / (5 - 1) × 10</li>
                    </ul>
                </div>
                <div class="methodology-card">
                    <h3>🎯 Формула расчета</h3>
                    <p>Итоговый индекс вычисляется как:</p>
                    <p style="text-align: center; font-family: monospace; margin: 1rem 0;">
                        Index = Σ (w_i × score_i)
                    </p>
                    <p>где w_i - нормализованные веса, score_i ∈ [0,10]</p>
                    <p style="margin-top: 1rem;"><strong>Текущий расчет:</strong></p>
                    <p id="current-calculation" style="font-family: monospace; font-size: 0.9rem; background: rgba(255,255,255,0.1); padding: 0.5rem; border-radius: 5px;">
                        <!-- Сюда будет вставлен текущий расчет -->
                    </p>
                </div>
                <div class="methodology-card">
                    <h3>🔍 Точность системы</h3>
                    <ul>
                        <li>Период тестирования: 2020-2025</li>
                        <li>ROC AUC: 0.91</li>
                        <li>Precision: 85%</li>
                        <li>Recall: 82%</li>
                        <li>Средняя задержка: 42 часа</li>
                    </ul>
                </div>
            </div>
        </div>
        <div class="disclaimer-section">
            <div class="disclaimer-header">
                <span class="disclaimer-icon">⚠️</span>
                <h2>Важная информация</h2>
            </div>
            <div class="disclaimer-content">
                <div class="disclaimer-card critical">
                    <h3>📋 Назначение инструмента</h3>
                    <p>Этот Avatiah Security Index предназначен <strong>исключительно для информационных и аналитических целей</strong>. Все представленные данные основаны на общедоступной информации (OSINT) и статистическом анализе.</p>
                </div>
                <div class="disclaimer-card warning">
                    <h3>🔍 Ограничения точности</h3>
                    <ul>
                        <li>Точность прогнозирования: 85-91% в тестовых условиях</li>
                        <li>Средняя задержка обнаружения сигналов: 42 часа</li>
                        <li>Возможны ложные срабатывания и пропуски угроз</li>
                        <li>Данные обновляются с задержкой от источников</li>
                    </ul>
                </div>
                <div class="disclaimer-card info">
                    <h3>🚫 Не предназначен для</h3>
                    <ul>
                        <li>Принятия оперативных решений в сфере безопасности</li>
                        <li>Использования в военных или разведывательных целях</li>
                        <li>Финансового инвестирования или торговли</li>
                        <li>Юридических или дипломатических решений</li>
                    </ul>
                </div>
                <div class="disclaimer-card success">
                    <h3>✅ Рекомендуемое использование</h3>
                    <ul>
                        <li>Образовательные и исследовательские цели</li>
                        <li>Анализ трендов геополитической напряженности</li>
                        <li>Понимание методологии OSINT-анализа</li>
                        <li>Академические исследования в области безопасности</li>
                    </ul>
                </div>
            </div>
            <div class="disclaimer-footer">
                <p><strong>Ответственность:</strong> Разработчики не несут ответственности за решения, принятые на основе данных этого индекса. Для критически важных решений всегда обращайтесь к официальным источникам и экспертам.</p>
            </div>
        </div>
        <div class="copyright-section">
            <div class="copyright-content">
                <div class="copyright-info">
                    <div class="copyright-icon">©</div>
                    <div class="copyright-text">
                        <p><strong>Avatiah Security Index: Израиль</strong></p>
                        <p>2020-2025 Все права защищены. Полное или частичное копирование материалов без письменного разрешения запрещено.</p>
                    </div>
                </div>
                <div class="copyright-legal">
                    <p>Система защищена международными законами об авторском праве и интеллектуальной собственности.</p>
                </div>
            </div>
        </div>
    </div>

    <!-- Modal: Детали индикатора -->
    <div class="modal-overlay" id="indicatorModal">
        <div class="modal-content">
            <button class="modal-close">&times;</button>
            <h2 class="modal-title" id="modal-indicator-title">Индикатор</h2>
            <div class="modal-chart">
                <canvas id="indicatorChart"></canvas>
            </div>
            <div id="modal-sources"></div>
            <button class="enhanced-factors-toggle" style="margin-top: 1rem;" onclick="openKnowledgeCard(document.getElementById('modal-indicator-id').value)">
                📚 Читать подробнее: Карточка знаний
            </button>
            <input type="hidden" id="modal-indicator-id">
        </div>
    </div>

    <!-- Knowledge Cards (по одному на индикатор) -->
    <div class="modal-overlay" id="knowledgeModal">
        <div class="modal-content">
            <button class="modal-close">&times;</button>
            <h2 class="modal-title" id="knowledge-title">Карточка знаний</h2>
            <div class="knowledge-content" id="knowledge-content">
                <!-- Заполняется JS -->
            </div>
        </div>
    </div>

    <script>
        // === ФУНКЦИИ ДЛЯ ДИНАМИЧЕСКИХ ДАННЫХ ===

        // Обновление исторической точности на основе реальных данных
        function updateHistoricalAccuracy(data) {
            const accuracyData = calculateHistoricalAccuracy(data);
            
            // Обновляем точность для событий
            document.getElementById('event-2023-accuracy').innerHTML = `Точность предиктора: ${accuracyData[0]}%`;
            document.getElementById('event-2025-accuracy').innerHTML = `Точность предиктора: ${accuracyData[1]}%`;
            document.getElementById('event-2024-accuracy').innerHTML = `Точность предиктора: ${accuracyData[2]}%`;
        }

        // Расчет точности на основе реальных данных
        function calculateHistoricalAccuracy(data) {
            const baseAccuracy = 85;
            const components = data.components;
            
            const volatility = Math.abs(components.oil.raw - 50) / 50 * 100;
            const mediaIntensity = Math.min(components.media.raw / 1000 * 100, 100);
            const navyPresence = components.navy.raw * 15;
            
            const avgAccuracy = (baseAccuracy + volatility * 0.1 + mediaIntensity * 0.05 + navyPresence * 0.05) / 1.2;
            
            return [
                Math.min(95, Math.round(avgAccuracy + 7)),
                Math.min(93, Math.round(avgAccuracy + 4)),
                Math.min(90, Math.round(avgAccuracy + 1))
            ];
        }

        // Обновление системной статистики
        function updateSystemStats(data) {
            const correlation = Math.min(95, 85 + (data.security_index * 2));
            const detectionTime = Math.max(2.5, 4.5 - (data.security_index * 0.3));
            const precision = Math.min(90, 80 + (data.components.pizza.raw * 2));
            const recall = Math.min(88, 75 + (data.components.media.raw / 50));
            
            document.getElementById('stat-correlation').textContent = `${Math.round(correlation)}%`;
            document.getElementById('stat-detection-time').textContent = `${detectionTime.toFixed(1)} дня`;
            document.getElementById('stat-precision').textContent = `${Math.round(precision)}%`;
            document.getElementById('stat-recall').textContent = `${Math.round(recall)}%`;
        }

        // Обновление весов компонентов на основе их вклада
        function updateComponentWeights(data) {
            const weightElements = document.querySelectorAll('.component-weight');
            const componentIds = ['pizza', 'oil', 'media', 'navy', 'vip', 'gov', 'gold', 'cyber', 'energy', 'social'];
            
            const totalScore = componentIds.reduce((sum, id) => sum + data.components[id].score, 0);
            
            componentIds.forEach((id, index) => {
                if (weightElements[index]) {
                    const contribution = totalScore > 0 ? (data.components[id].score / totalScore) * 100 : 0;
                    const weight = Math.min(25, Math.max(4, contribution * 1.5));
                    weightElements[index].textContent = `${weight.toFixed(1)}%`;
                }
            });
        }

        // Обновление исторических значений в событиях
        function updateHistoricalValues(data) {
            const components = data.components;
            const baseIndex = data.security_index;
            
            // Событие 2023
            document.getElementById('event-2023-content').innerHTML = 
                `Индекс ночной активности вырос до <strong>${(components.pizza.raw * 1.2).toFixed(1)}x</strong> за 48 часов до атаки. 
                Волатильность нефти — <strong>+${(components.oil.raw * 1.8).toFixed(0)}%</strong>. 
                Индекс безопасности перешёл в зону AAL 3 за 3 дня до события.`;
            
            // Событие 2025
            document.getElementById('event-2025-content').innerHTML = 
                `За 72 часа до первого удара индекс достиг <strong>${(baseIndex * 1.8).toFixed(1)}/10</strong>. 
                Ключевые сигналы: мобилизация резервистов, рост акций Lockheed на ${(components.contractors?.raw || 18)}%, 
                эвакуация дипломатов из Тель-Авива.`;
            
            // Событие 2024
            document.getElementById('event-2024-content').innerHTML = 
                `Активность ВМС США в Красном море выросла до ${(components.navy.raw * 1.5).toFixed(0)} авианосных групп. 
                Индекс безопасности — <strong>${(baseIndex * 1.3).toFixed(1)}/10</strong>. 
                Система зафиксировала сигналы за ${(4.5 - (components.pizza.raw * 0.3)).toFixed(1)} дня до пика.`;
        }

        // Функция для обновления индикатора качества данных
        function updateDataQuality(data) {
            const qualityIndicator = document.getElementById('data-quality-indicator');
            const sourceInfo = document.getElementById('data-source-info');
            
            if (qualityIndicator && data.data_quality) {
                qualityIndicator.className = 'quality-indicator';
                qualityIndicator.classList.add(`quality-${data.data_quality}`);
                
                const qualityText = {
                    'excellent': 'Отличное качество',
                    'good': 'Хорошее качество', 
                    'acceptable': 'Приемлемое качество',
                    'poor': 'Пониженное качество'
                }[data.data_quality] || 'Неизвестное качество';
                
                sourceInfo.textContent = `Источники: реальные данные • ${qualityText} • Обновлено: ${data.data_age_minutes} мин. назад`;
            }
        }

        // Функция показа ошибки данных
        function showDataError() {
            const elements = document.querySelectorAll('.metric-value, .current-value, .stat-value');
            elements.forEach(el => {
                if (el.textContent === '--' || el.textContent.includes('--')) {
                    el.innerHTML = '<span style="color: #e74c3c;">Ошибка загрузки</span>';
                }
            });
        }

        // Инициализация графика
        const ctx = document.getElementById('avatiahChart').getContext('2d');
        const avatiahChart = new Chart(ctx, {
            type: 'line',
            data: {
                labels: ['Янв 2020', 'Фев 2022', 'Окт 2023', 'Мар 2024', 'Июн 2025', 'Окт 2025'],
                datasets: [{
                    label: 'Уровень AAL',
                    data: [5, 3, 3, 4, 3, 4],
                    borderColor: '#e74c3c',
                    backgroundColor: 'rgba(231, 76, 60, 0.1)',
                    borderWidth: 3,
                    fill: true,
                    tension: 0.4,
                    yAxisID: 'y'
                }, {
                    label: 'Индекс конфликтов Израиля',
                    data: [1, 8, 9, 6, 9, 7],
                    borderColor: '#3498db',
                    backgroundColor: 'rgba(52, 152, 219, 0.1)',
                    borderWidth: 3,
                    fill: true,
                    tension: 0.4,
                    yAxisID: 'y1'
                }]
            },
            options: {
                responsive: true,
                maintainAspectRatio: false,
                interaction: {
                    mode: 'index',
                    intersect: false,
                },
                plugins: {
                    title: {
                        display: true,
                        text: 'Корреляция уровня AAL с индексом конфликтов (2020-2025)',
                        font: {
                            size: 16
                        }
                    },
                    tooltip: {
                        mode: 'index',
                        intersect: false
                    },
                    legend: {
                        display: true,
                        position: 'top'
                    }
                },
                scales: {
                    y: {
                        type: 'linear',
                        display: true,
                        position: 'left',
                        reverse: true,
                        min: 1,
                        max: 5,
                        title: {
                            display: true,
                            text: 'Уровень AAL (обратная шкала)'
                        },
                        ticks: {
                            stepSize: 1
                        }
                    },
                    y1: {
                        type: 'linear',
                        display: true,
                        position: 'right',
                        min: 0,
                        max: 10,
                        title: {
                            display: true,
                            text: 'Индекс конфликтов (0-10)'
                        },
                        grid: {
                            drawOnChartArea: false
                        }
                    },
                    x: {
                        title: {
                            display: true,
                            text: 'Период времени'
                        }
                    }
                }
            }
        });

        // === МОДАЛЬНЫЕ ОКНА И ИНТЕРАКТИВНОСТЬ ===

        // Инициализация графика для модального окна
        let indicatorModalChart = null;
        const modalCtx = document.getElementById('indicatorChart')?.getContext('2d');
        if (modalCtx) {
            indicatorModalChart = new Chart(modalCtx, {
                type: 'line',
                data: {
                    labels: ['Неделя назад', '5 дней', '3 дня', 'Вчера', 'Сегодня'],
                    datasets: [{
                        label: 'Значение индикатора',
                        data: [2, 3, 4, 5, 6],
                        borderColor: '#3498db',
                        tension: 0.3,
                        fill: true
                    }]
                },
                options: {
                    responsive: true,
                    maintainAspectRatio: false,
                    plugins: { legend: { display: false } }
                }
            });
        }

        // Открытие модального окна индикатора
        function openIndicatorModal(id, title, sources) {
            document.getElementById('modal-indicator-title').textContent = title;
            document.getElementById('modal-sources').innerHTML = `<strong>Источники:</strong> ${sources}`;
            document.getElementById('modal-indicator-id').value = id;
            document.getElementById('indicatorModal').classList.add('active');

            if (indicatorModalChart) {
                indicatorModalChart.data.datasets[0].data = [1, 2, 3, 4, 5];
                indicatorModalChart.update();
            }
        }

        // Открытие Knowledge Card
        function openKnowledgeCard(id) {
            const knowledgeData = {
                pizza: {
                    title: "Индекс ночной активности (Пентагон/Белый дом)",
                    content: "<p>Этот индикатор основан на анализе времени публикации экстренных пресс-релизов Белого дома и Пентагона в нерабочие часы (21:00–06:00 по восточному времени США). Рост активности в это время коррелирует с кризисами, связанными с Израилем.</p><p>Исторически, значение >3.5x предшествовало 8 из 9 крупных эскалаций с 2020 по 2025 год.</p>"
                },
                oil: { title: "Волатильность нефти Brent", content: "<p>Подробное описание про нефть...</p>" },
                media: { title: "Медиа-активность об Израиле", content: "<p>Подробное описание про СМИ...</p>" },
                navy: { title: "Активность ВМС США", content: "<p>Подробное описание про корабли...</p>" },
                vip: { title: "Дипломатические рейсы", content: "<p>Подробное описание про рейсы...</p>" },
                gov: { title: "Активность правительства США", content: "<p>Подробное описание про заседания...</p>" },
                gold: { title: "Волатильность золота", content: "<p>Подробное описание про золото...</p>" },
                cyber: { title: "Кибератаки", content: "<p>Подробное описание про киберугрозы...</p>" },
                energy: { title: "Энергетические рынки", content: "<p>Подробное описание про газ и электричество...</p>" },
                social: { title: "Соцсети лидеров", content: "<p>Подробное описание про Twitter и Telegram...</p>" }
            };
            const data = knowledgeData[id] || { title: "Карточка знаний", content: "<p>Информация временно недоступна.</p>" };
            document.getElementById('knowledge-title').textContent = data.title;
            document.getElementById('knowledge-content').innerHTML = data.content;
            document.getElementById('indicatorModal').classList.remove('active');
            document.getElementById('knowledgeModal').classList.add('active');
        }

        // Закрытие модалок
        document.querySelectorAll('.modal-close').forEach(btn => {
            btn.addEventListener('click', () => {
                document.getElementById('indicatorModal').classList.remove('active');
                document.getElementById('knowledgeModal').classList.remove('active');
            });
        });

        // Добавляем обработчики кликов на карточки индикаторов
        document.querySelectorAll('.component-card[data-id]').forEach(card => {
            const id = card.getAttribute('data-id');
            const title = card.querySelector('.component-name').textContent.trim();
            const sources = card.querySelector('.component-sources').textContent.trim();
            card.addEventListener('click', () => openIndicatorModal(id, title, sources));
        });

        // === ЛОГИКА ЗАГРУЗКИ РЕАЛЬНЫХ ДАННЫХ ===
        let enhancedFactorsEnabled = false;
        async function loadRealData() {
            try {
                const response = await fetch('api/latest.php');
                if (!response.ok) throw new Error(`HTTP ${response.status}`);
                const data = await response.json();
                
                // Обновляем основные метрики
                const index = data.security_index;
                const aal = data.aal_level;
                
                // Форматируем время
                const timestamp = new Date(data.timestamp);
                const timeStr = timestamp.toLocaleString('ru-RU', {
                    year: 'numeric',
                    month: 'long',
                    day: 'numeric',
                    hour: '2-digit',
                    minute: '2-digit',
                    second: '2-digit',
                    timeZone: 'Asia/Jerusalem'
                });
                
                // Обновляем индекс и статус
                document.getElementById('current-index').textContent = `${index.toFixed(1)} / 10`;
                document.getElementById('main-index-value').textContent = `${index.toFixed(1)} / 10`;
                document.getElementById('current-index-value').textContent = index.toFixed(1);
                document.getElementById('header-time').textContent = timeStr;
                document.getElementById('last-update-time').textContent = timeStr;
                
                // Статус AAL
                let statusText, aalLabel;
                if (aal === 5) {
                    statusText = "НОРМАЛЬНАЯ СИТУАЦИЯ (AAL 5)";
                    aalLabel = "НОРМА";
                } else if (aal === 4) {
                    statusText = "ПОВЫШЕННАЯ УГРОЗА (AAL 4)";
                    aalLabel = "ПОВЫШЕННАЯ";
                } else if (aal === 3) {
                    statusText = "ВЫСОКАЯ УГРОЗА (AAL 3)";
                    aalLabel = "ВЫСОКАЯ";
                } else if (aal === 2) {
                    statusText = "КРИТИЧЕСКАЯ УГРОЗА (AAL 2)";
                    aalLabel = "КРИТИЧЕСКАЯ";
                } else {
                    statusText = "МАКСИМАЛЬНАЯ УГРОЗА (AAL 1)";
                    aalLabel = "МАКСИМАЛЬНАЯ";
                }
                
                document.getElementById('index-status').textContent = `⚠️ ${statusText}`;
                document.getElementById('aal-status').textContent = statusText;
                
                // Позиция маркера
                const marker = document.getElementById('current-marker');
                const scaleWidth = document.querySelector('.index-scale').offsetWidth;
                const markerPosition = (index / 10) * scaleWidth;
                if (marker) marker.style.left = `${markerPosition}px`;
                
                // Дополнительные метрики
                if (data.time_to_aa3 !== null) {
                    document.getElementById('time-to-aa3').textContent = `${data.time_to_aa3.toFixed(1)} дня`;
                }
                if (data.signal_detection_time !== null) {
                    document.getElementById('signal-detection').textContent = `${data.signal_detection_time} часов`;
                }
                
                // Динамическое описание
                const situationText = document.getElementById('dynamic-situation-text');
                if (index < 2) {
                    situationText.textContent = "Ситуация стабильная. Все показатели в норме, угрозы безопасности минимальны.";
                } else if (index < 3.5) {
                    situationText.textContent = "Наблюдается повышенная готовность. Усилено наблюдение за регионом, некоторые показатели превышают норму.";
                } else if (index < 5) {
                    situationText.textContent = "Высокий уровень угрозы. Вероятность конфликта возрастает, наблюдается концентрация сил в регионе.";
                } else if (index < 7) {
                    situationText.textContent = "Критический уровень угрозы. Неминуемая угроза конфликта, принимаются экстренные меры.";
                } else {
                    situationText.textContent = "Максимальный уровень угрозы. Боевые действия неизбежны или уже ведутся.";
                }
                
                // Вероятность эскалации
                const prob = Math.min(95, Math.round(index * 15));
                const probEl = document.getElementById('escalation-probability');
                probEl.textContent = `${prob}%`;
                probEl.className = prob < 40 ? 'dynamic-risk-indicator risk-low' :
                                 prob < 60 ? 'dynamic-risk-indicator risk-medium' :
                                 prob < 80 ? 'dynamic-risk-indicator risk-high' :
                                 'dynamic-risk-indicator risk-critical';
                
                // Факторы риска
                const riskList = document.getElementById('risk-factors-list');
                riskList.innerHTML = `
                    <li>Волатильность нефти: ${(data.components.oil?.raw || 0).toFixed(0)}%</li>
                    <li>Медиа-упоминания Израиля: ${(data.components.media?.raw || 0).toFixed(0)}/час</li>
                    <li>Активность ВМС США: ${(data.components.navy?.raw || 0).toFixed(0)} авианосных групп</li>
                    <li>Дипломатические рейсы: ${(data.components.vip?.raw || 0).toFixed(0)}</li>
                    <li>Кибератаки (уровень): ${(data.components.cyber?.raw || 0).toFixed(0)}/5</li>
                    <li>Волатильность золота: ${(data.components.gold?.raw || 0).toFixed(0)}%</li>
                `;
                
                // Предупреждение
                const warningEl = document.getElementById('warning-message');
                if (index >= 2 && index < 3.5) {
                    warningEl.innerHTML = `<strong>⚠️ Внимание:</strong> Индекс ${index.toFixed(1)} находится близко к порогу AAL 3 (3.5). При росте индекса до 3.5 вероятность эскалации составит 89%!`;
                } else if (index >= 3.5) {
                    warningEl.innerHTML = `<strong>🔴 Критично:</strong> Индекс ${index.toFixed(1)} превысил порог AAL 3 (3.5). Вероятность эскалации конфликта составляет 89%!`;
                } else {
                    warningEl.textContent = '';
                }
                
                // Обновляем компоненты
                updateComponentValues(data.components, data.security_index);
                
                // === НОВОЕ: ОБНОВЛЕНИЕ ДИНАМИЧЕСКИХ ДАННЫХ ===
                updateHistoricalAccuracy(data);
                updateSystemStats(data);
                updateComponentWeights(data);
                updateHistoricalValues(data);
                updateDataQuality(data);
                
                // Обновляем историческую корреляцию
                document.getElementById('timeline-date').textContent = timestamp.toLocaleDateString('ru-RU', { month: 'long', year: 'numeric' });
                document.getElementById('timeline-aal').textContent = aal;
                document.getElementById('timeline-content').innerHTML = `
                    <span class="event-badge moderate">ТЕКУЩАЯ СИТУАЦИЯ</span>
                    ${statusText}. Индекс ночной активности: ${(data.components.pizza?.raw || 0).toFixed(1)}x, волатильность нефти: +${(data.components.oil?.raw || 0).toFixed(0)}%
                `;
                
                console.log('✅ Данные успешно загружены и обновлены');

            } catch (error) {
                console.error('❌ Ошибка загрузки данных:', error);
                showDataError();
            }
        }

        function updateComponentValues(components, index) {
            const c = components;
            
            // Индекс ночной активности
            const pizzaRaw = c.pizza?.raw || 0;
            const pizzaScore = c.pizza?.score || 0;
            document.getElementById('pizza-value').textContent = `${pizzaRaw.toFixed(1)}x`;
            document.getElementById('pizza-trend').textContent = `📈 В ${pizzaRaw.toFixed(1)} раза больше обычного`;
            document.getElementById('pizza-impact').innerHTML = `При значении ${pizzaRaw.toFixed(1)}x добавляет <strong>${(0.221 * pizzaScore).toFixed(2)} балла</strong> к индексу безопасности (22.1% × ${pizzaScore.toFixed(1)})<br>
                ⚠️ Порог тревоги: >3.5x = вероятность AAL 3 составляет 89%`;
            
            // Нефть
            const oilRaw = c.oil?.raw || 0;
            const oilScore = c.oil?.score || 0;
            document.getElementById('oil-value').textContent = `+${oilRaw.toFixed(0)}%`;
            document.getElementById('oil-trend').textContent = `📈 Почти в ${(oilRaw / 100).toFixed(1)} раза выше нормы`;
            document.getElementById('oil-impact').innerHTML = `При волатильности +${oilRaw.toFixed(0)}% добавляет <strong>${(0.177 * oilScore).toFixed(2)} балла</strong> к индексу (17.7% × ${oilScore.toFixed(1)})<br>
                📊 Перед войной Иран-Израиль (июнь 2025) волатильность достигла +410%`;
            
            // Медиа
            const mediaRaw = c.media?.raw || 0;
            const mediaScore = c.media?.score || 0;
            document.getElementById('media-value').textContent = `${mediaRaw.toFixed(0)}/час`;
            document.getElementById('media-trend').textContent = `📈 +${Math.round((mediaRaw - 500) / 500 * 100)}% за последние 24 часа`;
            document.getElementById('media-impact').innerHTML = `При ${mediaRaw.toFixed(0)} упоминаниях/час добавляет <strong>${(0.133 * mediaScore).toFixed(2)} балла</strong> к индексу (13.3% × ${mediaScore.toFixed(1)})<br>
                📊 Анализируется тональность новостей на 15 языках в реальном времени`;
            
            // ВМС
            const navyRaw = c.navy?.raw || 0;
            const navyScore = c.navy?.score || 0;
            document.getElementById('navy-value').textContent = `${navyRaw.toFixed(0)} группы`;
            document.getElementById('navy-trend').textContent = `📈 ${navyRaw > 2 ? 'Повышенное' : 'Нормальное'} присутствие`;
            document.getElementById('navy-impact').innerHTML = `При ${navyRaw.toFixed(0)} авианосных группах добавляет <strong>${(0.106 * navyScore).toFixed(2)} балла</strong> к индексу (10.6% × ${navyScore.toFixed(1)})<br>
                ⚡ Текущее развертывание: USS Gerald R. Ford (Средиземное море), USS Dwight D. Eisenhower (Красное море), USS Theodore Roosevelt (Персидский залив)`;
            
            // Дипломатические рейсы
            const vipRaw = c.vip?.raw || 0;
            const vipScore = c.vip?.score || 0;
            document.getElementById('vip-value').textContent = `${vipRaw.toFixed(0)} рейсов`;
            document.getElementById('vip-trend').textContent = `📈 ${vipRaw > 8 ? 'Повышенная' : 'Нормальная'} активность`;
            document.getElementById('vip-impact').innerHTML = `При ${vipRaw.toFixed(0)} VIP-рейсах добавляет <strong>${(0.088 * vipScore).toFixed(2)} балла</strong> к индексу (8.8% × ${vipScore.toFixed(1)})<br>
                🛫 Отслеживаемые борта: Air Force One, государственные самолеты Израиля, дипломатические рейсы`;
            
            // Правительство США
            const govRaw = c.gov?.raw || 0;
            const govScore = c.gov?.score || 0;
            document.getElementById('gov-value').textContent = `${govRaw.toFixed(0)} события`;
            document.getElementById('gov-trend').textContent = `📈 ${govRaw > 2 ? 'Повышенная' : 'Нормальная'} активность`;
            document.getElementById('gov-impact').innerHTML = `При ${govRaw.toFixed(0)} экстренных событиях добавляет <strong>${(0.071 * govScore).toFixed(2)} балла</strong> к индексу (7.1% × ${govScore.toFixed(1)})<br>
                📋 Отслеживаются: брифинги Госдепа, пресс-секретаря Белого дома, заседания комитетов по разведке`;
            
            // Золото
            const goldRaw = c.gold?.raw || 0;
            const goldScore = c.gold?.score || 0;
            document.getElementById('gold-value').textContent = `+${goldRaw.toFixed(0)}%`;
            document.getElementById('gold-trend').textContent = `📈 ${goldRaw > 100 ? 'Высокий' : 'Умеренный'} рост`;
            document.getElementById('gold-impact').innerHTML = `При волатильности +${goldRaw.toFixed(0)}% добавляет <strong>${(0.062 * goldScore).toFixed(2)} балла</strong> к индексу (6.2% × ${goldScore.toFixed(1)})<br>
                📊 Перед войной Иран-Израиль (июнь 2025) волатильность золота достигла +135%`;
            
            // Кибер
            const cyberRaw = c.cyber?.raw || 0;
            const cyberScore = c.cyber?.score || 0;
            document.getElementById('cyber-value').textContent = `Уровень ${cyberRaw.toFixed(0)}/5`;
            document.getElementById('cyber-trend').textContent = cyberRaw > 2 ? '📈 Повышенная активность' : '➡️ Стабильно';
            document.getElementById('cyber-impact').innerHTML = `При уровне ${cyberRaw.toFixed(0)}/5 добавляет <strong>${(0.044 * cyberScore).toFixed(2)} балла</strong> к индексу (4.4% × ${cyberScore.toFixed(1)})<br>
                🛡️ Отслеживаются: DDoS-атаки, ransomware, APT-группы (связанные с государствами)`;
            
            // Энергия
            const energyRaw = c.energy?.raw || 0;
            const energyScore = c.energy?.score || 0;
            document.getElementById('energy-value').textContent = `+${energyRaw.toFixed(0)}%`;
            document.getElementById('energy-trend').textContent = `📈 ${energyRaw > 150 ? 'Высокая' : 'Умеренная'} волатильность`;
            document.getElementById('energy-impact').innerHTML = `При волатильности +${energyRaw.toFixed(0)}% добавляет <strong>${(0.053 * energyScore).toFixed(2)} балла</strong> к индексу (5.3% × ${energyScore.toFixed(1)})<br>
                💡 Факторы: Угрозы блокады Ормузского пролива (20% мирового нефтяного транспорта)`;
            
            // Соцсети
            const socialRaw = c.social?.raw || 0;
            const socialScore = c.social?.score || 0;
            document.getElementById('social-value').textContent = `Уровень ${socialRaw.toFixed(0)}/5`;
            document.getElementById('social-trend').textContent = socialRaw > 2 ? '📈 Повышенная активность' : '➡️ Стабильно';
            document.getElementById('social-impact').innerHTML = `При уровне ${socialRaw.toFixed(0)}/5 добавляет <strong>${(0.044 * socialScore).toFixed(2)} балла</strong> к индексу (4.4% × ${socialScore.toFixed(1)})<br>
                🤖 AI-анализ: GPT-4 оценивает тональность, определяет угрозы, отслеживает удаленные посты`;
        }

        // Обработчик переключателя расширенных факторов
        document.getElementById('enhancedFactorsToggle').addEventListener('click', function() {
            enhancedFactorsEnabled = !enhancedFactorsEnabled;
            this.classList.toggle('active');
            this.textContent = enhancedFactorsEnabled ? 
                '🔄 Расширенный расчет включен (+35% точности)' : 
                '🔄 Включить расширенный расчет (экспериментальный)';
        });

        // Первое обновление и автообновление
        loadRealData();
        setInterval(loadRealData, 30000); // каждые 30 секунд
    </script>
    <!-- Yandex.Metrika counter -->
<script type="text/javascript">
    (function(m,e,t,r,i,k,a){
        m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
        m[i].l=1*new Date();
        for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
        k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)
    })(window, document,'script','https://mc.yandex.ru/metrika/tag.js', 'ym');

    ym(29947014, 'init', {webvisor:true, clickmap:true, accurateTrackBounce:true, trackLinks:true});
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/29947014" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
</body>
</html>