/** @type {import('tailwindcss').Config} */ export default { darkMode: ['class'], content: [ './pages/**/*.{ts,tsx}', './components/**/*.{ts,tsx}', './app/**/*.{ts,tsx}', './src/**/*.{ts,tsx}', ], theme: { container: { center: true, padding: '2rem', screens: { '2xl': '1400px', }, }, extend: { colors: { border: 'hsl(var(--border))', input: 'hsl(var(--input))', ring: 'hsl(var(--ring))', background: 'hsl(var(--background))', foreground: 'hsl(var(--foreground))', primary: { DEFAULT: 'hsl(var(--primary))', foreground: 'hsl(var(--primary-foreground))', }, secondary: { DEFAULT: 'hsl(var(--secondary))', foreground: 'hsl(var(--secondary-foreground))', }, destructive: { DEFAULT: 'hsl(var(--destructive))', foreground: 'hsl(var(--destructive-foreground))', }, muted: { DEFAULT: 'hsl(var(--muted))', foreground: 'hsl(var(--muted-foreground))', }, accent: { DEFAULT: 'hsl(var(--accent))', foreground: 'hsl(var(--accent-foreground))', }, popover: { DEFAULT: 'hsl(var(--popover))', foreground: 'hsl(var(--popover-foreground))', }, card: { DEFAULT: 'hsl(var(--card))', foreground: 'hsl(var(--card-foreground))', }, success: { DEFAULT: 'hsl(var(--success))', foreground: 'hsl(var(--success-foreground))', }, warning: { DEFAULT: 'hsl(var(--warning))', foreground: 'hsl(var(--warning-foreground))', }, }, borderRadius: { lg: 'var(--radius)', md: 'calc(var(--radius) - 2px)', sm: 'calc(var(--radius) - 4px)', xl: 'calc(var(--radius) + 4px)', '2xl': 'calc(var(--radius) + 8px)', }, boxShadow: { 'soft': '0 1px 2px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(0, 0, 0, 0.05)', 'soft-md': '0 2px 4px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.08)', 'soft-lg': '0 4px 6px rgba(0, 0, 0, 0.04), 0 16px 40px rgba(0, 0, 0, 0.1)', 'glow': '0 0 20px rgba(var(--primary), 0.15)', 'glow-lg': '0 0 40px rgba(var(--primary), 0.2)', }, keyframes: { 'accordion-down': { from: { height: '0' }, to: { height: 'var(--radix-accordion-content-height)' }, }, 'accordion-up': { from: { height: 'var(--radix-accordion-content-height)' }, to: { height: '0' }, }, 'fade-in': { from: { opacity: '0', transform: 'translateY(8px)' }, to: { opacity: '1', transform: 'translateY(0)' }, }, 'fade-in-up': { from: { opacity: '0', transform: 'translateY(16px)' }, to: { opacity: '1', transform: 'translateY(0)' }, }, 'scale-in': { from: { opacity: '0', transform: 'scale(0.95)' }, to: { opacity: '1', transform: 'scale(1)' }, }, 'slide-in-right': { from: { transform: 'translateX(100%)' }, to: { transform: 'translateX(0)' }, }, 'slide-in-left': { from: { transform: 'translateX(-100%)' }, to: { transform: 'translateX(0)' }, }, 'shimmer': { '0%': { backgroundPosition: '-200% 0' }, '100%': { backgroundPosition: '200% 0' }, }, 'pulse-soft': { '0%, 100%': { opacity: '1' }, '50%': { opacity: '0.6' }, }, }, animation: { 'accordion-down': 'accordion-down 0.2s ease-out', 'accordion-up': 'accordion-up 0.2s ease-out', 'fade-in': 'fade-in 0.3s ease-out forwards', 'fade-in-up': 'fade-in-up 0.4s ease-out forwards', 'scale-in': 'scale-in 0.2s ease-out forwards', 'slide-in-right': 'slide-in-right 0.3s ease-out', 'slide-in-left': 'slide-in-left 0.3s ease-out', 'shimmer': 'shimmer 1.5s ease-in-out infinite', 'pulse-soft': 'pulse-soft 2s ease-in-out infinite', }, transitionDuration: { '250': '250ms', '350': '350ms', }, backdropBlur: { xs: '2px', }, }, }, plugins: [require('tailwindcss-animate')], }