import type { Config } from 'tailwindcss'; export default { content: ['./index.html', './src/**/*.{ts,tsx}'], darkMode: 'class', theme: { extend: { fontFamily: { sans: ['"Instrument Sans"', 'system-ui', 'sans-serif'], display: ['"Space Grotesk"', 'system-ui', 'sans-serif'], mono: ['"IBM Plex Mono"', 'ui-monospace', 'monospace'], }, colors: { // Horizon theme: cool space neutrals — replaces Tailwind's gray // throughout the app, since components reference gray-* directly. gray: { 50: '#f4f5f8', 100: '#edeef3', 200: '#dde0e8', 300: '#bcc1cd', 400: '#9aa0b0', 500: '#6e7484', 600: '#4d5363', 700: '#373c49', 800: '#232733', 900: '#14161f', 950: '#0a0b11', }, // Atmosphere-rim cyan accent — every accent reference // (text-blue-*, bg-blue-*, ring-blue-*) lights up in the brand color. // Validated against the dark surface (dataviz six checks). blue: { 50: '#ecfbfe', 100: '#d4f4fa', 200: '#ade8f2', 300: '#6ec9db', 400: '#4ab3c8', 500: '#2f9db2', 600: '#23808f', 700: '#1d6675', 800: '#1a525e', 900: '#17434e', 950: '#0a2b33', }, // Positive/up shares the cyan family (mockup: one "up" color, no green). emerald: { 50: '#ecfbfe', 100: '#d4f4fa', 200: '#ade8f2', 300: '#6ec9db', 400: '#4ab3c8', 500: '#2f9db2', 600: '#23808f', 700: '#1d6675', 800: '#1a525e', 900: '#17434e', 950: '#0a2b33', }, // Negative/down: muted rose (Mars ember stays reserved for atmosphere). red: { 50: '#fdf1ef', 100: '#fbe0dc', 200: '#f6c2ba', 300: '#f0a094', 400: '#ea8271', 500: '#e36a58', 600: '#c95441', 700: '#a84334', 800: '#86382c', 900: '#6e3128', 950: '#3b1712', }, surface: { DEFAULT: 'rgba(255, 255, 255, 0.04)', hover: 'rgba(255, 255, 255, 0.07)', active: 'rgba(255, 255, 255, 0.1)', border: 'rgba(226, 231, 245, 0.09)', }, }, backdropBlur: { glass: '16px', }, animation: { 'glow-pulse': 'glow-pulse 3s ease-in-out infinite', 'fade-in': 'fade-in 0.3s ease-out', 'slide-up': 'slide-up 0.4s ease-out', 'signal-pulse': 'signal-pulse 2.4s ease-in-out infinite', }, keyframes: { 'glow-pulse': { '0%, 100%': { opacity: '0.4' }, '50%': { opacity: '0.8' }, }, 'fade-in': { from: { opacity: '0' }, to: { opacity: '1' }, }, 'slide-up': { from: { opacity: '0', transform: 'translateY(12px)' }, to: { opacity: '1', transform: 'translateY(0)' }, }, 'signal-pulse': { '0%, 100%': { opacity: '1', transform: 'scale(1)' }, '50%': { opacity: '0.35', transform: 'scale(0.8)' }, }, }, }, }, plugins: [], } satisfies Config;