Spaces:
Sleeping
Sleeping
| /** @type {import('tailwindcss').Config} */ | |
| module.exports = { | |
| 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: { | |
| fontFamily: { | |
| sans: ['var(--font-sans)', 'ui-sans-serif', 'system-ui', 'sans-serif'], | |
| mono: ['var(--font-mono)', 'ui-monospace', 'monospace'], | |
| }, | |
| colors: { | |
| 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))', | |
| }, | |
| // Surface levels | |
| 'surface-0': 'hsl(var(--surface-0))', | |
| 'surface-1': 'hsl(var(--surface-1))', | |
| 'surface-2': 'hsl(var(--surface-2))', | |
| 'surface-3': 'hsl(var(--surface-3))', | |
| // Void accent colors | |
| 'void-cyan': 'hsl(var(--void-cyan))', | |
| 'void-mint': 'hsl(var(--void-mint))', | |
| 'void-amber': 'hsl(var(--void-amber))', | |
| 'void-violet': 'hsl(var(--void-violet))', | |
| 'void-crimson': 'hsl(var(--void-crimson))', | |
| // Semantic status colors | |
| success: { | |
| DEFAULT: 'hsl(var(--success))', | |
| foreground: 'hsl(var(--success-foreground))', | |
| }, | |
| warning: { | |
| DEFAULT: 'hsl(var(--warning))', | |
| foreground: 'hsl(var(--warning-foreground))', | |
| }, | |
| info: { | |
| DEFAULT: 'hsl(var(--info))', | |
| foreground: 'hsl(var(--info-foreground))', | |
| }, | |
| }, | |
| borderRadius: { | |
| lg: '8px', | |
| md: '6px', | |
| sm: '4px', | |
| xs: '2px', | |
| }, | |
| fontSize: { | |
| '2xs': ['0.625rem', { lineHeight: '0.875rem' }], | |
| }, | |
| spacing: { | |
| '18': '4.5rem', | |
| '88': '22rem', | |
| '112': '28rem', | |
| '128': '32rem', | |
| }, | |
| animation: { | |
| 'fade-in': 'fadeIn 0.15s ease-out', | |
| 'slide-in-right': 'slideInRight 0.2s ease-out', | |
| 'slide-in-left': 'slideInLeft 0.2s ease-out', | |
| 'pulse-dot': 'pulse-dot 2s ease-in-out infinite', | |
| 'glow-pulse': 'glowPulse 3s ease-in-out infinite', | |
| 'float': 'float 6s ease-in-out infinite', | |
| 'converge-top': 'convergeTop 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards', | |
| 'converge-left': 'convergeLeft 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards', | |
| 'converge-right': 'convergeRight 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards', | |
| 'converge-bottom': 'convergeBottom 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards', | |
| 'converge-burst': 'convergeBurst 0.5s ease-out 0.9s forwards', | |
| 'pair-fade-out': 'pairFadeOut 0.5s ease-in 1.8s forwards', | |
| 'mc-fade-in': 'mcFadeIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) 2.0s forwards', | |
| 'grid-flow': 'gridFlow 20s linear infinite', | |
| 'edge-glow': 'edgeGlow 2s ease-in-out infinite', | |
| }, | |
| keyframes: { | |
| glowPulse: { | |
| '0%, 100%': { opacity: '1', filter: 'brightness(1)' }, | |
| '50%': { opacity: '0.7', filter: 'brightness(1.3)' }, | |
| }, | |
| float: { | |
| '0%, 100%': { transform: 'translateY(0px)' }, | |
| '50%': { transform: 'translateY(-6px)' }, | |
| }, | |
| gridFlow: { | |
| '0%': { backgroundPosition: '0 0' }, | |
| '100%': { backgroundPosition: '40px 40px' }, | |
| }, | |
| edgeGlow: { | |
| '0%, 100%': { opacity: '0.4' }, | |
| '50%': { opacity: '1' }, | |
| }, | |
| convergeTop: { | |
| '0%': { transform: 'translate(-50%, -40px)', opacity: '0' }, | |
| '100%': { transform: 'translate(-50%, 0)', opacity: '1' }, | |
| }, | |
| convergeLeft: { | |
| '0%': { transform: 'translate(-40px, -50%)', opacity: '0' }, | |
| '100%': { transform: 'translate(0, -50%)', opacity: '1' }, | |
| }, | |
| convergeRight: { | |
| '0%': { transform: 'translate(40px, -50%)', opacity: '0' }, | |
| '100%': { transform: 'translate(0, -50%)', opacity: '1' }, | |
| }, | |
| convergeBottom: { | |
| '0%': { transform: 'translate(-50%, 40px)', opacity: '0' }, | |
| '100%': { transform: 'translate(-50%, 0)', opacity: '1' }, | |
| }, | |
| convergeBurst: { | |
| '0%': { transform: 'scale(0)', opacity: '0' }, | |
| '60%': { transform: 'scale(1.2)', opacity: '1' }, | |
| '100%': { transform: 'scale(1)', opacity: '0.6' }, | |
| }, | |
| pairFadeOut: { | |
| '0%': { transform: 'scale(1)', opacity: '1' }, | |
| '100%': { transform: 'scale(0.8)', opacity: '0' }, | |
| }, | |
| mcFadeIn: { | |
| '0%': { transform: 'scale(0.5)', opacity: '0' }, | |
| '60%': { transform: 'scale(1.08)', opacity: '1' }, | |
| '100%': { transform: 'scale(1)', opacity: '1' }, | |
| }, | |
| }, | |
| }, | |
| }, | |
| plugins: [], | |
| } | |