System theme
By default, the foundation can follow prefers-color-scheme.
:root {
color-scheme: light dark;
} Bitsy keeps appearance focused on color, material, and tone. Light and dark mode switch through the same semantic token names, while appearance presets show how the foundation can shift without changing typography posture.
The distinction between system mode, explicit mode, and appearance presets should scan quickly.
By default, the foundation can follow prefers-color-scheme.
:root {
color-scheme: light dark;
} Use data-bitsy-theme when a page or app needs to force a mode.
<html data-bitsy-theme="light">
<html data-bitsy-theme="dark"> Surfaces, borders, text, and accents should stay readable without looking brittle.
The same semantic roles should still read clearly after the values switch.
Each appearance swaps palettes, the semantic mapping, fonts, and shape steps. The markup never changes.
Evolved current look: warm stone grays, a warm ink primary, softer 12px corners, and a gentle lift.
Cool grays, a violet brand, white cards on a light canvas, and tight 8px corners. Modeled on modern app UI kits.
Zinc grays, near-black primary actions, 6px corners, and almost no shadow. Monochrome, utility-first feel.
/* Recolor the default primary action and soften corners */
:root {
--bitsy-brand-900: #1f3a5f;
--bitsy-brand-700: #2f5180;
--bitsy-radius-control: var(--bitsy-radius-2xl);
} Appearance exploration should come from token changes in color, surface, radius, and shadow. Hierarchy and reading rhythm belong to the typography profile system.