You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(webapp): make Dark the default theme and retire Classic
Dark's palette was already Classic's: Dark had no base block, so it inherited
every @theme token and only re-declared 17 greys as contrast expressions whose
0% value was Classic's own. Comparing all 109 custom properties between the two
themes at contrast 0 found no difference, so this is a rename plus a default
change rather than a re-skin.
- Dark is the default and the fallback for any unknown stored preference, so a
saved "classic" resolves there once it stops parsing. No data migration.
- Default contrast becomes 0, which is exactly Classic's palette, and the
slider floor drops from 15 to 0 so that look stays reachable. The "Default"
tick now agrees with the applied default instead of sitting at 30.
- Flag-off and logged-out pages already pinned contrast to 0, so every
unflagged user sees no change at all.
Contrast now travels between charcoal stops instead of mixing toward #fff and
#000. The ramp is a hand-picked set of cool-leaning greys whose tint peaks in
the midtones, and mixing to pure white flattened that: at full contrast
border-bright landed on a +8 blue lean where the ramp's own grey at that
brightness carries +17. Interpolating stop to stop keeps every intermediate
value inside the palette, and it no longer reaches pure white or black — the
Black and White themes are there for that. Each token moves two stops, except
the text group, which moves one so bright, dimmed and faint keep their spacing.
Charts: Dark takes the brighter series colours back, and the darkened pair
moves under the accessibility preference, where it also lines the dark themes
up with Light so a chart doesn't shift hue when the OS flips.
That preference is now "Distinguish without color", covering the contrast bump
and the shape differentiation still to come. The stored key stays iconContrast.
Verified by pixel-diffing every page against a Classic baseline captured
first: the only differences are the renamed row, an animated spinner mid-frame
and the slider thumb re-mapped to the new floor.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
0 commit comments