Design System
Unified design tokens and conventions. Single source of truth.
Color
Core
background
--backgroundforeground
--foregroundmuted
--mutedmuted-foreground
--muted-foregroundaccent
--accentaccent-foreground
--accent-foregroundsubtle
--subtleborder
--borderborder-strong
--border-strongbullet
--bulletStatus
destructive
--destructivesuccess
--successwarning
--warningorange
--orangeApp-specific
card
--cardpopover
--popoverprimary
--primarysecondary
--secondaryinput
--inputring
--ringSidebar
sidebar
--sidebarsidebar-primary
--sidebar-primarysidebar-accent
--sidebar-accentsidebar-border
--sidebar-borderChart
chart-1
--chart-1chart-2
--chart-2chart-3
--chart-3chart-4
--chart-4chart-5
--chart-5Typography
Display / Headings
--font-serifNewsreader
Italic only for headings and emphasis. Self-hosted TTF. Provides editorial character.
Body / UI
--font-sansHelvetica Neue
System fallback stack: Helvetica Neue, Helvetica, Inter, system sans-serif.
Archived
deprecatedDM Sans Variable
Previously used for app body text. Replaced by system font stack.
Utilities
.text-labeltracking + uppercase + subtleLive example of text-label
letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-subtle);
Spacing & Radius
Marketing uses Tailwind defaults with sharp corners. App uses custom radius tokens.
radius
0.45remradius-sm
calc(var(--radius) - 4px)radius-md
calc(var(--radius) - 2px)radius-lg
var(--radius)Motion
dashes
0.8s linear infinitedashes-reverse
0.8s linear infinite reversehover
4s ease-in-out infinitegridMovingLine
keyframe only (no utility)smooth-bounce
cubic-bezier(0.16, 1, 0.3, 1.03)tw-animate-css
Plugin (enter/exit/fade)Dark Mode
Clean .dark class swaps CSS vars in :root / .dark. No !important overrides.
All components use semantic tokens (bg-background, text-foreground) so dark mode is automatic.
Source
packages/ui/src/globals.cssSingle source of truth — all tokens, fonts, base styles, utilitiespackages/marketing/src/globals.cssOne-line import: @import "@laxdb/ui/globals.css"packages/practice-planner/src/globals.cssOne-line import: @import "@laxdb/ui/globals.css"