import type { Config } from 'tailwindcss';

/**
 * سیستم طراحی «شهرنما».
 * پالت رنگ بر پایه‌ی جوهر و کاغذ ایرانی: مشکی مرکب، سرمه‌ای عمیق، فیروزه‌ای و
 * خاکِ شنی؛ به‌جای رنگ‌های عمومی SaaS. حالت تیره پالت مستقل دارد (نه Invert).
 */
const config: Config = {
  darkMode: 'class',
  content: ['./app/**/*.{ts,tsx}', './components/**/*.{ts,tsx}', './features/**/*.{ts,tsx}'],
  theme: {
    extend: {
      colors: {
        ink: {
          50: '#f6f6f4', 100: '#eceae5', 200: '#d8d4c9', 300: '#b8b1a0',
          400: '#918876', 500: '#736a59', 600: '#5b5346', 700: '#48423a',
          800: '#2c2822', 900: '#1a1713', 950: '#0e0c0a',
        },
        azure: {
          50: '#eef6fb', 100: '#d7e9f5', 200: '#b0d3ea', 300: '#7fb4d9',
          400: '#4d90c2', 500: '#2e71a6', 600: '#215787', 700: '#1b446b',
          800: '#163752', 900: '#122c41', 950: '#0a1a28',
        },
        turquoise: {
          50: '#eafaf7', 100: '#c9f2ea', 200: '#96e4d6', 300: '#5fcebd',
          400: '#33b3a1', 500: '#1d9587', 600: '#15776d', 700: '#145f58',
          800: '#134c47', 900: '#123f3c', 950: '#062523',
        },
        saffron: {
          50: '#fdf7ec', 100: '#f9e9c8', 200: '#f3d18d', 300: '#ecb452',
          400: '#e59a2b', 500: '#cf7d1a', 600: '#ac5c15', 700: '#8a4315',
          800: '#723717', 900: '#602f17', 950: '#371508',
        },
        crimson: {
          50: '#fdf3f3', 100: '#fbe5e5', 200: '#f8cfd0', 300: '#f2adae',
          400: '#e87e80', 500: '#d9535a', 600: '#c33341', 700: '#a32636',
          800: '#882333', 900: '#752232', 950: '#400c16',
        },
      },
      fontFamily: {
        sans: ['Vazirmatn', 'system-ui', 'sans-serif'],
        display: ['Vazirmatn', 'system-ui', 'sans-serif'],
        mono: ['ui-monospace', 'SFMono-Regular', 'monospace'],
      },
      fontSize: {
        // مقیاس تایپوگرافی فارسی — ارتفاع خط بلندتر برای خوانایی متن فارسی
        'display-xl': ['clamp(2.5rem, 5vw, 4.25rem)', { lineHeight: '1.15', letterSpacing: '-0.02em', fontWeight: '800' }],
        'display-lg': ['clamp(2rem, 3.6vw, 3.1rem)', { lineHeight: '1.2', letterSpacing: '-0.015em', fontWeight: '800' }],
        'display-md': ['clamp(1.5rem, 2.4vw, 2.15rem)', { lineHeight: '1.3', fontWeight: '700' }],
        'title': ['1.375rem', { lineHeight: '1.5', fontWeight: '700' }],
        'body-lg': ['1.0625rem', { lineHeight: '2' }],
        'body': ['0.9375rem', { lineHeight: '1.9' }],
        'caption': ['0.8125rem', { lineHeight: '1.7' }],
        'micro': ['0.6875rem', { lineHeight: '1.6', letterSpacing: '0.02em' }],
      },
      borderRadius: { xl: '0.875rem', '2xl': '1.25rem', '3xl': '1.75rem' },
      boxShadow: {
        card: '0 1px 2px rgba(14,12,10,.04), 0 8px 24px -12px rgba(14,12,10,.12)',
        lift: '0 2px 4px rgba(14,12,10,.06), 0 24px 48px -20px rgba(14,12,10,.24)',
        glow: '0 0 0 1px rgba(29,149,135,.28), 0 12px 32px -12px rgba(29,149,135,.35)',
      },
      backgroundImage: {
        'paper-grain': 'radial-gradient(circle at 1px 1px, rgba(0,0,0,.045) 1px, transparent 0)',
      },
      keyframes: {
        'fade-up': { '0%': { opacity: '0', transform: 'translateY(12px)' }, '100%': { opacity: '1', transform: 'none' } },
        marquee: { '0%': { transform: 'translateX(0)' }, '100%': { transform: 'translateX(100%)' } },
        shimmer: { '100%': { transform: 'translateX(-100%)' } },
      },
      animation: {
        'fade-up': 'fade-up .5s cubic-bezier(.16,1,.3,1) both',
        marquee: 'marquee 42s linear infinite',
      },
    },
  },
  plugins: [],
};
export default config;
