import type { Config } from 'tailwindcss'; const config: Config = { content: [ './src/**/*.{js,ts,jsx,tsx,mdx}', ], theme: { extend: { colors: { base: 'hsl(var(--bg-base))', elevated: 'hsl(var(--bg-elevated))', surface: 'hsl(var(--bg-surface))', overlay: 'hsl(var(--bg-overlay))', primary: 'hsl(var(--text-primary))', secondary: 'hsl(var(--text-secondary))', muted: 'hsl(var(--text-muted))', faint: 'hsl(var(--text-faint))', accent: { DEFAULT: 'hsl(var(--accent))', hover: 'hsl(var(--accent-hover))', muted: 'hsl(var(--accent-muted))', subtle: 'hsl(var(--accent-subtle))', foreground: 'hsl(0 0% 100%)', }, 'accent-secondary': { DEFAULT: 'hsl(var(--accent-secondary))', muted: 'hsl(var(--accent-secondary-muted))', }, success: { DEFAULT: 'hsl(var(--success))', muted: 'hsl(var(--success-muted))', }, warning: { DEFAULT: 'hsl(var(--warning))', muted: 'hsl(var(--warning-muted))', }, error: { DEFAULT: 'hsl(var(--error))', muted: 'hsl(var(--error-muted))', }, border: { DEFAULT: 'hsl(var(--border))', hover: 'hsl(var(--border-hover))', focus: 'hsl(var(--border-focus))', }, background: 'hsl(var(--background))', foreground: 'hsl(var(--foreground))', card: { DEFAULT: 'hsl(var(--card))', foreground: 'hsl(var(--card-foreground))', }, popover: { DEFAULT: 'hsl(var(--popover))', foreground: 'hsl(var(--popover-foreground))', }, destructive: { DEFAULT: 'hsl(var(--destructive))', foreground: 'hsl(var(--destructive-foreground))', }, input: 'hsl(var(--input))', ring: 'hsl(var(--ring))', }, borderRadius: { '2xl': '1rem', '3xl': '1.5rem', lg: 'var(--radius)', md: 'calc(var(--radius) - 2px)', sm: 'calc(var(--radius) - 4px)', }, fontFamily: { sans: ['Inter', 'system-ui', '-apple-system', 'sans-serif'], mono: ['JetBrains Mono', 'Fira Code', 'SF Mono', 'Consolas', 'monospace'], }, fontSize: { '2xs': ['0.625rem', { lineHeight: '0.875rem' }], 'xs': ['0.75rem', { lineHeight: '1rem' }], 'sm': ['0.875rem', { lineHeight: '1.25rem' }], 'base': ['0.9375rem', { lineHeight: '1.5rem' }], 'lg': ['1.0625rem', { lineHeight: '1.625rem' }], }, spacing: { '18': '4.5rem', '22': '5.5rem', '26': '6.5rem', '30': '7.5rem', }, backdropBlur: { xs: '2px', }, boxShadow: { 'glow-sm': '0 1px 6px hsl(224 64% 48% / 0.06)', 'glow-md': '0 2px 12px hsl(224 64% 48% / 0.1)', 'glow-lg': '0 4px 24px hsl(224 64% 48% / 0.14)', 'inner-glow': 'inset 0 1px 4px hsl(220 14% 50% / 0.06)', 'elevated': '0 1px 3px hsl(220 14% 50% / 0.06), 0 4px 16px hsl(220 14% 50% / 0.04)', 'card': '0 1px 3px hsl(220 14% 50% / 0.05), 0 1px 2px hsl(220 14% 50% / 0.03)', 'dropdown': '0 4px 24px hsl(220 14% 50% / 0.12), 0 1px 4px hsl(220 14% 50% / 0.06)', }, keyframes: { 'fade-in': { '0%': { opacity: '0', transform: 'translateY(4px)' }, '100%': { opacity: '1', transform: 'translateY(0)' }, }, 'fade-in-up': { '0%': { opacity: '0', transform: 'translateY(12px)' }, '100%': { opacity: '1', transform: 'translateY(0)' }, }, 'slide-in-right': { '0%': { opacity: '0', transform: 'translateX(-12px)' }, '100%': { opacity: '1', transform: 'translateX(0)' }, }, 'slide-in-left': { '0%': { opacity: '0', transform: 'translateX(12px)' }, '100%': { opacity: '1', transform: 'translateX(0)' }, }, 'scale-in': { '0%': { opacity: '0', transform: 'scale(0.95)' }, '100%': { opacity: '1', transform: 'scale(1)' }, }, 'pulse-soft': { '0%, 100%': { opacity: '1' }, '50%': { opacity: '0.7' }, }, shimmer: { '0%': { backgroundPosition: '-200% 0' }, '100%': { backgroundPosition: '200% 0' }, }, 'glow-pulse': { '0%, 100%': { boxShadow: '0 2px 12px hsl(224 64% 48% / 0.08)' }, '50%': { boxShadow: '0 4px 20px hsl(224 64% 48% / 0.14)' }, }, 'border-pulse': { '0%, 100%': { borderColor: 'hsl(224 64% 48% / 0.2)' }, '50%': { borderColor: 'hsl(224 64% 48% / 0.35)' }, }, }, animation: { 'fade-in': 'fade-in 0.2s ease-out forwards', 'fade-in-up': 'fade-in-up 0.3s ease-out forwards', 'slide-in-right': 'slide-in-right 0.25s ease-out forwards', 'slide-in-left': 'slide-in-left 0.25s ease-out forwards', 'scale-in': 'scale-in 0.2s ease-out forwards', 'pulse-soft': 'pulse-soft 2s ease-in-out infinite', shimmer: 'shimmer 1.5s linear infinite', 'glow-pulse': 'glow-pulse 2s ease-in-out infinite', 'border-pulse': 'border-pulse 2s ease-in-out infinite', }, }, }, plugins: [], }; export default config;