@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--color-bg: #0a0a0f;--color-panel: rgba(10, 15, 20, .85);--color-border: rgba(0, 255, 136, .3);--color-primary: #00ff88;--color-danger: #ff3c3c;--color-success: #7ee787;--color-info: #58a6ff;--color-text: #c9d1d9;--color-muted: #6e7681;--font-mono: "JetBrains Mono", "Fira Code", "Courier New", monospace}.app-container{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-bg);overflow:hidden;display:flex}.globe-container{flex:1;position:relative}.events-sidebar{width:400px;height:100%;background:#080c12f2;border-right:1px solid var(--color-border);display:flex;flex-direction:column;font-family:var(--font-mono);z-index:100}.events-header{padding:20px;border-bottom:1px solid var(--color-border);background:#00ff8805}.events-title{font-size:14px;font-weight:700;color:var(--color-primary);letter-spacing:4px;text-shadow:0 0 20px rgba(0,255,136,.4)}.events-count{font-size:11px;color:var(--color-muted);margin-top:6px;letter-spacing:1px}.events-list{flex:1;overflow-y:auto;padding:12px}.event-card{background:#0000004d;border:1px solid rgba(255,255,255,.05);border-radius:4px;padding:14px 16px;margin-bottom:10px;transition:all .2s;cursor:pointer}.event-card:hover{border-color:#00ff884d;background:#00ff8808}.event-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.event-card-location{font-size:10px;color:var(--color-muted);letter-spacing:1px;text-transform:uppercase}.event-card-category{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:2px;margin-bottom:8px}.event-card-title{font-size:12px;color:var(--color-text);line-height:1.5}.events-list::-webkit-scrollbar{width:6px}.events-list::-webkit-scrollbar-track{background:#0000004d}.events-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.events-list::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.hud-overlay{position:fixed;top:0;left:400px;right:0;bottom:0;pointer-events:none;z-index:1000}.hud-panel{position:absolute;background:var(--color-panel);border:1px solid var(--color-border);padding:16px 20px;font-family:var(--font-mono);color:var(--color-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto}.hud-panel:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);opacity:.5}.top-left{top:20px;left:20px}.top-right{top:20px;right:20px;text-align:right}.bottom-left{bottom:20px;left:20px}.bottom-right{bottom:20px;right:20px;text-align:right}.hud-title{font-size:28px;font-weight:700;letter-spacing:8px;text-shadow:0 0 20px rgba(0,255,136,.5)}.hud-bracket{color:var(--color-danger);text-shadow:0 0 10px rgba(255,60,60,.5)}.hud-subtitle{font-size:10px;letter-spacing:4px;color:var(--color-muted);margin-top:4px;text-transform:uppercase}.hud-meta{font-size:11px;color:var(--color-info);margin-top:12px;opacity:.8}.hud-date-picker{margin-top:12px}.hud-date-picker .hud-label{display:block;margin-bottom:8px}.date-inputs{display:flex;align-items:center;gap:8px}.date-input{background:#0006;border:1px solid var(--color-border);color:var(--color-info);font-family:var(--font-mono);font-size:11px;padding:6px 10px;border-radius:4px;outline:none;cursor:pointer;transition:all .2s}.date-input:hover{border-color:var(--color-primary);background:#00ff880d}.date-input:focus{border-color:var(--color-primary);box-shadow:0 0 10px #0f83}.date-input::-webkit-calendar-picker-indicator{filter:invert(.7) sepia(1) saturate(5) hue-rotate(100deg);cursor:pointer}.date-separator{color:var(--color-muted);font-size:12px}.hud-toggle-group{display:flex;gap:8px;margin-top:12px}.hud-toggle-btn{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#0006;border:1px solid var(--color-border);border-radius:4px;color:var(--color-muted);font-family:var(--font-mono);font-size:10px;letter-spacing:2px;cursor:pointer;transition:all .2s}.hud-toggle-btn:hover{border-color:var(--color-primary);color:var(--color-text);background:#00ff880d}.hud-toggle-btn.active{border-color:var(--color-primary);color:var(--color-primary);background:#00ff8826;box-shadow:0 0 10px #0f83}.hud-toggle-icon{font-size:14px}.hud-stat-row{display:flex;justify-content:space-between;gap:24px;margin-bottom:8px;font-size:12px}.hud-stat-row:last-child{margin-bottom:0}.hud-label{color:var(--color-muted);letter-spacing:1px}.hud-value{color:var(--color-primary);font-weight:600}.hud-value.danger{color:var(--color-danger);text-shadow:0 0 10px rgba(255,60,60,.5)}.hud-value.success{color:var(--color-success);text-shadow:0 0 10px rgba(126,231,135,.5)}.hud-status{font-size:11px;letter-spacing:2px;display:flex;align-items:center;gap:8px}.hud-status.online{color:var(--color-success)}.hud-status.loading{color:var(--color-info)}.hud-status.error{color:var(--color-danger)}.hud-pulse{animation:pulse 2s infinite}.hud-blink{animation:blink .5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hud-legend-title{font-size:10px;letter-spacing:2px;color:var(--color-muted);margin-bottom:12px;text-transform:uppercase}.hud-legend-item{display:flex;align-items:center;justify-content:flex-start;gap:8px;font-size:10px;color:var(--color-text);margin-bottom:6px;letter-spacing:1px}.hud-legend-item.clickable{cursor:pointer;padding:6px 10px;margin:0 -10px 6px;border-radius:4px;transition:all .2s;opacity:.6}.hud-legend-item.clickable:hover{background:#ffffff0d;opacity:1}.hud-legend-item.clickable.active{background:#00ff881a;border:1px solid var(--color-border);opacity:1}.hud-dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 8px currentColor}.hud-dot.danger{background:var(--color-danger);color:var(--color-danger)}.hud-dot.success{background:var(--color-success);color:var(--color-success)}.hud-dot.neutral{background:var(--color-info);color:var(--color-info)}.scanlines{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);z-index:9999}.hud-panel:after{content:"";position:absolute;width:6px;height:6px;border:1px solid var(--color-primary)}.top-left:after{top:-1px;left:-1px;border-right:none;border-bottom:none}.top-right:after{top:-1px;right:-1px;border-left:none;border-bottom:none}.bottom-left:after{bottom:-1px;left:-1px;border-right:none;border-top:none}.bottom-right:after{bottom:-1px;right:-1px;border-left:none;border-top:none}.cesium-viewer{font-family:var(--font-mono)!important}.cesium-infoBox{background:var(--color-panel)!important;border:1px solid var(--color-border)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}.cesium-infoBox-title{font-family:var(--font-mono)!important;background:transparent!important;color:var(--color-primary)!important}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#080c12fa;border:1px solid var(--color-border);border-radius:4px;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;font-family:var(--font-mono);animation:slideIn .3s ease-out;box-shadow:0 0 40px #00ff881a,0 0 80px #00000080}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent)}.modal-header{padding:20px 24px;border-bottom:1px solid rgba(0,255,136,.15)}.modal-title-row{display:flex;justify-content:space-between;align-items:flex-start}.modal-location{font-size:20px;font-weight:700;color:var(--color-primary);text-shadow:0 0 20px rgba(0,255,136,.4);letter-spacing:2px}.modal-close{background:none;border:1px solid rgba(255,255,255,.2);color:var(--color-muted);font-size:24px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-family:var(--font-mono)}.modal-close:hover{color:var(--color-danger);border-color:var(--color-danger);text-shadow:0 0 10px rgba(255,60,60,.5)}.modal-category{font-size:14px;font-weight:600;margin-top:8px;text-transform:uppercase;letter-spacing:3px}.modal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#00ff881a;border-bottom:1px solid rgba(0,255,136,.15)}.modal-stat{background:#080c12fa;padding:16px;text-align:center}.modal-stat-label{display:block;font-size:9px;color:var(--color-muted);letter-spacing:2px;margin-bottom:6px}.modal-stat-value{display:block;font-size:18px;font-weight:700;color:var(--color-primary)}.modal-section{padding:20px 24px;border-bottom:1px solid rgba(0,255,136,.1)}.modal-section:last-child{border-bottom:none}.modal-section-title{font-size:10px;color:var(--color-muted);letter-spacing:3px;margin-bottom:12px;text-transform:uppercase}.modal-reasoning{font-size:13px;color:var(--color-text);line-height:1.6;padding:12px 16px;background:#00ff8808;border-left:2px solid var(--color-primary)}.modal-events{display:flex;flex-direction:column;gap:12px}.modal-event{background:#0000004d;border:1px solid rgba(255,255,255,.05);border-radius:4px;padding:14px 16px;transition:all .2s}.modal-event:hover{border-color:#0f83;background:#00ff8805}.modal-event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.modal-event-category{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:2px}.modal-event-sentiment{font-size:9px;padding:3px 8px;border-radius:2px;text-transform:uppercase;letter-spacing:1px;font-weight:600}.modal-event-title{font-size:12px;color:var(--color-text);line-height:1.5}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:#0000004d}.modal-content::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:3px}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--color-success)}.timeline-container{position:absolute;bottom:20px;left:20px;right:20px;background:var(--color-panel);border:1px solid var(--color-border);border-radius:4px;padding:16px 20px;font-family:var(--font-mono);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100}.timeline-container:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);opacity:.5}.timeline-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.timeline-title{font-size:12px;font-weight:700;color:var(--color-primary);letter-spacing:3px;text-shadow:0 0 10px rgba(0,255,136,.4)}.timeline-bracket{color:var(--color-danger);text-shadow:0 0 8px rgba(255,60,60,.5)}.timeline-controls{display:flex;gap:8px}.timeline-btn{background:#0006;border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-mono);font-size:12px;padding:6px 12px;border-radius:4px;cursor:pointer;transition:all .2s;min-width:36px}.timeline-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#00ff881a}.timeline-btn.play-btn{background:#00ff8826;border-color:var(--color-primary);color:var(--color-primary);min-width:44px}.timeline-btn.play-btn:hover{background:#00ff8840}.timeline-btn.speed-btn{font-size:10px;letter-spacing:1px}.timeline-info{display:flex;align-items:center;gap:16px;font-size:11px}.timeline-current-time{color:var(--color-info);font-weight:600;letter-spacing:1px}.timeline-event-count{color:var(--color-muted);letter-spacing:1px}.timeline-track-container{position:relative;padding-bottom:24px}.timeline-track{position:relative;height:40px;background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:4px;cursor:pointer;overflow:visible}.timeline-track:hover{border-color:#00ff884d}.timeline-progress{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#00ff881a,#0f83);border-radius:3px 0 0 3px;pointer-events:none}.timeline-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;border:2px solid;cursor:pointer;transition:all .2s;z-index:10}.timeline-marker.visible{box-shadow:0 0 8px currentColor}.timeline-marker.hidden{opacity:.3;transform:translate(-50%,-50%) scale(.7)}.timeline-marker:hover{transform:translate(-50%,-50%) scale(1.5);z-index:20}.timeline-playhead{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--color-primary);transform:translate(-50%);box-shadow:0 0 10px var(--color-primary);z-index:15;pointer-events:none}.timeline-playhead:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--color-primary)}.timeline-playhead:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid var(--color-primary)}.timeline-axis{position:absolute;bottom:-22px;left:0;right:0;height:20px}.timeline-axis-label{position:absolute;transform:translate(-50%);font-size:9px;color:var(--color-muted);letter-spacing:1px;white-space:nowrap}.timeline-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:10px;background:#080c12fa;border:1px solid var(--color-border);border-radius:4px;padding:12px 16px;min-width:250px;max-width:350px;box-shadow:0 0 20px #00000080;z-index:1000;animation:tooltipFadeIn .15s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.timeline-tooltip:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--color-border)}.timeline-tooltip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.timeline-tooltip-category{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:2px}.timeline-tooltip-location{font-size:9px;color:var(--color-muted);letter-spacing:1px}.timeline-tooltip-title{font-size:12px;color:var(--color-text);line-height:1.5;margin-bottom:8px}.timeline-tooltip-time{font-size:10px;color:var(--color-info);letter-spacing:1px}.timeline-live{position:absolute;top:16px;right:20px;display:flex;align-items:center;gap:8px;font-size:10px;color:var(--color-success);letter-spacing:2px;animation:pulse 2s infinite}.timeline-live-dot{width:8px;height:8px;background:var(--color-success);border-radius:50%;box-shadow:0 0 10px var(--color-success)}@media(max-width:1024px){.events-sidebar{width:320px}.hud-overlay{left:320px}.hud-title{font-size:22px;letter-spacing:4px}.modal-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.app-container{flex-direction:column}.events-sidebar{display:none}.globe-container{height:100%}.hud-overlay{left:0}.hud-panel{padding:12px 14px}.top-left{top:10px;left:10px}.top-right{top:10px;right:10px}.hud-title{font-size:18px;letter-spacing:3px}.hud-subtitle{font-size:8px;letter-spacing:2px}.hud-date-picker{margin-top:8px}.date-inputs{flex-direction:column;gap:6px}.date-separator{display:none}.hud-toggle-group{flex-direction:column;gap:6px}.hud-toggle-btn{padding:6px 10px;font-size:9px}.hud-legend-item{font-size:9px}.modal-content{width:95%;max-height:90vh}.modal-header{padding:14px 16px}.modal-location{font-size:16px}.modal-stats{grid-template-columns:repeat(2,1fr)}.modal-stat{padding:12px}.modal-stat-value{font-size:14px}.modal-section{padding:14px 16px}.timeline-container{left:10px;right:10px;bottom:10px;padding:12px 14px}.timeline-header{flex-wrap:wrap;gap:8px}.timeline-controls{gap:4px}.timeline-btn{padding:4px 8px;font-size:10px;min-width:28px}.timeline-info{width:100%;justify-content:space-between;font-size:10px}}@media(max-width:480px){.hud-panel.top-right{display:none}.hud-title{font-size:16px;letter-spacing:2px}.modal-stats{grid-template-columns:1fr 1fr}.modal-stat-label{font-size:8px}.modal-stat-value{font-size:12px}}
