:root {
    color-scheme: light;
}

:root {
    --bg-primary: #eff6ff;
    --bg-secondary: #ffffff;
    --bg-accent: #e0e7ff;
    --text-primary: #1e293b;
    --text-secondary: #475569;
    --text-accent: #4338ca;
    --border-color: #cbd5e1;
    --border-accent: #4338ca;
    --btn-primary-bg: #4338ca;
    --btn-primary-hover: #3730a3;
    --btn-primary-text: #ffffff;
    --btn-secondary-bg: #ffffff;
    --btn-secondary-hover: #f1f5f9;
    --btn-secondary-text: #4338ca;
    --success-bg: #ecfdf5;
    --success-border: #6ee7b7;
    --success-text: #047857;
    --info-bg: #eff6ff;
    --info-border: #93c5fd;
    --info-text: #1e40af;
    --gradient-from: #dbeafe;
    --gradient-to: #e0e7ff;
}

[data-theme="catppuccin-mocha"] {
    color-scheme: dark;
    --bg-primary: #1e1e2e;
    --bg-secondary: #181825;
    --bg-accent: #313244;
    --text-primary: #cdd6f4;
    --text-secondary: #a6adc8;
    --text-accent: #cba6f7;
    --border-color: #45475a;
    --border-accent: #cba6f7;
    --btn-primary-bg: #b4befe;
    --btn-primary-hover: #a6b4f9;
    --btn-primary-text: #1e1e2e;
    --btn-secondary-bg: #313244;
    --btn-secondary-hover: #45475a;
    --btn-secondary-text: #cba6f7;
    --success-bg: #313244;
    --success-border: #a6e3a1;
    --success-text: #a6e3a1;
    --info-bg: #313244;
    --info-border: #89dceb;
    --info-text: #89dceb;
    --gradient-from: #1e1e2e;
    --gradient-to: #181825;
}

[data-theme="catppuccin-latte"] {
    color-scheme: light;
    --bg-primary: #eff1f5;
    --bg-secondary: #e6e9ef;
    --bg-accent: #dce0e8;
    --text-primary: #4c4f69;
    --text-secondary: #5c5f77;
    --text-accent: #7c3aed;
    --border-color: #acb0be;
    --border-accent: #7c3aed;
    --btn-primary-bg: #7c3aed;
    --btn-primary-hover: #6d28d9;
    --btn-primary-text: #ffffff;
    --btn-secondary-bg: #dce0e8;
    --btn-secondary-hover: #ccd0da;
    --btn-secondary-text: #7c3aed;
    --success-bg: #dce0e8;
    --success-border: #40a02b;
    --success-text: #2d7a1f;
    --info-bg: #dce0e8;
    --info-border: #1e66f5;
    --info-text: #1e40af;
    --gradient-from: #eff1f5;
    --gradient-to: #dce0e8;
}

[data-theme="nord"] {
    color-scheme: dark;
    --bg-primary: #2e3440;
    --bg-secondary: #3b4252;
    --bg-accent: #434c5e;
    --text-primary: #eceff4;
    --text-secondary: #d8dee9;
    --text-accent: #88c0d0;
    --border-color: #4c566a;
    --border-accent: #88c0d0;
    --btn-primary-bg: #88c0d0;
    --btn-primary-hover: #81a1c1;
    --btn-primary-text: #2e3440;
    --btn-secondary-bg: #434c5e;
    --btn-secondary-hover: #4c566a;
    --btn-secondary-text: #88c0d0;
    --success-bg: #434c5e;
    --success-border: #a3be8c;
    --success-text: #a3be8c;
    --info-bg: #434c5e;
    --info-border: #81a1c1;
    --info-text: #88c0d0;
    --gradient-from: #2e3440;
    --gradient-to: #3b4252;
}

[data-theme="gruvbox-dark"] {
    color-scheme: dark;
    --bg-primary: #282828;
    --bg-secondary: #3c3836;
    --bg-accent: #504945;
    --text-primary: #ebdbb2;
    --text-secondary: #d5c4a1;
    --text-accent: #fe8019;
    --border-color: #665c54;
    --border-accent: #fe8019;
    --btn-primary-bg: #fe8019;
    --btn-primary-hover: #d65d0e;
    --btn-primary-text: #282828;
    --btn-secondary-bg: #504945;
    --btn-secondary-hover: #665c54;
    --btn-secondary-text: #fe8019;
    --success-bg: #504945;
    --success-border: #b8bb26;
    --success-text: #b8bb26;
    --info-bg: #504945;
    --info-border: #83a598;
    --info-text: #83a598;
    --gradient-from: #282828;
    --gradient-to: #3c3836;
}

[data-theme="gruvbox-light"] {
    color-scheme: light;
    --bg-primary: #fbf1c7;
    --bg-secondary: #ebdbb2;
    --bg-accent: #d5c4a1;
    --text-primary: #3c3836;
    --text-secondary: #504945;
    --text-accent: #af3a03;
    --border-color: #bdae93;
    --border-accent: #af3a03;
    --btn-primary-bg: #af3a03;
    --btn-primary-hover: #9d0006;
    --btn-primary-text: #fbf1c7;
    --btn-secondary-bg: #d5c4a1;
    --btn-secondary-hover: #bdae93;
    --btn-secondary-text: #af3a03;
    --success-bg: #d5c4a1;
    --success-border: #79740e;
    --success-text: #665c00;
    --info-bg: #d5c4a1;
    --info-border: #076678;
    --info-text: #076678;
    --gradient-from: #fbf1c7;
    --gradient-to: #ebdbb2;
}

[data-theme="dracula"] {
    color-scheme: dark;
    --bg-primary: #282a36;
    --bg-secondary: #44475a;
    --bg-accent: #6272a4;
    --text-primary: #f8f8f2;
    --text-secondary: #e6e6e6;
    --text-accent: #bd93f9;
    --border-color: #6272a4;
    --border-accent: #bd93f9;
    --btn-primary-bg: #bd93f9;
    --btn-primary-hover: #a67fd8;
    --btn-primary-text: #282a36;
    --btn-secondary-bg: #44475a;
    --btn-secondary-hover: #6272a4;
    --btn-secondary-text: #bd93f9;
    --success-bg: #44475a;
    --success-border: #50fa7b;
    --success-text: #50fa7b;
    --info-bg: #44475a;
    --info-border: #8be9fd;
    --info-text: #8be9fd;
    --gradient-from: #282a36;
    --gradient-to: #44475a;
}

[data-theme="tokyo-night"] {
    color-scheme: dark;
    --bg-primary: #1a1b26;
    --bg-secondary: #24283b;
    --bg-accent: #414868;
    --text-primary: #c0caf5;
    --text-secondary: #a9b1d6;
    --text-accent: #7aa2f7;
    --border-color: #3b4261;
    --border-accent: #7aa2f7;
    --btn-primary-bg: #7aa2f7;
    --btn-primary-hover: #6d8fd6;
    --btn-primary-text: #1a1b26;
    --btn-secondary-bg: #414868;
    --btn-secondary-hover: #565f89;
    --btn-secondary-text: #7aa2f7;
    --success-bg: #414868;
    --success-border: #9ece6a;
    --success-text: #9ece6a;
    --info-bg: #414868;
    --info-border: #2ac3de;
    --info-text: #7dcfff;
    --gradient-from: #1a1b26;
    --gradient-to: #24283b;
}

[data-theme="solarized-dark"] {
    color-scheme: dark;
    --bg-primary: #002b36;
    --bg-secondary: #073642;
    --bg-accent: #586e75;
    --text-primary: #fdf6e3;
    --text-secondary: #eee8d5;
    --text-accent: #268bd2;
    --border-color: #586e75;
    --border-accent: #268bd2;
    --btn-primary-bg: #268bd2;
    --btn-primary-hover: #2176ba;
    --btn-primary-text: #fdf6e3;
    --btn-secondary-bg: #073642;
    --btn-secondary-hover: #586e75;
    --btn-secondary-text: #268bd2;
    --success-bg: #073642;
    --success-border: #859900;
    --success-text: #859900;
    --info-bg: #073642;
    --info-border: #2aa198;
    --info-text: #2aa198;
    --gradient-from: #002b36;
    --gradient-to: #073642;
}

[data-theme="solarized-light"] {
    color-scheme: light;
    --bg-primary: #fdf6e3;
    --bg-secondary: #eee8d5;
    --bg-accent: #93a1a1;
    --text-primary: #073642;
    --text-secondary: #586e75;
    --text-accent: #268bd2;
    --border-color: #93a1a1;
    --border-accent: #268bd2;
    --btn-primary-bg: #268bd2;
    --btn-primary-hover: #2176ba;
    --btn-primary-text: #fdf6e3;
    --btn-secondary-bg: #eee8d5;
    --btn-secondary-hover: #93a1a1;
    --btn-secondary-text: #268bd2;
    --success-bg: #eee8d5;
    --success-border: #859900;
    --success-text: #546e00;
    --info-bg: #eee8d5;
    --info-border: #2aa198;
    --info-text: #2aa198;
    --gradient-from: #fdf6e3;
    --gradient-to: #eee8d5;
}

[data-theme="retro-90s"] {
    color-scheme: light;
    --bg-primary: #ff00ff;
    --bg-secondary: #ffff00;
    --bg-accent: #00ffff;
    --text-primary: #000000;
    --text-secondary: #1a1a1a;
    --text-accent: #ff00ff;
    --border-color: #000000;
    --border-accent: #ff00ff;
    --btn-primary-bg: #ff00ff;
    --btn-primary-hover: #cc00cc;
    --btn-primary-text: #000000;
    --btn-secondary-bg: #ffff00;
    --btn-secondary-hover: #00ffff;
    --btn-secondary-text: #000000;
    --success-bg: #00ff00;
    --success-border: #000000;
    --success-text: #000000;
    --info-bg: #00ffff;
    --info-border: #000000;
    --info-text: #000000;
    --gradient-from: #ff00ff;
    --gradient-to: #00ffff;
    font-family: "Comic Sans MS", cursive, sans-serif !important;
}

[data-theme="hacker"] {
    color-scheme: dark;
    --bg-primary: #000000;
    --bg-secondary: #0d0d0d;
    --bg-accent: #1a1a1a;
    --text-primary: #00ff00;
    --text-secondary: #00dd00;
    --text-accent: #00ff00;
    --border-color: #00ff00;
    --border-accent: #00ff00;
    --btn-primary-bg: #00ff00;
    --btn-primary-hover: #00dd00;
    --btn-primary-text: #000000;
    --btn-secondary-bg: #0d0d0d;
    --btn-secondary-hover: #1a1a1a;
    --btn-secondary-text: #00ff00;
    --success-bg: #1a1a1a;
    --success-border: #00ff00;
    --success-text: #00ff00;
    --info-bg: #1a1a1a;
    --info-border: #00ff00;
    --info-text: #00ff00;
    --gradient-from: #000000;
    --gradient-to: #0d0d0d;
    font-family: "Courier New", monospace !important;
}

[data-theme="vaporwave"] {
    color-scheme: light;
    --bg-primary: #ffa6f6;
    --bg-secondary: #ffd1f4;
    --bg-accent: #aaffff;
    --text-primary: #6b2d5c;
    --text-secondary: #8a3d7a;
    --text-accent: #01cdfe;
    --border-color: #b967ff;
    --border-accent: #05ffa1;
    --btn-primary-bg: #ff71ce;
    --btn-primary-hover: #e655b5;
    --btn-primary-text: #ffffff;
    --btn-secondary-bg: #aaffff;
    --btn-secondary-hover: #b967ff;
    --btn-secondary-text: #6b2d5c;
    --success-bg: #aaffff;
    --success-border: #05ffa1;
    --success-text: #01cdfe;
    --info-bg: #ffd1f4;
    --info-border: #01cdfe;
    --info-text: #01cdfe;
    --gradient-from: #ffa6f6;
    --gradient-to: #aaffff;
}

[data-theme="brutalist"] {
    color-scheme: light;
    --bg-primary: #ffffff;
    --bg-secondary: #000000;
    --bg-accent: #e0e0e0;
    --text-primary: #000000;
    --text-secondary: #333333;
    --text-accent: #000000;
    --border-color: #000000;
    --border-accent: #000000;
    --btn-primary-bg: #000000;
    --btn-primary-hover: #333333;
    --btn-primary-text: #ffffff;
    --btn-secondary-bg: #ffffff;
    --btn-secondary-hover: #e0e0e0;
    --btn-secondary-text: #000000;
    --success-bg: #e0e0e0;
    --success-border: #000000;
    --success-text: #000000;
    --info-bg: #e0e0e0;
    --info-border: #000000;
    --info-text: #000000;
    --gradient-from: #ffffff;
    --gradient-to: #f5f5f5;
    font-family: "Arial", sans-serif !important;
}

[data-theme="cyberpunk"] {
    color-scheme: dark;
    --bg-primary: #0a0e27;
    --bg-secondary: #16213e;
    --bg-accent: #1a1a2e;
    --text-primary: #eaeaea;
    --text-secondary: #c4c4c4;
    --text-accent: #f72585;
    --border-color: #4cc9f0;
    --border-accent: #f72585;
    --btn-primary-bg: #f72585;
    --btn-primary-hover: #e01071;
    --btn-primary-text: #eaeaea;
    --btn-secondary-bg: #16213e;
    --btn-secondary-hover: #1a1a2e;
    --btn-secondary-text: #4cc9f0;
    --success-bg: #1a1a2e;
    --success-border: #4cc9f0;
    --success-text: #4cc9f0;
    --info-bg: #16213e;
    --info-border: #f72585;
    --info-text: #f72585;
    --gradient-from: #0a0e27;
    --gradient-to: #16213e;
}

* {
    transition:
        background-color 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme]) {
        color-scheme: light;
    }
}

[data-theme] {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    background-color: var(--bg-primary);
    color: var(--text-primary);
}
