118 lines
3.5 KiB
JavaScript
118 lines
3.5 KiB
JavaScript
export default {
|
|
darkMode: ['class'],
|
|
content: [
|
|
'./pages/**/*.{ts,tsx}',
|
|
'./components/**/*.{ts,tsx}',
|
|
'./app/**/*.{ts,tsx}',
|
|
'./src/**/*.{ts,tsx}',
|
|
'./node_modules/streamdown/dist/**/*.js'
|
|
],
|
|
safelist: ['border', 'border-border'],
|
|
prefix: '',
|
|
theme: {
|
|
container: {
|
|
center: true,
|
|
padding: '2rem',
|
|
screens: {
|
|
'2xl': '1400px',
|
|
},
|
|
},
|
|
extend: {
|
|
fontFamily: {
|
|
mono: ['"Space Mono"', '"Courier New"', 'monospace'],
|
|
sans: ['"Inter"', 'system-ui', 'sans-serif'],
|
|
display: ['"Orbitron"', 'sans-serif'],
|
|
},
|
|
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))',
|
|
},
|
|
// Cassette Futurism Palette
|
|
retro: {
|
|
orange: '#FF3D00',
|
|
teal: '#00E5FF',
|
|
pink: '#FF00FF',
|
|
yellow: '#FFEA00',
|
|
dark: '#1A1A1A',
|
|
light: '#F5F7FA',
|
|
}
|
|
},
|
|
borderRadius: {
|
|
lg: 'var(--radius)',
|
|
md: 'calc(var(--radius) - 2px)',
|
|
sm: 'calc(var(--radius) - 4px)',
|
|
none: '0',
|
|
},
|
|
boxShadow: {
|
|
'retro': '4px 4px 0px 0px rgba(0,0,0,1)',
|
|
'retro-hover': '2px 2px 0px 0px rgba(0,0,0,1)',
|
|
'neon': '0 0 5px theme("colors.primary.DEFAULT"), 0 0 20px theme("colors.primary.DEFAULT")',
|
|
},
|
|
keyframes: {
|
|
'accordion-down': {
|
|
from: { height: '0' },
|
|
to: { height: 'var(--radix-accordion-content-height)' },
|
|
},
|
|
'accordion-up': {
|
|
from: { height: 'var(--radix-accordion-content-height)' },
|
|
to: { height: '0' },
|
|
},
|
|
'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)' },
|
|
},
|
|
'scanline': {
|
|
'0%': { transform: 'translateY(-100%)' },
|
|
'100%': { transform: 'translateY(100%)' },
|
|
},
|
|
'pulse-slow': {
|
|
'0%, 100%': { opacity: '1' },
|
|
'50%': { opacity: '0.5' },
|
|
}
|
|
},
|
|
animation: {
|
|
'accordion-down': 'accordion-down 0.2s ease-out',
|
|
'accordion-up': 'accordion-up 0.2s ease-out',
|
|
'glitch': 'glitch 0.3s cubic-bezier(.25, .46, .45, .94) both infinite',
|
|
'scanline': 'scanline 8s linear infinite',
|
|
'pulse-slow': 'pulse-slow 3s ease-in-out infinite',
|
|
},
|
|
},
|
|
},
|
|
plugins: [
|
|
require('tailwindcss-animate'),
|
|
],
|
|
}; |