2025-12-14 02:38:35 +07:00
|
|
|
/** @type {import('tailwindcss').Config} */
|
|
|
|
|
export default {
|
|
|
|
|
content: [
|
|
|
|
|
"./index.html",
|
|
|
|
|
"./src/**/*.{js,ts,jsx,tsx}",
|
|
|
|
|
],
|
|
|
|
|
theme: {
|
|
|
|
|
extend: {
|
|
|
|
|
colors: {
|
2025-12-17 14:53:56 +07:00
|
|
|
// Base dark colors - slightly warmer tones
|
2025-12-17 02:03:33 +07:00
|
|
|
dark: {
|
2025-12-17 14:53:56 +07:00
|
|
|
950: '#08090d',
|
|
|
|
|
900: '#0d0e14',
|
|
|
|
|
800: '#14161e',
|
|
|
|
|
700: '#1c1e28',
|
|
|
|
|
600: '#252732',
|
|
|
|
|
500: '#2e313d',
|
|
|
|
|
},
|
|
|
|
|
// Soft cyan (primary) - gentler on eyes
|
2025-12-17 02:03:33 +07:00
|
|
|
neon: {
|
|
|
|
|
50: '#ecfeff',
|
|
|
|
|
100: '#cffafe',
|
|
|
|
|
200: '#a5f3fc',
|
|
|
|
|
300: '#67e8f9',
|
2025-12-17 14:53:56 +07:00
|
|
|
400: '#67e8f9',
|
|
|
|
|
500: '#22d3ee',
|
|
|
|
|
600: '#06b6d4',
|
|
|
|
|
700: '#0891b2',
|
|
|
|
|
800: '#155e75',
|
|
|
|
|
900: '#164e63',
|
|
|
|
|
},
|
|
|
|
|
// Soft violet accent
|
2025-12-17 02:03:33 +07:00
|
|
|
accent: {
|
2025-12-17 14:53:56 +07:00
|
|
|
50: '#f5f3ff',
|
|
|
|
|
100: '#ede9fe',
|
|
|
|
|
200: '#ddd6fe',
|
|
|
|
|
300: '#c4b5fd',
|
|
|
|
|
400: '#a78bfa',
|
|
|
|
|
500: '#8b5cf6',
|
|
|
|
|
600: '#7c3aed',
|
|
|
|
|
700: '#6d28d9',
|
|
|
|
|
800: '#5b21b6',
|
|
|
|
|
900: '#4c1d95',
|
|
|
|
|
},
|
|
|
|
|
// Soft pink highlight - used sparingly
|
2025-12-17 02:03:33 +07:00
|
|
|
pink: {
|
|
|
|
|
400: '#f472b6',
|
|
|
|
|
500: '#ec4899',
|
|
|
|
|
600: '#db2777',
|
|
|
|
|
},
|
|
|
|
|
// Keep primary for backwards compatibility
|
2025-12-14 02:38:35 +07:00
|
|
|
primary: {
|
2025-12-17 02:03:33 +07:00
|
|
|
50: '#ecfeff',
|
|
|
|
|
100: '#cffafe',
|
|
|
|
|
200: '#a5f3fc',
|
|
|
|
|
300: '#67e8f9',
|
2025-12-17 14:53:56 +07:00
|
|
|
400: '#67e8f9',
|
|
|
|
|
500: '#22d3ee',
|
|
|
|
|
600: '#06b6d4',
|
|
|
|
|
700: '#0891b2',
|
|
|
|
|
800: '#155e75',
|
|
|
|
|
900: '#164e63',
|
2025-12-14 02:38:35 +07:00
|
|
|
},
|
|
|
|
|
},
|
2025-12-17 02:03:33 +07:00
|
|
|
fontFamily: {
|
|
|
|
|
sans: ['Inter', 'system-ui', 'sans-serif'],
|
|
|
|
|
mono: ['JetBrains Mono', 'monospace'],
|
|
|
|
|
display: ['Orbitron', 'sans-serif'],
|
|
|
|
|
},
|
2025-12-14 02:38:35 +07:00
|
|
|
animation: {
|
2025-12-17 02:03:33 +07:00
|
|
|
// Existing
|
2025-12-14 02:38:35 +07:00
|
|
|
'spin-slow': 'spin 3s linear infinite',
|
|
|
|
|
'wheel-spin': 'wheel-spin 4s cubic-bezier(0.17, 0.67, 0.12, 0.99) forwards',
|
2025-12-17 02:03:33 +07:00
|
|
|
'fade-in': 'fade-in 0.3s ease-out forwards',
|
|
|
|
|
'slide-up': 'slide-up 0.3s ease-out forwards',
|
|
|
|
|
// New animations
|
|
|
|
|
'glitch': 'glitch 1s linear infinite',
|
|
|
|
|
'glitch-1': 'glitch-1 0.5s infinite linear alternate-reverse',
|
|
|
|
|
'glitch-2': 'glitch-2 0.5s infinite linear alternate-reverse',
|
|
|
|
|
'glow-pulse': 'glow-pulse 2s ease-in-out infinite',
|
|
|
|
|
'float': 'float 6s ease-in-out infinite',
|
|
|
|
|
'shimmer': 'shimmer 2s linear infinite',
|
|
|
|
|
'slide-in-right': 'slide-in-right 0.3s ease-out forwards',
|
|
|
|
|
'slide-in-left': 'slide-in-left 0.3s ease-out forwards',
|
|
|
|
|
'slide-in-up': 'slide-in-up 0.4s ease-out forwards',
|
|
|
|
|
'slide-in-down': 'slide-in-down 0.3s ease-out forwards',
|
|
|
|
|
'scale-in': 'scale-in 0.2s ease-out forwards',
|
|
|
|
|
'bounce-in': 'bounce-in 0.5s ease-out forwards',
|
|
|
|
|
'pulse-neon': 'pulse-neon 2s ease-in-out infinite',
|
|
|
|
|
'border-flow': 'border-flow 3s linear infinite',
|
|
|
|
|
'typing': 'typing 3.5s steps(40, end), blink-caret 0.75s step-end infinite',
|
|
|
|
|
'counter': 'counter 2s ease-out forwards',
|
|
|
|
|
'shake': 'shake 0.5s ease-in-out',
|
|
|
|
|
'confetti': 'confetti 1s ease-out forwards',
|
2025-12-14 02:38:35 +07:00
|
|
|
},
|
|
|
|
|
keyframes: {
|
|
|
|
|
'wheel-spin': {
|
|
|
|
|
'0%': { transform: 'rotate(0deg)' },
|
|
|
|
|
'100%': { transform: 'rotate(var(--wheel-rotation, 1800deg))' },
|
|
|
|
|
},
|
|
|
|
|
'fade-in': {
|
|
|
|
|
'0%': { opacity: '0' },
|
|
|
|
|
'100%': { opacity: '1' },
|
|
|
|
|
},
|
|
|
|
|
'slide-up': {
|
|
|
|
|
'0%': { opacity: '0', transform: 'translateY(10px)' },
|
|
|
|
|
'100%': { opacity: '1', transform: 'translateY(0)' },
|
|
|
|
|
},
|
2025-12-17 02:03:33 +07:00
|
|
|
'glitch': {
|
|
|
|
|
'0%, 100%': { transform: 'translate(0)' },
|
|
|
|
|
'20%': { transform: 'translate(-2px, 2px)' },
|
|
|
|
|
'40%': { transform: 'translate(-2px, -2px)' },
|
|
|
|
|
'60%': { transform: 'translate(2px, 2px)' },
|
|
|
|
|
'80%': { transform: 'translate(2px, -2px)' },
|
|
|
|
|
},
|
|
|
|
|
'glitch-1': {
|
|
|
|
|
'0%': { clipPath: 'inset(20% 0 60% 0)' },
|
|
|
|
|
'100%': { clipPath: 'inset(50% 0 30% 0)' },
|
|
|
|
|
},
|
|
|
|
|
'glitch-2': {
|
|
|
|
|
'0%': { clipPath: 'inset(60% 0 20% 0)' },
|
|
|
|
|
'100%': { clipPath: 'inset(30% 0 50% 0)' },
|
|
|
|
|
},
|
|
|
|
|
'glow-pulse': {
|
|
|
|
|
'0%, 100%': {
|
2025-12-17 14:53:56 +07:00
|
|
|
boxShadow: '0 0 6px rgba(34, 211, 238, 0.4), 0 0 12px rgba(34, 211, 238, 0.2)'
|
2025-12-17 02:03:33 +07:00
|
|
|
},
|
|
|
|
|
'50%': {
|
2025-12-17 14:53:56 +07:00
|
|
|
boxShadow: '0 0 10px rgba(34, 211, 238, 0.5), 0 0 20px rgba(34, 211, 238, 0.3)'
|
2025-12-17 02:03:33 +07:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
'float': {
|
|
|
|
|
'0%, 100%': { transform: 'translateY(0)' },
|
|
|
|
|
'50%': { transform: 'translateY(-10px)' },
|
|
|
|
|
},
|
|
|
|
|
'shimmer': {
|
|
|
|
|
'0%': { backgroundPosition: '-200% 0' },
|
|
|
|
|
'100%': { backgroundPosition: '200% 0' },
|
|
|
|
|
},
|
|
|
|
|
'slide-in-right': {
|
|
|
|
|
'0%': { opacity: '0', transform: 'translateX(20px)' },
|
|
|
|
|
'100%': { opacity: '1', transform: 'translateX(0)' },
|
|
|
|
|
},
|
|
|
|
|
'slide-in-left': {
|
|
|
|
|
'0%': { opacity: '0', transform: 'translateX(-20px)' },
|
|
|
|
|
'100%': { opacity: '1', transform: 'translateX(0)' },
|
|
|
|
|
},
|
|
|
|
|
'slide-in-up': {
|
|
|
|
|
'0%': { opacity: '0', transform: 'translateY(30px)' },
|
|
|
|
|
'100%': { opacity: '1', transform: 'translateY(0)' },
|
|
|
|
|
},
|
|
|
|
|
'slide-in-down': {
|
|
|
|
|
'0%': { opacity: '0', transform: 'translateY(-20px)' },
|
|
|
|
|
'100%': { opacity: '1', transform: 'translateY(0)' },
|
|
|
|
|
},
|
|
|
|
|
'scale-in': {
|
|
|
|
|
'0%': { opacity: '0', transform: 'scale(0.9)' },
|
|
|
|
|
'100%': { opacity: '1', transform: 'scale(1)' },
|
|
|
|
|
},
|
|
|
|
|
'bounce-in': {
|
|
|
|
|
'0%': { opacity: '0', transform: 'scale(0.3)' },
|
|
|
|
|
'50%': { transform: 'scale(1.05)' },
|
|
|
|
|
'70%': { transform: 'scale(0.9)' },
|
|
|
|
|
'100%': { opacity: '1', transform: 'scale(1)' },
|
|
|
|
|
},
|
|
|
|
|
'pulse-neon': {
|
|
|
|
|
'0%, 100%': {
|
2025-12-17 14:53:56 +07:00
|
|
|
textShadow: '0 0 6px rgba(34, 211, 238, 0.5), 0 0 12px rgba(34, 211, 238, 0.25)'
|
2025-12-17 02:03:33 +07:00
|
|
|
},
|
|
|
|
|
'50%': {
|
2025-12-17 14:53:56 +07:00
|
|
|
textShadow: '0 0 10px rgba(34, 211, 238, 0.6), 0 0 18px rgba(34, 211, 238, 0.35)'
|
2025-12-17 02:03:33 +07:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
'border-flow': {
|
|
|
|
|
'0%': { backgroundPosition: '0% 50%' },
|
|
|
|
|
'50%': { backgroundPosition: '100% 50%' },
|
|
|
|
|
'100%': { backgroundPosition: '0% 50%' },
|
|
|
|
|
},
|
|
|
|
|
'typing': {
|
|
|
|
|
'from': { width: '0' },
|
|
|
|
|
'to': { width: '100%' },
|
|
|
|
|
},
|
|
|
|
|
'blink-caret': {
|
|
|
|
|
'from, to': { borderColor: 'transparent' },
|
2025-12-17 14:53:56 +07:00
|
|
|
'50%': { borderColor: '#22d3ee' },
|
2025-12-17 02:03:33 +07:00
|
|
|
},
|
|
|
|
|
'shake': {
|
|
|
|
|
'0%, 100%': { transform: 'translateX(0)' },
|
|
|
|
|
'10%, 30%, 50%, 70%, 90%': { transform: 'translateX(-5px)' },
|
|
|
|
|
'20%, 40%, 60%, 80%': { transform: 'translateX(5px)' },
|
|
|
|
|
},
|
|
|
|
|
'confetti': {
|
|
|
|
|
'0%': { transform: 'translateY(0) rotate(0deg)', opacity: '1' },
|
|
|
|
|
'100%': { transform: 'translateY(100vh) rotate(720deg)', opacity: '0' },
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
backgroundImage: {
|
|
|
|
|
'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
|
|
|
|
|
'gradient-conic': 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))',
|
2025-12-17 14:53:56 +07:00
|
|
|
'neon-glow': 'linear-gradient(90deg, #22d3ee, #8b5cf6, #22d3ee)',
|
2025-12-17 02:03:33 +07:00
|
|
|
'cyber-grid': `
|
2025-12-17 14:53:56 +07:00
|
|
|
linear-gradient(rgba(34, 211, 238, 0.02) 1px, transparent 1px),
|
|
|
|
|
linear-gradient(90deg, rgba(34, 211, 238, 0.02) 1px, transparent 1px)
|
2025-12-17 02:03:33 +07:00
|
|
|
`,
|
|
|
|
|
},
|
|
|
|
|
backgroundSize: {
|
|
|
|
|
'grid': '50px 50px',
|
|
|
|
|
},
|
|
|
|
|
boxShadow: {
|
2025-12-17 14:53:56 +07:00
|
|
|
'neon': '0 0 8px rgba(34, 211, 238, 0.4), 0 0 16px rgba(34, 211, 238, 0.2)',
|
|
|
|
|
'neon-lg': '0 0 12px rgba(34, 211, 238, 0.5), 0 0 24px rgba(34, 211, 238, 0.3)',
|
|
|
|
|
'neon-purple': '0 0 8px rgba(139, 92, 246, 0.4), 0 0 16px rgba(139, 92, 246, 0.2)',
|
|
|
|
|
'neon-pink': '0 0 8px rgba(244, 114, 182, 0.4), 0 0 16px rgba(244, 114, 182, 0.2)',
|
|
|
|
|
'inner-glow': 'inset 0 0 20px rgba(34, 211, 238, 0.06)',
|
2025-12-17 02:03:33 +07:00
|
|
|
'glass': '0 8px 32px 0 rgba(0, 0, 0, 0.37)',
|
|
|
|
|
},
|
|
|
|
|
backdropBlur: {
|
|
|
|
|
'xs': '2px',
|
|
|
|
|
},
|
|
|
|
|
transitionDuration: {
|
|
|
|
|
'400': '400ms',
|
2025-12-14 02:38:35 +07:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
plugins: [],
|
|
|
|
|
}
|