:root{--bg:#0b1426;--cyan:#38f6e0;--green:#7dff7a;--amber:#ffc94a;--line:rgba(56,246,224,.18)}
html,body{margin:0;background:var(--bg);color:#d7f3ef;font-family:'Chakra Petch',sans-serif}
body{background:radial-gradient(ellipse at 20% -10%,#17325a 0,transparent 55%),radial-gradient(ellipse at 100% 100%,#0f2a2a 0,transparent 50%),var(--bg);min-height:100vh}
.mono{font-family:'JetBrains Mono',monospace}
.glass{background:rgba(12,26,48,.72);border:1px solid var(--line);backdrop-filter:blur(10px);box-shadow:0 0 24px rgba(56,246,224,.06)}
.chip{border:1px solid var(--line);padding:4px 10px;border-radius:999px;font-size:12px;cursor:pointer;transition:.2s}
.chip:hover{background:rgba(56,246,224,.12);border-color:var(--cyan)}
.leaflet-container{background:#060d1a}
.plane-icon{transition:transform .9s linear}
.plane-icon svg{filter:drop-shadow(0 0 4px currentColor)}
.sweep-wrap{position:absolute;inset:0;pointer-events:none;z-index:450;overflow:hidden}
.sweep{position:absolute;left:50%;top:50%;width:140vmax;height:140vmax;margin:-70vmax 0 0 -70vmax;border-radius:50%;
 background:conic-gradient(from 0deg,rgba(56,246,224,.18),transparent 14%);animation:spin 6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.fadein{animation:fi .5s both}
@keyframes fi{from{opacity:0;transform:translateY(8px)}}
.card:hover{border-color:var(--cyan)}
input[type=range]{accent-color:var(--cyan)}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#1f3d5a;border-radius:3px}
.blink{animation:bl 1s steps(2) infinite}@keyframes bl{50%{opacity:.3}}