Radar Pulse Hero Scene
Decorative radar-sweep hero graphic with signal blips. Restyle via --lk-* CSS variables.
Install
npx shadcn@latest add https://visual-blocks.akiho.dev/r/radar-pulse-hero.jsonnpx skills add akifo/landerkitBlocks work with zero setup thanks to baked defaults. Set --lk-accent(and optionally --lk-bg / --lk-radius /--lk-font / --lk-grid) on :rootor any wrapper to restyle.
Source
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960 540" role="img" aria-label="Radar graphic — decorative" class="lk-block" data-lk="radar-pulse-hero" data-lk-contract="1">
<title>Radar graphic</title>
<desc>Decorative radar graphic. Illustrative shape only; any implied data is fictional.</desc>
<style>
/* lk-contract v1 — synced from blocks/_contract/header.css */
[data-lk="radar-pulse-hero"] {
--_accent: var(--lk-accent, #4BE0C3);
--_bg: var(--lk-bg, #0A0F14);
--_radius: var(--lk-radius, 12px);
--_i: oklch(from var(--_bg) clamp(0.14, (0.68 - l) * 999, 0.93) min(c, 0.03) h);
--_i2: color-mix(in oklab, var(--_i) 62%, transparent);
--_i3: color-mix(in oklab, var(--_i) 42%, transparent);
--_hair: color-mix(in oklab, var(--_i) 8%, transparent);
--_g: var(--lk-grid, color-mix(in oklab, var(--_i) 9%, transparent));
--_surf: color-mix(in oklab, var(--_accent) 3%, var(--_bg));
--_soft: color-mix(in oklab, var(--_accent) 24%, transparent);
--_faint: color-mix(in oklab, var(--_accent) 12%, transparent);
--_glow: color-mix(in oklab, var(--_accent) 55%, var(--_bg));
color: var(--_accent);
font-family: var(--lk-font, 'Inter','Neue Haas Grotesk','Helvetica Neue',Arial,sans-serif);
}
/* base ink: text flips with the bg via --_i; dim/semantic classes override (see CONVENTIONS.md) */
[data-lk="radar-pulse-hero"] text,
[data-lk="radar-pulse-hero"] tspan { fill: var(--_i); }
/* Layer 3: block-specific — every selector MUST start with [data-lk="radar-pulse-hero"] */
[data-lk="radar-pulse-hero"] .bed { fill: var(--_bg); }
[data-lk="radar-pulse-hero"] .grid { fill: none; stroke: var(--_g); stroke-width: 1; }
[data-lk="radar-pulse-hero"] .dots { fill: var(--_g); }
[data-lk="radar-pulse-hero"] .sw1 { fill: color-mix(in oklab, var(--_accent) 22%, transparent); }
[data-lk="radar-pulse-hero"] .sw2 { fill: color-mix(in oklab, var(--_accent) 15%, transparent); }
[data-lk="radar-pulse-hero"] .sw3 { fill: color-mix(in oklab, var(--_accent) 9%, transparent); }
[data-lk="radar-pulse-hero"] .sw4 { fill: color-mix(in oklab, var(--_accent) 5%, transparent); }
[data-lk="radar-pulse-hero"] .halo { fill: var(--_faint); }
[data-lk="radar-pulse-hero"] .dot { fill: var(--_surf); stroke: var(--_accent); stroke-width: 1.5; }
/* Hover motion (opt-out): 2 stages — (1) the sweep fan + blips + boresight bloom out
together from the radar origin so they stay locked in place; (2) the blips tick
clockwise from the sweep leading edge. The graticule bed stays static. Off for
reduced-motion visitors; set the motion token to 0 to force off. */
[data-lk="radar-pulse-hero"] .data { transform-box: view-box; transform-origin: 480px 270px; }
[data-lk="radar-pulse-hero"] .blip,
[data-lk="radar-pulse-hero"] .core { transform-box: fill-box; }
@media (prefers-reduced-motion: no-preference) {
[data-lk="radar-pulse-hero"]:hover .data { animation: lk-radar-pulse-hero-bloom calc(var(--lk-motion, 1) * .55s) cubic-bezier(.22,.61,.36,1) both; }
[data-lk="radar-pulse-hero"]:hover .blip,
[data-lk="radar-pulse-hero"]:hover .core { animation: lk-radar-pulse-hero-tick calc(var(--lk-motion, 1) * .4s) ease-out both; }
[data-lk="radar-pulse-hero"]:hover .core { animation-delay: calc(var(--lk-motion, 1) * .5s); }
[data-lk="radar-pulse-hero"]:hover .b1 { animation-delay: calc(var(--lk-motion, 1) * .58s); }
[data-lk="radar-pulse-hero"]:hover .b2 { animation-delay: calc(var(--lk-motion, 1) * .65s); }
[data-lk="radar-pulse-hero"]:hover .b3 { animation-delay: calc(var(--lk-motion, 1) * .72s); }
[data-lk="radar-pulse-hero"]:hover .b4 { animation-delay: calc(var(--lk-motion, 1) * .79s); }
[data-lk="radar-pulse-hero"]:hover .b5 { animation-delay: calc(var(--lk-motion, 1) * .86s); }
[data-lk="radar-pulse-hero"]:hover .b6 { animation-delay: calc(var(--lk-motion, 1) * .93s); }
}
@keyframes lk-radar-pulse-hero-bloom { from { transform: scale(.25); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes lk-radar-pulse-hero-tick { 0% { transform: scale(1); } 45% { transform: scale(1.4); } 100% { transform: scale(1); } }
</style>
<rect class="bed" x="0" y="0" width="960" height="540" fill="#0A0F14"/>
<!-- graticule bed: fine dot grid (2px, 24px pitch), concentric instrument rings, open-center reticle, réseau calibration crosses. all on the grid token (silenced when lk-grid is transparent) -->
<path class="dots" d="M23 23h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2z" fill="#1C262C"/>
<circle class="grid" cx="480" cy="270" r="124" fill="none" stroke="#1C262C" stroke-width="1"/>
<circle class="grid" cx="480" cy="270" r="166" fill="none" stroke="#1C262C" stroke-width="1"/>
<circle class="grid" cx="480" cy="270" r="208" fill="none" stroke="#1C262C" stroke-width="1"/>
<circle class="grid" cx="480" cy="270" r="250" fill="none" stroke="#1C262C" stroke-width="1"/>
<path class="grid" d="M480 20V254M480 286V520M230 270H464M496 270H730" fill="none" stroke="#1C262C" stroke-width="1"/>
<path class="grid" d="M97 130h6M100 127v6M97 410h6M100 407v6M857 130h6M860 127v6M857 410h6M860 407v6M57 270h6M60 267v6M897 270h6M900 267v6" fill="none" stroke="#1C262C" stroke-width="1"/>
<!-- radar returns: sweep fan + blips + boresight bloom out together from the origin (one group = linked); the graticule bed above stays static -->
<g class="data">
<!-- sweep wedge: 4 stacked flat semi-transparent annular sectors (no gradient), decaying from the leading edge -->
<path class="sw1" d="M542 162.6L605 53.5A250 250 0 0 1 656.8 93.2L567.7 182.3A124 124 0 0 0 542 162.6Z" fill="#4BE0C338"/>
<path class="sw2" d="M567.7 182.3L656.8 93.2A250 250 0 0 1 696.5 145L587.4 208A124 124 0 0 0 567.7 182.3Z" fill="#4BE0C326"/>
<path class="sw3" d="M587.4 208L696.5 145A250 250 0 0 1 721.5 205.3L599.8 237.9A124 124 0 0 0 587.4 208Z" fill="#4BE0C317"/>
<path class="sw4" d="M599.8 237.9L721.5 205.3A250 250 0 0 1 730 270L604 270A124 124 0 0 0 599.8 237.9Z" fill="#4BE0C30D"/>
<!-- radar blips: faint accent halos + punched calibration dots (surface core + accent ring), never a solid accent dot. each halo+dot grouped so the pair ticks together; classes b1..b6 order the stage-2 tick clockwise from the sweep leading edge -->
<g class="blip b1">
<circle class="halo" cx="599.3" cy="99.6" r="9" fill="#4BE0C31F"/>
<circle class="dot" cx="599.3" cy="99.6" r="2.6" fill="#0E141B" stroke="#4BE0C3" stroke-width="1.5"/>
</g>
<g class="blip b2">
<circle class="halo" cx="575" cy="349.7" r="9" fill="#4BE0C31F"/>
<circle class="dot" cx="575" cy="349.7" r="2.6" fill="#0E141B" stroke="#4BE0C3" stroke-width="1.5"/>
</g>
<g class="blip b3">
<circle class="halo" cx="402.1" cy="416.6" r="6" fill="#4BE0C31F"/>
<circle class="dot" cx="402.1" cy="416.6" r="1.9" fill="#0E141B" stroke="#4BE0C3" stroke-width="1.5"/>
</g>
<g class="blip b4">
<circle class="halo" cx="291.5" cy="357.9" r="9" fill="#4BE0C31F"/>
<circle class="dot" cx="291.5" cy="357.9" r="2.6" fill="#0E141B" stroke="#4BE0C3" stroke-width="1.5"/>
</g>
<g class="blip b5">
<circle class="halo" cx="362.6" cy="152.6" r="9" fill="#4BE0C31F"/>
<circle class="dot" cx="362.6" cy="152.6" r="2.6" fill="#0E141B" stroke="#4BE0C3" stroke-width="1.5"/>
</g>
<g class="blip b6">
<circle class="halo" cx="461.9" cy="62.8" r="6" fill="#4BE0C31F"/>
<circle class="dot" cx="461.9" cy="62.8" r="1.9" fill="#0E141B" stroke="#4BE0C3" stroke-width="1.5"/>
</g>
<!-- origin boresight: faint halo + punched center dot at the reticle intersection -->
<g class="core">
<circle class="halo" cx="480" cy="270" r="9" fill="#4BE0C31F"/>
<circle class="dot" cx="480" cy="270" r="2.6" fill="#0E141B" stroke="#4BE0C3" stroke-width="1.5"/>
</g>
</g>
</svg>
/* GENERATED FROM blocks/ (catalog.json + *.svg + _contract/) — DO NOT EDIT. Run `pnpm generate`. */
import type { HTMLAttributes } from 'react';
const svg = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 960 540\" role=\"img\" aria-label=\"Radar graphic — decorative\" class=\"lk-block\" data-lk=\"radar-pulse-hero\" data-lk-contract=\"1\">\n <title>Radar graphic</title>\n <desc>Decorative radar graphic. Illustrative shape only; any implied data is fictional.</desc>\n <style>\n /* lk-contract v1 — synced from blocks/_contract/header.css */\n [data-lk=\"radar-pulse-hero\"] {\n --_accent: var(--lk-accent, #4BE0C3);\n --_bg: var(--lk-bg, #0A0F14);\n --_radius: var(--lk-radius, 12px);\n --_i: oklch(from var(--_bg) clamp(0.14, (0.68 - l) * 999, 0.93) min(c, 0.03) h);\n --_i2: color-mix(in oklab, var(--_i) 62%, transparent);\n --_i3: color-mix(in oklab, var(--_i) 42%, transparent);\n --_hair: color-mix(in oklab, var(--_i) 8%, transparent);\n --_g: var(--lk-grid, color-mix(in oklab, var(--_i) 9%, transparent));\n --_surf: color-mix(in oklab, var(--_accent) 3%, var(--_bg));\n --_soft: color-mix(in oklab, var(--_accent) 24%, transparent);\n --_faint: color-mix(in oklab, var(--_accent) 12%, transparent);\n --_glow: color-mix(in oklab, var(--_accent) 55%, var(--_bg));\n color: var(--_accent);\n font-family: var(--lk-font, 'Inter','Neue Haas Grotesk','Helvetica Neue',Arial,sans-serif);\n }\n /* base ink: text flips with the bg via --_i; dim/semantic classes override (see CONVENTIONS.md) */\n [data-lk=\"radar-pulse-hero\"] text,\n [data-lk=\"radar-pulse-hero\"] tspan { fill: var(--_i); }\n\n\n /* Layer 3: block-specific — every selector MUST start with [data-lk=\"radar-pulse-hero\"] */\n [data-lk=\"radar-pulse-hero\"] .bed { fill: var(--_bg); }\n [data-lk=\"radar-pulse-hero\"] .grid { fill: none; stroke: var(--_g); stroke-width: 1; }\n [data-lk=\"radar-pulse-hero\"] .dots { fill: var(--_g); }\n [data-lk=\"radar-pulse-hero\"] .sw1 { fill: color-mix(in oklab, var(--_accent) 22%, transparent); }\n [data-lk=\"radar-pulse-hero\"] .sw2 { fill: color-mix(in oklab, var(--_accent) 15%, transparent); }\n [data-lk=\"radar-pulse-hero\"] .sw3 { fill: color-mix(in oklab, var(--_accent) 9%, transparent); }\n [data-lk=\"radar-pulse-hero\"] .sw4 { fill: color-mix(in oklab, var(--_accent) 5%, transparent); }\n [data-lk=\"radar-pulse-hero\"] .halo { fill: var(--_faint); }\n [data-lk=\"radar-pulse-hero\"] .dot { fill: var(--_surf); stroke: var(--_accent); stroke-width: 1.5; }\n\n /* Hover motion (opt-out): 2 stages — (1) the sweep fan + blips + boresight bloom out\n together from the radar origin so they stay locked in place; (2) the blips tick\n clockwise from the sweep leading edge. The graticule bed stays static. Off for\n reduced-motion visitors; set the motion token to 0 to force off. */\n [data-lk=\"radar-pulse-hero\"] .data { transform-box: view-box; transform-origin: 480px 270px; }\n [data-lk=\"radar-pulse-hero\"] .blip,\n [data-lk=\"radar-pulse-hero\"] .core { transform-box: fill-box; }\n @media (prefers-reduced-motion: no-preference) {\n [data-lk=\"radar-pulse-hero\"]:hover .data { animation: lk-radar-pulse-hero-bloom calc(var(--lk-motion, 1) * .55s) cubic-bezier(.22,.61,.36,1) both; }\n [data-lk=\"radar-pulse-hero\"]:hover .blip,\n [data-lk=\"radar-pulse-hero\"]:hover .core { animation: lk-radar-pulse-hero-tick calc(var(--lk-motion, 1) * .4s) ease-out both; }\n [data-lk=\"radar-pulse-hero\"]:hover .core { animation-delay: calc(var(--lk-motion, 1) * .5s); }\n [data-lk=\"radar-pulse-hero\"]:hover .b1 { animation-delay: calc(var(--lk-motion, 1) * .58s); }\n [data-lk=\"radar-pulse-hero\"]:hover .b2 { animation-delay: calc(var(--lk-motion, 1) * .65s); }\n [data-lk=\"radar-pulse-hero\"]:hover .b3 { animation-delay: calc(var(--lk-motion, 1) * .72s); }\n [data-lk=\"radar-pulse-hero\"]:hover .b4 { animation-delay: calc(var(--lk-motion, 1) * .79s); }\n [data-lk=\"radar-pulse-hero\"]:hover .b5 { animation-delay: calc(var(--lk-motion, 1) * .86s); }\n [data-lk=\"radar-pulse-hero\"]:hover .b6 { animation-delay: calc(var(--lk-motion, 1) * .93s); }\n }\n @keyframes lk-radar-pulse-hero-bloom { from { transform: scale(.25); opacity: 0; } to { transform: scale(1); opacity: 1; } }\n @keyframes lk-radar-pulse-hero-tick { 0% { transform: scale(1); } 45% { transform: scale(1.4); } 100% { transform: scale(1); } }\n </style>\n\n <rect class=\"bed\" x=\"0\" y=\"0\" width=\"960\" height=\"540\" fill=\"#0A0F14\"/>\n\n <!-- graticule bed: fine dot grid (2px, 24px pitch), concentric instrument rings, open-center reticle, réseau calibration crosses. all on the grid token (silenced when lk-grid is transparent) -->\n <path class=\"dots\" d=\"M23 23h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2z\" fill=\"#1C262C\"/>\n <circle class=\"grid\" cx=\"480\" cy=\"270\" r=\"124\" fill=\"none\" stroke=\"#1C262C\" stroke-width=\"1\"/>\n <circle class=\"grid\" cx=\"480\" cy=\"270\" r=\"166\" fill=\"none\" stroke=\"#1C262C\" stroke-width=\"1\"/>\n <circle class=\"grid\" cx=\"480\" cy=\"270\" r=\"208\" fill=\"none\" stroke=\"#1C262C\" stroke-width=\"1\"/>\n <circle class=\"grid\" cx=\"480\" cy=\"270\" r=\"250\" fill=\"none\" stroke=\"#1C262C\" stroke-width=\"1\"/>\n <path class=\"grid\" d=\"M480 20V254M480 286V520M230 270H464M496 270H730\" fill=\"none\" stroke=\"#1C262C\" stroke-width=\"1\"/>\n <path class=\"grid\" d=\"M97 130h6M100 127v6M97 410h6M100 407v6M857 130h6M860 127v6M857 410h6M860 407v6M57 270h6M60 267v6M897 270h6M900 267v6\" fill=\"none\" stroke=\"#1C262C\" stroke-width=\"1\"/>\n\n <!-- radar returns: sweep fan + blips + boresight bloom out together from the origin (one group = linked); the graticule bed above stays static -->\n <g class=\"data\">\n <!-- sweep wedge: 4 stacked flat semi-transparent annular sectors (no gradient), decaying from the leading edge -->\n <path class=\"sw1\" d=\"M542 162.6L605 53.5A250 250 0 0 1 656.8 93.2L567.7 182.3A124 124 0 0 0 542 162.6Z\" fill=\"#4BE0C338\"/>\n <path class=\"sw2\" d=\"M567.7 182.3L656.8 93.2A250 250 0 0 1 696.5 145L587.4 208A124 124 0 0 0 567.7 182.3Z\" fill=\"#4BE0C326\"/>\n <path class=\"sw3\" d=\"M587.4 208L696.5 145A250 250 0 0 1 721.5 205.3L599.8 237.9A124 124 0 0 0 587.4 208Z\" fill=\"#4BE0C317\"/>\n <path class=\"sw4\" d=\"M599.8 237.9L721.5 205.3A250 250 0 0 1 730 270L604 270A124 124 0 0 0 599.8 237.9Z\" fill=\"#4BE0C30D\"/>\n\n <!-- radar blips: faint accent halos + punched calibration dots (surface core + accent ring), never a solid accent dot. each halo+dot grouped so the pair ticks together; classes b1..b6 order the stage-2 tick clockwise from the sweep leading edge -->\n <g class=\"blip b1\">\n <circle class=\"halo\" cx=\"599.3\" cy=\"99.6\" r=\"9\" fill=\"#4BE0C31F\"/>\n <circle class=\"dot\" cx=\"599.3\" cy=\"99.6\" r=\"2.6\" fill=\"#0E141B\" stroke=\"#4BE0C3\" stroke-width=\"1.5\"/>\n </g>\n <g class=\"blip b2\">\n <circle class=\"halo\" cx=\"575\" cy=\"349.7\" r=\"9\" fill=\"#4BE0C31F\"/>\n <circle class=\"dot\" cx=\"575\" cy=\"349.7\" r=\"2.6\" fill=\"#0E141B\" stroke=\"#4BE0C3\" stroke-width=\"1.5\"/>\n </g>\n <g class=\"blip b3\">\n <circle class=\"halo\" cx=\"402.1\" cy=\"416.6\" r=\"6\" fill=\"#4BE0C31F\"/>\n <circle class=\"dot\" cx=\"402.1\" cy=\"416.6\" r=\"1.9\" fill=\"#0E141B\" stroke=\"#4BE0C3\" stroke-width=\"1.5\"/>\n </g>\n <g class=\"blip b4\">\n <circle class=\"halo\" cx=\"291.5\" cy=\"357.9\" r=\"9\" fill=\"#4BE0C31F\"/>\n <circle class=\"dot\" cx=\"291.5\" cy=\"357.9\" r=\"2.6\" fill=\"#0E141B\" stroke=\"#4BE0C3\" stroke-width=\"1.5\"/>\n </g>\n <g class=\"blip b5\">\n <circle class=\"halo\" cx=\"362.6\" cy=\"152.6\" r=\"9\" fill=\"#4BE0C31F\"/>\n <circle class=\"dot\" cx=\"362.6\" cy=\"152.6\" r=\"2.6\" fill=\"#0E141B\" stroke=\"#4BE0C3\" stroke-width=\"1.5\"/>\n </g>\n <g class=\"blip b6\">\n <circle class=\"halo\" cx=\"461.9\" cy=\"62.8\" r=\"6\" fill=\"#4BE0C31F\"/>\n <circle class=\"dot\" cx=\"461.9\" cy=\"62.8\" r=\"1.9\" fill=\"#0E141B\" stroke=\"#4BE0C3\" stroke-width=\"1.5\"/>\n </g>\n\n <!-- origin boresight: faint halo + punched center dot at the reticle intersection -->\n <g class=\"core\">\n <circle class=\"halo\" cx=\"480\" cy=\"270\" r=\"9\" fill=\"#4BE0C31F\"/>\n <circle class=\"dot\" cx=\"480\" cy=\"270\" r=\"2.6\" fill=\"#0E141B\" stroke=\"#4BE0C3\" stroke-width=\"1.5\"/>\n </g>\n </g>\n</svg>\n";
export function RadarPulseHeroScene(props: HTMLAttributes<HTMLDivElement>) {
return <div {...props} dangerouslySetInnerHTML={{ __html: svg }} />;
}
export default RadarPulseHeroScene;
<!-- GENERATED FROM blocks/ (catalog.json + *.svg + _contract/) — DO NOT EDIT. Run `pnpm generate`. -->
<template>
<div v-html="svg" />
</template>
<script setup lang="ts">
const svg = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 960 540\" role=\"img\" aria-label=\"Radar graphic — decorative\" class=\"lk-block\" data-lk=\"radar-pulse-hero\" data-lk-contract=\"1\">\n <title>Radar graphic</title>\n <desc>Decorative radar graphic. Illustrative shape only; any implied data is fictional.</desc>\n <style>\n /* lk-contract v1 — synced from blocks/_contract/header.css */\n [data-lk=\"radar-pulse-hero\"] {\n --_accent: var(--lk-accent, #4BE0C3);\n --_bg: var(--lk-bg, #0A0F14);\n --_radius: var(--lk-radius, 12px);\n --_i: oklch(from var(--_bg) clamp(0.14, (0.68 - l) * 999, 0.93) min(c, 0.03) h);\n --_i2: color-mix(in oklab, var(--_i) 62%, transparent);\n --_i3: color-mix(in oklab, var(--_i) 42%, transparent);\n --_hair: color-mix(in oklab, var(--_i) 8%, transparent);\n --_g: var(--lk-grid, color-mix(in oklab, var(--_i) 9%, transparent));\n --_surf: color-mix(in oklab, var(--_accent) 3%, var(--_bg));\n --_soft: color-mix(in oklab, var(--_accent) 24%, transparent);\n --_faint: color-mix(in oklab, var(--_accent) 12%, transparent);\n --_glow: color-mix(in oklab, var(--_accent) 55%, var(--_bg));\n color: var(--_accent);\n font-family: var(--lk-font, 'Inter','Neue Haas Grotesk','Helvetica Neue',Arial,sans-serif);\n }\n /* base ink: text flips with the bg via --_i; dim/semantic classes override (see CONVENTIONS.md) */\n [data-lk=\"radar-pulse-hero\"] text,\n [data-lk=\"radar-pulse-hero\"] tspan { fill: var(--_i); }\n\n\n /* Layer 3: block-specific — every selector MUST start with [data-lk=\"radar-pulse-hero\"] */\n [data-lk=\"radar-pulse-hero\"] .bed { fill: var(--_bg); }\n [data-lk=\"radar-pulse-hero\"] .grid { fill: none; stroke: var(--_g); stroke-width: 1; }\n [data-lk=\"radar-pulse-hero\"] .dots { fill: var(--_g); }\n [data-lk=\"radar-pulse-hero\"] .sw1 { fill: color-mix(in oklab, var(--_accent) 22%, transparent); }\n [data-lk=\"radar-pulse-hero\"] .sw2 { fill: color-mix(in oklab, var(--_accent) 15%, transparent); }\n [data-lk=\"radar-pulse-hero\"] .sw3 { fill: color-mix(in oklab, var(--_accent) 9%, transparent); }\n [data-lk=\"radar-pulse-hero\"] .sw4 { fill: color-mix(in oklab, var(--_accent) 5%, transparent); }\n [data-lk=\"radar-pulse-hero\"] .halo { fill: var(--_faint); }\n [data-lk=\"radar-pulse-hero\"] .dot { fill: var(--_surf); stroke: var(--_accent); stroke-width: 1.5; }\n\n /* Hover motion (opt-out): 2 stages — (1) the sweep fan + blips + boresight bloom out\n together from the radar origin so they stay locked in place; (2) the blips tick\n clockwise from the sweep leading edge. The graticule bed stays static. Off for\n reduced-motion visitors; set the motion token to 0 to force off. */\n [data-lk=\"radar-pulse-hero\"] .data { transform-box: view-box; transform-origin: 480px 270px; }\n [data-lk=\"radar-pulse-hero\"] .blip,\n [data-lk=\"radar-pulse-hero\"] .core { transform-box: fill-box; }\n @media (prefers-reduced-motion: no-preference) {\n [data-lk=\"radar-pulse-hero\"]:hover .data { animation: lk-radar-pulse-hero-bloom calc(var(--lk-motion, 1) * .55s) cubic-bezier(.22,.61,.36,1) both; }\n [data-lk=\"radar-pulse-hero\"]:hover .blip,\n [data-lk=\"radar-pulse-hero\"]:hover .core { animation: lk-radar-pulse-hero-tick calc(var(--lk-motion, 1) * .4s) ease-out both; }\n [data-lk=\"radar-pulse-hero\"]:hover .core { animation-delay: calc(var(--lk-motion, 1) * .5s); }\n [data-lk=\"radar-pulse-hero\"]:hover .b1 { animation-delay: calc(var(--lk-motion, 1) * .58s); }\n [data-lk=\"radar-pulse-hero\"]:hover .b2 { animation-delay: calc(var(--lk-motion, 1) * .65s); }\n [data-lk=\"radar-pulse-hero\"]:hover .b3 { animation-delay: calc(var(--lk-motion, 1) * .72s); }\n [data-lk=\"radar-pulse-hero\"]:hover .b4 { animation-delay: calc(var(--lk-motion, 1) * .79s); }\n [data-lk=\"radar-pulse-hero\"]:hover .b5 { animation-delay: calc(var(--lk-motion, 1) * .86s); }\n [data-lk=\"radar-pulse-hero\"]:hover .b6 { animation-delay: calc(var(--lk-motion, 1) * .93s); }\n }\n @keyframes lk-radar-pulse-hero-bloom { from { transform: scale(.25); opacity: 0; } to { transform: scale(1); opacity: 1; } }\n @keyframes lk-radar-pulse-hero-tick { 0% { transform: scale(1); } 45% { transform: scale(1.4); } 100% { transform: scale(1); } }\n </style>\n\n <rect class=\"bed\" x=\"0\" y=\"0\" width=\"960\" height=\"540\" fill=\"#0A0F14\"/>\n\n <!-- graticule bed: fine dot grid (2px, 24px pitch), concentric instrument rings, open-center reticle, réseau calibration crosses. all on the grid token (silenced when lk-grid is transparent) -->\n <path class=\"dots\" d=\"M23 23h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2z\" fill=\"#1C262C\"/>\n <circle class=\"grid\" cx=\"480\" cy=\"270\" r=\"124\" fill=\"none\" stroke=\"#1C262C\" stroke-width=\"1\"/>\n <circle class=\"grid\" cx=\"480\" cy=\"270\" r=\"166\" fill=\"none\" stroke=\"#1C262C\" stroke-width=\"1\"/>\n <circle class=\"grid\" cx=\"480\" cy=\"270\" r=\"208\" fill=\"none\" stroke=\"#1C262C\" stroke-width=\"1\"/>\n <circle class=\"grid\" cx=\"480\" cy=\"270\" r=\"250\" fill=\"none\" stroke=\"#1C262C\" stroke-width=\"1\"/>\n <path class=\"grid\" d=\"M480 20V254M480 286V520M230 270H464M496 270H730\" fill=\"none\" stroke=\"#1C262C\" stroke-width=\"1\"/>\n <path class=\"grid\" d=\"M97 130h6M100 127v6M97 410h6M100 407v6M857 130h6M860 127v6M857 410h6M860 407v6M57 270h6M60 267v6M897 270h6M900 267v6\" fill=\"none\" stroke=\"#1C262C\" stroke-width=\"1\"/>\n\n <!-- radar returns: sweep fan + blips + boresight bloom out together from the origin (one group = linked); the graticule bed above stays static -->\n <g class=\"data\">\n <!-- sweep wedge: 4 stacked flat semi-transparent annular sectors (no gradient), decaying from the leading edge -->\n <path class=\"sw1\" d=\"M542 162.6L605 53.5A250 250 0 0 1 656.8 93.2L567.7 182.3A124 124 0 0 0 542 162.6Z\" fill=\"#4BE0C338\"/>\n <path class=\"sw2\" d=\"M567.7 182.3L656.8 93.2A250 250 0 0 1 696.5 145L587.4 208A124 124 0 0 0 567.7 182.3Z\" fill=\"#4BE0C326\"/>\n <path class=\"sw3\" d=\"M587.4 208L696.5 145A250 250 0 0 1 721.5 205.3L599.8 237.9A124 124 0 0 0 587.4 208Z\" fill=\"#4BE0C317\"/>\n <path class=\"sw4\" d=\"M599.8 237.9L721.5 205.3A250 250 0 0 1 730 270L604 270A124 124 0 0 0 599.8 237.9Z\" fill=\"#4BE0C30D\"/>\n\n <!-- radar blips: faint accent halos + punched calibration dots (surface core + accent ring), never a solid accent dot. each halo+dot grouped so the pair ticks together; classes b1..b6 order the stage-2 tick clockwise from the sweep leading edge -->\n <g class=\"blip b1\">\n <circle class=\"halo\" cx=\"599.3\" cy=\"99.6\" r=\"9\" fill=\"#4BE0C31F\"/>\n <circle class=\"dot\" cx=\"599.3\" cy=\"99.6\" r=\"2.6\" fill=\"#0E141B\" stroke=\"#4BE0C3\" stroke-width=\"1.5\"/>\n </g>\n <g class=\"blip b2\">\n <circle class=\"halo\" cx=\"575\" cy=\"349.7\" r=\"9\" fill=\"#4BE0C31F\"/>\n <circle class=\"dot\" cx=\"575\" cy=\"349.7\" r=\"2.6\" fill=\"#0E141B\" stroke=\"#4BE0C3\" stroke-width=\"1.5\"/>\n </g>\n <g class=\"blip b3\">\n <circle class=\"halo\" cx=\"402.1\" cy=\"416.6\" r=\"6\" fill=\"#4BE0C31F\"/>\n <circle class=\"dot\" cx=\"402.1\" cy=\"416.6\" r=\"1.9\" fill=\"#0E141B\" stroke=\"#4BE0C3\" stroke-width=\"1.5\"/>\n </g>\n <g class=\"blip b4\">\n <circle class=\"halo\" cx=\"291.5\" cy=\"357.9\" r=\"9\" fill=\"#4BE0C31F\"/>\n <circle class=\"dot\" cx=\"291.5\" cy=\"357.9\" r=\"2.6\" fill=\"#0E141B\" stroke=\"#4BE0C3\" stroke-width=\"1.5\"/>\n </g>\n <g class=\"blip b5\">\n <circle class=\"halo\" cx=\"362.6\" cy=\"152.6\" r=\"9\" fill=\"#4BE0C31F\"/>\n <circle class=\"dot\" cx=\"362.6\" cy=\"152.6\" r=\"2.6\" fill=\"#0E141B\" stroke=\"#4BE0C3\" stroke-width=\"1.5\"/>\n </g>\n <g class=\"blip b6\">\n <circle class=\"halo\" cx=\"461.9\" cy=\"62.8\" r=\"6\" fill=\"#4BE0C31F\"/>\n <circle class=\"dot\" cx=\"461.9\" cy=\"62.8\" r=\"1.9\" fill=\"#0E141B\" stroke=\"#4BE0C3\" stroke-width=\"1.5\"/>\n </g>\n\n <!-- origin boresight: faint halo + punched center dot at the reticle intersection -->\n <g class=\"core\">\n <circle class=\"halo\" cx=\"480\" cy=\"270\" r=\"9\" fill=\"#4BE0C31F\"/>\n <circle class=\"dot\" cx=\"480\" cy=\"270\" r=\"2.6\" fill=\"#0E141B\" stroke=\"#4BE0C3\" stroke-width=\"1.5\"/>\n </g>\n </g>\n</svg>\n";
</script>
<div style="--lk-accent: #4BE0C3; --lk-bg: #0A0F14;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960 540" role="img" aria-label="Radar graphic — decorative" class="lk-block" data-lk="radar-pulse-hero" data-lk-contract="1">
<title>Radar graphic</title>
<desc>Decorative radar graphic. Illustrative shape only; any implied data is fictional.</desc>
<style>
/* lk-contract v1 — synced from blocks/_contract/header.css */
[data-lk="radar-pulse-hero"] {
--_accent: var(--lk-accent, #4BE0C3);
--_bg: var(--lk-bg, #0A0F14);
--_radius: var(--lk-radius, 12px);
--_i: oklch(from var(--_bg) clamp(0.14, (0.68 - l) * 999, 0.93) min(c, 0.03) h);
--_i2: color-mix(in oklab, var(--_i) 62%, transparent);
--_i3: color-mix(in oklab, var(--_i) 42%, transparent);
--_hair: color-mix(in oklab, var(--_i) 8%, transparent);
--_g: var(--lk-grid, color-mix(in oklab, var(--_i) 9%, transparent));
--_surf: color-mix(in oklab, var(--_accent) 3%, var(--_bg));
--_soft: color-mix(in oklab, var(--_accent) 24%, transparent);
--_faint: color-mix(in oklab, var(--_accent) 12%, transparent);
--_glow: color-mix(in oklab, var(--_accent) 55%, var(--_bg));
color: var(--_accent);
font-family: var(--lk-font, 'Inter','Neue Haas Grotesk','Helvetica Neue',Arial,sans-serif);
}
/* base ink: text flips with the bg via --_i; dim/semantic classes override (see CONVENTIONS.md) */
[data-lk="radar-pulse-hero"] text,
[data-lk="radar-pulse-hero"] tspan { fill: var(--_i); }
/* Layer 3: block-specific — every selector MUST start with [data-lk="radar-pulse-hero"] */
[data-lk="radar-pulse-hero"] .bed { fill: var(--_bg); }
[data-lk="radar-pulse-hero"] .grid { fill: none; stroke: var(--_g); stroke-width: 1; }
[data-lk="radar-pulse-hero"] .dots { fill: var(--_g); }
[data-lk="radar-pulse-hero"] .sw1 { fill: color-mix(in oklab, var(--_accent) 22%, transparent); }
[data-lk="radar-pulse-hero"] .sw2 { fill: color-mix(in oklab, var(--_accent) 15%, transparent); }
[data-lk="radar-pulse-hero"] .sw3 { fill: color-mix(in oklab, var(--_accent) 9%, transparent); }
[data-lk="radar-pulse-hero"] .sw4 { fill: color-mix(in oklab, var(--_accent) 5%, transparent); }
[data-lk="radar-pulse-hero"] .halo { fill: var(--_faint); }
[data-lk="radar-pulse-hero"] .dot { fill: var(--_surf); stroke: var(--_accent); stroke-width: 1.5; }
/* Hover motion (opt-out): 2 stages — (1) the sweep fan + blips + boresight bloom out
together from the radar origin so they stay locked in place; (2) the blips tick
clockwise from the sweep leading edge. The graticule bed stays static. Off for
reduced-motion visitors; set the motion token to 0 to force off. */
[data-lk="radar-pulse-hero"] .data { transform-box: view-box; transform-origin: 480px 270px; }
[data-lk="radar-pulse-hero"] .blip,
[data-lk="radar-pulse-hero"] .core { transform-box: fill-box; }
@media (prefers-reduced-motion: no-preference) {
[data-lk="radar-pulse-hero"]:hover .data { animation: lk-radar-pulse-hero-bloom calc(var(--lk-motion, 1) * .55s) cubic-bezier(.22,.61,.36,1) both; }
[data-lk="radar-pulse-hero"]:hover .blip,
[data-lk="radar-pulse-hero"]:hover .core { animation: lk-radar-pulse-hero-tick calc(var(--lk-motion, 1) * .4s) ease-out both; }
[data-lk="radar-pulse-hero"]:hover .core { animation-delay: calc(var(--lk-motion, 1) * .5s); }
[data-lk="radar-pulse-hero"]:hover .b1 { animation-delay: calc(var(--lk-motion, 1) * .58s); }
[data-lk="radar-pulse-hero"]:hover .b2 { animation-delay: calc(var(--lk-motion, 1) * .65s); }
[data-lk="radar-pulse-hero"]:hover .b3 { animation-delay: calc(var(--lk-motion, 1) * .72s); }
[data-lk="radar-pulse-hero"]:hover .b4 { animation-delay: calc(var(--lk-motion, 1) * .79s); }
[data-lk="radar-pulse-hero"]:hover .b5 { animation-delay: calc(var(--lk-motion, 1) * .86s); }
[data-lk="radar-pulse-hero"]:hover .b6 { animation-delay: calc(var(--lk-motion, 1) * .93s); }
}
@keyframes lk-radar-pulse-hero-bloom { from { transform: scale(.25); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes lk-radar-pulse-hero-tick { 0% { transform: scale(1); } 45% { transform: scale(1.4); } 100% { transform: scale(1); } }
</style>
<rect class="bed" x="0" y="0" width="960" height="540" fill="#0A0F14"/>
<!-- graticule bed: fine dot grid (2px, 24px pitch), concentric instrument rings, open-center reticle, réseau calibration crosses. all on the grid token (silenced when lk-grid is transparent) -->
<path class="dots" d="M23 23h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm288 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm-912 24h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2zm24 0h2v2h-2z" fill="#1C262C"/>
<circle class="grid" cx="480" cy="270" r="124" fill="none" stroke="#1C262C" stroke-width="1"/>
<circle class="grid" cx="480" cy="270" r="166" fill="none" stroke="#1C262C" stroke-width="1"/>
<circle class="grid" cx="480" cy="270" r="208" fill="none" stroke="#1C262C" stroke-width="1"/>
<circle class="grid" cx="480" cy="270" r="250" fill="none" stroke="#1C262C" stroke-width="1"/>
<path class="grid" d="M480 20V254M480 286V520M230 270H464M496 270H730" fill="none" stroke="#1C262C" stroke-width="1"/>
<path class="grid" d="M97 130h6M100 127v6M97 410h6M100 407v6M857 130h6M860 127v6M857 410h6M860 407v6M57 270h6M60 267v6M897 270h6M900 267v6" fill="none" stroke="#1C262C" stroke-width="1"/>
<!-- radar returns: sweep fan + blips + boresight bloom out together from the origin (one group = linked); the graticule bed above stays static -->
<g class="data">
<!-- sweep wedge: 4 stacked flat semi-transparent annular sectors (no gradient), decaying from the leading edge -->
<path class="sw1" d="M542 162.6L605 53.5A250 250 0 0 1 656.8 93.2L567.7 182.3A124 124 0 0 0 542 162.6Z" fill="#4BE0C338"/>
<path class="sw2" d="M567.7 182.3L656.8 93.2A250 250 0 0 1 696.5 145L587.4 208A124 124 0 0 0 567.7 182.3Z" fill="#4BE0C326"/>
<path class="sw3" d="M587.4 208L696.5 145A250 250 0 0 1 721.5 205.3L599.8 237.9A124 124 0 0 0 587.4 208Z" fill="#4BE0C317"/>
<path class="sw4" d="M599.8 237.9L721.5 205.3A250 250 0 0 1 730 270L604 270A124 124 0 0 0 599.8 237.9Z" fill="#4BE0C30D"/>
<!-- radar blips: faint accent halos + punched calibration dots (surface core + accent ring), never a solid accent dot. each halo+dot grouped so the pair ticks together; classes b1..b6 order the stage-2 tick clockwise from the sweep leading edge -->
<g class="blip b1">
<circle class="halo" cx="599.3" cy="99.6" r="9" fill="#4BE0C31F"/>
<circle class="dot" cx="599.3" cy="99.6" r="2.6" fill="#0E141B" stroke="#4BE0C3" stroke-width="1.5"/>
</g>
<g class="blip b2">
<circle class="halo" cx="575" cy="349.7" r="9" fill="#4BE0C31F"/>
<circle class="dot" cx="575" cy="349.7" r="2.6" fill="#0E141B" stroke="#4BE0C3" stroke-width="1.5"/>
</g>
<g class="blip b3">
<circle class="halo" cx="402.1" cy="416.6" r="6" fill="#4BE0C31F"/>
<circle class="dot" cx="402.1" cy="416.6" r="1.9" fill="#0E141B" stroke="#4BE0C3" stroke-width="1.5"/>
</g>
<g class="blip b4">
<circle class="halo" cx="291.5" cy="357.9" r="9" fill="#4BE0C31F"/>
<circle class="dot" cx="291.5" cy="357.9" r="2.6" fill="#0E141B" stroke="#4BE0C3" stroke-width="1.5"/>
</g>
<g class="blip b5">
<circle class="halo" cx="362.6" cy="152.6" r="9" fill="#4BE0C31F"/>
<circle class="dot" cx="362.6" cy="152.6" r="2.6" fill="#0E141B" stroke="#4BE0C3" stroke-width="1.5"/>
</g>
<g class="blip b6">
<circle class="halo" cx="461.9" cy="62.8" r="6" fill="#4BE0C31F"/>
<circle class="dot" cx="461.9" cy="62.8" r="1.9" fill="#0E141B" stroke="#4BE0C3" stroke-width="1.5"/>
</g>
<!-- origin boresight: faint halo + punched center dot at the reticle intersection -->
<g class="core">
<circle class="halo" cx="480" cy="270" r="9" fill="#4BE0C31F"/>
<circle class="dot" cx="480" cy="270" r="2.6" fill="#0E141B" stroke="#4BE0C3" stroke-width="1.5"/>
</g>
</g>
</svg>
</div>