/** @type {import('tailwindcss').Config} */ export default { content: [ './app/**/*.{ts,tsx,js,jsx}', './components/**/*.{ts,tsx,js,jsx}', './lib/**/*.{ts,tsx,js,jsx}', './pages/**/*.{ts,tsx,js,jsx}', './src/**/*.{ts,tsx,js,jsx}', './public/index.html', ], theme: { extend: { fontFamily: { heading: ['var(--font-heading)'], body: ['var(--font-body)'], }, colors: { banquise: { blue: '#40B4FF', 'blue-dark': '#1F5D89', 'blue-light': '#69B7E2', 'blue-lightest': '#A5F0FF', gray: '#F6F6F6', }, }, keyframes: { float: { '0%, 100%': { transform: 'translateY(0)' }, '50%': { transform: 'translateY(-10px)' }, }, 'bubble-float-1': { '0%, 100%': { transform: 'translateY(0) translateX(0)' }, '33%': { transform: 'translateY(-15px) translateX(5px)' }, '66%': { transform: 'translateY(-8px) translateX(-3px)' }, }, 'ocean-shimmer': { '0%, 100%': { opacity: '0.3', transform: 'scale(1)' }, '50%': { opacity: '0.6', transform: 'scale(1.05)' }, }, 'gentle-float': { '0%, 100%': { transform: 'translateY(0) rotate(0deg)' }, '50%': { transform: 'translateY(-15px) rotate(1deg)' }, }, }, animation: { float: 'float 3s ease-in-out infinite', 'bubble-1': 'bubble-float-1 4s ease-in-out infinite', 'ocean-shimmer': 'ocean-shimmer 2s ease-in-out infinite', 'gentle-float': 'gentle-float 6s ease-in-out infinite', }, }, }, safelist: [ // keep commonly used dynamic classes { pattern: /from-banquise-.*/ }, { pattern: /via-banquise-.*/ }, { pattern: /to-banquise-.*/ }, { pattern: /bg-banquise-.*/ }, { pattern: /text-banquise-.*/ }, { pattern: /border-banquise-.*/ }, ], plugins: [], };