/** @type {import('tailwindcss').Config} */ export default { content: ['./index.html', './src/**/*.{ts,tsx}'], theme: { extend: { colors: { bg: 'var(--bg)', surface: 'var(--surface)', 'surface-2': 'var(--surface-2)', border: 'var(--border)', text: 'var(--text)', 'text-muted': 'var(--text-muted)', accent: 'var(--accent)', 'accent-soft': 'var(--accent-soft)', 'on-accent': 'var(--on-accent)', destructive: 'var(--destructive)', success: 'var(--success)', }, fontFamily: { heading: ['"Fraunces Variable"', 'Fraunces', 'ui-serif', 'Georgia', 'serif'], sans: ['"Hanken Grotesk Variable"', '"Hanken Grotesk"', 'ui-sans-serif', 'system-ui', 'sans-serif'], }, borderRadius: { DEFAULT: 'var(--radius)', lg: 'calc(var(--radius) + 4px)', xl: 'calc(var(--radius) + 8px)', }, boxShadow: { card: '0 1px 2px rgba(0,0,0,0.4), 0 8px 24px -12px rgba(0,0,0,0.6)', lift: '0 12px 32px -8px rgba(0,0,0,0.7)', bar: '0 -8px 24px -12px rgba(0,0,0,0.8)', }, keyframes: { 'slide-up': { from: { transform: 'translateY(100%)', opacity: '0' }, to: { transform: 'translateY(0)', opacity: '1' }, }, 'fade-in': { from: { opacity: '0' }, to: { opacity: '1' }, }, shimmer: { '100%': { transform: 'translateX(100%)' }, }, }, animation: { 'slide-up': 'slide-up 280ms cubic-bezier(0.16, 1, 0.3, 1)', 'fade-in': 'fade-in 200ms ease-out', }, }, }, plugins: [], }