2026-05-24 19:51:29 +00:00
|
|
|
|
/** @type {import('tailwindcss').Config} */
|
|
|
|
|
|
module.exports = {
|
2026-07-07 16:28:19 +00:00
|
|
|
|
darkMode: 'class',
|
2026-05-24 19:51:29 +00:00
|
|
|
|
content: [
|
|
|
|
|
|
'./app/**/*.{js,ts,jsx,tsx,mdx}',
|
|
|
|
|
|
'./components/**/*.{js,ts,jsx,tsx,mdx}',
|
|
|
|
|
|
],
|
|
|
|
|
|
theme: {
|
|
|
|
|
|
extend: {
|
|
|
|
|
|
colors: {
|
|
|
|
|
|
primary: {
|
|
|
|
|
|
50: '#fff7ed',
|
|
|
|
|
|
100: '#ffedd5',
|
|
|
|
|
|
200: '#fed7aa',
|
|
|
|
|
|
300: '#fdba74',
|
|
|
|
|
|
400: '#fb923c',
|
|
|
|
|
|
500: '#f97316',
|
|
|
|
|
|
600: '#ea580c',
|
|
|
|
|
|
700: '#c2410c',
|
|
|
|
|
|
800: '#9a3412',
|
|
|
|
|
|
900: '#7c2d12',
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
spacing: {
|
|
|
|
|
|
'18': '4.5rem',
|
|
|
|
|
|
'22': '5.5rem',
|
|
|
|
|
|
},
|
2026-08-02 20:42:40 +00:00
|
|
|
|
screens: {
|
|
|
|
|
|
// Tiny phones (320–479px). Default Tailwind starts at `sm`=640px,
|
|
|
|
|
|
// which leaves the 320–414px band — the smallest screens the
|
|
|
|
|
|
// app actually ships to — without an in-between breakpoint.
|
|
|
|
|
|
// `xs` lets us hide labels on those screens while keeping the
|
|
|
|
|
|
// rest of the layout compact, instead of squeezing everything
|
|
|
|
|
|
// into a single cramped row.
|
|
|
|
|
|
xs: '480px',
|
|
|
|
|
|
},
|
2026-05-24 19:51:29 +00:00
|
|
|
|
animation: {
|
|
|
|
|
|
'fade-in': 'fadeIn 0.3s ease-out forwards',
|
|
|
|
|
|
'slide-up': 'slideUp 0.3s ease-out forwards',
|
|
|
|
|
|
'pulse-slow': 'pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite',
|
|
|
|
|
|
},
|
|
|
|
|
|
keyframes: {
|
|
|
|
|
|
slideUp: {
|
|
|
|
|
|
'0%': { transform: 'translateY(20px)', opacity: '0' },
|
|
|
|
|
|
'100%': { transform: 'translateY(0)', opacity: '1' },
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
plugins: [],
|
|
|
|
|
|
};
|