Skip to content
ArcadiaDesign
Lookout

Night and day

The kit's defaults are Arcadia's identity, Sodium Horizon: slate neutrals with a blue-hour cast, white ink, dove prose and one beacon.

NameNightDayUse
InkWhite labels and headings by night, the night page by day.
ProseDove: long reading a breath softer than labels.
PageOne slate page; the sidebar is the bezel a step below.
CardCode windows and stream cards, a step off the page.
RaisedCharcoal by night, white by day: what you touch.
UmbraThe darkest structural step of the same slate: every divider.
BeaconThe one light, for lights only.
PlanBreeze, a quiet distance blue.

The thesis and the six rules that follow from it are on the Overview.

Switching themes

One attribute, <html data-theme="dark|light">. There is no prefers-color-scheme block in the CSS: the boot script resolves the preference before first paint.

data-theme="dark"
data-theme="light"

Any element may carry its own data-theme, and its ladders recompute from its own --ink. These two panels are subtrees of this page: open their menus and hover the gear to see overlays keep the panel's theme.

Boot and preference

TSX
TSX

The boot script and the hooks read the same two storage keys, so the first paint and the running app always agree.

Portals

Overlays portal to document.body.

TSX

Mount TooltipProvider, ConfirmHost and Toaster once, near the app root.