import { createTheme } from '@vanilla-extract/css';
import { color } from 'folds';

export const silverTheme = createTheme(color, {
  Background: {
    Container: '#DEDEDE',
    ContainerHover: '#D3D3D3',
    ContainerActive: '#C7C7C7',
    ContainerLine: '#BBBBBB',
    OnContainer: '#000000',
  },

  Surface: {
    Container: '#EAEAEA',
    ContainerHover: '#DEDEDE',
    ContainerActive: '#D3D3D3',
    ContainerLine: '#C7C7C7',
    OnContainer: '#000000',
  },

  SurfaceVariant: {
    Container: '#DEDEDE',
    ContainerHover: '#D3D3D3',
    ContainerActive: '#C7C7C7',
    ContainerLine: '#BBBBBB',
    OnContainer: '#000000',
  },

  Primary: {
    Main: '#1245A8',
    MainHover: '#103E97',
    MainActive: '#0F3B8F',
    MainLine: '#0E3786',
    OnMain: '#FFFFFF',
    Container: '#C4D0E9',
    ContainerHover: '#B8C7E5',
    ContainerActive: '#ACBEE1',
    ContainerLine: '#A0B5DC',
    OnContainer: '#0D3076',
  },

  Secondary: {
    Main: '#000000',
    MainHover: '#171717',
    MainActive: '#232323',
    MainLine: '#2F2F2F',
    OnMain: '#EAEAEA',
    Container: '#C7C7C7',
    ContainerHover: '#BBBBBB',
    ContainerActive: '#AFAFAF',
    ContainerLine: '#A4A4A4',
    OnContainer: '#0C0C0C',
  },

  Success: {
    Main: '#017343',
    MainHover: '#01683C',
    MainActive: '#016239',
    MainLine: '#015C36',
    OnMain: '#FFFFFF',
    Container: '#BFDCD0',
    ContainerHover: '#B3D5C7',
    ContainerActive: '#A6CEBD',
    ContainerLine: '#99C7B4',
    OnContainer: '#01512F',
  },

  Warning: {
    Main: '#864300',
    MainHover: '#793C00',
    MainActive: '#723900',
    MainLine: '#6B3600',
    OnMain: '#FFFFFF',
    Container: '#E1D0BF',
    ContainerHover: '#DBC7B2',
    ContainerActive: '#D5BDA6',
    ContainerLine: '#CFB499',
    OnContainer: '#5E2F00',
  },

  Critical: {
    Main: '#9D0F0F',
    MainHover: '#8D0E0E',
    MainActive: '#850D0D',
    MainLine: '#7E0C0C',
    OnMain: '#FFFFFF',
    Container: '#E7C3C3',
    ContainerHover: '#E2B7B7',
    ContainerActive: '#DDABAB',
    ContainerLine: '#D89F9F',
    OnContainer: '#6E0B0B',
  },

  Other: {
    FocusRing: 'rgba(0 0 0 / 50%)',
    Shadow: 'rgba(0 0 0 / 20%)',
    Overlay: 'rgba(0 0 0 / 50%)',
  },
});

const darkThemeData = {
  Background: {
    Container: '#1A1A1A',
    ContainerHover: '#262626',
    ContainerActive: '#333333',
    ContainerLine: '#404040',
    OnContainer: '#F2F2F2',
  },

  Surface: {
    Container: '#262626',
    ContainerHover: '#333333',
    ContainerActive: '#404040',
    ContainerLine: '#4D4D4D',
    OnContainer: '#F2F2F2',
  },

  SurfaceVariant: {
    Container: '#333333',
    ContainerHover: '#404040',
    ContainerActive: '#4D4D4D',
    ContainerLine: '#595959',
    OnContainer: '#F2F2F2',
  },

  Primary: {
    Main: '#BDB6EC',
    MainHover: '#B2AAE9',
    MainActive: '#ADA3E8',
    MainLine: '#A79DE6',
    OnMain: '#2C2843',
    Container: '#413C65',
    ContainerHover: '#494370',
    ContainerActive: '#50497B',
    ContainerLine: '#575086',
    OnContainer: '#E3E1F7',
  },

  Secondary: {
    Main: '#FFFFFF',
    MainHover: '#E5E5E5',
    MainActive: '#D9D9D9',
    MainLine: '#CCCCCC',
    OnMain: '#1A1A1A',
    Container: '#404040',
    ContainerHover: '#4D4D4D',
    ContainerActive: '#595959',
    ContainerLine: '#666666',
    OnContainer: '#F2F2F2',
  },

  Success: {
    Main: '#85E0BA',
    MainHover: '#70DBAF',
    MainActive: '#66D9A9',
    MainLine: '#5CD6A3',
    OnMain: '#0F3D2A',
    Container: '#175C3F',
    ContainerHover: '#1A6646',
    ContainerActive: '#1C704D',
    ContainerLine: '#1F7A54',
    OnContainer: '#CCF2E2',
  },

  Warning: {
    Main: '#E3BA91',
    MainHover: '#DFAF7E',
    MainActive: '#DDA975',
    MainLine: '#DAA36C',
    OnMain: '#3F2A15',
    Container: '#5E3F20',
    ContainerHover: '#694624',
    ContainerActive: '#734D27',
    ContainerLine: '#7D542B',
    OnContainer: '#F3E2D1',
  },

  Critical: {
    Main: '#E69D9D',
    MainHover: '#E28D8D',
    MainActive: '#E08585',
    MainLine: '#DE7D7D',
    OnMain: '#401C1C',
    Container: '#602929',
    ContainerHover: '#6B2E2E',
    ContainerActive: '#763333',
    ContainerLine: '#803737',
    OnContainer: '#F5D6D6',
  },

  Other: {
    FocusRing: 'rgba(255, 255, 255, 0.5)',
    Shadow: 'rgba(0, 0, 0, 1)',
    Overlay: 'rgba(0, 0, 0, 0.8)',
  },
};

export const darkTheme = createTheme(color, darkThemeData);

export const butterTheme = createTheme(color, {
  ...darkThemeData,
  Background: {
    Container: '#1A1916',
    ContainerHover: '#262621',
    ContainerActive: '#33322C',
    ContainerLine: '#403F38',
    OnContainer: '#FFFBDE',
  },

  Surface: {
    Container: '#262621',
    ContainerHover: '#33322C',
    ContainerActive: '#403F38',
    ContainerLine: '#4D4B43',
    OnContainer: '#FFFBDE',
  },

  SurfaceVariant: {
    Container: '#33322C',
    ContainerHover: '#403F38',
    ContainerActive: '#4D4B43',
    ContainerLine: '#59584E',
    OnContainer: '#FFFBDE',
  },

  Secondary: {
    Main: '#FFFBDE',
    MainHover: '#E5E2C8',
    MainActive: '#D9D5BD',
    MainLine: '#CCC9B2',
    OnMain: '#1A1916',
    Container: '#403F38',
    ContainerHover: '#4D4B43',
    ContainerActive: '#59584E',
    ContainerLine: '#666459',
    OnContainer: '#F2EED3',
  },
});

export const cyberpunkTheme = createTheme(color, {
  ...darkThemeData,
  Background: {
    Container: '#0a0015',
    ContainerHover: '#130722',
    ContainerActive: '#1c0f30',
    ContainerLine: '#26173d',
    OnContainer: '#ECE6F5',
  },

  Surface: {
    Container: '#130722',
    ContainerHover: '#1c0f30',
    ContainerActive: '#26173d',
    ContainerLine: '#2f1f4a',
    OnContainer: '#ECE6F5',
  },

  SurfaceVariant: {
    Container: '#1c0f30',
    ContainerHover: '#26173d',
    ContainerActive: '#2f1f4a',
    ContainerLine: '#392858',
    OnContainer: '#ECE6F5',
  },

  Primary: {
    Main: '#bf5fff',
    MainHover: '#c873ff',
    MainActive: '#cd7eff',
    MainLine: '#d28aff',
    OnMain: '#1a0033',
    Container: '#3d1a5c',
    ContainerHover: '#461e69',
    ContainerActive: '#502276',
    ContainerLine: '#592683',
    OnContainer: '#EBD6FF',
  },

  Secondary: {
    Main: '#ff2d9b',
    MainHover: '#ff47a8',
    MainActive: '#ff54af',
    MainLine: '#ff61b6',
    OnMain: '#33001a',
    Container: '#5c0033',
    ContainerHover: '#69003a',
    ContainerActive: '#760041',
    ContainerLine: '#830048',
    OnContainer: '#FFD6EB',
  },

  Other: {
    FocusRing: 'rgba(191, 95, 255, 0.5)',
    Shadow: 'rgba(0, 0, 0, 1)',
    Overlay: 'rgba(10, 0, 21, 0.9)',
  },
});

export const oceanTheme = createTheme(color, {
  ...darkThemeData,
  Background: {
    Container: '#020b18',
    ContainerHover: '#051426',
    ContainerActive: '#091d34',
    ContainerLine: '#0e2742',
    OnContainer: '#DCEAF2',
  },

  Surface: {
    Container: '#051426',
    ContainerHover: '#091d34',
    ContainerActive: '#0e2742',
    ContainerLine: '#143150',
    OnContainer: '#DCEAF2',
  },

  SurfaceVariant: {
    Container: '#091d34',
    ContainerHover: '#0e2742',
    ContainerActive: '#143150',
    ContainerLine: '#1a3b5e',
    OnContainer: '#DCEAF2',
  },

  Primary: {
    Main: '#00c9b1',
    MainHover: '#1ad2bd',
    MainActive: '#29d7c4',
    MainLine: '#38dccb',
    OnMain: '#00231f',
    Container: '#004c43',
    ContainerHover: '#00564c',
    ContainerActive: '#006155',
    ContainerLine: '#006b5e',
    OnContainer: '#B3F0E8',
  },

  Secondary: {
    Main: '#0096d6',
    MainHover: '#1aa3dc',
    MainActive: '#29aadf',
    MainLine: '#38b1e2',
    OnMain: '#001a26',
    Container: '#003a52',
    ContainerHover: '#00425e',
    ContainerActive: '#004b6b',
    ContainerLine: '#005377',
    OnContainer: '#B3E2F5',
  },

  Other: {
    FocusRing: 'rgba(0, 201, 177, 0.5)',
    Shadow: 'rgba(0, 0, 0, 1)',
    Overlay: 'rgba(2, 11, 24, 0.9)',
  },
});

export const bloodRedTheme = createTheme(color, {
  ...darkThemeData,
  Background: {
    Container: '#0d0203',
    ContainerHover: '#180608',
    ContainerActive: '#240a0d',
    ContainerLine: '#300e12',
    OnContainer: '#F2DDDD',
  },

  Surface: {
    Container: '#180608',
    ContainerHover: '#240a0d',
    ContainerActive: '#300e12',
    ContainerLine: '#3c1318',
    OnContainer: '#F2DDDD',
  },

  SurfaceVariant: {
    Container: '#240a0d',
    ContainerHover: '#300e12',
    ContainerActive: '#3c1318',
    ContainerLine: '#48181e',
    OnContainer: '#F2DDDD',
  },

  Primary: {
    Main: '#ff2233',
    MainHover: '#ff3d4b',
    MainActive: '#ff4a57',
    MainLine: '#ff5763',
    OnMain: '#330003',
    Container: '#7a0010',
    ContainerHover: '#8a0013',
    ContainerActive: '#990015',
    ContainerLine: '#a80018',
    OnContainer: '#FFD1D6',
  },

  Secondary: {
    Main: '#FFFFFF',
    MainHover: '#E5E5E5',
    MainActive: '#D9D9D9',
    MainLine: '#CCCCCC',
    OnMain: '#0d0203',
    Container: '#3c1318',
    ContainerHover: '#48181e',
    ContainerActive: '#541d24',
    ContainerLine: '#60222a',
    OnContainer: '#F2DDDD',
  },

  Other: {
    FocusRing: 'rgba(255, 34, 51, 0.5)',
    Shadow: 'rgba(0, 0, 0, 1)',
    Overlay: 'rgba(13, 2, 3, 0.9)',
  },
});

export const classicMatrixTheme = createTheme(color, {
  ...darkThemeData,
  Background: {
    Container: '#000000',
    ContainerHover: '#0a0f0a',
    ContainerActive: '#121a12',
    ContainerLine: '#1c281c',
    OnContainer: '#C8E6C8',
  },

  Surface: {
    Container: '#0a0f0a',
    ContainerHover: '#121a12',
    ContainerActive: '#1c281c',
    ContainerLine: '#263626',
    OnContainer: '#C8E6C8',
  },

  SurfaceVariant: {
    Container: '#121a12',
    ContainerHover: '#1c281c',
    ContainerActive: '#263626',
    ContainerLine: '#304530',
    OnContainer: '#C8E6C8',
  },

  Primary: {
    Main: '#00ff41',
    MainHover: '#1aff57',
    MainActive: '#29ff63',
    MainLine: '#38ff6f',
    OnMain: '#001a08',
    Container: '#003311',
    ContainerHover: '#003d14',
    ContainerActive: '#004718',
    ContainerLine: '#00521b',
    OnContainer: '#9DFFB8',
  },

  Secondary: {
    Main: '#C8E6C8',
    MainHover: '#baddba',
    MainActive: '#b0d6b0',
    MainLine: '#a3cca3',
    OnMain: '#000000',
    Container: '#263626',
    ContainerHover: '#304530',
    ContainerActive: '#3a543a',
    ContainerLine: '#446344',
    OnContainer: '#DFF2DF',
  },

  Other: {
    FocusRing: 'rgba(0, 255, 65, 0.5)',
    Shadow: 'rgba(0, 0, 0, 1)',
    Overlay: 'rgba(0, 0, 0, 0.9)',
  },
});

export const midnightTheme = createTheme(color, {
  ...darkThemeData,
  Background: {
    Container: '#111827',
    ContainerHover: '#1a2234',
    ContainerActive: '#232d42',
    ContainerLine: '#2c3850',
    OnContainer: '#E5E9F0',
  },

  Surface: {
    Container: '#1a2234',
    ContainerHover: '#232d42',
    ContainerActive: '#2c3850',
    ContainerLine: '#35435e',
    OnContainer: '#E5E9F0',
  },

  SurfaceVariant: {
    Container: '#232d42',
    ContainerHover: '#2c3850',
    ContainerActive: '#35435e',
    ContainerLine: '#3e4e6c',
    OnContainer: '#E5E9F0',
  },

  Primary: {
    Main: '#6b7ca8',
    MainHover: '#7989b1',
    MainActive: '#8493b8',
    MainLine: '#8f9dbf',
    OnMain: '#000000',
    Container: '#2e3a55',
    ContainerHover: '#354161',
    ContainerActive: '#3c496d',
    ContainerLine: '#435179',
    OnContainer: '#D2DAEC',
  },

  Secondary: {
    Main: '#E5E9F0',
    MainHover: '#d4d9e3',
    MainActive: '#c9cfdb',
    MainLine: '#bdc4d3',
    OnMain: '#111827',
    Container: '#35435e',
    ContainerHover: '#3e4e6c',
    ContainerActive: '#47597a',
    ContainerLine: '#506488',
    OnContainer: '#E5E9F0',
  },

  Other: {
    FocusRing: 'rgba(107, 124, 168, 0.5)',
    Shadow: 'rgba(0, 0, 0, 1)',
    Overlay: 'rgba(17, 24, 39, 0.9)',
  },
});

export const lotusTerminalTheme = createTheme(color, {
  Background: {
    Container: '#030508',
    ContainerHover: '#060c14',
    ContainerActive: '#0d1520',
    ContainerLine: '#07101a',
    OnContainer: '#c4d9ee',
  },

  Surface: {
    Container: '#060c14',
    ContainerHover: '#0d1520',
    ContainerActive: '#07101a',
    ContainerLine: '#111d2b',
    OnContainer: '#c4d9ee',
  },

  SurfaceVariant: {
    Container: '#0d1520',
    ContainerHover: '#07101a',
    ContainerActive: '#111d2b',
    ContainerLine: '#162436',
    OnContainer: '#c4d9ee',
  },

  Primary: {
    Main: '#FF6B00',
    MainHover: '#FF8C2B',
    MainActive: '#FF9940',
    MainLine: '#FFA655',
    OnMain: '#030508',
    Container: '#2a1200',
    ContainerHover: '#3a1a00',
    ContainerActive: '#4a2200',
    ContainerLine: '#5a2a00',
    OnContainer: '#FFB87A',
  },

  Secondary: {
    Main: '#00D4FF',
    MainHover: '#33DFFF',
    MainActive: '#4DE5FF',
    MainLine: '#66EBFF',
    OnMain: '#030508',
    Container: '#001a22',
    ContainerHover: '#002233',
    ContainerActive: '#002a3d',
    ContainerLine: '#003347',
    OnContainer: '#99E8FF',
  },

  Success: {
    Main: '#00FF88',
    MainHover: '#33FFAA',
    MainActive: '#4DFFB8',
    MainLine: '#66FFC6',
    OnMain: '#030508',
    Container: '#002211',
    ContainerHover: '#002a16',
    ContainerActive: '#00331b',
    ContainerLine: '#003b20',
    OnContainer: '#99FFCC',
  },

  Warning: {
    Main: '#FFB300',
    MainHover: '#FFC233',
    MainActive: '#FFCC4D',
    MainLine: '#FFD566',
    OnMain: '#030508',
    Container: '#221900',
    ContainerHover: '#2a2000',
    ContainerActive: '#332800',
    ContainerLine: '#3b2e00',
    OnContainer: '#FFE08A',
  },

  Critical: {
    Main: '#FF2D55',
    MainHover: '#FF4D6D',
    MainActive: '#FF6080',
    MainLine: '#FF7390',
    OnMain: '#030508',
    Container: '#22000d',
    ContainerHover: '#2a0011',
    ContainerActive: '#330015',
    ContainerLine: '#3b0019',
    OnContainer: '#FF99AA',
  },

  Other: {
    FocusRing: 'rgba(0, 212, 255, 0.5)',
    Shadow: 'rgba(0, 0, 0, 1)',
    Overlay: 'rgba(3, 5, 8, 0.94)',
  },
});
export const lotusTerminalLightTheme = createTheme(color, {
  Background: {
    Container: '#edf0f5',
    ContainerHover: '#e2e7ef',
    ContainerActive: '#d4dae6',
    ContainerLine: '#c8d0de',
    OnContainer: '#111827',
  },
  Surface: {
    Container: '#f4f6fa',
    ContainerHover: '#e8ecf4',
    ContainerActive: '#dde2ed',
    ContainerLine: '#d0d7e5',
    OnContainer: '#111827',
  },
  SurfaceVariant: {
    Container: '#e2e7ef',
    ContainerHover: '#d4dae6',
    ContainerActive: '#c8d0de',
    ContainerLine: '#bdc6d6',
    OnContainer: '#2d3d56',
  },
  Primary: {
    Main: '#c44e00',
    MainHover: '#a33f00',
    MainActive: '#8f3700',
    MainLine: '#d45800',
    OnMain: '#ffffff',
    Container: 'rgba(196,78,0,0.10)',
    ContainerHover: 'rgba(196,78,0,0.16)',
    ContainerActive: 'rgba(196,78,0,0.22)',
    ContainerLine: 'rgba(196,78,0,0.28)',
    OnContainer: '#6b2200',
  },
  Secondary: {
    Main: '#0062b8',
    MainHover: '#0052a0',
    MainActive: '#004488',
    MainLine: '#0070cc',
    OnMain: '#ffffff',
    Container: 'rgba(0,98,184,0.10)',
    ContainerHover: 'rgba(0,98,184,0.16)',
    ContainerActive: 'rgba(0,98,184,0.22)',
    ContainerLine: 'rgba(0,98,184,0.28)',
    OnContainer: '#003580',
  },
  Success: {
    Main: '#006d35',
    MainHover: '#005c2c',
    MainActive: '#004a22',
    MainLine: '#007d3e',
    OnMain: '#ffffff',
    Container: 'rgba(0,109,53,0.10)',
    ContainerHover: 'rgba(0,109,53,0.16)',
    ContainerActive: 'rgba(0,109,53,0.22)',
    ContainerLine: 'rgba(0,109,53,0.28)',
    OnContainer: '#003520',
  },
  Warning: {
    Main: '#8a5a00',
    MainHover: '#7a4e00',
    MainActive: '#6a4400',
    MainLine: '#9a6600',
    OnMain: '#ffffff',
    Container: 'rgba(138,90,0,0.10)',
    ContainerHover: 'rgba(138,90,0,0.16)',
    ContainerActive: 'rgba(138,90,0,0.22)',
    ContainerLine: 'rgba(138,90,0,0.28)',
    OnContainer: '#4a3000',
  },
  Critical: {
    Main: '#b5001f',
    MainHover: '#9a0019',
    MainActive: '#800015',
    MainLine: '#cc0023',
    OnMain: '#ffffff',
    Container: 'rgba(181,0,31,0.10)',
    ContainerHover: 'rgba(181,0,31,0.16)',
    ContainerActive: 'rgba(181,0,31,0.22)',
    ContainerLine: 'rgba(181,0,31,0.28)',
    OnContainer: '#600010',
  },
  Other: {
    FocusRing: 'rgba(0, 98, 184, 0.50)',
    Shadow: 'rgba(0, 0, 0, 0.15)',
    Overlay: 'rgba(237, 240, 245, 0.97)',
  },
});
