/* ===== Theme System using CSS Custom Properties ===== */

/* Light Theme (default) */
:root,
[data-theme="light"] {
	--bg-body: #f6f6f6;
	--bg-container: #ffffff;
	--bg-code: #ededed;
	--bg-snippet: #fafafa;
	--bg-funcproto: #f7f7f7;
	--bg-warning: rgba(255, 0, 0, 0.05);

	--text-color: #000000;
	--text-body-link: #000000;
	--text-h1: #000000;
	--text-h2: #888888;
	--text-h3: #000000;
	--text-link: #0066cc;
	--text-li: #000000;

	--border-container: 2px solid #000000;
	--border-code: 1px dashed #cbcbcb;
	--border-img: 1px solid #666666;
	--border-logo: 2px solid #000000;
	--border-snippet: 1px solid #666666;
	--border-funcproto: 1px dashed #e0e0e0;
	--border-warning: 1px dashed red;

	/* Prism code theme */
	--code-bg: #202025;
	--code-text: #f8f8f2;
	--token-comment: slategray;
	--token-punctuation: #f8f8f2;
	--token-property: #f92672;
	--token-boolean: #ae81ff;
	--token-string: #FC5661;
	--token-selector: #66DAFF;
	--token-builtin: #E0B8FF;
	--token-interpolation: #56D0B3;
	--token-operator: #f8f8f2;
	--token-atrule: #e6db74;
	--token-class-name: #76E6FF;
	--token-function: #54dcfc;
	--token-keyword: #F2248C;
	--token-regex: #fd971f;
}

/* Dark AMOLED (pure black) */
[data-theme="dark-amoled"] {
	--bg-body: #000000;
	--bg-container: #0d0d0d;
	--bg-code: #111111;
	--bg-snippet: #0d0d0d;
	--bg-funcproto: #0d0d0d;
	--bg-warning: rgba(255, 0, 0, 0.08);

	--text-color: #e0e0e0;
	--text-body-link: #e0e0e0;
	--text-h1: #ffffff;
	--text-h2: #888888;
	--text-h3: #cccccc;
	--text-link: #44aaff;
	--text-li: #e0e0e0;

	--border-container: 2px solid #333333;
	--border-code: 1px dashed #333333;
	--border-img: 1px solid #444444;
	--border-logo: 2px solid #444444;
	--border-snippet: 1px solid #333333;
	--border-funcproto: 1px dashed #333333;
	--border-warning: 1px dashed #ff4444;

	--code-bg: #0a0a0a;
	--code-text: #f8f8f2;
	--token-comment: #666666;
	--token-punctuation: #f8f8f2;
	--token-property: #f92672;
	--token-boolean: #ae81ff;
	--token-string: #FC5661;
	--token-selector: #66DAFF;
	--token-builtin: #E0B8FF;
	--token-interpolation: #56D0B3;
	--token-operator: #f8f8f2;
	--token-atrule: #e6db74;
	--token-class-name: #76E6FF;
	--token-function: #54dcfc;
	--token-keyword: #F2248C;
	--token-regex: #fd971f;
}

/* Dark (soft) */
[data-theme="dark-soft"] {
	--bg-body: #1a1a2e;
	--bg-container: #16213e;
	--bg-code: #0f1729;
	--bg-snippet: #16213e;
	--bg-funcproto: #16213e;
	--bg-warning: rgba(255, 0, 0, 0.08);

	--text-color: #d4d4d4;
	--text-body-link: #d4d4d4;
	--text-h1: #e8e8e8;
	--text-h2: #7b8ca8;
	--text-h3: #c0c0c0;
	--text-link: #64b5f6;
	--text-li: #d4d4d4;

	--border-container: 2px solid #2a3a5e;
	--border-code: 1px dashed #2a3a5e;
	--border-img: 1px solid #3a4a6e;
	--border-logo: 2px solid #3a4a6e;
	--border-snippet: 1px solid #2a3a5e;
	--border-funcproto: 1px dashed #2a3a5e;
	--border-warning: 1px dashed #ff6666;

	--code-bg: #0a0f1e;
	--code-text: #f8f8f2;
	--token-comment: #546e8a;
	--token-punctuation: #d4d4d4;
	--token-property: #f92672;
	--token-boolean: #ae81ff;
	--token-string: #FC5661;
	--token-selector: #66DAFF;
	--token-builtin: #E0B8FF;
	--token-interpolation: #56D0B3;
	--token-operator: #d4d4d4;
	--token-atrule: #e6db74;
	--token-class-name: #76E6FF;
	--token-function: #54dcfc;
	--token-keyword: #F2248C;
	--token-regex: #fd971f;
}

/* Solarized Dark */
[data-theme="solarized-dark"] {
	--bg-body: #002b36;
	--bg-container: #073642;
	--bg-code: #002b36;
	--bg-snippet: #073642;
	--bg-funcproto: #073642;
	--bg-warning: rgba(220, 50, 47, 0.1);

	--text-color: #839496;
	--text-body-link: #93a1a1;
	--text-h1: #eee8d5;
	--text-h2: #586e75;
	--text-h3: #93a1a1;
	--text-link: #268bd2;
	--text-li: #839496;

	--border-container: 2px solid #586e75;
	--border-code: 1px dashed #586e75;
	--border-img: 1px solid #586e75;
	--border-logo: 2px solid #586e75;
	--border-snippet: 1px solid #586e75;
	--border-funcproto: 1px dashed #586e75;
	--border-warning: 1px dashed #dc322f;

	--code-bg: #002b36;
	--code-text: #839496;
	--token-comment: #586e75;
	--token-punctuation: #839496;
	--token-property: #dc322f;
	--token-boolean: #d33682;
	--token-string: #2aa198;
	--token-selector: #859900;
	--token-builtin: #6c71c4;
	--token-interpolation: #2aa198;
	--token-operator: #839496;
	--token-atrule: #b58900;
	--token-class-name: #b58900;
	--token-function: #268bd2;
	--token-keyword: #cb4b16;
	--token-regex: #cb4b16;
}

/* Solarized Light */
[data-theme="solarized-light"] {
	--bg-body: #fdf6e3;
	--bg-container: #eee8d5;
	--bg-code: #fdf6e3;
	--bg-snippet: #eee8d5;
	--bg-funcproto: #eee8d5;
	--bg-warning: rgba(220, 50, 47, 0.08);

	--text-color: #657b83;
	--text-body-link: #586e75;
	--text-h1: #073642;
	--text-h2: #93a1a1;
	--text-h3: #586e75;
	--text-link: #268bd2;
	--text-li: #657b83;

	--border-container: 2px solid #93a1a1;
	--border-code: 1px dashed #93a1a1;
	--border-img: 1px solid #93a1a1;
	--border-logo: 2px solid #93a1a1;
	--border-snippet: 1px solid #93a1a1;
	--border-funcproto: 1px dashed #93a1a1;
	--border-warning: 1px dashed #dc322f;

	--code-bg: #fdf6e3;
	--code-text: #657b83;
	--token-comment: #93a1a1;
	--token-punctuation: #657b83;
	--token-property: #dc322f;
	--token-boolean: #d33682;
	--token-string: #2aa198;
	--token-selector: #859900;
	--token-builtin: #6c71c4;
	--token-interpolation: #2aa198;
	--token-operator: #657b83;
	--token-atrule: #b58900;
	--token-class-name: #b58900;
	--token-function: #268bd2;
	--token-keyword: #cb4b16;
	--token-regex: #cb4b16;
}

/* Dracula */
[data-theme="dracula"] {
	--bg-body: #282a36;
	--bg-container: #44475a;
	--bg-code: #282a36;
	--bg-snippet: #44475a;
	--bg-funcproto: #44475a;
	--bg-warning: rgba(255, 85, 85, 0.1);

	--text-color: #f8f8f2;
	--text-body-link: #f8f8f2;
	--text-h1: #f8f8f2;
	--text-h2: #6272a4;
	--text-h3: #bd93f9;
	--text-link: #8be9fd;
	--text-li: #f8f8f2;

	--border-container: 2px solid #6272a4;
	--border-code: 1px dashed #6272a4;
	--border-img: 1px solid #6272a4;
	--border-logo: 2px solid #6272a4;
	--border-snippet: 1px solid #6272a4;
	--border-funcproto: 1px dashed #6272a4;
	--border-warning: 1px dashed #ff5555;

	--code-bg: #282a36;
	--code-text: #f8f8f2;
	--token-comment: #6272a4;
	--token-punctuation: #f8f8f2;
	--token-property: #ff79c6;
	--token-boolean: #bd93f9;
	--token-string: #f1fa8c;
	--token-selector: #50fa7b;
	--token-builtin: #bd93f9;
	--token-interpolation: #50fa7b;
	--token-operator: #ff79c6;
	--token-atrule: #f1fa8c;
	--token-class-name: #8be9fd;
	--token-function: #50fa7b;
	--token-keyword: #ff79c6;
	--token-regex: #ffb86c;
}

/* Nord */
[data-theme="nord"] {
	--bg-body: #2e3440;
	--bg-container: #3b4252;
	--bg-code: #2e3440;
	--bg-snippet: #3b4252;
	--bg-funcproto: #3b4252;
	--bg-warning: rgba(191, 97, 106, 0.15);

	--text-color: #d8dee9;
	--text-body-link: #d8dee9;
	--text-h1: #eceff4;
	--text-h2: #81a1c1;
	--text-h3: #88c0d0;
	--text-link: #88c0d0;
	--text-li: #d8dee9;

	--border-container: 2px solid #4c566a;
	--border-code: 1px dashed #4c566a;
	--border-img: 1px solid #4c566a;
	--border-logo: 2px solid #4c566a;
	--border-snippet: 1px solid #4c566a;
	--border-funcproto: 1px dashed #4c566a;
	--border-warning: 1px dashed #bf616a;

	--code-bg: #2e3440;
	--code-text: #d8dee9;
	--token-comment: #616e88;
	--token-punctuation: #d8dee9;
	--token-property: #bf616a;
	--token-boolean: #b48ead;
	--token-string: #a3be8c;
	--token-selector: #a3be8c;
	--token-builtin: #b48ead;
	--token-interpolation: #a3be8c;
	--token-operator: #81a1c1;
	--token-atrule: #ebcb8b;
	--token-class-name: #8fbcbb;
	--token-function: #88c0d0;
	--token-keyword: #81a1c1;
	--token-regex: #ebcb8b;
}

/* Gruvbox Dark */
[data-theme="gruvbox-dark"] {
	--bg-body: #282828;
	--bg-container: #3c3836;
	--bg-code: #282828;
	--bg-snippet: #3c3836;
	--bg-funcproto: #3c3836;
	--bg-warning: rgba(204, 36, 29, 0.12);

	--text-color: #ebdbb2;
	--text-body-link: #ebdbb2;
	--text-h1: #fbf1c7;
	--text-h2: #a89984;
	--text-h3: #d5c4a1;
	--text-link: #83a598;
	--text-li: #ebdbb2;

	--border-container: 2px solid #504945;
	--border-code: 1px dashed #504945;
	--border-img: 1px solid #504945;
	--border-logo: 2px solid #504945;
	--border-snippet: 1px solid #504945;
	--border-funcproto: 1px dashed #504945;
	--border-warning: 1px dashed #cc241d;

	--code-bg: #282828;
	--code-text: #ebdbb2;
	--token-comment: #928374;
	--token-punctuation: #ebdbb2;
	--token-property: #fb4934;
	--token-boolean: #d3869b;
	--token-string: #b8bb26;
	--token-selector: #b8bb26;
	--token-builtin: #d3869b;
	--token-interpolation: #8ec07c;
	--token-operator: #ebdbb2;
	--token-atrule: #fabd2f;
	--token-class-name: #fabd2f;
	--token-function: #83a598;
	--token-keyword: #fb4934;
	--token-regex: #fe8019;
}
