.search-bar-container{position:relative;width:100%;max-width:600px}.search-bar{position:relative;width:100%}.search-input-wrapper{position:relative;display:flex;align-items:center;background:#0a0a0fd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:0 12px;transition:all .3s ease;box-shadow:0 2px 8px #0003}.search-input-wrapper:hover{border-color:#00ff884d;box-shadow:0 4px 12px #0000004d}.search-input-wrapper:focus-within{border-color:#00ff8880;box-shadow:0 0 16px #00ff8826;background:#0f0f14e6}.search-icon{flex-shrink:0;color:#ffffff80;margin-right:10px;transition:color .3s ease}.search-input-wrapper:focus-within .search-icon{color:#0f8}.search-input{flex:1;background:transparent;border:none;outline:none;color:#fffffff2;font-family:Inter,sans-serif;font-size:14px;padding:14px 8px;min-width:0}.search-input::placeholder{color:#fff6;font-style:italic}.search-input:focus::placeholder{color:#ffffff4d}.search-clear{flex-shrink:0;background:transparent;border:none;color:#fff6;cursor:pointer;padding:4px;margin-right:8px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.search-clear:hover{color:#fffc;background:#ffffff0d}.search-button{flex-shrink:0;background:#00ff881f;border:1px solid rgba(0,255,136,.3);border-radius:6px;color:#0f8;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;padding:8px 16px;cursor:pointer;transition:all .3s ease;letter-spacing:.5px;text-transform:uppercase}.search-button:hover{background:#0f83;border-color:#00ff8880;box-shadow:0 0 12px #0f83;transform:translateY(-1px)}.search-button:active{transform:translateY(0)}.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#0a0a0ffa;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,255,136,.25);border-radius:8px;box-shadow:0 8px 32px #00000080;overflow:hidden;z-index:1000;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.suggestions-header{padding:10px 16px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid rgba(255,255,255,.05)}.suggestion-item{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:none;padding:12px 16px;color:#fffc;font-family:Inter,sans-serif;font-size:13px;text-align:left;cursor:pointer;transition:all .2s ease;border-bottom:1px solid rgba(255,255,255,.03)}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:#00ff8814;color:#fffffff2;padding-left:20px}.suggestion-icon{flex-shrink:0;color:#fff6;transition:color .2s ease}.suggestion-item:hover .suggestion-icon{color:#0f8}.suggestion-text{flex:1;line-height:1.4}.search-results-info{margin-top:12px;padding:12px 16px;background:#00ff880d;border:1px solid rgba(0,255,136,.15);border-radius:8px;display:flex;align-items:center;gap:16px;animation:fadeIn .3s ease}.results-stats{display:flex;align-items:baseline;gap:6px}.results-count{font-family:JetBrains Mono,monospace;font-size:20px;font-weight:700;color:#0f8;line-height:1}.results-label{font-family:Inter,sans-serif;font-size:12px;color:#fff9}.results-params{flex:1;font-family:JetBrains Mono,monospace;font-size:11px;color:#ffffffb3;padding-left:16px;border-left:1px solid rgba(0,255,136,.2);line-height:1.5}@media (max-width: 768px){.search-bar-container{max-width:100%}.search-input{font-size:16px;padding:12px 8px}.search-button{font-size:11px;padding:6px 12px}.search-results-info{flex-direction:column;align-items:flex-start;gap:8px}.results-params{padding-left:0;border-left:none;border-top:1px solid rgba(0,255,136,.2);padding-top:8px;width:100%}.suggestion-item{padding:10px 12px}.suggestion-item:hover{padding-left:16px}}@media (prefers-color-scheme: dark){.search-input-wrapper{background:#050508e6}.search-suggestions{background:#050508fa}}@media (prefers-contrast: high){.search-input-wrapper{border-color:#ffffff4d}.search-input-wrapper:focus-within{border-color:#0f8}.search-button{border-color:#0f8}}@media (prefers-reduced-motion: reduce){.search-input-wrapper,.search-button,.search-clear,.suggestion-item{transition:none}.search-suggestions,.search-results-info{animation:none}}.performance-overlay{position:fixed;z-index:9999;background:#000000d9;border:1px solid rgba(0,255,136,.3);border-radius:8px;padding:12px;font-family:Monaco,Consolas,monospace;font-size:12px;color:#e0e0e0;min-width:220px;backdrop-filter:blur(10px);box-shadow:0 4px 16px #00ff8826;user-select:none;transition:all .3s ease}.performance-overlay.top-right{top:20px;right:20px}.performance-overlay.top-left{top:20px;left:20px}.performance-overlay.bottom-right{bottom:20px;right:20px}.performance-overlay.bottom-left{bottom:20px;left:20px}.performance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(0,255,136,.2)}.performance-title{font-weight:700;color:#0f8;font-size:13px;text-transform:uppercase;letter-spacing:1px}.performance-hint{font-size:9px;color:#888;opacity:.7}.performance-metrics{display:flex;flex-direction:column;gap:6px}.metric-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;transition:background .2s ease}.metric-row:hover{background:#00ff880d;border-radius:4px;padding-left:4px;padding-right:4px}.metric-row.primary{font-size:14px;font-weight:700;padding:6px 4px;background:#00ff8814;border-radius:4px;margin-bottom:4px}.metric-row.primary .metric-value{font-size:18px;text-shadow:0 0 10px currentColor}.metric-row.target{margin-top:4px;font-size:10px;opacity:.6}.metric-label{color:#aaa;font-size:11px}.metric-row.primary .metric-label{font-size:12px;color:#ccc}.metric-value{color:#fff;font-weight:500;font-variant-numeric:tabular-nums}.metric-badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;color:#000;text-align:center;min-width:60px}.metric-divider{height:1px;background:#ffffff1a;margin:6px 0}.performance-status{margin-top:12px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);text-align:center;font-size:10px;font-weight:700}.status-good{color:#0f8;text-shadow:0 0 8px rgba(0,255,136,.5)}.status-ok{color:#fc0;text-shadow:0 0 8px rgba(255,204,0,.5)}.status-poor{color:#f34;text-shadow:0 0 8px rgba(255,51,68,.5);animation:pulse-warning 2s ease-in-out infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}@media (max-width: 768px){.performance-overlay{font-size:11px;min-width:180px;padding:10px}.performance-overlay.top-right,.performance-overlay.top-left{top:10px}.performance-overlay.top-right,.performance-overlay.bottom-right{right:10px}.performance-overlay.top-left,.performance-overlay.bottom-left{left:10px}.performance-hint{display:none}.metric-row.primary .metric-value{font-size:16px}}@media (prefers-color-scheme: dark){.performance-overlay{background:#0a0a0feb}}@media print{.performance-overlay{display:none!important}}.audio-controls.executive{position:fixed;top:20px;right:260px;z-index:9998;width:44px;height:44px;background:#000000bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,255,136,.25);border-radius:50%;box-shadow:0 4px 20px #0006,0 0 40px #00ff881a;transition:all .4s cubic-bezier(.4,0,.2,1);will-change:transform,width,border-radius;contain:layout style paint}.audio-controls.executive.expanded{width:240px;height:auto;border-radius:12px;padding:12px;box-shadow:0 8px 32px #00000080,0 0 60px #00ff8826}.audio-toggle{width:40px;height:40px;border:none;background:transparent;color:#888;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);outline:none;-webkit-tap-highlight-color:transparent}.audio-toggle:hover{transform:scale(1.1);background:#00ff8814}.audio-toggle:active{transform:scale(.95)}.audio-toggle.enabled{color:#0f8;text-shadow:0 0 12px rgba(0,255,136,.6)}.audio-toggle.enabled:hover{background:#00ff881f;box-shadow:0 0 24px #00ff884d}.audio-toggle.muted{color:#666;opacity:.7}.audio-toggle.muted:hover{color:#888;opacity:1}.audio-toggle:focus-visible{outline:2px solid #00ff88;outline-offset:2px}.waveform-icon,.muted-icon{width:24px;height:24px;pointer-events:none}.waveform-icon .bar{animation-timing-function:ease-in-out}.audio-panel{margin-top:16px;opacity:0;animation:fadeInUp .3s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.volume-slider{margin-bottom:14px}.volume-slider label{display:block;width:100%}.slider-label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#aaa;margin-bottom:6px;font-family:Monaco,Consolas,monospace}.slider-container{display:flex;align-items:center;gap:8px}.slider-container input[type=range]{flex:1;height:4px;border-radius:2px;background:#ffffff1a;outline:none;-webkit-appearance:none;appearance:none;cursor:pointer;transition:background .2s ease}.slider-container input[type=range]:hover{background:#ffffff26}.slider-container input[type=range]:disabled{opacity:.3;cursor:not-allowed}.slider-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#0f8;cursor:pointer;box-shadow:0 0 8px #0f86;transition:all .2s ease}.slider-container input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 16px #0f89}.slider-container input[type=range]::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:#0f8;cursor:pointer;box-shadow:0 0 8px #0f86;transition:all .2s ease}.slider-container input[type=range]::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 0 16px #0f89}.slider-container input[type=range]::-moz-range-track{background:#ffffff1a;border-radius:2px;height:4px}.slider-value{font-size:11px;font-family:Monaco,Consolas,monospace;color:#0f8;min-width:36px;text-align:right;font-variant-numeric:tabular-nums}.spatial-toggle{margin:14px 0 10px;padding:8px;background:#ffffff08;border-radius:6px;border:1px solid rgba(255,255,255,.05)}.spatial-toggle label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:11px;color:#ccc;font-family:Monaco,Consolas,monospace}.spatial-toggle input[type=checkbox]{width:16px;height:16px;border-radius:3px;border:1px solid rgba(0,255,136,.3);background:#0006;cursor:pointer;-webkit-appearance:none;appearance:none;position:relative;transition:all .2s ease}.spatial-toggle input[type=checkbox]:checked{background:#0f8;border-color:#0f8}.spatial-toggle input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#000;font-size:12px;font-weight:700}.spatial-toggle input[type=checkbox]:disabled{opacity:.3;cursor:not-allowed}.spatial-toggle input[type=checkbox]:focus-visible{outline:2px solid #00ff88;outline-offset:2px}.toggle-label{user-select:none}.audio-status{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);text-align:center;font-size:10px;font-family:Monaco,Consolas,monospace;text-transform:uppercase;letter-spacing:.5px}.status-active,.status-inactive{display:inline-flex;align-items:center;gap:6px}.status-active{color:#0f8}.status-inactive{color:#666}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-dot.pulsing{animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}@media (max-width: 768px){.audio-controls.executive{top:10px;right:10px;width:40px;height:40px}.audio-controls.executive.expanded{width:200px}.audio-toggle{width:36px;height:36px}.waveform-icon,.muted-icon{width:20px;height:20px}}@media (prefers-color-scheme: dark){.audio-controls.executive{background:#05050ad9}}@media print{.audio-controls.executive{display:none!important}}@media (prefers-reduced-motion: reduce){.audio-controls.executive,.audio-toggle,.slider-container input[type=range]::-webkit-slider-thumb,.slider-container input[type=range]::-moz-range-thumb{transition:none}.waveform-icon animate{animation:none}.status-dot.pulsing{animation:none}}.perspective-picker.executive{position:fixed;bottom:calc(var(--ticker-height) + 16px);right:180px;background:#000000bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,255,136,.25);border-radius:8px;padding:8px 12px;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:9000;min-width:140px;box-shadow:0 4px 16px #0000004d;pointer-events:auto}.perspective-picker.executive:hover{background:#000000d9;border-color:#00ff8873;box-shadow:0 6px 24px #00ff8826}.perspective-toggle{display:flex;align-items:center;gap:8px;background:transparent;border:none;color:#ffffffe6;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;font-weight:500;cursor:pointer;padding:0;letter-spacing:.5px;transition:all .3s ease;width:100%}.perspective-toggle:hover{color:#0f8}.perspective-icon{display:flex;align-items:center;justify-content:center;color:#0f8;transition:transform .3s ease}.perspective-toggle:hover .perspective-icon{transform:scale(1.1)}.perspective-label{text-transform:uppercase;flex:1}.perspective-panel{position:absolute;bottom:100%;right:0;margin-bottom:12px;background:#0a0a0ff2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,255,136,.3);border-radius:8px;padding:16px;min-width:280px;box-shadow:0 8px 32px #00000080;animation:slideDown .3s cubic-bezier(.4,0,.2,1);pointer-events:auto}@keyframes slideDown{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.perspective-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(0,255,136,.15)}.perspective-title{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:1.2px}.perspective-shortcut{font-family:JetBrains Mono,monospace;font-size:10px;color:#0f8;background:#00ff881a;border:1px solid rgba(0,255,136,.3);border-radius:4px;padding:2px 6px;font-weight:600}.perspective-modes{display:flex;flex-direction:column;gap:8px}.perspective-mode-btn{display:flex;align-items:center;gap:12px;background:#14141e80;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:12px;cursor:pointer;transition:all .3s ease;color:#fffc}.perspective-mode-btn:hover{background:#1e1e28b3;border-color:#0f86;transform:translate(2px)}.perspective-mode-btn.active{background:#00ff881f;border-color:#0f89;box-shadow:0 0 12px #0f83}.perspective-mode-btn.active .mode-icon{color:#0f8}.mode-icon{display:flex;align-items:center;justify-content:center;color:#ffffff80;transition:color .3s ease}.perspective-mode-btn:hover .mode-icon{color:#0f8}.mode-info{display:flex;flex-direction:column;gap:2px;flex:1}.mode-name{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;color:#fffffff2;letter-spacing:.5px}.mode-description{font-family:Inter,sans-serif;font-size:11px;color:#ffffff80;line-height:1.3}.sector-picker-modal{position:absolute;bottom:100%;right:0;margin-bottom:12px;background:#0a0a0ffa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(0,255,136,.3);border-radius:8px;padding:16px;width:360px;max-height:480px;overflow-y:auto;box-shadow:0 12px 48px #0009;animation:slideDown .3s cubic-bezier(.4,0,.2,1);pointer-events:auto}.sector-picker-modal::-webkit-scrollbar{width:6px}.sector-picker-modal::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.sector-picker-modal::-webkit-scrollbar-thumb{background:#00ff884d;border-radius:3px}.sector-picker-modal::-webkit-scrollbar-thumb:hover{background:#00ff8880}.sector-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(0,255,136,.15)}.sector-title{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;color:#ffffffe6;text-transform:uppercase;letter-spacing:1px}.sector-close-btn{background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#fff9;font-size:18px;cursor:pointer;transition:all .3s ease;line-height:1}.sector-close-btn:hover{background:#ff3c3c33;border-color:#ff3c3c80;color:#f44}.sector-list{display:flex;flex-direction:column;gap:8px}.sector-item{background:#14141e80;border:1px solid rgba(255,255,255,.1);border-left-width:3px;border-radius:6px;padding:12px;cursor:pointer;transition:all .3s ease;text-align:left}.sector-item:hover{background:#1e1e28b3;border-color:#0f86;transform:translate(3px);box-shadow:0 4px 12px #0000004d}.sector-name{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;color:#fffffff2;margin-bottom:6px;letter-spacing:.3px}.sector-meta{display:flex;gap:12px;margin-bottom:6px}.sector-type{font-family:Inter,sans-serif;font-size:10px;color:#ffffff80;text-transform:uppercase;letter-spacing:.8px}.sector-importance{font-family:Inter,sans-serif;font-size:10px;color:#0f8;text-transform:uppercase;font-weight:600;letter-spacing:.8px}.sector-description{font-family:Inter,sans-serif;font-size:11px;color:#fff9;line-height:1.4}.sector-item.sector-conflict_zone{border-left-color:#f44}.sector-item.sector-contested_territory{border-left-color:#f84}.sector-item.sector-strategic_zone{border-left-color:#48f}.sector-item.sector-critical_infrastructure{border-left-color:#4f8}.sector-item.sector-data_residency{border-left-color:#84f}.sector-item.sector-military_zone{border-left-color:#4fa}@media (max-width: 768px){.perspective-picker.executive{bottom:calc(var(--ticker-height) + 12px);right:10px}.perspective-panel,.sector-picker-modal{width:calc(100vw - 40px);right:-10px}.sector-picker-modal{max-height:360px}}.photo-mode.executive{position:fixed;bottom:calc(var(--ticker-height) + 16px);right:20px;background:#000000bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,255,136,.25);border-radius:8px;padding:8px 12px;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:9000;min-width:120px;box-shadow:0 4px 16px #0000004d;pointer-events:auto}.photo-mode.executive:hover{background:#000000d9;border-color:#00ff8873;box-shadow:0 6px 24px #00ff8826}.photo-toggle{display:flex;align-items:center;gap:8px;background:transparent;border:none;color:#ffffffe6;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;font-weight:500;cursor:pointer;padding:0;letter-spacing:.5px;transition:all .3s ease;width:100%}.photo-toggle:hover{color:#0f8}.photo-icon{display:flex;align-items:center;justify-content:center;color:#0f8;transition:transform .3s ease}.photo-toggle:hover .photo-icon{transform:scale(1.1)}.photo-label{text-transform:uppercase;flex:1}.countdown-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.countdown-number{font-family:JetBrains Mono,monospace;font-size:120px;font-weight:700;color:#0f8;text-shadow:0 0 40px rgba(0,255,136,.8);animation:countdownPulse 1s ease}@keyframes countdownPulse{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:.8}}.photo-flash{position:fixed;inset:0;background:#fff;z-index:10000;animation:flash .3s ease;pointer-events:none}@keyframes flash{0%{opacity:0}50%{opacity:.8}to{opacity:0}}.recording-status{display:flex;align-items:center;gap:16px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,255,136,.15)}.recording-indicator{display:flex;align-items:center;gap:8px}.recording-dot{width:8px;height:8px;border-radius:50%;background:#f44;animation:recordingPulse 1.5s infinite}@keyframes recordingPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.recording-time{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;color:#f44;letter-spacing:.5px}.recording-size{font-family:JetBrains Mono,monospace;font-size:11px;color:#fff9}.photo-panel{position:absolute;bottom:100%;right:0;margin-bottom:12px;background:#0a0a0ff2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,255,136,.3);border-radius:8px;padding:16px;min-width:300px;box-shadow:0 8px 32px #00000080;animation:slideUp .3s cubic-bezier(.4,0,.2,1);pointer-events:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.photo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(0,255,136,.15)}.photo-title{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:1.2px}.photo-shortcut{font-family:JetBrains Mono,monospace;font-size:10px;color:#0f8;background:#00ff881a;border:1px solid rgba(0,255,136,.3);border-radius:4px;padding:2px 6px;font-weight:600}.photo-mode-selector{display:flex;gap:8px;margin-bottom:16px}.mode-selector-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;background:#14141e80;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:10px;cursor:pointer;transition:all .3s ease;color:#ffffffb3;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500}.mode-selector-btn:hover{background:#1e1e28b3;border-color:#0f86;color:#ffffffe6}.mode-selector-btn.active{background:#00ff881f;border-color:#0f89;color:#0f8;box-shadow:0 0 12px #0f83}.photo-options{display:flex;flex-direction:column;gap:12px}.option-group{display:flex;flex-direction:column;gap:6px}.option-label{font-family:Inter,sans-serif;font-size:11px;color:#fff9;text-transform:uppercase;letter-spacing:.8px;font-weight:500}.option-select{background:#14141eb3;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:8px 12px;color:#ffffffe6;font-family:JetBrains Mono,monospace;font-size:12px;cursor:pointer;transition:all .3s ease}.option-select:hover{border-color:#0f86;background:#1e1e28b3}.option-select:focus{outline:none;border-color:#0f89;box-shadow:0 0 8px #0f83}.action-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:#14141eb3;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:12px 16px;color:#ffffffe6;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease;letter-spacing:.3px}.action-btn:hover{background:#1e1e28cc;border-color:#00ff8880;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.action-btn.primary{background:#00ff881f;border-color:#0f86;color:#0f8}.action-btn.primary:hover{background:#0f83;border-color:#0f89;box-shadow:0 4px 16px #0f83}.action-btn.secondary{font-size:11px;padding:8px 12px}.info-text{font-family:Inter,sans-serif;font-size:11px;color:#ffffff80;text-align:center;padding:8px;background:#00ff880d;border-radius:4px;border:1px solid rgba(0,255,136,.1)}.recording-controls{position:absolute;bottom:100%;right:0;margin-bottom:12px;background:#0a0a0ff2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,255,136,.3);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:200px;box-shadow:0 8px 32px #00000080;animation:slideUp .3s cubic-bezier(.4,0,.2,1);pointer-events:auto}.recording-control-btn{background:#14141eb3;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:10px 12px;color:#ffffffe6;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:center}.recording-control-btn:hover{background:#1e1e28cc;border-color:#00ff8880;transform:translateY(-1px)}.recording-control-btn.stop{background:#ff44441f;border-color:#f446;color:#f44}.recording-control-btn.stop:hover{background:#f443;border-color:#f449;box-shadow:0 4px 16px #f443}@media (max-width: 768px){.photo-mode.executive{bottom:calc(var(--ticker-height) + 12px);right:10px}.photo-panel,.recording-controls{width:calc(100vw - 40px);right:-10px}.countdown-number{font-size:80px}}:root{--viewport-width: 100vw;--viewport-height: 100vh;--pixel-ratio: 1;--base-font-size: clamp(12px, .8vw, 18px);--font-xs: clamp(9px, .6vw, 14px);--font-sm: clamp(10px, .65vw, 15px);--font-md: clamp(11px, .7vw, 16px);--font-lg: clamp(13px, .85vw, 20px);--font-xl: clamp(14px, .9vw, 22px);--font-2xl: clamp(18px, 1.2vw, 32px);--font-3xl: clamp(22px, 1.5vw, 42px);--spacing-xs: clamp(4px, .3vw, 8px);--spacing-sm: clamp(8px, .5vw, 16px);--spacing-md: clamp(12px, .8vw, 24px);--spacing-lg: clamp(16px, 1vw, 32px);--spacing-xl: clamp(20px, 1.3vw, 40px);--spacing-2xl: clamp(24px, 1.6vw, 48px);--panel-width: clamp(300px, 25vw, 500px);--panel-max-height: calc(100vh - clamp(140px, 10vh, 200px)) ;--hud-height: clamp(60px, 5vh, 100px);--ticker-height: clamp(40px, 3.5vh, 70px);--border-radius-sm: clamp(4px, .3vw, 8px);--border-radius-md: clamp(8px, .5vw, 16px);--border-radius-lg: clamp(12px, .8vw, 24px);--shadow-sm: 0 clamp(2px, .15vw, 4px) clamp(8px, .5vw, 16px) rgba(0, 0, 0, .3);--shadow-md: 0 clamp(4px, .3vw, 8px) clamp(16px, 1vw, 32px) rgba(0, 0, 0, .4);--shadow-lg: 0 clamp(8px, .5vw, 16px) clamp(32px, 2vw, 64px) rgba(0, 0, 0, .5);--icon-size-sm: clamp(12px, .8vw, 20px);--icon-size-md: clamp(16px, 1vw, 28px);--icon-size-lg: clamp(24px, 1.5vw, 40px);--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.8;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .05em;--tracking-wider: .1em}@media (max-width: 1365px){:root{--scale-factor: .85;--base-font-size: clamp(10px, .7vw, 13px);--panel-width: clamp(260px, 28vw, 320px);--hud-height: clamp(50px, 4.5vh, 80px);--ticker-height: clamp(35px, 3vh, 60px);--font-2xl: clamp(16px, 1.1vw, 28px);--font-3xl: clamp(20px, 1.4vw, 36px);--spacing-lg: clamp(14px, .9vw, 28px)}}@media (min-width: 1366px) and (max-width: 1600px){:root{--scale-factor: .9;--base-font-size: clamp(11px, .75vw, 14px);--panel-width: clamp(280px, 22vw, 360px)}}@media (min-width: 1601px) and (max-width: 1920px){:root{--scale-factor: 1;--base-font-size: clamp(12px, .8vw, 16px);--panel-width: clamp(320px, 24vw, 400px)}}@media (min-width: 1921px) and (max-width: 2560px){:root{--scale-factor: 1.2;--base-font-size: clamp(13px, .85vw, 18px);--panel-width: clamp(360px, 25vw, 480px);--font-2xl: clamp(20px, 1.3vw, 36px)}}@media (min-width: 2561px) and (max-width: 3840px){:root{--scale-factor: 1.5;--base-font-size: clamp(14px, .9vw, 20px);--panel-width: clamp(400px, 26vw, 550px);--font-2xl: clamp(22px, 1.4vw, 40px);--spacing-lg: clamp(20px, 1.2vw, 40px)}}@media (min-width: 3841px) and (max-width: 5120px){:root{--scale-factor: 1.8;--base-font-size: clamp(16px, 1vw, 24px);--panel-width: clamp(450px, 27vw, 600px);--font-2xl: clamp(26px, 1.6vw, 48px);--font-3xl: clamp(32px, 2vw, 56px)}}@media (min-width: 5121px){:root{--scale-factor: 2.2;--base-font-size: clamp(18px, 1.2vw, 32px);--panel-width: clamp(500px, 28vw, 700px);--font-2xl: clamp(30px, 1.8vw, 64px);--font-3xl: clamp(38px, 2.4vw, 88px);--ticker-height: clamp(50px, 4vh, 100px);--spacing-xl: clamp(28px, 1.8vw, 56px)}}@media (min-aspect-ratio: 21/9){:root{--panel-width: clamp(350px, 20vw, 500px)}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){:root{--pixel-ratio: 2}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}}@media (-webkit-min-device-pixel-ratio: 3),(min-resolution: 288dpi){:root{--pixel-ratio: 3}}@media (pointer: coarse){.hud-btn,.filter-chip,.campaign-card,.node-item,.event-item,.close-btn,.back-btn,.timeline-btn,.view-btn{min-height:44px;min-width:44px}.hud-btn{padding:12px 20px}.filter-chip{padding:10px 14px}:root{--font-xs: clamp(10px, .65vw, 15px);--font-sm: clamp(11px, .7vw, 16px);--font-md: clamp(12px, .75vw, 17px)}.hud-btn:hover,.filter-chip:hover,.campaign-card:hover,.node-item:hover{transform:none}.hud-btn:active,.filter-chip:active,.timeline-btn:active,.view-btn:active{transform:scale(.98);opacity:.9}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-gallery-mode=true]{pointer-events:auto!important}:root{--motion-safe: 0}.fadeIn,.slideUp,.slideInLeft{animation:none!important;opacity:1!important;transform:none!important}}.responsive-container{width:100%;max-width:var(--viewport-width);margin:0 auto;padding:var(--spacing-md)}.text-fluid-xs{font-size:var(--font-xs)}.text-fluid-sm{font-size:var(--font-sm)}.text-fluid-md{font-size:var(--font-md)}.text-fluid-lg{font-size:var(--font-lg)}.text-fluid-xl{font-size:var(--font-xl)}.text-fluid-2xl{font-size:var(--font-2xl)}.text-fluid-3xl{font-size:var(--font-3xl)}.gap-fluid-sm{gap:var(--spacing-sm)}.gap-fluid-md{gap:var(--spacing-md)}.gap-fluid-lg{gap:var(--spacing-lg)}.gap-fluid-xl{gap:var(--spacing-xl)}.padding-fluid-sm{padding:var(--spacing-sm)}.padding-fluid-md{padding:var(--spacing-md)}.padding-fluid-lg{padding:var(--spacing-lg)}@media (min-width: 3840px){.gpu-accelerated{transform:translateZ(0);will-change:transform}}@media print{:root{--base-font-size: 12pt;--font-sm: 10pt;--font-md: 11pt;--font-lg: 14pt;--font-xl: 16pt}.no-print{display:none!important}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--base-font-size, 13px)}.app{position:relative;width:100vw;height:100vh;background:radial-gradient(ellipse at top,#0a0f1f,#000);color:#cde;overflow:hidden}canvas{display:block}.hud{position:absolute;top:0;left:0;right:0;z-index:10;background:linear-gradient(to bottom,#050a14d9,#050a1400);padding:var(--spacing-md) var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;backdrop-filter:blur(10px);border-bottom:1px solid rgba(100,150,255,.2)}.hud-title h1{font-size:var(--font-2xl);font-weight:700;color:#8cb4ff;letter-spacing:var(--tracking-normal);margin:0;text-shadow:0 0 20px rgba(140,180,255,.5)}.hud-subtitle{font-size:var(--font-xs);color:#6a9;text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-left:var(--spacing-sm);opacity:.8}.hud-license{display:flex;align-items:center;gap:var(--spacing-sm)}.license-badge{background:#64c86433;border:1px solid #6a9;color:#6a9;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-md);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-normal)}.license-hash{font-family:ui-monospace,monospace;font-size:var(--font-md);color:#888}.side-panel{position:absolute;top:var(--hud-height);right:var(--spacing-lg);width:var(--panel-width);max-height:var(--panel-max-height);background:#0a1020bf;backdrop-filter:blur(12px);border:1px solid rgba(100,150,255,.25);border-radius:var(--border-radius-md);overflow:hidden;z-index:20;box-shadow:var(--shadow-md)}.panel-tabs{display:flex;border-bottom:1px solid rgba(100,150,255,.25);background:#050a1480}.panel-tab{flex:1;background:transparent;border:none;color:#89b;padding:var(--spacing-sm);font-size:var(--font-md);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide);cursor:pointer;transition:all .3s ease;border-bottom:2px solid transparent}.panel-tab:hover{background:#6496ff1a;color:#abd}.panel-tab.active{color:#8cb4ff;border-bottom-color:#8cb4ff;background:#6496ff26}.panel-content{max-height:calc(100vh - 240px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(100,150,255,.3) rgba(10,16,32,.5)}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:#0a102080}.panel-content::-webkit-scrollbar-thumb{background:#6496ff4d;border-radius:3px}.event-feed{padding:var(--spacing-md)}.feed-header{font-size:var(--font-lg);font-weight:700;color:#8cb4ff;margin-bottom:var(--spacing-md);display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.feed-count{font-size:var(--font-xs);color:#6a9;background:#64c86426;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm)}.feed-empty{text-align:center;color:#667;padding:var(--spacing-2xl) var(--spacing-lg);font-size:var(--font-lg)}.event-item{background:#141e3280;border:1px solid rgba(100,150,255,.2);border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);display:flex;gap:var(--spacing-sm);align-items:center;transition:all .3s ease;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.event-item:hover{background:#1e2d46b3;border-color:#8cb4ff66;transform:translate(-2px)}.event-time{font-family:ui-monospace,monospace;font-size:var(--font-xs);color:#667;min-width:clamp(50px,4vw,80px)}.event-details{flex:1}.event-actor{font-size:var(--font-md);font-weight:600;color:#8cb4ff;margin-bottom:var(--spacing-xs)}.event-route{font-size:var(--font-sm);color:#abc;margin-bottom:var(--spacing-xs)}.event-src,.event-dst{font-weight:500}.event-arrow{margin:0 var(--spacing-xs);color:#667}.event-type{font-size:var(--font-xs);color:#889}.event-severity{font-size:var(--font-sm);font-weight:700;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);min-width:clamp(45px,3.5vw,70px);text-align:center}.tension-dashboard{padding:var(--spacing-md)}.dashboard-header{font-size:var(--font-lg);font-weight:700;color:#8cb4ff;margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.dashboard-summary{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm);font-size:var(--font-xs)}.summary-critical{background:#ff323233;color:#f88;padding:3px 8px;border-radius:4px;border:1px solid rgba(255,50,50,.3)}.summary-elevated{background:#ff8c0033;color:#fb8;padding:3px 8px;border-radius:4px;border:1px solid rgba(255,140,0,.3)}.dashboard-loading{text-align:center;color:#667;padding:40px 20px;font-size:13px}.tension-zone{background:#141e3280;border:1px solid rgba(100,150,255,.2);border-radius:8px;padding:12px;margin-bottom:12px;transition:all .3s ease}.tension-zone:hover{background:#1e2d46b3;border-color:#8cb4ff66}.zone-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.zone-name{font-size:13px;font-weight:600;color:#abd}.zone-trend{font-size:16px}.zone-bar-container{height:8px;background:#323c5080;border-radius:4px;overflow:hidden;margin-bottom:8px}.zone-bar{height:100%;background:linear-gradient(to right,#6a9,#fb8,#f66);border-radius:4px;transition:width .5s ease}.tension-surge .zone-bar{background:linear-gradient(to right,#f66,#f33);box-shadow:0 0 10px #ff646480}.tension-flare .zone-bar{background:linear-gradient(to right,#fb8,#f88)}.tension-warn .zone-bar{background:linear-gradient(to right,#8d8,#fb8)}.zone-details{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#889}.zone-index{font-weight:600;color:#abd}.zone-actors{margin-top:8px;font-size:10px;color:#778;font-style:italic}.apt-gallery{padding:var(--spacing-md)}.gallery-header{font-size:var(--font-lg);font-weight:700;color:#8cb4ff;margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.gallery-loading{text-align:center;color:#667;padding:var(--spacing-2xl) var(--spacing-lg);font-size:var(--font-lg)}.gallery-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.apt-card{background:#141e3280;border:1px solid rgba(100,150,255,.2);border-radius:var(--border-radius-sm);padding:var(--spacing-md);cursor:pointer;transition:all .3s ease}.apt-card:hover{background:#1e2d46b3;border-color:#8cb4ff66;transform:translate(-2px)}.apt-card.selected{background:#283c64b3;border-color:#8cb4ff99}.apt-card.highlighted{animation:pulseHighlight 1.5s ease-in-out;box-shadow:0 0 20px #ff888880}@keyframes pulseHighlight{0%,to{box-shadow:0 0 10px #ff88884d;border-color:#f886}50%{box-shadow:0 0 30px #ff8888b3;border-color:#f88c}}.apt-name{font-size:var(--font-xl);font-weight:700;color:#f88;margin-bottom:var(--spacing-xs)}.apt-origin{font-size:var(--font-sm);color:#889;margin-bottom:var(--spacing-sm)}.apt-details{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(100,150,255,.2);animation:expandDown .3s ease-out}@keyframes expandDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.apt-aliases{font-size:11px;color:#8cb4ff;margin-bottom:8px}.apt-synopsis{font-size:12px;color:#abc;line-height:1.5;margin-bottom:10px}.apt-capabilities{font-size:11px;color:#9ac;margin-bottom:8px}.apt-capabilities ul{margin-top:6px;margin-left:16px}.apt-capabilities li{margin-bottom:4px;color:#abc}.apt-sectors{font-size:11px;color:#889}.ticker{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-sm) var(--spacing-lg);background:linear-gradient(to top,#0a1020e6,#0a102080);backdrop-filter:blur(10px);font-family:ui-monospace,SF Mono,Cascadia Code,monospace;border-top:1px solid rgba(100,150,255,.3);z-index:10;display:flex;align-items:center;gap:var(--spacing-sm);height:var(--ticker-height)}.ticker-label{font-size:var(--font-xs);font-weight:700;color:#f88;text-transform:uppercase;letter-spacing:var(--tracking-wide);background:#ff505026;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);border:1px solid rgba(255,80,80,.3)}.ticker-text{font-size:var(--font-lg);color:#abd;flex:1;transition:opacity .3s ease}.ticker-text.fade-out{opacity:0}.ticker-text.fade-in{opacity:1}.login-page{position:absolute;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(ellipse at center,#0a0f1f,#000);display:flex;align-items:center;justify-content:center;overflow:hidden}.login-background{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.3}.grid-overlay{width:100%;height:100%;background-image:linear-gradient(rgba(100,150,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(100,150,255,.1) 1px,transparent 1px);background-size:50px 50px;animation:gridScroll 20s linear infinite}@keyframes gridScroll{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.login-container{position:relative;z-index:1;background:#0a1020e6;backdrop-filter:blur(20px);border:1px solid rgba(100,150,255,.3);border-radius:var(--border-radius-md);padding:var(--spacing-2xl);width:90%;max-width:450px;box-shadow:var(--shadow-lg)}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-header h1{font-size:var(--font-3xl);font-weight:700;color:#8cb4ff;margin-bottom:var(--spacing-sm);text-shadow:0 0 20px rgba(140,180,255,.5)}.login-subtitle{font-size:var(--font-xs);color:#6a9;text-transform:uppercase;letter-spacing:var(--tracking-wider)}.login-form,.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;font-size:var(--font-sm);color:#abd;margin-bottom:var(--spacing-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.form-group input{width:100%;background:#141e3299;border:1px solid rgba(100,150,255,.3);border-radius:var(--border-radius-sm);padding:var(--spacing-md);font-size:var(--font-md);color:#cde;font-family:inherit;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#8cb4ff;background:#1e2d46cc;box-shadow:0 0 10px #8cb4ff4d}.form-group input:disabled{opacity:.5;cursor:not-allowed}.password-hint{font-size:var(--font-xs);color:#889;margin-top:var(--spacing-xs);font-style:italic}.login-error{background:#ff323233;border:1px solid rgba(255,50,50,.4);border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);color:#f88;font-size:var(--font-sm);display:flex;align-items:center;gap:var(--spacing-sm)}.error-icon{font-size:var(--font-lg)}.login-button{width:100%;background:linear-gradient(135deg,#6495ed,#4169e1);border:none;border-radius:var(--border-radius-sm);padding:var(--spacing-md);font-size:var(--font-lg);font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:var(--tracking-wide);cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #6495ed4d}.login-button:hover:not(:disabled){background:linear-gradient(135deg,#4169e1,#1e4d9c);box-shadow:0 6px 20px #6495ed80;transform:translateY(-2px)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:var(--spacing-xl);text-align:center;font-size:var(--font-xs);color:#889}.security-notice{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);color:#6a9}.lock-icon{font-size:var(--font-md)}.version-info{opacity:.7}.admin-panel{padding:var(--spacing-md);color:#cde}.admin-header{margin-bottom:var(--spacing-xl)}.admin-header h2{font-size:var(--font-2xl);font-weight:700;color:#8cb4ff;margin-bottom:var(--spacing-xs)}.admin-subtitle{font-size:var(--font-sm);color:#889}.admin-section{background:#141e3280;border:1px solid rgba(100,150,255,.2);border-radius:var(--border-radius-sm);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.admin-section h3{font-size:var(--font-lg);font-weight:600;color:#abd;margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.guest-form{margin-top:var(--spacing-md)}.form-row{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.guest-input{flex:1;background:#141e3299;border:1px solid rgba(100,150,255,.3);border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-md);color:#cde;font-family:inherit}.guest-input:focus{outline:none;border-color:#8cb4ff;background:#1e2d46cc}.form-hint{font-size:var(--font-xs);color:#889;font-style:italic}.create-btn{background:#6a9;border:none;border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-md);font-weight:600;color:#fff;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:var(--tracking-normal)}.create-btn:hover{background:#5a8;box-shadow:0 4px 12px #6a96}.password-display{background:#64c8641a;border:1px solid #6a9;border-radius:var(--border-radius-sm);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.password-header{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-lg);font-weight:700;color:#6a9;margin-bottom:var(--spacing-md)}.success-icon{font-size:var(--font-xl)}.password-details,.password-field{margin-bottom:var(--spacing-md)}.password-field label{font-size:var(--font-xs);color:#889;text-transform:uppercase;letter-spacing:var(--tracking-wide);display:block;margin-bottom:var(--spacing-xs)}.password-value{font-size:var(--font-md);color:#abd;font-weight:600}.password-copy-row{display:flex;align-items:center;gap:var(--spacing-sm)}.password-value code{background:#141e32cc;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-family:ui-monospace,monospace;color:#6a9;font-size:var(--font-sm)}.copy-btn{background:#6496ff33;border:1px solid rgba(100,150,255,.4);border-radius:var(--border-radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-sm);color:#8cb4ff;cursor:pointer;transition:all .3s ease}.copy-btn:hover{background:#6496ff4d;border-color:#8cb4ff}.password-warning{background:#ff8c0033;border:1px solid rgba(255,140,0,.4);border-radius:var(--border-radius-sm);padding:var(--spacing-sm);font-size:var(--font-sm);color:#fb8;text-align:center}.admin-success{background:#64c86433;border:1px solid #6a9;border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);color:#6a9;font-size:var(--font-sm);display:flex;align-items:center;gap:var(--spacing-sm)}.admin-error{background:#ff323233;border:1px solid rgba(255,50,50,.4);border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);color:#f88;font-size:var(--font-sm);display:flex;align-items:center;gap:var(--spacing-sm)}.loading-state,.empty-state{text-align:center;color:#889;padding:var(--spacing-xl);font-size:var(--font-md)}.guest-list{overflow-x:auto}.guest-table{width:100%;border-collapse:collapse;font-size:var(--font-sm)}.guest-table thead{background:#6496ff1a}.guest-table th{padding:var(--spacing-sm);text-align:left;font-weight:600;color:#8cb4ff;text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--font-xs);border-bottom:2px solid rgba(100,150,255,.3)}.guest-table td{padding:var(--spacing-sm);color:#abd;border-bottom:1px solid rgba(100,150,255,.1)}.guest-table tr.expired{opacity:.5}.guest-table tr:hover:not(.expired){background:#6496ff0d}.guest-username{font-weight:600;color:#8cb4ff}.days-badge{background:#64c86433;color:#6a9;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-xs);font-weight:600}.days-badge.urgent{background:#ff8c0033;color:#fb8}.status-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-xs);font-weight:600;text-transform:uppercase}.status-badge.active{background:#64c86433;color:#6a9;border:1px solid rgba(100,200,100,.4)}.status-badge.expired{background:#96969633;color:#999;border:1px solid rgba(150,150,150,.4)}.delete-btn{background:#ff323233;border:1px solid rgba(255,50,50,.4);border-radius:var(--border-radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-sm);color:#f88;cursor:pointer;transition:all .3s ease}.delete-btn:hover{background:#ff32324d;border-color:#f88}.admin-info{background:#6496ff0d;border:1px solid rgba(100,150,255,.2);border-radius:var(--border-radius-sm);padding:var(--spacing-md);font-size:var(--font-xs);color:#889}.info-item{margin-bottom:var(--spacing-xs)}.info-item strong{color:#8cb4ff}.logout-btn{background:#ff323233!important;border:1px solid rgba(255,50,50,.4)!important;padding:var(--spacing-xs) var(--spacing-sm)!important;margin-left:var(--spacing-sm)}.logout-btn:hover{background:#ff32324d!important;border-color:#f88!important}.node-detail-panel{position:absolute;top:20px;left:50%;transform:translate(-50%);background:#0a1020fa;border:2px solid rgba(100,150,255,.4);border-radius:var(--border-radius-md);padding:0;width:90%;max-width:90%;z-index:100;box-shadow:0 10px 40px #000c;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.node-detail-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid rgba(100,150,255,.3);background:#6496ff1a}.node-detail-header span{font-size:var(--font-md);font-weight:600;color:#8cb4ff;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.node-detail-header .close-btn{background:#ff323233;border:1px solid rgba(255,50,50,.4);border-radius:var(--border-radius-sm);color:#f88;font-size:24px;line-height:1;width:32px;height:32px;cursor:pointer;transition:all .3s ease}.node-detail-header .close-btn:hover{background:#ff32324d;border-color:#f88}.node-detail-content{padding:var(--spacing-md)}.detail-row{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;border-bottom:1px solid rgba(100,150,255,.1)}.detail-row:last-child{border-bottom:none}.detail-label{font-size:var(--font-sm);color:#89b;font-weight:600}.detail-value{font-size:var(--font-sm);color:#cde;font-family:Courier New,monospace}.detail-value.actor-badge{background:#6496ff33;padding:2px 8px;border-radius:var(--border-radius-sm);color:#8cb4ff;font-weight:600}.infrastructure-graph{position:relative}.admin-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000d9;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease}.admin-modal-container{position:relative;background:#0a1020fa;border:2px solid rgba(100,150,255,.4);border-radius:var(--border-radius-lg);max-width:900px;max-height:90vh;width:90%;overflow-y:auto;box-shadow:0 20px 60px #000c;animation:slideUp .3s ease}.modal-close-btn{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:#ff323233;border:1px solid rgba(255,50,50,.4);color:#f88;font-size:28px;line-height:1;width:40px;height:40px;border-radius:var(--border-radius-sm);cursor:pointer;transition:all .3s ease;z-index:10}.modal-close-btn:hover{background:#ff32324d;border-color:#f88;transform:scale(1.1)}.search-bar-wrapper{position:absolute;top:80px;left:50%;transform:translate(-50%);width:calc(100% - 40px);max-width:600px;z-index:15;padding:0 var(--spacing-lg)}@media (max-width: 768px){.search-bar-wrapper{top:70px;max-width:100%;padding:0 var(--spacing-md)}}.gallery-toggle{cursor:pointer;transition:all .3s ease;position:relative}.gallery-toggle:hover{color:#a0c8ff;text-shadow:0 0 30px rgba(160,200,255,.8),0 0 40px rgba(160,200,255,.4);transform:scale(1.02)}.gallery-mode,.gallery-mode *{cursor:none!important}.gallery-mode .hud,.gallery-mode .side-panel,.gallery-mode .audio-controls,.gallery-mode .perspective-picker,.gallery-mode .photo-mode,.gallery-mode .performance-overlay,.gallery-mode .ticker,.gallery-mode canvas{pointer-events:none}.gallery-mode .gallery-toggle{pointer-events:auto;cursor:pointer!important}.gallery-mode [title]:not(.gallery-toggle){pointer-events:none}.gallery-mode [title]:not(.gallery-toggle):before,.gallery-mode [title]:not(.gallery-toggle):after{display:none!important}.hud,.hud-controls,.hud-license,.side-panel,.audio-controls,.perspective-picker,.photo-mode,.performance-overlay{transition:opacity .5s ease-out,visibility .5s ease-out}.gallery-mode .hud-subtitle{opacity:0;transition:opacity .5s ease-out}.gallery-mode .gallery-toggle{opacity:0;transition:opacity .3s ease-out}.gallery-mode .hud{border-bottom-color:transparent;transition:border-bottom-color .3s ease-out}.hud-controls{display:flex;gap:12px;align-items:center}.hud-btn{background:#8cb4ff26;border:1px solid rgba(140,180,255,.3);color:#abd;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.hud-btn:hover{background:#8cb4ff40;border-color:#8cb4ff80;color:#8cb4ff}.hud-btn.active{background:#8cb4ff59;border-color:#8cb4ff;color:#8cb4ff}.event-campaign{font-size:10px;color:#6a9;margin-top:4px;font-weight:500}.event-item{cursor:pointer}.event-item:active{transform:translate(-4px)}.event-detail-overlay{position:fixed;inset:0;background:#000000d9;backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.event-detail-panel{background:linear-gradient(135deg,#0f192df2,#0a0f1ef2);border:1px solid rgba(140,180,255,.4);border-radius:16px;width:90%;max-width:900px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #000000b3;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.detail-header{padding:20px 24px;background:#141e3299;border-bottom:1px solid rgba(140,180,255,.3);display:flex;justify-content:space-between;align-items:center}.detail-title h2{font-size:20px;color:#8cb4ff;margin:0;font-weight:700}.event-id{font-size:11px;color:#667;font-family:ui-monospace,monospace;margin-left:12px}.close-btn{background:#ff505033;border:1px solid rgba(255,80,80,.3);color:#f88;font-size:24px;width:32px;height:32px;border-radius:6px;cursor:pointer;transition:all .3s ease;line-height:1}.close-btn:hover{background:#ff50504d;transform:scale(1.1)}.detail-content{padding:24px;max-height:calc(90vh - 180px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(140,180,255,.3) transparent}.detail-content::-webkit-scrollbar{width:6px}.detail-content::-webkit-scrollbar-thumb{background:#8cb4ff4d;border-radius:3px}.detail-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(100,150,255,.15)}.detail-section:last-child{border-bottom:none}.detail-section h3{font-size:14px;color:#8cb4ff;margin:0 0 16px;text-transform:uppercase;letter-spacing:1px;font-weight:700}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item label{display:block;font-size:11px;color:#889;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.actor-badge{background:#ff646426;border:1px solid rgba(255,100,100,.3);color:#f88;padding:8px 12px;border-radius:6px;font-weight:600;font-size:13px}.aliases{font-size:11px;color:#fb8;font-weight:400;margin-left:8px}.confidence-bar{position:relative;height:24px;background:#323c5080;border-radius:4px;overflow:hidden}.confidence-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(to right,#6a9,#8cb4ff);border-radius:4px;transition:width .5s ease}.confidence-bar span{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.attack-type{background:#8cb4ff26;border:1px solid rgba(140,180,255,.3);color:#8cb4ff;padding:8px 12px;border-radius:6px;font-weight:600;font-size:13px}.severity-badge{padding:8px 12px;border-radius:6px;font-weight:700;font-size:13px;text-align:center}.severity-critical{background:#ff323233;color:#f88;border:1px solid rgba(255,50,50,.4)}.severity-high{background:#ff8c0033;color:#fb8;border:1px solid rgba(255,140,0,.4)}.severity-medium{background:#ffc80033;color:#fc8;border:1px solid rgba(255,200,0,.4)}.severity-low{background:#64c86433;color:#8d8;border:1px solid rgba(100,200,100,.4)}.network-flow{display:flex;align-items:center;gap:20px;justify-content:space-between}.network-node{flex:1;background:#141e3299;border:1px solid rgba(100,150,255,.25);padding:16px;border-radius:8px}.network-node.source{border-color:#ff8c004d}.network-node.destination{border-color:#64c8644d}.node-label{font-size:10px;text-transform:uppercase;color:#889;margin-bottom:8px;letter-spacing:.5px}.node-country{font-size:16px;font-weight:700;color:#abd;margin-bottom:6px}.node-ip{font-family:ui-monospace,monospace;font-size:13px;color:#8cb4ff;margin-bottom:8px}.node-meta{font-size:11px;color:#778;line-height:1.6}.network-arrow{font-size:24px;color:#667}.mitre-mapping{display:grid;gap:16px}.mitre-tactic label,.mitre-techniques label{display:block;font-size:11px;color:#889;text-transform:uppercase;margin-bottom:8px}.mitre-badge{background:#8cb4ff26;border:1px solid rgba(140,180,255,.3);padding:10px 14px;border-radius:6px;display:inline-flex;align-items:center;gap:10px}.mitre-id{font-family:ui-monospace,monospace;font-size:12px;color:#8cb4ff;font-weight:700}.mitre-name{font-size:13px;color:#abd}.technique-list{display:flex;gap:8px;flex-wrap:wrap}.technique-badge{background:#6496c826;border:1px solid rgba(100,150,200,.3);color:#8cb4ff;padding:6px 10px;border-radius:4px;font-size:11px;font-family:ui-monospace,monospace;font-weight:600}.campaign-info{background:#64c8641a;border:1px solid rgba(100,200,100,.3);padding:12px 16px;border-radius:8px}.campaign-name{font-size:15px;color:#6a9;font-weight:700;margin-bottom:6px}.campaign-confidence{font-size:12px;color:#8d8}.technical-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.tech-item{display:flex;flex-direction:column;gap:4px}.tech-item label{font-size:10px;color:#889;text-transform:uppercase}.tech-item span{font-size:13px;color:#abd;font-weight:500}.c2-badge{background:#ff646426;border:1px solid rgba(255,100,100,.3);color:#f88;padding:4px 8px;border-radius:4px;font-size:11px;font-family:ui-monospace,monospace;display:inline-block}.narrative-text{background:#8cb4ff14;border-left:3px solid #8cb4ff;padding:12px 16px;border-radius:4px;font-size:13px;line-height:1.6;color:#abd;font-style:italic}.detail-footer{padding:16px 24px;background:#141e3299;border-top:1px solid rgba(140,180,255,.3);display:flex;gap:12px;justify-content:flex-end}.export-btn,.pivot-btn,.close-btn-footer{padding:10px 20px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.export-btn{background:#64c86426;border:1px solid rgba(100,200,100,.3);color:#8d8}.export-btn:hover{background:#64c86440}.pivot-btn{background:#8cb4ff26;border:1px solid rgba(140,180,255,.3);color:#8cb4ff}.pivot-btn:hover{background:#8cb4ff40}.close-btn-footer{background:#64646426;border:1px solid rgba(100,100,100,.3);color:#aaa}.close-btn-footer:hover{background:#64646440}.filters-panel{position:absolute;top:80px;left:20px;width:320px;max-height:calc(100vh - 180px);background:#0a1020e6;backdrop-filter:blur(12px);border:1px solid rgba(140,180,255,.3);border-radius:12px;overflow:hidden;z-index:30;box-shadow:0 8px 32px #0009;animation:slideInLeft .3s ease-out}@keyframes slideInLeft{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.advanced-filters{padding:16px;max-height:calc(100vh - 200px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(140,180,255,.3) transparent}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.filter-header h3{font-size:14px;color:#8cb4ff;margin:0;text-transform:uppercase;letter-spacing:1px}.reset-btn{background:#ff646426;border:1px solid rgba(255,100,100,.3);color:#f88;padding:6px 12px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;transition:all .3s ease}.reset-btn:hover{background:#ff646440}.filter-group{margin-bottom:20px}.filter-label{display:block;font-size:11px;color:#8cb4ff;text-transform:uppercase;margin-bottom:10px;font-weight:600;letter-spacing:.5px}.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{background:#8cb4ff1a;border:1px solid rgba(140,180,255,.2);color:#abd;padding:6px 10px;border-radius:4px;font-size:11px;cursor:pointer;transition:all .3s ease}.filter-chip:hover{background:#8cb4ff33;border-color:#8cb4ff66}.filter-chip.active{background:#8cb4ff4d;border-color:#8cb4ff;color:#8cb4ff;font-weight:600}.severity-sliders{display:flex;flex-direction:column;gap:12px}.slider-container{display:flex;align-items:center;gap:10px}.slider-container label{font-size:11px;color:#889;min-width:30px}.severity-slider{flex:1;height:6px;border-radius:3px;outline:none;background:#6496c833;cursor:pointer}.severity-slider::-webkit-slider-thumb{width:14px;height:14px;border-radius:50%;background:#8cb4ff;cursor:pointer}.severity-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#8cb4ff;cursor:pointer;border:none}.time-range-select{width:100%;background:#141e3299;border:1px solid rgba(140,180,255,.3);color:#abd;padding:8px 12px;border-radius:6px;font-size:13px;cursor:pointer}.filter-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;color:#abd;font-size:13px}.filter-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.filter-summary{margin-top:16px;padding-top:16px;border-top:1px solid rgba(140,180,255,.2)}.active-filters{display:flex;gap:12px;font-size:11px;color:#6a9}.active-filters span{background:#64c86426;padding:4px 8px;border-radius:4px}.campaign-viewer{padding:16px}.campaign-header{font-size:13px;font-weight:700;color:#8cb4ff;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:1px}.campaign-count{font-size:10px;color:#6a9;background:#64c86426;padding:2px 8px;border-radius:10px}.back-btn{background:#8cb4ff26;border:1px solid rgba(140,180,255,.3);color:#8cb4ff;padding:8px 12px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .3s ease}.back-btn:hover{background:#8cb4ff40}.campaign-loading,.campaign-empty{text-align:center;color:#667;padding:40px 20px;font-size:13px}.campaign-list{display:flex;flex-direction:column;gap:12px}.campaign-card{background:#141e3280;border:1px solid rgba(140,180,255,.2);border-radius:8px;padding:14px;cursor:pointer;transition:all .3s ease}.campaign-card:hover{background:#1e2d46b3;border-color:#8cb4ff66;transform:translate(-2px)}.campaign-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.campaign-card-header h4{margin:0;font-size:14px;color:#abd;font-weight:700}.status-badge{padding:4px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.status-active{background:#64c86433;color:#6a9;border:1px solid rgba(100,200,100,.3)}.status-concluded{background:#64646433;color:#aaa;border:1px solid rgba(100,100,100,.3)}.campaign-actor{font-size:12px;color:#889;margin-bottom:8px}.campaign-actor strong{color:#f88;font-weight:600}.campaign-card-meta{display:flex;gap:12px;margin-bottom:10px;font-size:11px}.severity-indicator{padding:4px 8px;border-radius:4px;font-weight:600}.event-count{color:#889}.campaign-targets-preview{display:flex;flex-wrap:wrap;gap:6px}.sector-badge{background:#8cb4ff26;border:1px solid rgba(140,180,255,.25);color:#8cb4ff;padding:3px 8px;border-radius:4px;font-size:10px}.more-badge{background:#64646426;color:#aaa;padding:3px 8px;border-radius:4px;font-size:10px}.campaign-detail{padding:0}.campaign-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(140,180,255,.2)}.campaign-detail-header h2{margin:0;font-size:18px;color:#8cb4ff}.campaign-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.meta-item{background:#141e3280;padding:10px;border-radius:6px}.meta-item label{display:block;font-size:10px;color:#889;text-transform:uppercase;margin-bottom:6px}.meta-item span{font-size:14px;color:#abd;font-weight:600}.campaign-description{background:#8cb4ff14;border-left:3px solid #8cb4ff;padding:12px;border-radius:4px;font-size:13px;line-height:1.6;color:#abd;margin-bottom:16px}.campaign-targets,.campaign-objectives{margin-bottom:16px}.campaign-targets label,.campaign-objectives label{display:block;font-size:11px;color:#889;text-transform:uppercase;margin-bottom:8px}.target-chips,.objective-list{display:flex;flex-wrap:wrap;gap:6px}.target-chip{background:#8cb4ff26;border:1px solid rgba(140,180,255,.25);color:#8cb4ff;padding:6px 10px;border-radius:4px;font-size:11px}.objective-badge{background:#64c86426;border:1px solid rgba(100,200,100,.25);color:#8d8;padding:6px 10px;border-radius:4px;font-size:11px;text-transform:capitalize}.campaign-timeline{margin-top:20px;padding-top:20px;border-top:1px solid rgba(140,180,255,.2)}.campaign-timeline h3{font-size:13px;color:#8cb4ff;margin:0 0 16px}.timeline-item{display:flex;gap:16px;margin-bottom:12px;padding-bottom:12px;border-left:2px solid rgba(140,180,255,.3);padding-left:16px;position:relative}.timeline-item:before{content:"";position:absolute;left:-5px;top:6px;width:8px;height:8px;border-radius:50%;background:#8cb4ff}.timeline-date{font-size:11px;color:#889;font-family:ui-monospace,monospace;min-width:80px}.timeline-event{font-size:12px;color:#abd;flex:1}.campaign-events{margin-top:20px;padding-top:20px;border-top:1px solid rgba(140,180,255,.2)}.campaign-events h3{font-size:13px;color:#8cb4ff;margin:0 0 12px}.event-mini-list{display:flex;flex-direction:column;gap:6px}.event-mini-card{background:#141e3280;padding:8px 10px;border-radius:4px;display:flex;gap:12px;font-size:11px}.event-mini-card .event-time{color:#667;min-width:60px}.event-mini-card .event-target{color:#abd;flex:1}.event-mini-card .event-type{color:#889}.timeline-scrubber{position:fixed;bottom:60px;left:50%;transform:translate(-50%);width:80%;max-width:1200px;background:#0a0f19f2;border:1px solid rgba(140,180,255,.3);border-radius:8px;padding:16px 20px;backdrop-filter:blur(10px);box-shadow:0 8px 32px #00000080;z-index:900}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.timeline-title{font-family:Courier New,monospace;font-size:11px;font-weight:700;color:#8cb4ff;letter-spacing:1px}.timeline-stats{font-size:11px;color:#667}.timeline-controls{display:flex;align-items:center;gap:20px;margin-bottom:16px;flex-wrap:wrap}.playback-buttons{display:flex;gap:8px}.timeline-btn{background:#8cb4ff1a;border:1px solid rgba(140,180,255,.3);color:#8cb4ff;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease}.timeline-btn:hover{background:#8cb4ff33;border-color:#8cb4ff80}.timeline-btn.play-btn{background:#8cb4ff26;min-width:50px}.timeline-btn.play-btn.playing{background:#ff646433;border-color:#ff646466;color:#f88}.timeline-speed,.timeline-range{display:flex;align-items:center;gap:8px}.timeline-speed label,.timeline-range label{font-size:11px;color:#889;font-weight:600}.speed-buttons{display:flex;gap:4px}.speed-btn{background:#6478961a;border:1px solid rgba(140,180,255,.2);color:#889;padding:4px 10px;border-radius:3px;cursor:pointer;font-size:11px;transition:all .2s ease}.speed-btn:hover{background:#8cb4ff26;color:#8cb4ff}.speed-btn.active{background:#8cb4ff40;border-color:#8cb4ff80;color:#8cb4ff;font-weight:600}.range-select{background:#141e32cc;border:1px solid rgba(140,180,255,.3);color:#abd;padding:6px 10px;border-radius:4px;font-size:11px;cursor:pointer}.range-select:focus{outline:none;border-color:#8cb4ff80}.timeline-progress{position:relative}.timeline-time-labels{display:flex;justify-content:space-between;margin-bottom:8px;font-size:10px;color:#667}.time-current{color:#8cb4ff;font-weight:600}.progress-bar-container{position:relative;height:32px;background:#141e3299;border-radius:4px;overflow:hidden;border:1px solid rgba(140,180,255,.2)}.progress-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#8cb4ff33,#8cb4ff4d);pointer-events:none;transition:width .1s linear}.progress-slider{position:relative;width:100%;height:100%;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;z-index:10}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:32px;background:linear-gradient(135deg,#8cb4ff,#6a9aee);border:2px solid rgba(255,255,255,.3);border-radius:3px;cursor:pointer;box-shadow:0 2px 8px #00000080}.progress-slider::-moz-range-thumb{width:16px;height:32px;background:linear-gradient(135deg,#8cb4ff,#6a9aee);border:2px solid rgba(255,255,255,.3);border-radius:3px;cursor:pointer;box-shadow:0 2px 8px #00000080}.progress-markers{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.event-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:3px;height:20px;background:#ff966480;border-radius:1px}.event-marker:hover{background:#ff9664e6;height:24px}.infrastructure-graph{height:100%;display:flex;flex-direction:column;overflow:hidden}.infra-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(140,180,255,.2);background:#141e3280}.infra-title{font-family:Courier New,monospace;font-size:12px;font-weight:700;color:#8cb4ff;letter-spacing:1px}.infra-stats{font-size:11px;color:#667}.infra-loading,.infra-empty{display:flex;align-items:center;justify-content:center;height:200px;color:#667;font-size:12px}.infra-view-toggle{display:flex;gap:8px;padding:12px 16px;background:#0a0f1980;border-bottom:1px solid rgba(140,180,255,.15)}.view-btn{flex:1;background:#6478961a;border:1px solid rgba(140,180,255,.2);color:#889;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600;transition:all .2s ease}.view-btn:hover{background:#8cb4ff26;color:#8cb4ff}.view-btn.active{background:#8cb4ff40;border-color:#8cb4ff80;color:#8cb4ff}.network-canvas-container{flex:1;position:relative;background:#050a14cc;overflow:hidden}.network-canvas{width:100%;height:100%;cursor:crosshair}.network-legend{position:absolute;top:12px;right:12px;background:#0a0f19e6;border:1px solid rgba(140,180,255,.3);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:8px}.legend-item{display:flex;align-items:center;gap:8px;font-size:11px;color:#abd}.legend-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.3)}.infra-list{flex:1;overflow-y:auto;padding:12px 16px}.actor-group{margin-bottom:20px}.actor-group-header{font-weight:700;font-size:12px;color:#8cb4ff;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(140,180,255,.2)}.node-count{color:#667;font-weight:400;font-size:11px}.node-list{display:flex;flex-direction:column;gap:8px}.node-item{background:#141e3266;border:1px solid rgba(140,180,255,.15);border-radius:6px;padding:10px 12px;cursor:pointer;transition:all .2s ease}.node-item:hover{background:#141e3299;border-color:#8cb4ff4d;transform:translate(4px)}.node-ip{font-family:Courier New,monospace;font-size:13px;color:#abd;font-weight:600;margin-bottom:6px}.node-meta{display:flex;gap:12px;font-size:11px;margin-bottom:4px}.node-geo{color:#889}.node-events{color:#667}.node-status{font-weight:600}.node-times{display:flex;justify-content:space-between;font-size:10px;color:#556;margin-top:6px;padding-top:6px;border-top:1px solid rgba(100,120,150,.15)}.export-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1100;backdrop-filter:blur(4px);animation:fadeIn .2s ease}.export-menu{background:linear-gradient(135deg,#0f192dfa,#0a0f1efa);border:1px solid rgba(140,180,255,.3);border-radius:12px;width:90%;max-width:500px;box-shadow:0 12px 48px #0009;animation:slideUp .3s ease}.export-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(140,180,255,.2)}.export-header h3{margin:0;font-size:18px;font-weight:700;color:#8cb4ff;font-family:Courier New,monospace;letter-spacing:1px}.export-close{background:none;border:none;color:#889;font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.export-close:hover{background:#ff646433;color:#f88}.export-body{padding:24px}.export-section{margin-bottom:24px}.export-label{display:block;font-size:12px;font-weight:600;color:#abd;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.export-select{width:100%;background:#141e32cc;border:1px solid rgba(140,180,255,.3);color:#abd;padding:10px 12px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s ease}.export-select:hover{border-color:#8cb4ff80}.export-select:focus{outline:none;border-color:#8cb4ff99;box-shadow:0 0 0 3px #8cb4ff1a}.export-select optgroup{background:#0a0f19;color:#8cb4ff;font-weight:600}.export-select option{background:#141e32;color:#abd;padding:8px}.export-slider{width:100%;-webkit-appearance:none;appearance:none;height:6px;background:#8cb4ff33;border-radius:3px;outline:none}.export-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:linear-gradient(135deg,#8cb4ff,#6a9aee);border:2px solid rgba(255,255,255,.3);border-radius:50%;cursor:pointer}.export-slider::-moz-range-thumb{width:18px;height:18px;background:linear-gradient(135deg,#8cb4ff,#6a9aee);border:2px solid rgba(255,255,255,.3);border-radius:50%;cursor:pointer}.export-slider-labels{display:flex;justify-content:space-between;margin-top:6px;font-size:10px;color:#667}.export-info{background:#8cb4ff0d;border:1px solid rgba(140,180,255,.15);border-radius:6px;padding:12px;display:flex;gap:12px;align-items:flex-start}.info-icon{font-size:18px;flex-shrink:0}.info-text{font-size:12px;color:#889;line-height:1.5}.export-footer{display:flex;gap:12px;padding:16px 24px;border-top:1px solid rgba(140,180,255,.2);justify-content:flex-end}.export-btn{padding:10px 24px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.export-btn.cancel{background:#64646433;color:#889;border:1px solid rgba(100,100,100,.3)}.export-btn.cancel:hover{background:#6464644d;color:#abd}.export-btn.primary{background:linear-gradient(135deg,#8cb4ff,#6a9aee);color:#fff;border:1px solid rgba(255,255,255,.2)}.export-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8cb4ff4d}.export-btn.primary:disabled{opacity:.5;cursor:not-allowed;transform:none}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 2561px) and (max-width: 3840px){.event-detail-panel{max-width:1100px}.export-menu{max-width:600px}}@media (min-width: 3841px) and (max-width: 5120px){.event-detail-panel{max-width:1250px}.export-menu{max-width:700px}}@media (min-width: 5121px){.event-detail-panel{max-width:1400px}.export-menu{max-width:800px}.detail-title h2{font-size:24px}.detail-section h3{font-size:16px}.export-header h3{font-size:22px}}
