and a `@drawable/` of our own for the background instead.

**The background is a vector drawable, not a colour and not five PNGs.**
`drawable/ic_launcher_ground.xml` carries the desktop icon's own ground —
concept 04's navy surface and the cyan glow off its top-left — mapped onto the
whole 108-unit layer, every number the kit's `src-tauri/icons/icon.svg`
multiplied by 108/1024. The flat `#05080B` was three quarters of what a masked
tile shows (the falcon covers about a quarter of it), and the glow survives
every mask: the visible top-left corner goes from `#05080B` to `#0E3543`. The
`rx="232"` on the kit's rects is not carried over; on the phone the launcher's
mask does that job.

A vector rather than a PNG set because this artwork happens to fit one.
Android's `android:type="radial"` is a circle — centre and radius, no
transform of its own — and the kit's glow is
`translate(270 220) rotate(43) scale(660)`, a **uniform** scale, so the
ellipse *is* a circle and the rotation is a no-op. Had that scale been two
numbers, no vector could have said it and this would be five rendered PNGs.
The other cheap route, a `<layer-list>` of two `<shape>`s, is out on the
linear axis alone: the concept's is 51.1° off horizontal, and a shape
drawable's `android:angle` "must be a multiple of 45", with three evenly
spaced stops at most. Folding `stop-opacity` into 8-bit alpha (0.18 → `2E`,
0.05 → `0D`) costs at most one level of 255 against the SVG's float composite.
And a vector reaches sizes no PNG here does: the media card draws this same
drawable at 512 px (below) and the Android 12+ splash slot is 240 dp, about
630 px on the Pixel, both past the 432 px an xxxhdpi PNG tops out at.

What a vector cannot do is **dither**. Both forms are 8-bit and quantise
identically — 122 colour steps down the diagonal at 432 px, longest flat run
43 px, over a total range of R 12 / G 49 / B 55 levels — so the form does not
cause banding, but only a PNG could have been dithered out of it. If the
phone's OLED contours, the answer is a dithered five-density set behind this
same `@drawable/ic_launcher_ground` name: a file per density, and no XML
moves.
