/** @type {import('tailwindcss').Config} */ module.exports = { content: [ './src/pages/**/*.{js,ts,jsx,tsx,mdx}', './src/components/**/*.{js,ts,jsx,tsx,mdx}', './src/app/**/*.{js,ts,jsx,tsx,mdx}', ], theme: { extend: { colors: { brand: { 50: '#eff6ff', 100: '#dbeafe', 200: '#bfdbfe', 300: '#93c5fd', 400: '#60a5fa', 500: '#3b82f6', 600: '#2563eb', 700: '#1d4ed8', 800: '#1e40af', 900: '#1e3a8a', 950: '#172554', DEFAULT: '#3b82f6', }, surface: { 0: '#ffffff', 50: '#f8fafc', 100: '#f1f5f9', 200: '#e2e8f0', 300: '#cbd5e1', }, ink: { DEFAULT: '#0f172a', muted: '#64748b', subtle: '#94a3b8', inverse: '#f8fafc', }, success: { 50: '#f0fdf4', 500: '#22c55e', 600: '#16a34a', 700: '#15803d', }, warning: { 50: '#fffbeb', 500: '#f59e0b', 600: '#d97706', }, danger: { 50: '#fef2f2', 500: '#ef4444', 600: '#dc2626', 700: '#b91c1c', }, }, fontFamily: { sans: ['Inter', 'ui-sans-serif', 'system-ui', 'sans-serif'], mono: ['JetBrains Mono', 'ui-monospace', 'monospace'], }, fontSize: { '2xs': ['0.625rem', { lineHeight: '0.875rem' }], }, borderRadius: { '4xl': '2rem', }, boxShadow: { 'soft-sm': '0 1px 2px 0 rgb(15 23 42 / 0.06)', 'soft': '0 1px 3px 0 rgb(15 23 42 / 0.08), 0 1px 2px -1px rgb(15 23 42 / 0.08)', 'soft-md': '0 4px 6px -1px rgb(15 23 42 / 0.07), 0 2px 4px -2px rgb(15 23 42 / 0.07)', 'soft-lg': '0 10px 15px -3px rgb(15 23 42 / 0.07), 0 4px 6px -4px rgb(15 23 42 / 0.07)', 'soft-xl': '0 20px 25px -5px rgb(15 23 42 / 0.07), 0 8px 10px -6px rgb(15 23 42 / 0.07)', 'glow': '0 0 0 3px rgb(59 130 246 / 0.15)', 'glow-brand': '0 0 0 3px rgb(59 130 246 / 0.25)', }, animation: { 'fade-in': 'fadeIn 0.2s ease-out', 'slide-up': 'slideUp 0.25s ease-out', 'slide-down': 'slideDown 0.25s ease-out', 'scale-in': 'scaleIn 0.15s ease-out', 'spin-slow': 'spin 2s linear infinite', 'pulse-soft': 'pulseSoft 2s ease-in-out infinite', }, keyframes: { fadeIn: { '0%': { opacity: '0' }, '100%': { opacity: '1' }, }, slideUp: { '0%': { opacity: '0', transform: 'translateY(8px)' }, '100%': { opacity: '1', transform: 'translateY(0)' }, }, slideDown: { '0%': { opacity: '0', transform: 'translateY(-8px)' }, '100%': { opacity: '1', transform: 'translateY(0)' }, }, scaleIn: { '0%': { opacity: '0', transform: 'scale(0.95)' }, '100%': { opacity: '1', transform: 'scale(1)' }, }, pulseSoft: { '0%, 100%': { opacity: '1' }, '50%': { opacity: '0.6' }, }, }, transitionTimingFunction: { 'spring': 'cubic-bezier(0.175, 0.885, 0.32, 1.275)', }, }, }, plugins: [], }