v2.1.2

A weather lens for the week, and themes you can write yourself.

The thermometer button in the toolbar lays an hourly forecast over the
calendar: a temperature wash per hour, rain bars scaled by amount and faded by
how likely the rain is, a high and low per day in the header, and DWD
severe-weather warnings on a row of their own. The calendar recedes underneath
while the lens is up and comes straight back when it closes. The day view is
the same component with one column, so it gets the lens too.

Nothing is fetched or drawn until you press the button, and the lens starts
closed on every load. It is something you reach for, not a mode you leave the
calendar in, so settings hold only the configuration: a location and a source.

The forecast is fetched by the server rather than the page. The app's own CSP
is connect-src 'self', so the page could not reach a weather host in any case,
and this way your coordinates never leave your instance. Operators who would
rather not depend on a public endpoint can point WEATHER_BRIGHTSKY_URL at their
own Bright Sky. The data is DWD's, published under CC BY and GeoNutzV, and the
credit rides on the grid while the lens is up.

Alongside it, two changes to theming. Blacksite is a third built-in theme:
carbon ground, one red accent, squared corners and monospace type, with
destructive actions pushed off the accent so Delete still reads as Delete.

And there is now a Custom theme, which is a layer rather than a blank page.
Pick which built-in theme to start from, override individual colour tokens, and
add up to 16 KiB of your own CSS on top. It is stored on your account rather
than the device, so it follows you everywhere you sign in. If a stylesheet ever
leaves the app unusable, open it with ?safemode=1 to load without it; the
editor still works, so you can fix the rule or reset.

Android: versionCode 8.