Design Tokens
Source of truth: @stackmates/design-tokens + @stackmates/theme
90/10 rule: 90% neutral, 10% accent. Dashboard-optimized 15px base. OKLCH color space. 8px grid.
Semantic Colors
--backgroundPage background
--foregroundDefault text
--primaryBrand red, CTAs
--secondarySecondary actions
--mutedDisabled / subtle
--accentHighlights
--destructiveError / delete
--successPositive status
--warningCaution / alert
--borderBorders
--ringFocus rings
--cardCard backgrounds
Sidebar Tokens
--sidebarSidebar bg
--sidebar-foregroundSidebar text
--sidebar-primarySidebar primary
--sidebar-accentSidebar hover
--sidebar-borderSidebar dividers
Text Hierarchy (4-tier)
--text-primary100%Headlines, primary content--text-secondary70%Body text, descriptions--text-tertiary50%Captions, metadata--text-quaternary35%Disabled, placeholdersSpacing Scale (8px grid)
space-10.25rem4pxTightspace-20.5rem8pxDefaultspace-30.75rem12pxComfortablespace-41rem16pxStandardspace-61.5rem24pxSection gapspace-82rem32pxLarge sectionspace-123rem48pxPage sectionspace-164rem64pxMajor divisionspace-246rem96pxHero spacingTypography Scale
Fonts: Inter (sans), JetBrains Mono (mono). Dashboard-optimized 15px base.
text-xs0.75rem12pxMetadata, timestampstext-sm0.875rem14pxSecondary texttext-base0.9375rem15pxPrimary body texttext-lg1.125rem18pxSection headingstext-xl1.25rem20pxSubsection headingstext-2xl1.5rem24pxPage titlestext-3xl1.875rem30pxMarketing onlyFont Weights
normal (400)
medium (500)
semibold (600)
bold (700)
Border Radius
rounded-none0rounded-sm4pxrounded-md6pxrounded-lg8pxrounded-xl12pxrounded-2xl16pxrounded-full9999pxBreakpoints
smmdlgxl2xlUsage
CSS: @import '@stackmates/theme/styles';
TypeScript: import { SEMANTIC_COLORS, cssVar } from '@stackmates/design-tokens';
Tailwind: import { stackmatesPreset } from '@stackmates/tailwind-preset';