import type { Config } from "tailwindcss"
import { fontFamily } from 'tailwindcss/defaultTheme'

const config = {
  darkMode: ["class"],
  content: [
    './pages/**/*.{ts,tsx}',
    './components/**/*.{ts,tsx}',
    './app/**/*.{ts,tsx}',
    './src/**/*.{ts,tsx}',
   ],
  prefix: "",
  theme: {
    container: {
      center: true,
      padding: '2rem',
      screens: {
         '2xl': '1400px',
      },
   },
   extend: {
      fontFamily: {
         sans: ['var(--font-sans)', ...fontFamily.sans],
      },
      colors: {
         border: 'hsl(var(--border))',
         input: 'hsl(var(--input))',
         ring: 'hsl(var(--ring))',
         background: 'hsl(var(--background))',
         foreground: 'hsl(var(--foreground))',
         surface: "var(--surface)",
         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))',
         },
      },
      borderRadius: {
         lg: 'var(--radius)',
         md: 'calc(var(--radius) - 2px)',
         sm: 'calc(var(--radius) - 4px)',
      },
      keyframes: {
         orbit: {
            "0%": {
                transform: "rotate(0deg) translateY(calc(var(--radius) * 1px)) rotate(0deg)",
            },
            "100%": {
                transform: "rotate(360deg) translateY(calc(var(--radius) * 1px)) rotate(-360deg)",
            },
        },
         "shine-pulse": {
            "0%": {
               "background-position": "0% 0%",
            },
            "50%": {
               "background-position": "100% 100%",
            },
            to: {
               "background-position": "0% 0%",
            },
         },
         'accordion-down': {
            from: { height: '0' },
            to: { height: 'var(--radix-accordion-content-height)' },
         },
         'accordion-up': {
            from: { height: 'var(--radix-accordion-content-height)' },
            to: { height: '0' },
         },
         'border-beam': {
            '100%': {
               'offset-distance': '100%',
            },
         },
         'image-glow': {
            '0%': {
               'opacity': '0',
               'animation-timing-function': 'cubic-bezier(0.74, 0.25, 0.76, 1)',
            },
            '10%': {
               'opacity': '0.7',
               'animation-timing-function': 'cubic-bezier(0.12, 0.01, 0.08, 0.99)',
            },
            '100%': {
               opacity: '0.4',
            },
         },
         'fade-in': {
            from: { opacity: '0', transform: 'translateY(-10px)' },
            to: { opacity: '1', transform: 'none' },
         },
         'fade-up': {
            from: { opacity: '0', transform: 'translateY(20px)' },
            to: { opacity: '1', transform: 'none' },
         },
         'shimmer': {
            '0%, 90%, 100%': {
               'background-position': 'calc(-100% - var(--shimmer-width)) 0',
            },
            '30%, 60%': {
               'background-position': 'calc(100% + var(--shimmer-width)) 0',
            },
         },
         'marquee': {
            from: { transform: 'translateX(0)' },
            to: { transform: 'translateX(calc(-100% - var(--gap)))' },
         },
         'marquee-vertical': {
            from: { transform: 'translateY(0)' },
            to: { transform: 'translateY(calc(-100% - var(--gap)))' },
         },
      },
      animation: {
         orbit: "orbit calc(var(--duration)*1s) linear infinite",
         'accordion-down': 'accordion-down 0.2s ease-out',
         'accordion-up': 'accordion-up 0.2s ease-out',
         'border-beam': 'border-beam calc(var(--duration)*1s) infinite linear',
         'image-glow': 'image-glow 4100ms 600ms ease-out forwards',
         'fade-in': 'fade-in 1000ms var(--animation-delay, 0ms) ease forwards',
         'fade-up': 'fade-up 1000ms var(--animation-delay, 0ms) ease forwards',
         'shimmer': 'shimmer 8s infinite',
         'marquee': 'marquee var(--duration) infinite linear',
         'marquee-vertical': 'marquee-vertical var(--duration) linear infinite',
      },
    },
  },
  plugins: [require("tailwindcss-animate")],
} satisfies Config

export default config