import defaultTheme from "tailwindcss/defaultTheme";
import typography from "@tailwindcss/typography";

/** @type {import('tailwindcss').Config} */
export default {
  darkMode: ["variant", "@media not print { .dark & }"],
  content: {
    files: [
      "./src/components/**/*.astro",
      "./src/content/stories/**/*.{md,mdx}",
      "./src/content/games/**/*.{md,mdx}",
      "./src/content/blog/**/*.{md,mdx}",
      "./src/layouts/*.astro",
      "./src/pages/**/*.{astro,ts}",
    ],
  },
  theme: {
    extend: {
      fontFamily: {
        sans: ['"Noto Sans Variable"', ...defaultTheme.fontFamily.sans],
        serif: ['"Noto Serif Variable"', ...defaultTheme.fontFamily.serif],
      },
      colors: {
        bm: {
          300: "rgb(153 230 95 / <alpha-value>)",
          400: "rgb(125 208 90 / <alpha-value>)",
          500: "rgb(72 168 79 / <alpha-value>)",
          600: "rgb(57 142 72 / <alpha-value>)",
        },
      },
      backgroundImage: {
        radial: "radial-gradient(var(--tw-gradient-stops))",
      },
      typography: ({ theme }) => ({
        bm: {
          css: {
            "--tw-prose-body": theme("colors.stone[800]"),
            "--tw-prose-headings": theme("colors.stone[900]"),
            "--tw-prose-lead": theme("colors.stone[700]"),
            "--tw-prose-links": theme("colors.bm[500]"),
            "--tw-prose-bold": theme("colors.stone[900]"),
            "--tw-prose-counters": theme("colors.stone[600]"),
            "--tw-prose-bullets": theme("colors.stone[500]"),
            "--tw-prose-hr": theme("colors.stone[300]"),
            "--tw-prose-quotes": theme("colors.stone[900]"),
            "--tw-prose-quote-borders": theme("colors.stone[300]"),
            "--tw-prose-captions": theme("colors.stone[700]"),
            "--tw-prose-code": theme("colors.stone[900]"),
            "--tw-prose-pre-code": theme("colors.stone[100]"),
            "--tw-prose-pre-bg": theme("colors.stone[900]"),
            "--tw-prose-th-borders": theme("colors.stone[300]"),
            "--tw-prose-td-borders": theme("colors.stone[200]"),
            "--tw-prose-invert-body": theme("colors.stone[100]"),
            "--tw-prose-invert-headings": theme("colors.white"),
            "--tw-prose-invert-lead": theme("colors.stone[300]"),
            "--tw-prose-invert-links": theme("colors.bm[400]"),
            "--tw-prose-invert-bold": theme("colors.white"),
            "--tw-prose-invert-counters": theme("colors.stone[400]"),
            "--tw-prose-invert-bullets": theme("colors.stone[500]"),
            "--tw-prose-invert-hr": theme("colors.stone[700]"),
            "--tw-prose-invert-quotes": theme("colors.stone[100]"),
            "--tw-prose-invert-quote-borders": theme("colors.stone[700]"),
            "--tw-prose-invert-captions": theme("colors.stone[400]"),
            "--tw-prose-invert-code": theme("colors.white"),
            "--tw-prose-invert-pre-code": theme("colors.stone[300]"),
            "--tw-prose-invert-pre-bg": "rgb(0 0 0 / 50%)",
            "--tw-prose-invert-th-borders": theme("colors.stone[600]"),
            "--tw-prose-invert-td-borders": theme("colors.stone[700]"),
          },
        },
      }),
    },
  },
  plugins: [typography],
};
