.theme-dark,:root{--page-bg:#0b0d0f;--card-bg:#111827;--card-bg-alt:#0d1117;--border-subtle:#1f2937;--border-medium:#374151;--font-primary:monospace;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-faint:#334155;--status-open-bg:#0d1f17;--status-open-border:#166534;--status-open-text:#4ade80;--status-restricted-bg:#1f1800;--status-restricted-border:#92400e;--status-restricted-text:#fbbf24;--status-closed-bg:#1f0808;--status-closed-border:#991b1b;--status-closed-text:#fca5a5;--badge-open-bg:#16a34a;--badge-restricted-bg:#d97706;--badge-closed-bg:#dc2626;--risk-normal-bg:#0d1f17;--risk-normal-border:#166534;--risk-normal-text:#4ade80;--risk-normal-bar:#16a34a;--risk-caution-bg:#1c1500;--risk-caution-border:#92400e;--risk-caution-text:#fbbf24;--risk-caution-bar:#d97706;--risk-warning-bg:#1c0a00;--risk-warning-border:#c2410c;--risk-warning-text:#fb923c;--risk-warning-bar:#ea580c;--risk-critical-bg:#1f0808;--risk-critical-border:#991b1b;--risk-critical-text:#fca5a5;--risk-critical-bar:#dc2626;--traffic-free-color:#22c55e;--traffic-free-bg:#0d1f17;--traffic-free-border:#166534;--traffic-moderate-color:#eab308;--traffic-moderate-bg:#1c1a00;--traffic-moderate-border:#854d0e;--traffic-heavy-color:#f97316;--traffic-heavy-bg:#1c0a00;--traffic-heavy-border:#c2410c;--traffic-stationary-color:#ef4444;--traffic-stationary-bg:#1f0808;--traffic-stationary-border:#991b1b;--traffic-unknown-color:#475569;--traffic-unknown-bg:#111827;--traffic-unknown-border:#1f2937;--traffic-bar-track:#1f2937;--accent-live:#22c55e;--accent-info:#60a5fa;--accent-warning:#fcd34d;--accent-admin:#f59e0b;--btn-bg:#1e293b;--btn-border:#334155;--btn-text:#cbd5e1;--input-bg:#1e293b;--input-border:#334155;--input-text:#f8fafc;--alert-banner-bg:#7f1d1d;--alert-banner-border:#dc2626;--closure-urgent-bg:#1f0808;--closure-urgent-border:#991b1b;--closure-urgent-text:#fca5a5;--closure-warning-bg:#1c1007;--closure-warning-border:#92400e;--closure-warning-text:#fcd34d;--closure-future-bg:#111827;--closure-future-border:#1f2937;--closure-future-text:#94a3b8;--admin-bar-bg:#1c0a00;--admin-bar-border:#92400e;--highwind-bg:#422006;--highwind-border:#d97706;--highwind-text:#fbbf24;--weather-card-bg:#111827;--weather-card-border:#1f2937;--forecast-hour-bg:#0d1117;--matrix-outer-bg:#000;--matrix-panel-bg:#0a0a0a;--matrix-text:#fbbf24;--recap-idle-dot:#16a34a;--recap-idle-text:#16a34a;--recap-play-dot:#f59e0b;--recap-play-text:#f59e0b;--recap-btn-live-bg:#0f172a;--recap-btn-live-border:#1e3a5f;--recap-btn-live-text:#60a5fa;--recap-btn-play-bg:#14532d;--recap-btn-play-border:#16a34a;--recap-btn-play-text:#4ade80;--recap-btn-stop-bg:#1c1007;--recap-btn-stop-border:#92400e;--recap-btn-stop-text:#fbbf24;--recap-dropdown-bg:#0f172a;--recap-dropdown-selected-bg:#1e3a5f;--recap-dropdown-selected-text:#60a5fa;--hgv-ban-bg:#1e1b4b;--hgv-ban-border:#4338ca;--hgv-ban-text:#a5b4fc;--beta-bg:#1e3a5f;--beta-border:#2563eb;--beta-text:#60a5fa;--data-warning-bg:#1c1007;--data-warning-border:#92400e;--data-warning-text:#fcd34d;--error-bg:#1f0808;--error-border:#dc2626;--error-text:#fca5a5;--skeleton-bg:#111;--skeleton-border:#1f2937}.theme-light{--page-bg:#f1f5f9;--card-bg:#ffffff;--card-bg-alt:#f8fafc;--border-subtle:#e2e8f0;--border-medium:#cbd5e1;--font-primary:system-ui,-apple-system,sans-serif;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-faint:#94a3b8;--status-open-bg:#dcfce7;--status-open-border:#4ade80;--status-open-text:#14532d;--status-restricted-bg:#fef3c7;--status-restricted-border:#f59e0b;--status-restricted-text:#78350f;--status-closed-bg:#fee2e2;--status-closed-border:#f87171;--status-closed-text:#7f1d1d;--badge-open-bg:#16a34a;--badge-restricted-bg:#d97706;--badge-closed-bg:#dc2626;--risk-normal-bg:#f0fdf4;--risk-normal-border:#86efac;--risk-normal-text:#166534;--risk-normal-bar:#16a34a;--risk-caution-bg:#fffbeb;--risk-caution-border:#fde68a;--risk-caution-text:#92400e;--risk-caution-bar:#d97706;--risk-warning-bg:#fff7ed;--risk-warning-border:#fdba74;--risk-warning-text:#c2410c;--risk-warning-bar:#ea580c;--risk-critical-bg:#fef2f2;--risk-critical-border:#fecaca;--risk-critical-text:#991b1b;--risk-critical-bar:#dc2626;--traffic-free-color:#16a34a;--traffic-free-bg:#f0fdf4;--traffic-free-border:#86efac;--traffic-moderate-color:#ca8a04;--traffic-moderate-bg:#fefce8;--traffic-moderate-border:#fde047;--traffic-heavy-color:#ea580c;--traffic-heavy-bg:#fff7ed;--traffic-heavy-border:#fdba74;--traffic-stationary-color:#dc2626;--traffic-stationary-bg:#fef2f2;--traffic-stationary-border:#fecaca;--traffic-unknown-color:#64748b;--traffic-unknown-bg:#f8fafc;--traffic-unknown-border:#e2e8f0;--traffic-bar-track:#e2e8f0;--accent-live:#16a34a;--accent-info:#2563eb;--accent-warning:#d97706;--accent-admin:#d97706;--btn-bg:#f1f5f9;--btn-border:#cbd5e1;--btn-text:#334155;--input-bg:#ffffff;--input-border:#cbd5e1;--input-text:#0f172a;--alert-banner-bg:#dc2626;--alert-banner-border:#991b1b;--closure-urgent-bg:#fef2f2;--closure-urgent-border:#fecaca;--closure-urgent-text:#991b1b;--closure-warning-bg:#fffbeb;--closure-warning-border:#fde68a;--closure-warning-text:#92400e;--closure-future-bg:#f8fafc;--closure-future-border:#e2e8f0;--closure-future-text:#64748b;--admin-bar-bg:#fffbeb;--admin-bar-border:#fde68a;--highwind-bg:#fffbeb;--highwind-border:#d97706;--highwind-text:#92400e;--weather-card-bg:#ffffff;--weather-card-border:#e2e8f0;--forecast-hour-bg:#f8fafc;--matrix-outer-bg:#1e293b;--matrix-panel-bg:#0f172a;--matrix-text:#fbbf24;--recap-idle-dot:#16a34a;--recap-idle-text:#16a34a;--recap-play-dot:#d97706;--recap-play-text:#d97706;--recap-btn-live-bg:#dbeafe;--recap-btn-live-border:#93c5fd;--recap-btn-live-text:#1d4ed8;--recap-btn-play-bg:#dcfce7;--recap-btn-play-border:#86efac;--recap-btn-play-text:#166534;--recap-btn-stop-bg:#fffbeb;--recap-btn-stop-border:#fde68a;--recap-btn-stop-text:#92400e;--recap-dropdown-bg:#ffffff;--recap-dropdown-selected-bg:#dbeafe;--recap-dropdown-selected-text:#1d4ed8;--hgv-ban-bg:#ede9fe;--hgv-ban-border:#a78bfa;--hgv-ban-text:#5b21b6;--beta-bg:#dbeafe;--beta-border:#93c5fd;--beta-text:#1d4ed8;--data-warning-bg:#fffbeb;--data-warning-border:#fde68a;--data-warning-text:#92400e;--error-bg:#fef2f2;--error-border:#fecaca;--error-text:#991b1b;--skeleton-bg:#e2e8f0;--skeleton-border:#cbd5e1}.theme-soft-dark{--page-bg:#0f1117;--card-bg:#1a1f2e;--card-bg-alt:#141720;--border-subtle:#252b3b;--border-medium:#313849;--font-primary:system-ui,-apple-system,sans-serif;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--text-faint:#3d4a60;--status-open-bg:#0d1f17;--status-open-border:#166534;--status-open-text:#4ade80;--status-restricted-bg:#1f1800;--status-restricted-border:#92400e;--status-restricted-text:#fbbf24;--status-closed-bg:#1f0808;--status-closed-border:#991b1b;--status-closed-text:#fca5a5;--badge-open-bg:#16a34a;--badge-restricted-bg:#d97706;--badge-closed-bg:#dc2626;--risk-normal-bg:#0f1e14;--risk-normal-border:#166534;--risk-normal-text:#4ade80;--risk-normal-bar:#16a34a;--risk-caution-bg:#1a1500;--risk-caution-border:#92400e;--risk-caution-text:#fbbf24;--risk-caution-bar:#d97706;--risk-warning-bg:#1a0c00;--risk-warning-border:#c2410c;--risk-warning-text:#fb923c;--risk-warning-bar:#ea580c;--risk-critical-bg:#1c0808;--risk-critical-border:#991b1b;--risk-critical-text:#fca5a5;--risk-critical-bar:#dc2626;--traffic-free-color:#22c55e;--traffic-free-bg:#0f1e14;--traffic-free-border:#166534;--traffic-moderate-color:#eab308;--traffic-moderate-bg:#1a1800;--traffic-moderate-border:#854d0e;--traffic-heavy-color:#f97316;--traffic-heavy-bg:#1a0c00;--traffic-heavy-border:#c2410c;--traffic-stationary-color:#ef4444;--traffic-stationary-bg:#1c0808;--traffic-stationary-border:#991b1b;--traffic-unknown-color:#475569;--traffic-unknown-bg:#1a1f2e;--traffic-unknown-border:#252b3b;--traffic-bar-track:#252b3b;--accent-live:#22c55e;--accent-info:#60a5fa;--accent-warning:#fcd34d;--accent-admin:#f59e0b;--btn-bg:#232a3b;--btn-border:#313849;--btn-text:#94a3b8;--input-bg:#232a3b;--input-border:#313849;--input-text:#e2e8f0;--alert-banner-bg:#7f1d1d;--alert-banner-border:#dc2626;--closure-urgent-bg:#1c0808;--closure-urgent-border:#991b1b;--closure-urgent-text:#fca5a5;--closure-warning-bg:#1a1007;--closure-warning-border:#92400e;--closure-warning-text:#fcd34d;--closure-future-bg:#1a1f2e;--closure-future-border:#252b3b;--closure-future-text:#64748b;--admin-bar-bg:#1a0c00;--admin-bar-border:#92400e;--highwind-bg:#3a1e06;--highwind-border:#d97706;--highwind-text:#fbbf24;--weather-card-bg:#1a1f2e;--weather-card-border:#252b3b;--forecast-hour-bg:#141720;--matrix-outer-bg:#000;--matrix-panel-bg:#0a0a0a;--matrix-text:#fbbf24;--recap-idle-dot:#22c55e;--recap-idle-text:#22c55e;--recap-play-dot:#f59e0b;--recap-play-text:#f59e0b;--recap-btn-live-bg:#141c2e;--recap-btn-live-border:#1e3a5f;--recap-btn-live-text:#60a5fa;--recap-btn-play-bg:#0f1e14;--recap-btn-play-border:#166534;--recap-btn-play-text:#4ade80;--recap-btn-stop-bg:#1a1007;--recap-btn-stop-border:#92400e;--recap-btn-stop-text:#fbbf24;--recap-dropdown-bg:#141720;--recap-dropdown-selected-bg:#1e3a5f;--recap-dropdown-selected-text:#60a5fa;--hgv-ban-bg:#1e1b4b;--hgv-ban-border:#4338ca;--hgv-ban-text:#a5b4fc;--beta-bg:#1e3a5f;--beta-border:#2563eb;--beta-text:#60a5fa;--data-warning-bg:#1a1007;--data-warning-border:#92400e;--data-warning-text:#fcd34d;--error-bg:#1c0808;--error-border:#dc2626;--error-text:#fca5a5;--skeleton-bg:#1a1f2e;--skeleton-border:#252b3b}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.8}}@keyframes flash-positive{0%{background-color:rgba(34,197,94,.45);box-shadow:0 0 0 2px rgba(34,197,94,.3)}to{background-color:transparent;box-shadow:none}}@keyframes flash-negative{0%{background-color:rgba(239,68,68,.45);box-shadow:0 0 0 2px rgba(239,68,68,.3)}to{background-color:transparent;box-shadow:none}}@keyframes flash-neutral{0%{background-color:rgba(250,204,21,.35);box-shadow:0 0 0 2px rgba(250,204,21,.25)}to{background-color:transparent;box-shadow:none}}.flash-positive{animation:flash-positive .8s ease-out forwards;border-radius:4px}.flash-negative{animation:flash-negative .8s ease-out forwards;border-radius:4px}.flash-neutral{animation:flash-neutral .8s ease-out forwards;border-radius:4px}*{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-primary)}