/** @type {import('tailwindcss').Config} */ module.exports = { darkMode: 'class', content: [ './src/pages/**/*.{js,ts,jsx,tsx,mdx}', './src/components/**/*.{js,ts,jsx,tsx,mdx}', './src/app/**/*.{js,ts,jsx,tsx,mdx}', ], theme: { extend: { fontFamily: { sans: ['var(--font-sans)', 'ui-sans-serif', 'system-ui', 'sans-serif'], mono: ['var(--font-mono)', 'ui-monospace', 'monospace'], }, 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))', }, // Surface levels 'surface-0': 'hsl(var(--surface-0))', 'surface-1': 'hsl(var(--surface-1))', 'surface-2': 'hsl(var(--surface-2))', 'surface-3': 'hsl(var(--surface-3))', // Void accent colors 'void-cyan': 'hsl(var(--void-cyan))', 'void-mint': 'hsl(var(--void-mint))', 'void-amber': 'hsl(var(--void-amber))', 'void-violet': 'hsl(var(--void-violet))', 'void-crimson': 'hsl(var(--void-crimson))', // Semantic status colors success: { DEFAULT: 'hsl(var(--success))', foreground: 'hsl(var(--success-foreground))', }, warning: { DEFAULT: 'hsl(var(--warning))', foreground: 'hsl(var(--warning-foreground))', }, info: { DEFAULT: 'hsl(var(--info))', foreground: 'hsl(var(--info-foreground))', }, }, borderRadius: { lg: '8px', md: '6px', sm: '4px', xs: '2px', }, fontSize: { '2xs': ['0.625rem', { lineHeight: '0.875rem' }], }, spacing: { '18': '4.5rem', '88': '22rem', '112': '28rem', '128': '32rem', }, animation: { 'fade-in': 'fadeIn 0.15s ease-out', 'slide-in-right': 'slideInRight 0.2s ease-out', 'slide-in-left': 'slideInLeft 0.2s ease-out', 'pulse-dot': 'pulse-dot 2s ease-in-out infinite', 'glow-pulse': 'glowPulse 3s ease-in-out infinite', 'float': 'float 6s ease-in-out infinite', 'converge-top': 'convergeTop 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards', 'converge-left': 'convergeLeft 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards', 'converge-right': 'convergeRight 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards', 'converge-bottom': 'convergeBottom 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards', 'converge-burst': 'convergeBurst 0.5s ease-out 0.9s forwards', 'pair-fade-out': 'pairFadeOut 0.5s ease-in 1.8s forwards', 'mc-fade-in': 'mcFadeIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) 2.0s forwards', 'grid-flow': 'gridFlow 20s linear infinite', 'edge-glow': 'edgeGlow 2s ease-in-out infinite', }, keyframes: { glowPulse: { '0%, 100%': { opacity: '1', filter: 'brightness(1)' }, '50%': { opacity: '0.7', filter: 'brightness(1.3)' }, }, float: { '0%, 100%': { transform: 'translateY(0px)' }, '50%': { transform: 'translateY(-6px)' }, }, gridFlow: { '0%': { backgroundPosition: '0 0' }, '100%': { backgroundPosition: '40px 40px' }, }, edgeGlow: { '0%, 100%': { opacity: '0.4' }, '50%': { opacity: '1' }, }, convergeTop: { '0%': { transform: 'translate(-50%, -40px)', opacity: '0' }, '100%': { transform: 'translate(-50%, 0)', opacity: '1' }, }, convergeLeft: { '0%': { transform: 'translate(-40px, -50%)', opacity: '0' }, '100%': { transform: 'translate(0, -50%)', opacity: '1' }, }, convergeRight: { '0%': { transform: 'translate(40px, -50%)', opacity: '0' }, '100%': { transform: 'translate(0, -50%)', opacity: '1' }, }, convergeBottom: { '0%': { transform: 'translate(-50%, 40px)', opacity: '0' }, '100%': { transform: 'translate(-50%, 0)', opacity: '1' }, }, convergeBurst: { '0%': { transform: 'scale(0)', opacity: '0' }, '60%': { transform: 'scale(1.2)', opacity: '1' }, '100%': { transform: 'scale(1)', opacity: '0.6' }, }, pairFadeOut: { '0%': { transform: 'scale(1)', opacity: '1' }, '100%': { transform: 'scale(0.8)', opacity: '0' }, }, mcFadeIn: { '0%': { transform: 'scale(0.5)', opacity: '0' }, '60%': { transform: 'scale(1.08)', opacity: '1' }, '100%': { transform: 'scale(1)', opacity: '1' }, }, }, }, }, plugins: [], }