/* ====================================
   THEME SYSTEM - Multiple Theme Definitions
   Each theme uses CSS custom properties
   ==================================== */

/* Default theme - Gruvbox Dark */
[data-theme="gruvbox"] {
    /* Grayscale */
    --color-gray-50: #fbf1c7;
    --color-gray-100: #f2e5bc;
    --color-gray-200: #ebdbb2;
    --color-gray-300: #d5c4a1;
    --color-gray-400: #bdae93;
    --color-gray-500: #665c54;
    --color-gray-600: #504945;
    --color-gray-700: #3c3836;
    --color-gray-800: #282828;
    --color-gray-900: #1d2021;

    /* Accents */
    --color-accent-primary: #fabd2f;
    --color-accent-primary-light: #ffe066;
    --color-accent-primary-dark: #d79921;
    --color-accent-secondary: #fe8019;
    --color-accent-secondary-light: #ffb86b;
    --color-accent-secondary-dark: #b57614;
    --color-accent-tertiary: #b8bb26;
    --color-accent-tertiary-light: #d3f9b3;
    --color-accent-tertiary-dark: #689d6a;
    --color-accent-blue: #83a598;
    --color-accent-blue-light: #8ec07c;
    --color-accent-blue-dark: #458588;

    /* Semantic colors */
    --color-success: var(--color-accent-tertiary);
    --color-success-light: var(--color-accent-tertiary-light);
    --color-success-dark: var(--color-accent-tertiary-dark);
    --color-error: var(--color-accent-secondary);
    --color-error-light: var(--color-accent-secondary-light);
    --color-error-dark: var(--color-accent-secondary-dark);
}

/* Gruvbox Light */
[data-theme="gruvbox-light"] {
    /* Grayscale - inversé pour light mode */
    --color-gray-50: #1d2021;
    --color-gray-100: #282828;
    --color-gray-200: #3c3836;
    --color-gray-300: #504945;
    --color-gray-400: #665c54;
    --color-gray-500: #bdae93;
    --color-gray-600: #d5c4a1;
    --color-gray-700: #ebdbb2;
    --color-gray-800: #f2e5bc;
    --color-gray-900: #fbf1c7;

    /* Accents - adaptés pour light mode */
    --color-accent-primary: #d79921;
    --color-accent-primary-light: #fabd2f;
    --color-accent-primary-dark: #b57614;
    --color-accent-secondary: #cc241d;
    --color-accent-secondary-light: #fb4934;
    --color-accent-secondary-dark: #9d0006;
    --color-accent-tertiary: #79740e;
    --color-accent-tertiary-light: #b8bb26;
    --color-accent-tertiary-dark: #427b58;
    --color-accent-blue: #076678;
    --color-accent-blue-light: #458588;
    --color-accent-blue-dark: #004455;

    --color-success: var(--color-accent-tertiary);
    --color-success-light: var(--color-accent-tertiary-light);
    --color-success-dark: var(--color-accent-tertiary-dark);
    --color-error: var(--color-accent-secondary);
    --color-error-light: var(--color-accent-secondary-light);
    --color-error-dark: var(--color-accent-secondary-dark);
}

/* Shiba Inu Theme - Warm and cozy */
[data-theme="shiba"] {
    /* Grayscale - warm beige tones */
    --color-gray-50: #fff8e7;
    --color-gray-100: #ffeec4;
    --color-gray-200: #ffe4a3;
    --color-gray-300: #d4c5a0;
    --color-gray-400: #b5a68d;
    --color-gray-500: #8d7f6b;
    --color-gray-600: #6b5d4a;
    --color-gray-700: #4a3f2f;
    --color-gray-800: #2d2418;
    --color-gray-900: #1a140c;

    /* Accents - shiba colors */
    --color-accent-primary: #f4a460; /* Sandy orange */
    --color-accent-primary-light: #ffcc99;
    --color-accent-primary-dark: #d4853d;
    --color-accent-secondary: #cd853f; /* Peru */
    --color-accent-secondary-light: #daa569;
    --color-accent-secondary-dark: #a0522d;
    --color-accent-tertiary: #8fbc8f; /* Dark sea green */
    --color-accent-tertiary-light: #b4d4b4;
    --color-accent-tertiary-dark: #6b9b6b;
    --color-accent-blue: #87ceeb;
    --color-accent-blue-light: #add8e6;
    --color-accent-blue-dark: #5f9ea0;

    --color-success: var(--color-accent-tertiary);
    --color-success-light: var(--color-accent-tertiary-light);
    --color-success-dark: var(--color-accent-tertiary-dark);
    --color-error: var(--color-accent-secondary);
    --color-error-light: var(--color-accent-secondary-light);
    --color-error-dark: var(--color-accent-secondary-dark);
}

/* Matcha Theme - Green and zen */
[data-theme="matcha"] {
    /* Grayscale - cream and green tones */
    --color-gray-50: #f5f5dc;
    --color-gray-100: #eee8d5;
    --color-gray-200: #e6ddc4;
    --color-gray-300: #c5bcaa;
    --color-gray-400: #a39b8b;
    --color-gray-500: #7a7267;
    --color-gray-600: #5a544a;
    --color-gray-700: #3d3a30;
    --color-gray-800: #26231b;
    --color-gray-900: #131210;

    /* Accents - matcha greens */
    --color-accent-primary: #88b04b; /* Matcha green */
    --color-accent-primary-light: #a8d26d;
    --color-accent-primary-dark: #6b8e3a;
    --color-accent-secondary: #d4af37; /* Gold */
    --color-accent-secondary-light: #f0d264;
    --color-accent-secondary-dark: #b8941f;
    --color-accent-tertiary: #7cb342; /* Light green */
    --color-accent-tertiary-light: #9ccc65;
    --color-accent-tertiary-dark: #558b2f;
    --color-accent-blue: #80cbc4;
    --color-accent-blue-light: #b2dfdb;
    --color-accent-blue-dark: #4db6ac;

    --color-success: var(--color-accent-tertiary);
    --color-success-light: var(--color-accent-tertiary-light);
    --color-success-dark: var(--color-accent-tertiary-dark);
    --color-error: var(--color-accent-secondary);
    --color-error-light: var(--color-accent-secondary-light);
    --color-error-dark: var(--color-accent-secondary-dark);
}

/* Solarized Dark */
[data-theme="solarized-dark"] {
    /* Grayscale */
    --color-gray-50: #fdf6e3;
    --color-gray-100: #eee8d5;
    --color-gray-200: #93a1a1;
    --color-gray-300: #839496;
    --color-gray-400: #657b83;
    --color-gray-500: #586e75;
    --color-gray-600: #073642;
    --color-gray-700: #002b36;
    --color-gray-800: #00212b;
    --color-gray-900: #001a21;

    /* Accents */
    --color-accent-primary: #b58900; /* Yellow */
    --color-accent-primary-light: #cb4b16;
    --color-accent-primary-dark: #93711f;
    --color-accent-secondary: #dc322f; /* Red */
    --color-accent-secondary-light: #ff6b6b;
    --color-accent-secondary-dark: #c71c1c;
    --color-accent-tertiary: #859900; /* Green */
    --color-accent-tertiary-light: #b5d334;
    --color-accent-tertiary-dark: #6c7a00;
    --color-accent-blue: #268bd2;
    --color-accent-blue-light: #2aa198;
    --color-accent-blue-dark: #1f6ea8;

    --color-success: var(--color-accent-tertiary);
    --color-success-light: var(--color-accent-tertiary-light);
    --color-success-dark: var(--color-accent-tertiary-dark);
    --color-error: var(--color-accent-secondary);
    --color-error-light: var(--color-accent-secondary-light);
    --color-error-dark: var(--color-accent-secondary-dark);
}

/* Catppuccin (Anu style) */
[data-theme="catppuccin"] {
    /* Grayscale - Mocha variant */
    --color-gray-50: #cdd6f4;
    --color-gray-100: #bac2de;
    --color-gray-200: #a6adc8;
    --color-gray-300: #9399b2;
    --color-gray-400: #7f849c;
    --color-gray-500: #6c7086;
    --color-gray-600: #585b70;
    --color-gray-700: #45475a;
    --color-gray-800: #313244;
    --color-gray-900: #1e1e2e;

    /* Accents - Catppuccin Mocha */
    --color-accent-primary: #f9e2af; /* Yellow */
    --color-accent-primary-light: #fef3c7;
    --color-accent-primary-dark: #f5d66e;
    --color-accent-secondary: #f38ba8; /* Pink */
    --color-accent-secondary-light: #f5c2d7;
    --color-accent-secondary-dark: #f07298;
    --color-accent-tertiary: #a6e3a1; /* Green */
    --color-accent-tertiary-light: #c2efc0;
    --color-accent-tertiary-dark: #8dd788;
    --color-accent-blue: #89b4fa;
    --color-accent-blue-light: #b4d4ff;
    --color-accent-blue-dark: #6c9ff5;

    --color-success: var(--color-accent-tertiary);
    --color-success-light: var(--color-accent-tertiary-light);
    --color-success-dark: var(--color-accent-tertiary-dark);
    --color-error: var(--color-accent-secondary);
    --color-error-light: var(--color-accent-secondary-light);
    --color-error-dark: var(--color-accent-secondary-dark);
}

/* Dracula */
[data-theme="dracula"] {
    /* Grayscale */
    --color-gray-50: #f8f8f2;
    --color-gray-100: #f0f0eb;
    --color-gray-200: #d0d0d0;
    --color-gray-300: #a0a0a0;
    --color-gray-400: #6272a4;
    --color-gray-500: #44475a;
    --color-gray-600: #3a3c4e;
    --color-gray-700: #313340;
    --color-gray-800: #282a36;
    --color-gray-900: #1e1f29;

    /* Accents - Dracula colors */
    --color-accent-primary: #f1fa8c; /* Yellow */
    --color-accent-primary-light: #f9ffb3;
    --color-accent-primary-dark: #e8f564;
    --color-accent-secondary: #ff5555; /* Red */
    --color-accent-secondary-light: #ff7b7b;
    --color-accent-secondary-dark: #ff3030;
    --color-accent-tertiary: #50fa7b; /* Green */
    --color-accent-tertiary-light: #7fffaa;
    --color-accent-tertiary-dark: #2ee55d;
    --color-accent-blue: #8be9fd;
    --color-accent-blue-light: #b3f3ff;
    --color-accent-blue-dark: #5fd7f0;

    --color-success: var(--color-accent-tertiary);
    --color-success-light: var(--color-accent-tertiary-light);
    --color-success-dark: var(--color-accent-tertiary-dark);
    --color-error: var(--color-accent-secondary);
    --color-error-light: var(--color-accent-secondary-light);
    --color-error-dark: var(--color-accent-secondary-dark);
}

/* Dark Theme - Original CEXI dark theme with OKLCH colors */
[data-theme="dark"] {
    /* Grayscale - Modern OKLCH dark palette */
    --color-gray-50: #fafafa;   /* Near white */
    --color-gray-100: #f2f2f2;  /* Foreground */
    --color-gray-200: #d9d9d9;
    --color-gray-300: #bebebe;
    --color-gray-400: #999999;  /* Muted Foreground */
    --color-gray-500: #737373;
    --color-gray-600: #404040;  /* Border */
    --color-gray-700: #383838;  /* Secondary / Input */
    --color-gray-800: #292929;  /* Card */
    --color-gray-900: #1f1f1f;  /* Background */

    /* Accents - Modern cyber colors */
    --color-accent-primary: #4FC3F7;        /* Bright Cyan/Blue */
    --color-accent-primary-light: #81D4FA;
    --color-accent-primary-dark: #29B6F6;
    --color-accent-secondary: #FF6E40;      /* Red-Orange (Destructive) */
    --color-accent-secondary-light: #FF9E80;
    --color-accent-secondary-dark: #FF5722;
    --color-accent-tertiary: #66BB6A;       /* Green (Success) */
    --color-accent-tertiary-light: #81C784;
    --color-accent-tertiary-dark: #4CAF50;
    --color-accent-blue: #9C88FF;           /* Purple/Violet (Info) */
    --color-accent-blue-light: #B39DDB;
    --color-accent-blue-dark: #7E57C2;

    --color-success: var(--color-accent-tertiary);
    --color-success-light: var(--color-accent-tertiary-light);
    --color-success-dark: var(--color-accent-tertiary-dark);
    --color-error: var(--color-accent-secondary);
    --color-error-light: var(--color-accent-secondary-light);
    --color-error-dark: var(--color-accent-secondary-dark);
}

/* Light Theme - Classic light mode */
[data-theme="light"] {
    /* Grayscale - inversé pour light */
    --color-gray-50: #111111;
    --color-gray-100: #1a1a1a;
    --color-gray-200: #2d2d2d;
    --color-gray-300: #4a4a4a;
    --color-gray-400: #6b6b6b;
    --color-gray-500: #9ca3af;
    --color-gray-600: #d1d5db;
    --color-gray-700: #e5e7eb;
    --color-gray-800: #f3f4f6;
    --color-gray-900: #ffffff;

    /* Accents - vibrant for light mode */
    --color-accent-primary: #f59e0b; /* Amber */
    --color-accent-primary-light: #fbbf24;
    --color-accent-primary-dark: #d97706;
    --color-accent-secondary: #ef4444; /* Red */
    --color-accent-secondary-light: #f87171;
    --color-accent-secondary-dark: #dc2626;
    --color-accent-tertiary: #10b981; /* Emerald */
    --color-accent-tertiary-light: #34d399;
    --color-accent-tertiary-dark: #059669;
    --color-accent-blue: #3b82f6;
    --color-accent-blue-light: #60a5fa;
    --color-accent-blue-dark: #2563eb;

    --color-success: var(--color-accent-tertiary);
    --color-success-light: var(--color-accent-tertiary-light);
    --color-success-dark: var(--color-accent-tertiary-dark);
    --color-error: var(--color-accent-secondary);
    --color-error-light: var(--color-accent-secondary-light);
    --color-error-dark: var(--color-accent-secondary-dark);
}

/* Minimal Dark - Épuré et minimaliste - Monochrome pur */
[data-theme="minimal-dark"] {
    /* Grayscale - Pure black and grays only (lightened) */
    --color-gray-50: #fafafa;
    --color-gray-100: #f5f5f5;
    --color-gray-200: #e5e5e5;
    --color-gray-300: #d4d4d4;
    --color-gray-400: #a3a3a3;
    --color-gray-500: #737373;
    --color-gray-600: #626262;
    --color-gray-650: #4a4a4a;
    --color-gray-700: #353535;
    --color-gray-750: #2c2c2c;
    --color-gray-800: #242424;
    --color-gray-850: #1e1e1e;
    --color-gray-900: #181818;

    /* Accents - Grayscale only (no colors) */
    --color-accent-primary: #e5e5e5;        /* Light gray */
    --color-accent-primary-light: #fafafa;  /* Very light gray */
    --color-accent-primary-dark: #d4d4d4;   /* Medium light gray */
    --color-accent-secondary: #a3a3a3;      /* Medium gray */
    --color-accent-secondary-light: #d4d4d4;
    --color-accent-secondary-dark: #737373;
    --color-accent-tertiary: #737373;       /* Dark gray */
    --color-accent-tertiary-light: #a3a3a3;
    --color-accent-tertiary-dark: #525252;
    --color-accent-blue: #e5e5e5;           /* Light gray */
    --color-accent-blue-light: #fafafa;
    --color-accent-blue-dark: #d4d4d4;

    --color-success: #d4d4d4;               /* Light gray for success */
    --color-success-light: #e5e5e5;
    --color-success-dark: #a3a3a3;
    --color-error: #737373;                 /* Dark gray for error */
    --color-error-light: #a3a3a3;
    --color-error-dark: #525252;
}

/* Minimal Dark - Override hardcoded colors to grayscale */
[data-theme="minimal-dark"] .text-blue-400 {
    color: #e5e5e5 !important;
}

[data-theme="minimal-dark"] .group:hover .text-blue-300 {
    color: #fafafa !important;
}

[data-theme="minimal-dark"] .text-green-400 {
    color: #d4d4d4 !important;
}

[data-theme="minimal-dark"] .text-red-400 {
    color: #737373 !important;
}
