import type { Config } from 'tailwindcss' const config: Config = { 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: { background: { DEFAULT: '#08080a', secondary: '#0c0c0f', tertiary: '#121215', elevated: '#18181c', }, foreground: { DEFAULT: '#fafaf9', muted: '#a1a1a1', subtle: '#6a6a6a', }, accent: { DEFAULT: '#10b981', hover: '#059669', muted: '#10b98112', soft: '#10b98108', }, warning: { DEFAULT: '#f59e0b', muted: '#f59e0b15', }, danger: { DEFAULT: '#ef4444', muted: '#ef444412', }, border: { DEFAULT: '#1a1a1f', hover: '#26262d', subtle: '#141418', }, }, fontFamily: { sans: ['var(--font-sans)', 'system-ui', 'sans-serif'], mono: ['var(--font-mono)', 'JetBrains Mono', 'monospace'], display: ['var(--font-display)', 'Georgia', 'serif'], }, fontSize: { // ===== DISPLAY SIZES (Headlines) ===== // Hero - Main landing page (mobile → tablet → desktop → large) 'hero-sm': ['2.5rem', { lineHeight: '1.05', letterSpacing: '-0.03em' }], // 40px 'hero': ['3.5rem', { lineHeight: '1.05', letterSpacing: '-0.035em' }], // 56px 'hero-md': ['5rem', { lineHeight: '1.02', letterSpacing: '-0.04em' }], // 80px 'hero-lg': ['6.5rem', { lineHeight: '1.0', letterSpacing: '-0.045em' }], // 104px 'hero-xl': ['8rem', { lineHeight: '0.95', letterSpacing: '-0.05em' }], // 128px // Display - Page titles, section heads 'display-sm': ['1.5rem', { lineHeight: '1.15', letterSpacing: '-0.02em' }], // 24px 'display': ['2rem', { lineHeight: '1.12', letterSpacing: '-0.025em' }], // 32px 'display-md': ['2.5rem', { lineHeight: '1.1', letterSpacing: '-0.03em' }], // 40px 'display-lg': ['3.25rem', { lineHeight: '1.08', letterSpacing: '-0.035em' }], // 52px 'display-xl': ['4.5rem', { lineHeight: '1.05', letterSpacing: '-0.04em' }], // 72px // Heading - Cards, smaller sections 'heading-sm': ['1.125rem', { lineHeight: '1.3', letterSpacing: '-0.01em' }], // 18px 'heading': ['1.25rem', { lineHeight: '1.25', letterSpacing: '-0.015em' }], // 20px 'heading-md': ['1.5rem', { lineHeight: '1.2', letterSpacing: '-0.02em' }], // 24px 'heading-lg': ['1.875rem', { lineHeight: '1.15', letterSpacing: '-0.02em' }], // 30px // ===== BODY SIZES ===== 'body-xs': ['0.8125rem', { lineHeight: '1.6' }], // 13px 'body-sm': ['0.875rem', { lineHeight: '1.65' }], // 14px 'body': ['1rem', { lineHeight: '1.7' }], // 16px 'body-md': ['1.0625rem', { lineHeight: '1.7' }], // 17px 'body-lg': ['1.125rem', { lineHeight: '1.75' }], // 18px 'body-xl': ['1.25rem', { lineHeight: '1.8' }], // 20px // ===== UI SIZES ===== 'ui-xs': ['0.6875rem', { lineHeight: '1.4', letterSpacing: '0.02em' }], // 11px 'ui-sm': ['0.75rem', { lineHeight: '1.45', letterSpacing: '0.015em' }], // 12px 'ui': ['0.8125rem', { lineHeight: '1.5', letterSpacing: '0.01em' }], // 13px 'ui-md': ['0.875rem', { lineHeight: '1.5' }], // 14px 'ui-lg': ['0.9375rem', { lineHeight: '1.5' }], // 15px // Label - Uppercase labels 'label': ['0.6875rem', { lineHeight: '1.3', letterSpacing: '0.1em', fontWeight: '500' }], // 11px 'label-md': ['0.75rem', { lineHeight: '1.35', letterSpacing: '0.08em', fontWeight: '500' }], // 12px }, spacing: { '18': '4.5rem', '22': '5.5rem', '26': '6.5rem', '30': '7.5rem', }, animation: { 'fade-in': 'fadeIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards', 'slide-up': 'slideUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards', 'scale-in': 'scaleIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards', 'glow-pulse': 'glowPulse 3s ease-in-out infinite', }, keyframes: { fadeIn: { '0%': { opacity: '0' }, '100%': { opacity: '1' }, }, slideUp: { '0%': { opacity: '0', transform: 'translateY(24px)' }, '100%': { opacity: '1', transform: 'translateY(0)' }, }, scaleIn: { '0%': { opacity: '0', transform: 'scale(0.95)' }, '100%': { opacity: '1', transform: 'scale(1)' }, }, glowPulse: { '0%, 100%': { opacity: '0.4' }, '50%': { opacity: '0.7' }, }, shimmer: { '0%': { transform: 'translateX(-100%)' }, '100%': { transform: 'translateX(100%)' }, }, }, }, }, plugins: [], } export default config