import { createTheme, type ThemeOptions } from '@mui/material/styles'; export const themeOptions: ThemeOptions = { palette: { mode: 'light', primary: { main: '#18181b', light: '#27272a', dark: '#0a0a0a', }, secondary: { main: '#f4f4f5', light: '#fafafa', dark: '#a1a1aa', }, background: { default: '#ffffff', paper: '#ffffff', }, text: { primary: '#18181b', secondary: '#52525b', }, grey: { 50: '#fafafa', 100: '#f4f4f5', 200: '#e4e4e7', 300: '#d4d4d8', 400: '#a1a1aa', 500: '#71717a', 600: '#52525b', 700: '#3f3f46', 800: '#27272a', 900: '#18181b', }, }, typography: { fontFamily: [ 'Inter', 'system-ui', '-apple-system', 'BlinkMacSystemFont', '"Segoe UI"', 'Roboto', '"Helvetica Neue"', 'Arial', 'sans-serif', ].join(','), h1: { fontSize: '3.5rem', fontWeight: 700, lineHeight: 1.2, letterSpacing: '-0.02em', }, h2: { fontSize: '2.5rem', fontWeight: 700, lineHeight: 1.2, letterSpacing: '-0.02em', }, h3: { fontSize: '2rem', fontWeight: 600, lineHeight: 1.3, }, h4: { fontSize: '1.5rem', fontWeight: 600, lineHeight: 1.4, }, h5: { fontSize: '1.25rem', fontWeight: 600, lineHeight: 1.4, }, h6: { fontSize: '1.125rem', fontWeight: 600, lineHeight: 1.4, }, body1: { fontSize: '1rem', lineHeight: 1.6, }, body2: { fontSize: '0.875rem', lineHeight: 1.6, }, button: { fontWeight: 500, textTransform: 'none', }, }, shape: { borderRadius: 8, }, spacing: 8, components: { MuiButton: { styleOverrides: { root: { borderRadius: 8, padding: '8px 16px', fontSize: '0.875rem', fontWeight: 500, textTransform: 'none', boxShadow: 'none', '&:hover': { boxShadow: 'none', }, }, contained: { boxShadow: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)', '&:hover': { boxShadow: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)', }, }, }, }, MuiCard: { styleOverrides: { root: { borderRadius: 12, border: '1px solid', borderColor: '#e4e4e7', boxShadow: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)', }, }, }, MuiPaper: { styleOverrides: { root: { backgroundImage: 'none', }, elevation1: { boxShadow: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)', }, }, }, }, }; export const darkThemeOptions: ThemeOptions = { ...themeOptions, palette: { ...themeOptions.palette, mode: 'dark', primary: { main: '#fafafa', light: '#ffffff', dark: '#a1a1aa', }, secondary: { main: '#27272a', light: '#18181b', dark: '#3f3f46', }, background: { default: '#0a0a0a', paper: '#18181b', }, text: { primary: '#fafafa', secondary: '#a1a1aa', }, }, }; export const createCustomTheme = (mode = 'light') => { return createTheme(mode === 'dark' ? darkThemeOptions : themeOptions); };