/** @type {import('tailwindcss').Config} */ export default { content: ['./index.html', './src/**/*.{ts,tsx}'], theme: { extend: { fontFamily: { sans: ['"Space Grotesk"', 'system-ui', 'sans-serif'], display: ['"Space Grotesk"', 'system-ui', 'sans-serif'], mono: ['"JetBrains Mono"', 'monospace'], }, colors: { // Surface Architecture 'surface-dim': 'rgb(var(--color-surface-dim) / )', 'surface': 'rgb(var(--color-surface) / )', 'surface-bright': 'rgb(var(--color-surface-bright) / )', 'surface-lowest': 'rgb(var(--color-surface-container-lowest) / )', 'surface-low': 'rgb(var(--color-surface-container-low) / )', 'surface-container': 'rgb(var(--color-surface-container) / )', 'surface-high': 'rgb(var(--color-surface-container-high) / )', 'surface-highest': 'rgb(var(--color-surface-container-highest) / )', // Legacy mappings bg: 'rgb(var(--color-bg) / )', fg: 'rgb(var(--color-fg) / )', muted: 'rgb(var(--color-muted) / )', 'muted-fg': 'rgb(var(--color-muted-fg) / )', card: 'rgb(var(--color-card) / )', border: 'rgb(var(--color-border) / )', // Primary primary: 'rgb(var(--color-primary) / )', 'primary-container': 'rgb(var(--color-primary-container) / )', 'primary-fixed': 'rgb(var(--color-primary-fixed) / )', 'primary-fixed-dim': 'rgb(var(--color-primary-fixed-dim) / )', 'on-primary': 'rgb(var(--color-on-primary) / )', 'on-primary-container': 'rgb(var(--color-on-primary-container) / )', // Accent alias accent: 'rgb(var(--color-accent) / )', // Secondary secondary: 'rgb(var(--color-secondary) / )', 'secondary-container': 'rgb(var(--color-secondary-container) / )', 'secondary-fixed': 'rgb(var(--color-secondary-fixed) / )', 'secondary-fixed-dim': 'rgb(var(--color-secondary-fixed-dim) / )', 'on-secondary': 'rgb(var(--color-on-secondary) / )', 'on-secondary-container': 'rgb(var(--color-on-secondary-container) / )', // Tertiary tertiary: 'rgb(var(--color-tertiary) / )', 'tertiary-container': 'rgb(var(--color-tertiary-container) / )', // Semantic success: 'rgb(var(--color-success) / )', warning: 'rgb(var(--color-warning) / )', danger: 'rgb(var(--color-danger) / )', 'on-danger': 'rgb(var(--color-on-danger) / )', // Outlines outline: 'rgb(var(--color-outline) / )', 'outline-variant': 'rgb(var(--color-outline-variant) / )', 'on-surface-variant': 'rgb(var(--color-on-surface-variant) / )', // Inverse 'inverse-surface': 'rgb(var(--color-inverse-surface) / )', 'inverse-on-surface': 'rgb(var(--color-inverse-on-surface) / )', 'inverse-primary': 'rgb(var(--color-inverse-primary) / )', // Tint 'surface-tint': 'rgb(var(--color-surface-tint) / )', }, boxShadow: { brutal: '8px 8px 0 rgb(var(--color-primary))', 'brutal-sm': '4px 4px 0 rgb(var(--color-primary))', 'brutal-lg': '12px 12px 0 rgb(var(--color-primary))', 'brutal-hover': '12px 12px 0 rgb(var(--color-primary))', 'brutal-outline': '8px 8px 0 rgb(var(--color-outline))', none: 'none', }, borderRadius: { none: '0', DEFAULT: '0', }, borderWidth: { DEFAULT: '3px', 0: '0', 2: '2px', 3: '3px', 4: '4px', 6: '6px', 8: '8px', }, keyframes: { 'brutal-appear': { '0%': { opacity: 0 }, '100%': { opacity: 1 }, }, 'brutal-scale': { '0%': { transform: 'scale(0.9)' }, '50%': { transform: 'scale(1.05)' }, '100%': { transform: 'scale(1)' }, }, 'glitch-anim': { '0%': { clip: 'rect(42px, 9999px, 44px, 0)' }, '5%': { clip: 'rect(12px, 9999px, 59px, 0)' }, '10%': { clip: 'rect(48px, 9999px, 29px, 0)' }, '15%': { clip: 'rect(42px, 9999px, 73px, 0)' }, '20%': { clip: 'rect(63px, 9999px, 27px, 0)' }, '100%': { clip: 'rect(4px, 9999px, 91px, 0)' }, }, 'flicker': { '0%, 100%': { opacity: 1 }, '42%': { opacity: 0 }, '43%': { opacity: 1 }, '48%': { opacity: 0 }, '49%': { opacity: 1 }, }, 'slide-brutal': { '0%': { transform: 'translateX(-100%)' }, '100%': { transform: 'translateX(0)' }, }, }, animation: { 'brutal-appear': 'brutal-appear 0.1s steps(1) both', 'brutal-scale': 'brutal-scale 0.1s steps(2) both', 'glitch': 'glitch-anim 3s infinite linear alternate-reverse', 'flicker': 'flicker 5s infinite', 'slide-brutal': 'slide-brutal 0.2s steps(3) both', }, backgroundImage: { 'gradient-primary': 'linear-gradient(135deg, rgb(var(--color-primary)) 0%, rgb(var(--color-primary)) 100%)', 'gradient-secondary': 'linear-gradient(135deg, rgb(var(--color-secondary)) 0%, rgb(var(--color-secondary)) 100%)', 'gradient-mesh': 'repeating-linear-gradient(45deg, transparent, transparent 10px, rgb(var(--color-primary) / 0.03) 10px, rgb(var(--color-primary) / 0.03) 20px)', 'brutal-stripes': 'repeating-linear-gradient(45deg, transparent, transparent 20px, rgb(var(--color-primary) / 0.05) 20px, rgb(var(--color-primary) / 0.05) 40px)', }, }, }, plugins: [], }