JavaScript · 1526 bytes Raw Blame History
1 /** @type {import('tailwindcss').Config} */
2 export default {
3 content: [
4 "./index.html",
5 "./src/**/*.{vue,js,ts,jsx,tsx}",
6 ],
7 theme: {
8 extend: {
9 colors: {
10 primary: {
11 50: '#eff6ff',
12 100: '#dbeafe',
13 200: '#bfdbfe',
14 300: '#93c5fd',
15 400: '#60a5fa',
16 500: '#3b82f6',
17 600: '#2563eb',
18 700: '#1d4ed8',
19 800: '#1e40af',
20 900: '#1e3a8a',
21 950: '#172554',
22 },
23 gray: {
24 50: '#f9fafb',
25 100: '#f3f4f6',
26 200: '#e5e7eb',
27 300: '#d1d5db',
28 400: '#9ca3af',
29 500: '#6b7280',
30 600: '#4b5563',
31 700: '#374151',
32 800: '#1f2937',
33 900: '#111827',
34 950: '#030712',
35 }
36 },
37 fontFamily: {
38 sans: ['Inter', 'system-ui', 'sans-serif'],
39 mono: ['JetBrains Mono', 'Menlo', 'Monaco', 'monospace'],
40 },
41 animation: {
42 'fade-in': 'fadeIn 0.2s ease-in-out',
43 'slide-up': 'slideUp 0.3s ease-out',
44 'pulse-slow': 'pulse 3s ease-in-out infinite',
45 },
46 keyframes: {
47 fadeIn: {
48 '0%': { opacity: '0' },
49 '100%': { opacity: '1' },
50 },
51 slideUp: {
52 '0%': { transform: 'translateY(10px)', opacity: '0' },
53 '100%': { transform: 'translateY(0)', opacity: '1' },
54 },
55 },
56 },
57 },
58 plugins: [
59 require('@tailwindcss/forms'),
60 require('@tailwindcss/typography'),
61 ],
62 }