124 lines
3.6 KiB
TypeScript
124 lines
3.6 KiB
TypeScript
import type { Config } from 'tailwindcss'
|
|
|
|
const config: Config = {
|
|
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: {
|
|
colors: {
|
|
// Core dark mode palette
|
|
surface: {
|
|
900: '#0A0A0B', // Deepest black
|
|
800: '#111113', // Primary background
|
|
700: '#1A1A1D', // Card background
|
|
600: '#232327', // Hover states
|
|
500: '#2C2C31', // Borders
|
|
},
|
|
text: {
|
|
primary: '#FFFFFF',
|
|
secondary: 'rgba(255, 255, 255, 0.9)',
|
|
muted: 'rgba(255, 255, 255, 0.6)',
|
|
disabled: 'rgba(255, 255, 255, 0.3)',
|
|
},
|
|
// Accent colors
|
|
accent: {
|
|
DEFAULT: '#3f7832ff', // Your red accent
|
|
hover: '#90b075ff',
|
|
muted: 'rgba(255, 107, 107, 0.1)',
|
|
},
|
|
success: '#10B981',
|
|
warning: '#F59E0B',
|
|
error: '#EF4444',
|
|
info: '#3B82F6',
|
|
},
|
|
fontFamily: {
|
|
sans: ['Inter', 'system-ui', '-apple-system', 'sans-serif'],
|
|
mono: ['JetBrains Mono', 'Consolas', 'monospace'],
|
|
display: ['Cal Sans', 'Inter', 'sans-serif'],
|
|
},
|
|
fontSize: {
|
|
'2xs': ['0.625rem', { lineHeight: '0.875rem' }],
|
|
xs: ['0.75rem', { lineHeight: '1rem' }],
|
|
sm: ['0.875rem', { lineHeight: '1.25rem' }],
|
|
base: ['1rem', { lineHeight: '1.5rem' }],
|
|
lg: ['1.125rem', { lineHeight: '1.75rem' }],
|
|
xl: ['1.25rem', { lineHeight: '1.875rem' }],
|
|
'2xl': ['1.5rem', { lineHeight: '2rem' }],
|
|
'3xl': ['1.875rem', { lineHeight: '2.25rem' }],
|
|
'4xl': ['2.25rem', { lineHeight: '2.75rem' }],
|
|
'5xl': ['3rem', { lineHeight: '3.5rem' }],
|
|
'6xl': ['3.75rem', { lineHeight: '4.25rem' }],
|
|
},
|
|
spacing: {
|
|
'18': '4.5rem',
|
|
'88': '22rem',
|
|
'120': '30rem',
|
|
'128': '32rem',
|
|
'144': '36rem',
|
|
},
|
|
borderRadius: {
|
|
sm: '6px',
|
|
DEFAULT: '8px',
|
|
md: '10px',
|
|
lg: '12px',
|
|
xl: '16px',
|
|
'2xl': '20px',
|
|
'3xl': '24px',
|
|
},
|
|
animation: {
|
|
'fade-in': 'fadeIn 0.2s ease-out',
|
|
'fade-out': 'fadeOut 0.15s ease-in',
|
|
'slide-up': 'slideUp 0.2s ease-out',
|
|
'slide-down': 'slideDown 0.2s ease-out',
|
|
'scale-in': 'scaleIn 0.15s ease-out',
|
|
'spin-slow': 'spin 3s linear infinite',
|
|
},
|
|
keyframes: {
|
|
fadeIn: {
|
|
'0%': { opacity: '0' },
|
|
'100%': { opacity: '1' },
|
|
},
|
|
fadeOut: {
|
|
'0%': { opacity: '1' },
|
|
'100%': { opacity: '0' },
|
|
},
|
|
slideUp: {
|
|
'0%': { transform: 'translateY(10px)', opacity: '0' },
|
|
'100%': { transform: 'translateY(0)', opacity: '1' },
|
|
},
|
|
slideDown: {
|
|
'0%': { transform: 'translateY(-10px)', opacity: '0' },
|
|
'100%': { transform: 'translateY(0)', opacity: '1' },
|
|
},
|
|
scaleIn: {
|
|
'0%': { transform: 'scale(0.95)', opacity: '0' },
|
|
'100%': { transform: 'scale(1)', opacity: '1' },
|
|
},
|
|
},
|
|
transitionDuration: {
|
|
'0': '0ms',
|
|
'75': '75ms',
|
|
'100': '100ms',
|
|
'150': '150ms',
|
|
'200': '200ms',
|
|
'250': '250ms',
|
|
'300': '300ms',
|
|
'400': '400ms',
|
|
},
|
|
transitionTimingFunction: {
|
|
'bounce-in': 'cubic-bezier(0.68, -0.55, 0.265, 1.55)',
|
|
},
|
|
backdropBlur: {
|
|
xs: '2px',
|
|
},
|
|
},
|
|
},
|
|
plugins: [require('@tailwindcss/typography'), require('@tailwindcss/forms')],
|
|
}
|
|
|
|
export default config
|