import typography from "@tailwindcss/typography";

/** @type {import('tailwindcss').Config} */
export default {
  darkMode: "class",
  content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"],
  theme: {
    extend: {
      typography: (theme) => ({
        DEFAULT: {
          css: {
            "--tw-prose-body": theme("colors.neutral[300]"),
            "--tw-prose-headings": theme("colors.white"),
            "--tw-prose-lead": theme("colors.neutral[400]"),
            "--tw-prose-links": theme("colors.indigo[400]"),
            "--tw-prose-bold": theme("colors.white"),
            "--tw-prose-counters": theme("colors.neutral[400]"),
            "--tw-prose-bullets": theme("colors.neutral[600]"),
            "--tw-prose-hr": theme("colors.neutral[800]"),
            "--tw-prose-quotes": theme("colors.neutral[200]"),
            "--tw-prose-quote-borders": theme("colors.neutral[700]"),
            "--tw-prose-captions": theme("colors.neutral[400]"),
            "--tw-prose-code": theme("colors.white"),
            "--tw-prose-pre-code": theme("colors.neutral[200]"),
            "--tw-prose-pre-bg": theme("colors.neutral[900]"),
            "--tw-prose-th-borders": theme("colors.neutral[700]"),
            "--tw-prose-td-borders": theme("colors.neutral[800]"),

            // Стилизация блоков кода
            pre: {
              backgroundColor: theme("colors.neutral[900]"),
              border: `1px solid ${theme("colors.neutral[800]")}`,
              borderRadius: theme("borderRadius.lg"),
              padding: theme("spacing.4"),
            },
            // Стилизация ссылок
            a: {
              textDecoration: "underline",
              textDecorationColor: theme("colors.indigo[400]"),
              textUnderlineOffset: "2px",
              transition: "color 0.2s ease-out",
              "&:hover": {
                color: theme("colors.indigo[300]"),
              },
            },
            // Стилизация цитат
            blockquote: {
              borderLeftColor: theme("colors.indigo[500]"),
              fontStyle: "italic",
              color: theme("colors.neutral[400]"),
            },
          },
        },
      }),
    },
  },
  plugins: [typography],
};
