/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    './app/**/*.{js,ts,jsx,tsx,mdx}',
    './components/**/*.{js,ts,jsx,tsx,mdx}',
    './templates/**/*.{js,ts,jsx,tsx,mdx}',
    './ui/**/*.{js,ts,jsx,tsx,mdx}',
    './lib/**/*.{js,ts,jsx,tsx,mdx}',
    './hooks/**/*.{js,ts,jsx,tsx,mdx}',
  ],
  theme: {
    extend: {
      colors: {
        // Theme-aligned colors using CSS variables
        'base-black': 'var(--color-base)',
        'surface-charcoal': 'var(--color-surface)',
        'outline-steel': 'var(--color-outline)',
        'primary-accent': 'var(--color-primary)',
        'telemetry-aqua': 'var(--color-telemetry)',
        'warning-amber': 'var(--color-warning)',
        'success-green': 'var(--color-success)',
        'critical-red': 'var(--color-critical)',
        
        // Legacy mappings for compatibility
        'deep-graphite': 'var(--color-base)',
        'iron-gray': 'var(--color-surface)',
        'charcoal-outline': 'var(--color-outline)',
        'primary-blue': 'var(--color-primary)',
        'performance-green': 'var(--color-success)',
        'racing-red': 'var(--color-critical)',
      },
      fontFamily: {
        sans: ['Inter', 'system-ui', 'sans-serif'],
      },
      boxShadow: {
        'card': '0 4px 12px rgba(0, 0, 0, 0.2)',
        'focus': '0 0 0 4px var(--color-focus-ring)',
      },
      transitionDuration: {
        'smooth': '150ms',
      },
      transitionTimingFunction: {
        'smooth': 'cubic-bezier(0.4, 0, 0.2, 1)',
        'racing': 'cubic-bezier(0.16, 1, 0.3, 1)',
      },
    },
  },
  plugins: [],
  safelist: [
    {
      pattern: /^(grid-cols|gap|p|px|py|pt|pb|pl|pr|m|mx|my|mt|mb|ml|mr)-/,
      variants: ['sm', 'md', 'lg', 'xl', '2xl'],
    },
    {
      pattern: /^(w|h|max-w|min-w|max-h|min-h)-/,
      variants: ['sm', 'md', 'lg', 'xl', '2xl'],
    },
    {
      pattern: /^(flex|items|justify|self)-/,
      variants: ['sm', 'md', 'lg', 'xl', '2xl'],
    },
    'grid',
    'flex',
    'block',
    'inline-block',
    'none',
  ],
}
