Density
The four variables a dashboard's rhythm is laid out on, and the compact set that tightens them.
Add the file — an @import at the end of app/globals.css, or an import in the root layout — and set data-density="compact" on <html> to tighten the page; leave the attribute off for the comfortable rhythm the :root block already declares. Four variables, one file: --density-row (table and list rows), --density-cell-y (cell padding), --density-card (card padding) and --density-gap (grid and stack gaps). The primitives that set a dashboard's rhythm read them — data-table rows and cells, stat-card and chart-card padding, stat-card-group and dashboard-grid gaps, data-list items, app-sidebar items, page-header spacing — each with the comfortable value as a literal fallback, so an item installed without this file still lays out correctly and only the switch is missing. It is a separate item from theme-vibra on purpose: a project can want the rhythm without wanting the palette, and nothing here is a colour. Write the attribute by hand, or install use-density and DensityToggle, which write it and remember the choice; AppShell takes a density prop for a page that has an opinion of its own. Deliberately not part of a preset: [data-preset] carries colour, and a palette that redefined these on a wrapper would reset the density chosen on <html> for everything inside it.
Install
npx shadcn@latest add @vibra/densityNeeds the @vibra registry in your components.json — set it up once.