You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

202 lines
5.2 KiB

import type { Config } from 'tailwindcss'
export default {
content: [
'./components/**/*.{js,vue,ts}',
'./layouts/**/*.vue',
'./pages/**/*.vue',
'./plugins/**/*.{js,ts}',
'./app.vue',
'./error.vue',
],
theme: {
extend: {
// experimenta Color Palette
colors: {
// shadcn-ui color variables
border: 'hsl(var(--border))',
input: 'hsl(var(--input))',
ring: 'hsl(var(--ring))',
background: 'hsl(var(--background))',
foreground: 'hsl(var(--foreground))',
primary: {
DEFAULT: 'hsl(var(--primary))',
foreground: 'hsl(var(--primary-foreground))',
},
secondary: {
DEFAULT: 'hsl(var(--secondary))',
foreground: 'hsl(var(--secondary-foreground))',
},
destructive: {
DEFAULT: 'hsl(var(--destructive))',
foreground: 'hsl(var(--destructive-foreground))',
},
muted: {
DEFAULT: 'hsl(var(--muted))',
foreground: 'hsl(var(--muted-foreground))',
},
accent: {
DEFAULT: 'hsl(var(--accent))',
foreground: 'hsl(var(--accent-foreground))',
},
popover: {
DEFAULT: 'hsl(var(--popover))',
foreground: 'hsl(var(--popover-foreground))',
},
card: {
DEFAULT: 'hsl(var(--card))',
foreground: 'hsl(var(--card-foreground))',
},
// experimenta Brand Colors (kept separate for custom use)
'experimenta-primary': {
DEFAULT: '#e6007e',
hover: '#c2006a',
light: '#ff4081',
},
'experimenta-secondary': {
DEFAULT: '#e91e63',
dark: '#c2185b',
},
'experimenta-accent': {
DEFAULT: '#f59d24',
hover: '#ffb347',
},
red: '#E40521',
// Purple Variants (Background)
purple: {
dark: '#2e1065',
deeper: '#1a0a3a',
darkest: '#0f051d',
},
// Semantic Colors
success: {
DEFAULT: '#46c74a',
dark: '#3ba83e',
},
error: {
DEFAULT: '#e53e3e',
dark: '#c53030',
},
warning: {
DEFAULT: '#f59d24',
dark: '#dd8a1e',
},
info: {
DEFAULT: '#4299e1',
dark: '#3182ce',
},
},
// Font Sizes (Mobile-First with responsive variants)
fontSize: {
// H1
'4xl': ['36px', { lineHeight: '1.2', letterSpacing: '-1px' }],
// H2
'3xl': ['30px', { lineHeight: '1.3', letterSpacing: '-0.5px' }],
// H3
'2xl': ['24px', { lineHeight: '1.4' }],
// H4
xl: ['20px', { lineHeight: '1.4' }],
// H5
lg: ['18px', { lineHeight: '1.5', letterSpacing: '0.5px' }],
// Body
base: ['16px', { lineHeight: '1.6' }],
// Small
sm: ['14px', { lineHeight: '1.6' }],
// Tiny
xs: ['12px', { lineHeight: '1.5' }],
},
// Spacing System (8px Grid)
spacing: {
'1': '4px',
'2': '8px',
'3': '12px',
'4': '16px',
'5': '20px',
'6': '24px',
'8': '30px',
'10': '40px',
'15': '60px',
'20': '80px',
'25': '100px', // For status icons
},
// Border Radius
borderRadius: {
lg: 'var(--radius)',
md: 'calc(var(--radius) - 2px)',
sm: 'calc(var(--radius) - 4px)',
xl: '20px',
'2xl': '25px',
full: '100%',
},
// Max Widths (Containers)
maxWidth: {
'container-main': '800px',
'container-wide': '1200px',
'container-full': '1760px',
},
// Background Gradients
backgroundImage: {
'gradient-primary': 'linear-gradient(135deg, #2e1065 0%, #1a0a3a 50%, #0f051d 100%)',
'gradient-footer': 'linear-gradient(135deg, #1a0a3a 0%, #0f051d 100%)',
'gradient-glass':
'linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05))',
'gradient-button': 'linear-gradient(to left, #e6007e, #e6007e, #E40521, #e6007e)',
'gradient-success': 'linear-gradient(90deg, #46c74a 0%, #66d96a 50%, #46c74a 100%)',
},
// Background Sizes
backgroundSize: {
'size-300': '300%',
'size-200': '200%',
},
// Background Positions
backgroundPosition: {
left: 'left',
right: 'right',
},
// Box Shadows
boxShadow: {
glass: '0 20px 40px rgba(0, 0, 0, 0.3)',
'inner-light': 'inset 0 2px 4px rgba(0, 0, 0, 0.2)',
},
// Backdrop Blur
backdropBlur: {
xl: '15px',
},
// Animations
keyframes: {
pulse: {
'0%, 100%': { transform: 'scale(1)' },
'50%': { transform: 'scale(1.1)' },
},
shimmer: {
'0%': { backgroundPosition: '-200% 0' },
'100%': { backgroundPosition: '200% 0' },
},
},
animation: {
pulse: 'pulse 2s ease-in-out infinite',
shimmer: 'shimmer 3s ease-in-out infinite',
},
// Transitions
transitionDuration: {
'300': '300ms',
'1000': '1000ms',
},
},
},
plugins: [],
} satisfies Config