.radar-background,.rs{pointer-events:none;--sweep-angle:0deg;--shift-x:0px;--shift-y:0px;position:absolute;inset:0;overflow:hidden}.radar-background:before,.rs:before{content:"";opacity:.72;background-image:linear-gradient(#ffffff0e 1px,#0000 1px),linear-gradient(90deg,#ffffff0e 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0}.rs-sweep-glow{z-index:1;background:var(--av8-color-primary);opacity:var(--background-glow-intensity);filter:blur(24px);-webkit-mask-image:var(--grid-glow-mask);mask-image:var(--grid-glow-mask);-webkit-mask-image:var(--grid-glow-mask);position:absolute;inset:0}.rs-grid-glow{-webkit-mask-image:var(--grid-glow-mask);mask-image:var(--grid-glow-mask);-webkit-mask-image:var(--grid-glow-mask);background-image:linear-gradient(#ffffff29 1px,#0000 1px),linear-gradient(90deg,#ffffff29 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0}.radar-background:after,.rs:after{content:"";background:radial-gradient(circle at 77% 48%,#0000 0 24%,#0704001f 60%),linear-gradient(90deg,#0704004d,#0000 58%);position:absolute;inset:0}.radar-background svg,.rs svg{z-index:1;opacity:.86;width:100%;height:100%;position:relative}.rs svg{width:100%;max-width:none;height:100%}.rs-sweep{stroke:var(--av8-color-primary);stroke-width:1px;vector-effect:non-scaling-stroke}.radar-world{transform:translate(var(--shift-x), var(--shift-y));transition:transform .3s ease-out}.airspace,.rs-airspaces circle,.range-rings circle,.range-rings path{fill:none;vector-effect:non-scaling-stroke}.airspace.primary{stroke:var(--av8-color-primary);stroke-opacity:.3}.airspace.secondary{stroke:var(--av8-color-secondary);stroke-opacity:.4}.airspace.restricted{stroke:var(--av8-color-secondary);stroke-opacity:.45;stroke-dasharray:8 7}.airspace.weather{fill:var(--av8-color-accent);fill-opacity:.025;stroke:var(--av8-color-accent);stroke-opacity:.42;stroke-dasharray:3 8}.range-rings{stroke:#ffffff17;fill:#ffffff4d;font:9px ui-monospace,monospace}.range-rings circle{stroke-dasharray:2 5}.radar-routes{fill:none;stroke:#ffffff1c;stroke-dasharray:2 7}.radar-routes .handoff{stroke:var(--av8-color-primary);stroke-opacity:.32;stroke-dasharray:10 7}.radar-label,.rs-marker text{fill:#ffffff61;stroke:none;letter-spacing:.08em;font:8px ui-monospace,monospace}.weather-label{fill:var(--av8-color-accent)}.rs-marker{fill:none;stroke:#ffffff7a}.rs-aerodrome{stroke:var(--av8-color-primary)}.rs-flight{--flight-rest-color:color-mix(in srgb, var(--av8-color-background) var(--flight-background-rest-strength,45%), black);--flight-hit-color:var(--av8-color-background);color:var(--flight-rest-color)}.rs-tail-number{--flight-rest-color:color-mix(in srgb, var(--av8-color-secondary) var(--flight-secondary-rest-strength,44%), black);--flight-hit-color:var(--av8-color-secondary)}.rs-target.flight-fix{color:var(--flight-rest-color)}.flight-blip,.flight-trail-blip{fill:currentColor}.flight-fix.is-updated{animation:2.5s linear flight-fix-update}.radar-vortac{stroke:var(--av8-color-accent)}.radar-trails path{fill:none;stroke:url(#trail-fade);stroke-width:1.5px;stroke-dasharray:2 3}.radar-target{color:#ffffffa8;transition:color .15s}.radar-target.is-swept{color:var(--av8-color-primary);filter:url(#radar-glow)}.aircraft-symbol{fill:none;stroke:currentColor;stroke-width:1.4px}.target-label{fill:currentColor;letter-spacing:.08em;font:8px ui-monospace,monospace}.target-pulse{fill:none;stroke:var(--av8-color-accent);opacity:0}.radar-target.is-ident .target-pulse{animation:1s ease-out infinite radar-ident}.radar-sweep{transform-box:fill-box;transform-origin:50%;rotate:var(--sweep-angle)}.radar-sweep path{fill:url(#sweep-fill);opacity:.65}.radar-sweep line{stroke:var(--av8-color-primary);stroke-opacity:.55}.radar-sweep circle{fill:var(--av8-color-primary)}.radar-site{fill:none;stroke:var(--av8-color-primary);font:8px ui-monospace,monospace}.radar-site text{fill:var(--av8-color-primary);stroke:none;letter-spacing:.1em}.radar-readout{color:#ffffff47;letter-spacing:.14em;gap:18px;font:600 8px ui-monospace,monospace;display:flex;position:absolute;bottom:18px;right:24px}@keyframes radar-ident{0%{opacity:.7;transform:scale(.3)}to{opacity:0;transform:scale(1.8)}}@keyframes flight-fix-update{0%{color:color-mix(in srgb, var(--flight-hit-color) 60%, var(--flight-rest-color))}5%{color:var(--flight-hit-color)}25%{color:color-mix(in srgb, var(--flight-hit-color) 60%, var(--flight-rest-color))}50%{color:color-mix(in srgb, var(--flight-hit-color) 50%, var(--flight-rest-color))}to{color:var(--flight-rest-color)}}@media (max-width:800px){.radar-background svg{opacity:.67;width:165%;margin-left:-55%}.radar-readout{display:none}.radar-routes,.radar-label{opacity:.55}}@media (prefers-reduced-motion:reduce){.radar-world{transition:none}.radar-target.is-ident .target-pulse{animation:none}}
