52 lines
1.7 KiB
JavaScript
52 lines
1.7 KiB
JavaScript
/** @type {import('tailwindcss').Config} */
|
|
export default {
|
|
content: [
|
|
'./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'
|
|
],
|
|
darkMode: 'selector', // Use class-based dark mode with manual toggle
|
|
theme: {
|
|
extend: {
|
|
spacing: {
|
|
'section': '5rem', // 20 * 0.25rem (py-20)
|
|
'section-sm': '8rem', // 32 * 0.25rem (py-32)
|
|
},
|
|
maxWidth: {
|
|
'content': '56rem', // 4xl equivalent
|
|
'content-wide': '80rem', // 5xl equivalent
|
|
'content-full': '96rem', // 6xl equivalent
|
|
},
|
|
fontSize: {
|
|
'heading-xl': ['3.5rem', { lineHeight: '1.1' }], // ~7xl
|
|
'heading-lg': ['2.5rem', { lineHeight: '1.2' }], // ~4xl
|
|
'heading-md': ['1.875rem', { lineHeight: '1.3' }], // ~3xl
|
|
'body-lg': ['1.125rem', { lineHeight: '1.7' }], // ~lg with relaxed leading
|
|
'body': ['1rem', { lineHeight: '1.7' }], // ~base with relaxed leading
|
|
},
|
|
animation: {
|
|
'fade-in': 'fade-in 0.6s ease-out forwards',
|
|
'fade-in-up': 'fade-in-up 0.8s cubic-bezier(0.16,1,0.3,1) forwards',
|
|
'fade-in-up-delay-1': 'fade-in-up 0.8s cubic-bezier(0.16,1,0.3,1) 0.2s forwards',
|
|
'fade-in-up-delay-2': 'fade-in-up 0.8s cubic-bezier(0.16,1,0.3,1) 0.4s forwards',
|
|
},
|
|
keyframes: {
|
|
'fade-in': {
|
|
'from': { opacity: '0' },
|
|
'to': { opacity: '1' }
|
|
},
|
|
'fade-in-up': {
|
|
'from': {
|
|
opacity: '0',
|
|
transform: 'translateY(24px)'
|
|
},
|
|
'to': {
|
|
opacity: '1',
|
|
transform: 'translateY(0)'
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
plugins: [
|
|
require('@tailwindcss/typography'),
|
|
],
|
|
} |