/**
 * LexiBrain design tokens — single source of truth for colours and spacing.
 * Import this file anywhere you need palette values.
 */
export const colors = {
  // Backgrounds
  background: '#F0FDF4', // Main app background
  surface: '#FDFFFE', // Cards, elevated surfaces

  // Text
  textPrimary: '#1E3A2E', // Primary text
  textSecondary: '#52796F', // Secondary / muted text

  // Green palette
  greenMint: '#D1FAE5', // Mint green
  greenSage: '#BBF7D0', // Sage
  greenTea: '#A7F3D0', // Green tea
  greenJade: '#86EFAC', // Jade — main accent
  greenEmerald: '#6EE7B7', // Emerald
  greenForest: '#34D399', // Forest

  // Semantic
  success: '#10B981',
  warning: '#BEF264',
  error: '#FCA5A5',
  info: '#67E8F9',
} as const;

export type ColorKey = keyof typeof colors;

export const spacing = {
  xs: 4,
  sm: 8,
  md: 16,
  lg: 24,
  xl: 32,
  xxl: 48,
} as const;

export const typography = {
  fontSizeSmall: 12,
  fontSizeBody: 16,
  fontSizeLarge: 20,
  fontSizeTitle: 28,
  fontWeightRegular: '400' as const,
  fontWeightMedium: '500' as const,
  fontWeightBold: '700' as const,
} as const;

export const theme = {
  colors,
  spacing,
  typography,
} as const;

export type Theme = typeof theme;
