:root{--color-bg-dark:#0f111a;--color-bg-panel:#0f111aa6;--color-border-glass:#ffffff14;--color-accent-primary:#00f0ff;--color-accent-secondary:#f05;--color-text-primary:#fff;--color-text-secondary:#8a93a6;--color-map-water:#0b0d14;--font-family-main:"Outfit", sans-serif;--shadow-glass:0 20px 50px #00000080;--blur-glass:blur(16px)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-main);background-color:var(--color-bg-dark);color:var(--color-text-primary);width:100vw;height:100vh;position:fixed;overflow:hidden}#root{width:100%;height:100%;position:relative}.app-container{background-color:var(--color-bg-dark);width:100vw;height:100vh;position:relative;overflow:hidden}.glass-panel{background:var(--color-bg-panel);-webkit-backdrop-filter:var(--blur-glass);border:1px solid var(--color-border-glass);box-shadow:var(--shadow-glass);border-radius:24px}.top-hud{z-index:100;pointer-events:none;justify-content:space-between;align-items:flex-start;padding:1.5rem;display:flex;position:absolute;top:0;left:0;right:0}.hud-box-left{align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.logo{object-fit:contain;width:2.5rem;height:2.5rem}.hud-title-container{border-left:1px solid #ffffff1a;flex-direction:column;padding-left:.75rem;display:flex}.hud-title-row{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.hud-dot{background-color:var(--color-accent-primary);border-radius:50%;width:.5rem;height:.5rem}.hud-title{letter-spacing:.1em;color:#ffffffe6;font-size:.875rem;font-weight:700}.hud-subtitle{color:var(--color-accent-primary);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem}.hud-box-right{flex-direction:column;align-items:flex-end;padding:.5rem 1rem;display:flex}.targets-label{color:var(--color-text-secondary);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem}.targets-count{color:var(--color-accent-primary);font-size:1.25rem;font-weight:700}.map-wrapper{background-color:var(--color-map-water);position:absolute;inset:0}.map-container{z-index:10;width:100%;height:100%}.leaflet-container{background:var(--color-map-water)!important;font-family:var(--font-family-main)!important}.leaflet-control-attribution{display:none!important}.aircraft-marker{transition:transform 10s linear}.marker-container{flex-direction:column;justify-content:center;align-items:center;width:120px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.marker-bubble{background:var(--color-bg-panel);border:1px solid var(--color-border-glass);-webkit-backdrop-filter:blur(4px);white-space:nowrap;pointer-events:none;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;margin-top:4px;padding:2px 6px;display:flex;box-shadow:0 4px 10px #00000080}.marker-bubble-callsign{color:#fff;letter-spacing:.05em;font-size:10px;font-weight:700}.marker-bubble-altitude{color:var(--color-text-secondary);font-size:8px}.aircraft-trail{filter:drop-shadow(0 0 4px #ff005580)}.aircraft-marker svg{transition:transform 10s linear}.radar-wrapper{pointer-events:none;z-index:400;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.radar-sweep{background:conic-gradient(#0000 70%,#00f0ff1a 95%,#00f0ff66 100%);width:200vw;height:200vw;margin-top:-100vw;margin-left:-100vw;animation:8s linear infinite sweep;position:absolute;top:50%;left:50%}.radar-center-ping{background-color:var(--color-accent-primary);width:1rem;height:1rem;box-shadow:0 0 15px var(--color-accent-primary);border-radius:50%;position:absolute}@keyframes sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-glow{0%{box-shadow:0 0 #00f0ff66}70%{box-shadow:0 0 0 10px #00f0ff00}to{box-shadow:0 0 #00f0ff00}}.pulse-indicator{animation:2s infinite pulse-glow}.error-screen,.loading-screen{background-color:var(--color-bg-dark);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.error-panel{width:100%;max-width:28rem;padding:2rem}.error-icon{color:var(--color-accent-secondary);margin:0 auto 1rem}.loading-icon{color:var(--color-accent-primary);margin-bottom:1.5rem}.loading-text-row{letter-spacing:.05em;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:500;display:flex}.spinner{color:var(--color-text-secondary);animation:1s linear infinite spin}.loading-subtext{color:var(--color-text-secondary);max-width:20rem;margin-top:1rem;font-size:.875rem}.text-gradient{background:linear-gradient(135deg, var(--color-accent-primary), var(--color-accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.flight-panel{z-index:1000;-webkit-backdrop-filter:blur(24px);border:1px solid #00f0ff26;width:95%;max-width:32rem;position:absolute;bottom:2rem;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 20px 50px #00000080}.panel-accent-top{background:linear-gradient(to right, transparent, var(--color-accent-primary), transparent);opacity:.5;height:4px;position:absolute;top:0;left:0;right:0}.panel-header{background:linear-gradient(#ffffff08,#0000);border-bottom:1px solid #ffffff0d;padding:1.5rem;position:relative}.panel-close-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:.5rem;transition:all .3s;position:absolute;top:1rem;right:1rem}.panel-close-btn:hover{color:#fff;background:#ffffff1a}.close-icon{transition:transform .3s}.panel-close-btn:hover .close-icon{transform:rotate(90deg)}.panel-header-content{align-items:center;gap:1rem;display:flex}.panel-icon-box{width:3rem;height:3rem;color:var(--color-accent-primary);background:linear-gradient(135deg,#00f0ff33,#00f0ff0d);border:1px solid #00f0ff33;border-radius:1rem;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:inset 0 0 10px #00f0ff33}.plane-icon-header{transform:rotate(45deg)}.panel-title-container{flex-direction:column;display:flex}.panel-title-row{align-items:center;gap:.75rem;display:flex}.panel-title{color:#fff;letter-spacing:.05em;text-shadow:0 2px 4px #00000080;font-size:1.875rem;font-weight:800}.on-ground-badge{color:var(--color-accent-secondary);text-transform:uppercase;background-color:#f053;border:1px solid #ff00554d;border-radius:.25rem;padding:.125rem .5rem;font-size:.625rem;font-weight:700}.panel-subtitle{color:var(--color-text-secondary);align-items:center;gap:.375rem;margin-top:.125rem;font-size:.875rem;font-weight:500;display:flex}.globe-icon{opacity:.7}.panel-body{background-color:#0f111a4d;flex-direction:column;gap:2rem;padding:1.5rem;display:flex}.route-info-container{justify-content:space-between;align-items:center;padding:0 .5rem;display:flex;position:relative}.airport-box{text-align:center;flex-direction:column;align-items:center;width:41.666%;display:flex}.airport-iata{color:#fff;text-shadow:0 0 8px #00f0ff4d;font-size:2.25rem;font-weight:900}.airport-name{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:120px;margin-top:.25rem;font-size:.75rem;overflow:hidden}.flight-path-container{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:0 .5rem;display:flex;position:relative}.flight-path-wrapper{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.flight-path-base{background-color:#ffffff1a;border-radius:9999px;width:100%;height:2px;position:absolute}.flight-path-anim{background:linear-gradient(to right, transparent, var(--color-accent-primary), transparent);opacity:.5;border-radius:9999px;width:100%;height:2px;position:absolute}.flight-path-icon-wrapper{z-index:10;background-color:var(--color-bg-dark);color:var(--color-accent-primary);padding:0 .5rem;position:relative}.flight-path-icon{filter:drop-shadow(0 0 5px #00f0ff80);transform:rotate(90deg)}.flight-status-badge{color:var(--color-accent-primary);text-transform:uppercase;letter-spacing:.1em;-webkit-backdrop-filter:blur(12px);background-color:#00f0ff0d;border:1px solid #00f0ff33;border-radius:9999px;padding:.25rem .75rem;font-size:.625rem;font-weight:700;position:absolute;bottom:-1.5rem}.telemetry-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.telemetry-card{background-color:#0006;border:1px solid #ffffff0d;border-radius:1rem;padding:1rem;transition:all .3s}.telemetry-card:hover{background-color:#00f0ff0d;border-color:#00f0ff33}.telemetry-header{color:var(--color-text-secondary);justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.telemetry-label{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:700;transition:color .3s}.telemetry-card:hover .telemetry-label{color:#fff}.telemetry-icon{color:var(--color-accent-primary);opacity:.7;transition:opacity .3s}.telemetry-card:hover .telemetry-icon{opacity:1}.telemetry-value-row{align-items:center;gap:.75rem;display:flex}.telemetry-value{letter-spacing:-.025em;color:#fff;text-shadow:0 1px 2px #0000001a;font-family:monospace;font-size:1.5rem;font-weight:600}.telemetry-compass{color:var(--color-text-secondary)}.text-truncate{white-space:nowrap;text-overflow:ellipsis;width:100%;overflow:hidden}@keyframes skeleton-pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.skeleton{background-color:#ffffff1a;border-radius:.25rem;animation:2s cubic-bezier(.4,0,.6,1) infinite skeleton-pulse}.skeleton-text{height:1rem}.skeleton-airline{width:6rem}.skeleton-iata{width:4rem;height:2.5rem;margin-bottom:.5rem}.skeleton-aircraft{width:5rem;height:1.5rem;margin-top:.25rem}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,100%)}to{opacity:1;transform:translate(-50%)}}.animate-slide-up{animation:.4s cubic-bezier(.16,1,.3,1) forwards slideUp}@keyframes flight-path{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-flight-path{animation:2s ease-in-out infinite flight-path}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.view-toggle-box{pointer-events:auto;align-items:center;gap:.5rem;padding:.5rem;display:flex}.view-toggle-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .3s;display:flex}.view-toggle-btn:hover{color:#fff;background:#ffffff0d}.view-toggle-btn.active{color:var(--color-accent-primary);background:#00f0ff1a;border-color:#00f0ff33;box-shadow:0 0 10px #00f0ff1a}.overhead-dashboard-container{background:var(--color-bg-dark);z-index:50;flex-direction:column;width:100vw;height:100vh;padding:100px 2rem 2rem;display:flex;position:absolute;top:0;left:0}.overhead-dashboard{flex-direction:column;flex:1;gap:1.5rem;width:100%;max-width:1200px;margin:0 auto;display:flex}.overhead-top-row{flex:1;gap:1.5rem;display:flex}.overhead-panel{background:var(--color-bg-panel);border:1px solid var(--color-border-glass);-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:2rem;box-shadow:0 10px 30px #00000080}.overhead-left-panel{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.airline-logo-box{background:#fff;border-radius:12px;justify-content:center;align-items:center;width:160px;height:160px;margin-bottom:2rem;padding:1rem;display:flex;overflow:hidden}.airline-logo{object-fit:contain;max-width:100%;max-height:100%}.skeleton-logo{background:#0000001a;width:100%;height:100%}.airline-name{text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-size:2rem;font-weight:800}.flight-number{color:var(--color-text-secondary);font-size:1.5rem;font-weight:500}.overhead-right-panel{flex-direction:column;flex:2;justify-content:space-between;display:flex}.route-header{justify-content:space-between;align-items:center;padding:0 2rem;display:flex}.route-city{flex-direction:column;align-items:center;display:flex}.route-city .city-name{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem;font-size:1.25rem}.route-city .city-iata{letter-spacing:.05em;font-size:4rem;font-weight:900;line-height:1}.aircraft-visuals{justify-content:space-between;align-items:flex-start;gap:2rem;margin:2rem 0;display:flex}.plane-profile-wrapper{flex-direction:column;flex:1;align-items:center;gap:1.5rem;display:flex}.plane-side-profile{justify-content:center;align-items:center;width:100%;height:240px;display:flex}.photo-frame{border:1px solid var(--color-border-glass);background:#ffffff0d;border-radius:16px;width:100%;height:100%;padding:8px;box-shadow:inset 0 0 20px #00000080,0 10px 20px #0000004d}.aircraft-photo{object-fit:cover;border-radius:8px;width:100%;height:100%}.mini-map-box{border:1px solid var(--color-border-glass);border-radius:16px;flex-shrink:0;width:220px;height:220px;position:relative;overflow:hidden;box-shadow:0 10px 20px #0000004d}.dashboard-mini-map{width:100%;height:100%}.aircraft-status-row{flex-direction:column;align-items:center;gap:.5rem;display:flex}.aircraft-type{color:var(--color-text-secondary);font-size:1.25rem}.flight-status{color:#4caf50;letter-spacing:.1em;font-size:1rem;font-weight:700}.overhead-bottom-row{grid-template-columns:repeat(4,1fr);gap:1.5rem;height:160px;display:grid}.overhead-card{background:var(--color-bg-panel);border:1px solid var(--color-border-glass);-webkit-backdrop-filter:blur(16px);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;display:flex;box-shadow:0 10px 30px #00000080}.card-icon{opacity:.8;margin-bottom:.5rem;font-size:1.5rem}.card-label{color:var(--color-accent-primary);letter-spacing:.1em;margin-bottom:.25rem;font-size:.875rem;font-weight:700}.card-value{margin-bottom:.25rem;font-family:monospace;font-size:2.5rem;font-weight:800}.card-sub{color:var(--color-text-secondary);font-size:.875rem}.glass-zoom-controls{z-index:1000;pointer-events:auto;flex-direction:column;gap:.5rem;display:flex;position:absolute;bottom:2rem;right:1.5rem}.glass-zoom-btn{background:var(--color-bg-panel);border:1px solid var(--color-border-glass);-webkit-backdrop-filter:blur(12px);width:3rem;height:3rem;color:var(--color-text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.5rem;font-weight:300;transition:all .2s;display:flex;box-shadow:0 4px 12px #00000080}.glass-zoom-btn:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary);background:#00f0ff26;box-shadow:0 0 15px #00f0ff33}.glass-zoom-btn:active{transform:scale(.95)}@media (width<=768px){.top-hud{flex-direction:column;align-items:center;gap:.5rem;padding:.75rem}.hud-box-left,.hud-box-right,.view-toggle-box{text-align:center;justify-content:center;width:100%}.hud-box-right{align-items:center}.hud-title{font-size:.75rem}.hud-subtitle{font-size:.65rem}.overhead-dashboard-container{padding-top:150px;padding-left:1rem;padding-right:1rem;overflow-y:auto}.overhead-top-row{flex-direction:column}.overhead-left-panel{padding:1.5rem}.airline-logo-box{width:120px;height:120px}.flight-panel{width:95%;bottom:1rem}.panel-header{padding:1rem}.panel-title{font-size:1.25rem}.panel-body{gap:1.25rem;padding:1rem}.airport-iata{font-size:1.5rem}.telemetry-grid{grid-template-columns:1fr 1fr;gap:.5rem}.telemetry-card{padding:.75rem}.telemetry-value{font-size:1.1rem}.overhead-dashboard-container{padding-top:180px;padding-bottom:2rem}.route-header{flex-direction:row;gap:1rem;padding:0}.route-city .city-name{text-align:center;font-size:.7rem}.route-city .city-iata{font-size:2.2rem}.route-divider{transform:scale(.6)}.overhead-bottom-row{flex-direction:column;gap:1rem;height:auto;display:flex}.overhead-card{width:100%;padding:1.25rem 1rem}.overhead-card .card-value{font-size:1.5rem}.overhead-card .card-label{font-size:.65rem}.glass-zoom-controls{bottom:40vh;right:1rem}.aircraft-visuals{flex-direction:column;gap:1rem;height:auto}.plane-profile-wrapper,.mini-map-box{width:100%;height:200px}}
