*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0a0f;--bg-secondary: rgba(15, 15, 25, .9);--text-primary: #ffffff;--text-secondary: #8888aa;--accent: #7aa2f7;--accent-glow: rgba(122, 162, 247, .3);--arc-color: #7aa2f7;--point-color: #ffaa00}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow:hidden;height:100vh;width:100vw}#globe-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;touch-action:manipulation}#ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:50}#ui-overlay>*{pointer-events:auto}#header{position:absolute;top:24px;left:32px;display:flex;flex-direction:column;gap:16px}.header-controls{display:flex;flex-direction:column;align-items:flex-start;gap:12px}#search-container{position:relative;display:flex;align-items:center;margin-top:30px}.search-icon{position:absolute;left:14px;color:var(--text-secondary);pointer-events:none;z-index:1}#location-search{width:240px;padding:12px 20px 12px 44px;background:#0f0f19d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:10px;color:var(--text-primary);font-size:.9rem;outline:none;transition:all .2s ease}#location-search::placeholder{color:var(--text-secondary)}#location-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7aa2f726}#search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#0f0f19f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:10px;max-height:280px;overflow-y:auto;z-index:200}#search-results.hidden{display:none}.search-result-item{padding:12px 16px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .15s ease}.search-result-item:first-child{border-radius:9px 9px 0 0}.search-result-item:last-child{border-radius:0 0 9px 9px}.search-result-item:only-child{border-radius:9px}.search-result-item:hover{background:#7aa2f726}.search-result-item.selected{background:#7aa2f733}.search-result-name{font-size:.9rem;color:var(--text-primary)}.search-result-type{font-size:.75rem;color:var(--text-secondary);margin-left:auto}#btn-filters{position:relative;display:flex;align-items:center;gap:10px;padding:12px 22px;background:linear-gradient(135deg,#a78bfa26,#7aa2f726);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(167,139,250,.4);border-radius:10px;color:var(--text-primary);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 16px #7aa2f740,0 0 20px #a78bfa26;animation:filterGlow 3s ease-in-out infinite}@keyframes filterGlow{0%,to{box-shadow:0 2px 16px #7aa2f740,0 0 20px #a78bfa26}50%{box-shadow:0 2px 20px #7aa2f766,0 0 30px #a78bfa40}}#btn-filters span{background:linear-gradient(135deg,#a78bfa,#7aa2f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#btn-filters:hover{background:linear-gradient(135deg,#a78bfa40,#7aa2f740);border-color:#a78bfa99;box-shadow:0 4px 24px #7aa2f759,0 0 30px #a78bfa33;transform:translateY(-1px);animation:none}#btn-filters.active{background:linear-gradient(135deg,#a78bfa4d,#7aa2f74d);border-color:#a78bfa99;box-shadow:0 4px 24px #7aa2f74d;animation:none}.logo-title{display:flex;align-items:center;gap:10px}.logo{flex-shrink:0}.header-text h1{font-size:1.75rem;font-weight:600;letter-spacing:.5px;color:var(--text-primary)}.header-text .subtitle{font-size:.875rem;color:var(--text-secondary);margin-top:4px}#filters-sidebar{position:fixed;top:0;left:0;width:300px;height:100vh;background:#0a0a14f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid rgba(255,255,255,.1);z-index:100;transform:translate(0);transition:transform .3s ease,opacity .3s ease;display:flex;flex-direction:column}#filters-sidebar.hidden{transform:translate(-100%);opacity:0;pointer-events:none}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h2{font-size:1.1rem;font-weight:600;color:var(--text-primary)}#close-filters{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;line-height:1;padding:4px}#close-filters:hover{color:var(--text-primary)}.filter-section{padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.05)}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.filter-title{font-size:.85rem;font-weight:500;color:var(--text-primary)}.filter-content{opacity:.5;transition:opacity .2s}.filter-content.enabled{opacity:1}.filter-content select{width:100%;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--text-primary);font-size:.85rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238888aa' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.filter-content select:disabled{cursor:not-allowed;opacity:.5}.filter-content select:not(:disabled):hover{border-color:var(--accent)}.filter-content select:focus{outline:none;border-color:var(--accent)}.filter-hint{font-size:.7rem;color:var(--text-secondary);margin-top:8px}.toggle-switch{position:relative;width:40px;height:22px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#ffffff1a;border-radius:22px;transition:.3s}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background:var(--text-secondary);border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px);background:#fff}.clear-btn{margin:20px 24px;padding:10px 16px;background:transparent;border:1px solid rgba(255,100,100,.3);border-radius:6px;color:#ff6464cc;font-size:.8rem;cursor:pointer;transition:all .2s}.clear-btn:hover{background:#ff64641a;border-color:#ff646480}.filter-active-indicator{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-left:8px}#stats-panel{position:absolute;top:24px;right:32px;display:flex;gap:24px}.stat{display:flex;flex-direction:column;align-items:flex-end}.stat-value{font-size:1.5rem;font-weight:600;color:var(--accent)}.stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}#flight-info{position:absolute;bottom:58px;left:320px;background:var(--bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;min-width:280px;z-index:150;transition:opacity .2s,transform .2s,left .3s ease}#filters-sidebar.hidden~#ui-overlay #flight-info{left:32px}#flight-info.hidden{opacity:0;transform:translateY(10px);pointer-events:none}#flight-info h2{font-size:1.25rem;font-weight:600;margin-bottom:4px;color:var(--accent)}.info-airline{font-size:.85rem;color:var(--text-secondary);margin:0 0 8px;font-weight:400}.info-route{font-size:1rem;color:var(--text-primary);margin-bottom:16px;display:flex;align-items:center;gap:8px}.route-arrow{color:var(--accent)}#close-info{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;line-height:1}#close-info:hover{color:var(--text-primary)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-item{display:flex;flex-direction:column}.info-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.info-value{font-size:.95rem;font-weight:500}.info-value.emergency{color:#ff6b6b;font-weight:600}#flight-hover-tooltip{position:fixed;background:#0f0f19f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(122,162,247,.3);border-radius:8px;padding:10px 14px;pointer-events:none;z-index:200;transform:translate(15px,-50%);white-space:nowrap;box-shadow:0 4px 20px #0006}#flight-hover-tooltip.hidden{display:none}.tooltip-callsign{font-size:1rem;font-weight:600;color:var(--accent);margin-bottom:2px}.tooltip-route{font-size:.85rem;color:var(--text-primary);margin-bottom:4px;display:flex;align-items:center;gap:6px}.tooltip-arrow{color:var(--accent);font-size:.75rem}.tooltip-details{font-size:.75rem;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.tooltip-separator{color:#fff3}#controls{position:absolute;bottom:32px;right:32px;display:flex;flex-direction:column;gap:8px;z-index:50}#controls button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:var(--bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}#controls button:hover{background:#7aa2f726;border-color:var(--accent)}#controls button.active{background:var(--accent);color:var(--bg-primary)}#loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:16px;z-index:100;transition:opacity .3s}#loading.hidden{opacity:0;pointer-events:none}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#loading p{color:var(--text-secondary);font-size:.875rem}.globe-tooltip{background:var(--bg-secondary)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)!important;border-radius:8px!important;padding:8px 12px!important;font-family:inherit!important;color:var(--text-primary)!important}.altitude-slider-container{padding:8px 0}.altitude-slider-container input[type=range]{width:100%;height:4px;background:#ffffff1a;border-radius:2px;outline:none;-webkit-appearance:none}.altitude-slider-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--accent);border-radius:50%;cursor:pointer;transition:transform .15s}.altitude-slider-container input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.altitude-slider-container input[type=range]:disabled::-webkit-slider-thumb{background:var(--text-secondary)}.altitude-labels{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-secondary);margin-top:6px}#attribution{position:absolute;bottom:12px;left:32px;font-size:.7rem;color:var(--text-secondary);z-index:50;opacity:.7}#attribution a{color:var(--accent);text-decoration:none}#attribution a:hover{text-decoration:underline}#flights-list-panel{position:fixed;top:50%;right:100px;transform:translateY(-50%);width:320px;max-height:70vh;background:#0a0a14f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:12px;z-index:80;display:flex;flex-direction:column;overflow:hidden}#flights-list-panel.hidden{display:none}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.panel-header h2{font-size:1rem;font-weight:600;color:var(--text-primary)}.panel-header button{background:none;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;line-height:1}.panel-header button:hover{color:var(--text-primary)}.flights-list-controls{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05)}.flights-list-controls input{flex:1;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-primary);font-size:.8rem;outline:none}.flights-list-controls input:focus{border-color:var(--accent)}.flights-list-controls select{padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-primary);font-size:.8rem;cursor:pointer}#flights-list-content{flex:1;overflow-y:auto;padding:8px 0}.flight-list-item{display:flex;align-items:center;padding:10px 16px;cursor:pointer;transition:background .15s;gap:12px}.flight-list-item:hover{background:#7aa2f71a}.flight-list-item.active{background:#7aa2f733}.flight-list-callsign{font-weight:600;color:var(--accent);min-width:70px}.flight-list-airline{flex:1;font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flight-list-altitude{font-size:.8rem;color:var(--text-primary);min-width:65px;text-align:right}#stats-dashboard{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;max-height:80vh;background:#0a0a14f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:12px;z-index:90;display:flex;flex-direction:column;overflow:hidden}#stats-dashboard.hidden{display:none}#stats-content{padding:16px;overflow-y:auto}.stat-section{margin-bottom:20px}.stat-section:last-child{margin-bottom:0}.stat-section h3{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.stat-bar{display:flex;align-items:center;margin-bottom:8px;gap:10px}.stat-bar-label{font-size:.8rem;color:var(--text-primary);min-width:100px}.stat-bar-track{flex:1;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.stat-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0%,#a78bfa 100%);border-radius:3px;transition:width .3s ease}.stat-bar-value{font-size:.75rem;color:var(--text-secondary);min-width:40px;text-align:right}@media (max-width: 768px){#header{top:16px;left:16px;right:16px}.header-text h1{font-size:1.25rem}.header-text .subtitle{display:none}#search-container,#location-search{width:100%}#stats-panel{top:16px;right:16px;gap:12px}.stat-value{font-size:1rem}.stat-label{font-size:.6rem}#controls{bottom:16px;right:16px}#controls button{width:40px;height:40px}#flight-info{bottom:70px;right:16px;left:16px;max-width:none}#filters-sidebar.hidden~#ui-overlay #flight-info{left:16px}#filters-sidebar{width:100%}#flights-list-panel{right:16px;left:16px;width:auto;max-height:50vh}#stats-dashboard{width:calc(100% - 32px);max-height:70vh}#attribution{bottom:8px;left:8px;font-size:.6rem}@keyframes filterGlow{0%,to{box-shadow:0 2px 12px #7aa2f733}}#btn-filters{animation:none;box-shadow:0 2px 12px #7aa2f733}#filters-sidebar,#flights-list-panel,#stats-dashboard,#flight-info,#flight-hover-tooltip,#location-search,#btn-filters,#controls button{backdrop-filter:none;-webkit-backdrop-filter:none}}@media (max-width: 420px){#stats-panel{display:none}#header{top:12px;left:12px;right:12px}.logo-title{gap:6px}.logo{width:28px;height:28px}.header-text h1{font-size:1.1rem}#location-search{padding:10px 10px 10px 38px;font-size:.85rem}#btn-filters{padding:10px 16px;font-size:.85rem}#controls{bottom:12px;right:12px;gap:6px}#controls button{width:36px;height:36px}#controls button svg{width:16px;height:16px}#flight-info{bottom:60px;left:12px;right:12px;padding:14px}#filters-sidebar.hidden~#ui-overlay #flight-info{left:12px}#flight-info h2{font-size:1.1rem}.info-grid{gap:8px}#flight-hover-tooltip{display:none!important}#attribution{display:none}}
