Foundations
Breakpoints
Mobile-first breakpoints aligned with the Tailwind v4 defaults. Each step is exposed as a token in packages/ui/tokens.css so JS consumers and documentation reference the same values as the utility classes.
Scale
Bars are scaled to --bp-2xl (1536px = 100%). Read the width visually, then check the px figure on the right.
- sm
--bp-sm40rem640pxMobile landscape, large phones.
Switch from stacked to two-column nav. Show secondary actions.
- md
--bp-md48rem768pxTablet portrait, small laptops.
Sidebar appears. Tables stop wrapping. Hero gains room.
- lg
--bp-lg64rem1024pxTablet landscape, standard laptops.
Full product layout: sidebar + main + side panel. Dense dashboards.
- xl
--bp-xl80rem1280pxStandard desktop.
Marketing hero at full width. Extra column of content.
- 2xl
--bp-2xl96rem1536pxWide desktop and external monitors.
Generous gutters. Rarely worth designing past this point.
Usage
Tailwind v4 generates utility prefixes from these tokens automatically. Write mobile styles unprefixed, then layer breakpoint prefixes for larger viewports.
<div className="flex flex-col md:flex-row lg:gap-8">
<aside className="md:w-64">…</aside>
<main className="flex-1">…</main>
</div>Reads as: stack on mobile, side-by-side from md (768px), and at lg (1024px) the gap opens up to 2rem.