/* Color Vision Deficiency color-variable exchanges
 *
 * The base variables (--primary-light, --accent-dark, ...) are never defined
 * literally. Every theme style variation defines its palette as -std values
 * (--primary-light-std etc.) in its styles.css, and the blocks below assign
 * the base variables from whichever -std/-deut/-trit set the user's radio
 * selection chooses via data-vision on <html>:
 *   standard | deuteranopia | protanopia | tritanopia
 *
 * The -deut (deuteranopia, also used for protanopia) and -trit (tritanopia)
 * value sets are universal across theme variations and are defined in this file.
 * The -std values are per-variation and live in theme.json / styles/*.json,
 * so each variation keeps its own standard look. Protanopia scores
 * so close to deuteranopia on the same color axis that it shares the -deut
 * palette.
 *
 * The standard block must come first: its :root arm always matches, so it is
 * the default when no data-vision attribute is set. The vision-specific
 * blocks follow, and their higher specificity overrides it when they match.
 *
 * Never define --X-std: var(--X) — that is a circular reference and resolves
 * to unset.
 *
 * Each selector also reaches .editor-styles-wrapper because theme.json
 * targets that element in the Site Editor iframe; a declaration on the
 * element itself beats an inherited one.
 *
 * --white, --black and --surface are constants that never change between
 * palettes, so they are neither defined nor remapped here.
 * Derived aliases (--fg, --bg, --base, --contrast, --text-on-white,
 * --wp--preset--color--*, --grad-*) are var() references to the variables
 * above and re-resolve automatically, so they need no variants.
 */

/* ── CVD value sets — universal across variations ───────────────────────────
 * Hex declarations first, then OKLCH inside @supports, so browsers without
 * OKLCH fall back to hex.
 */

/* deuteranopia — also serves protanopia */
:root {
	--text-on-dark-deut: #f3f4f6;
	--text-on-light-deut: #111827;
	--bg-light-deut: #f3f4f6;
	--bg-dark-deut: #111827;
	--surface-light-1-deut: #fafbfd;
	--surface-light-2-deut: #feffff;
	--surface-dark-1-deut: #151d2c;
	--surface-dark-2-deut: #1a2131;
	--primary-lighter-deut: #eedb65;
	--primary-light-deut: #cbb83d;
	--primary-dark-deut: #635000;
	--primary-darker-deut: #493500;
	--secondary-lighter-deut: #afe7ff;
	--secondary-light-deut: #79aeff;
	--secondary-dark-deut: #134096;
	--secondary-darker-deut: #002b80;
	--tertiary-lighter-deut: #fdcfff;
	--tertiary-light-deut: #ddb0ff;
	--tertiary-dark-deut: #5d3379;
	--tertiary-darker-deut: #4a1f64;
	--accent-lighter-deut: #cbe1ca;
	--accent-light-deut: #a4baa3;
	--accent-dark-deut: #445743;
	--accent-darker-deut: #243624;
	--error-light-deut: #ff8f70;
	--error-dark-deut: #9c2501;
	--notice-light-deut: #d9b696;
	--notice-dark-deut: #6a4c2e;
	--success-light-deut: #64d1d1;
	--success-dark-deut: #00484a;
	--primary-100-deut: #ffff89;
	--primary-200-deut: #eedb65;
	--primary-300-deut: #e4d15a;
	--primary-400-deut: #dfcc54;
	--primary-500-deut: #cbb83d;
	--primary-600-deut: #b8a422;
	--primary-700-deut: #635000;
	--primary-800-deut: #493500;
	--primary-900-deut: #422e00;
	--secondary-100-deut: #c3fcff;
	--secondary-200-deut: #afe7ff;
	--secondary-300-deut: #9cd2ff;
	--secondary-400-deut: #97cdff;
	--secondary-500-deut: #79aeff;
	--secondary-600-deut: #70a3ff;
	--secondary-700-deut: #214ea6;
	--secondary-800-deut: #134096;
	--secondary-900-deut: #002b80;
	--tertiary-100-deut: #ffe7ff;
	--tertiary-200-deut: #fdcfff;
	--tertiary-300-deut: #edbeff;
	--tertiary-400-deut: #e8b9ff;
	--tertiary-500-deut: #ddb0ff;
	--tertiary-600-deut: #bf92e1;
	--tertiary-700-deut: #6a3f87;
	--tertiary-800-deut: #4a1f64;
	--tertiary-900-deut: #481c62;
	--accent-100-deut: #ebffe9;
	--accent-200-deut: #cbe1ca;
	--accent-300-deut: #c1d8c0;
	--accent-400-deut: #bcd2bb;
	--accent-500-deut: #a4baa3;
	--accent-600-deut: #94aa93;
	--accent-700-deut: #445743;
	--accent-800-deut: #314430;
	--accent-900-deut: #243624;
	--error-100-deut: #ffd2b1;
	--error-200-deut: #ffac8b;
	--error-300-deut: #ffa586;
	--error-400-deut: #ffbc9b;
	--error-500-deut: #ff8f70;
	--error-600-deut: #fd7f61;
	--error-700-deut: #9c2502;
	--error-800-deut: #7b0000;
	--error-900-deut: #690000;
	--notice-100-deut: #fff3d2;
	--notice-200-deut: #fdd8b7;
	--notice-300-deut: #eecaaa;
	--notice-400-deut: #e9c5a5;
	--notice-500-deut: #d9b696;
	--notice-600-deut: #c09e7e;
	--notice-700-deut: #6a4c2e;
	--notice-800-deut: #4e3214;
	--notice-900-deut: #482c0e;
	--success-100-deut: #a9ffff;
	--success-200-deut: #84f1f0;
	--success-300-deut: #7ae6e6;
	--success-400-deut: #75e2e1;
	--success-500-deut: #64d1d1;
	--success-600-deut: #43b4b3;
	--success-700-deut: #005c5d;
	--success-800-deut: #00484a;
	--success-900-deut: #003a3c;
	@supports (color: oklch(50% 0 0)) {
		--bg-light-deut: oklch(0.967 0.003 264.5);
		--bg-dark-deut: oklch(0.210 0.032 264.7);
		--surface-light-1-deut: oklch(0.988 0.003 264.5);
		--surface-light-2-deut: oklch(0.999 0.001 197.1);
		--surface-dark-1-deut: oklch(0.231 0.032 262.5);
		--surface-dark-2-deut: oklch(0.249 0.032 265.9);
		--primary-lighter-deut: oklch(0.884 0.139 100.3);
		--primary-light-deut: oklch(0.777 0.140 100.3);
		--primary-dark-deut: oklch(0.438 0.090 93.0);
		--primary-darker-deut: oklch(0.342 0.070 85.2);
		--secondary-lighter-deut: oklch(0.898 0.066 226.2);
		--secondary-light-deut: oklch(0.747 0.131 258.6);
		--secondary-dark-deut: oklch(0.398 0.150 261.7);
		--secondary-darker-deut: oklch(0.329 0.150 261.8);
		--tertiary-lighter-deut: oklch(0.909 0.081 324.9);
		--tertiary-light-deut: oklch(0.825 0.118 310.0);
		--tertiary-dark-deut: oklch(0.407 0.119 309.8);
		--tertiary-darker-deut: oklch(0.337 0.120 310.2);
		--accent-lighter-deut: oklch(0.887 0.039 144.1);
		--accent-light-deut: oklch(0.766 0.040 144.0);
		--accent-dark-deut: oklch(0.435 0.040 143.6);
		--accent-darker-deut: oklch(0.311 0.039 144.6);
		--error-light-deut: oklch(0.764 0.143 36.4);
		--error-dark-deut: oklch(0.456 0.160 34.8);
		--notice-light-deut: oklch(0.799 0.059 64.3);
		--notice-dark-deut: oklch(0.442 0.060 65.2);
		--success-light-deut: oklch(0.797 0.100 195.3);
		--success-dark-deut: oklch(0.365 0.062 198.0);
		--primary-100-deut: oklch(0.992 0.140 100.3);
		--primary-200-deut: oklch(0.884 0.139 100.3);
		--primary-300-deut: oklch(0.854 0.140 100.3);
		--primary-400-deut: oklch(0.840 0.140 100.3);
		--primary-500-deut: oklch(0.777 0.140 100.3);
		--primary-600-deut: oklch(0.716 0.140 100.3);
		--primary-700-deut: oklch(0.438 0.090 93.0);
		--primary-800-deut: oklch(0.342 0.070 85.2);
		--primary-900-deut: oklch(0.313 0.140 100.3);
		--secondary-100-deut: oklch(0.990 0.150 261.8);
		--secondary-200-deut: oklch(0.898 0.066 226.2);
		--secondary-300-deut: oklch(0.867 0.150 261.8);
		--secondary-400-deut: oklch(0.852 0.150 261.8);
		--secondary-500-deut: oklch(0.747 0.131 258.6);
		--secondary-600-deut: oklch(0.723 0.150 261.8);
		--secondary-700-deut: oklch(0.447 0.150 261.8);
		--secondary-800-deut: oklch(0.398 0.150 261.7);
		--secondary-900-deut: oklch(0.329 0.150 261.8);
		--tertiary-100-deut: oklch(0.996 0.121 309.9);
		--tertiary-200-deut: oklch(0.909 0.081 324.9);
		--tertiary-300-deut: oklch(0.871 0.121 309.9);
		--tertiary-400-deut: oklch(0.855 0.121 309.9);
		--tertiary-500-deut: oklch(0.825 0.118 310.0);
		--tertiary-600-deut: oklch(0.730 0.121 309.9);
		--tertiary-700-deut: oklch(0.451 0.121 309.9);
		--tertiary-800-deut: oklch(0.337 0.120 310.2);
		--tertiary-900-deut: oklch(0.328 0.121 309.9);
		--accent-100-deut: oklch(0.985 0.040 143.9);
		--accent-200-deut: oklch(0.887 0.039 144.1);
		--accent-300-deut: oklch(0.858 0.040 143.9);
		--accent-400-deut: oklch(0.842 0.040 143.9);
		--accent-500-deut: oklch(0.766 0.040 144.0);
		--accent-600-deut: oklch(0.715 0.040 143.9);
		--accent-700-deut: oklch(0.435 0.040 143.6);
		--accent-800-deut: oklch(0.363 0.040 143.9);
		--accent-900-deut: oklch(0.311 0.039 144.6);
		--error-100-deut: oklch(0.988 0.160 34.8);
		--error-200-deut: oklch(0.872 0.160 34.8);
		--error-300-deut: oklch(0.853 0.160 34.8);
		--error-400-deut: oklch(0.849 0.090 47.3);
		--error-500-deut: oklch(0.764 0.143 36.4);
		--error-600-deut: oklch(0.734 0.160 34.8);
		--error-700-deut: oklch(0.457 0.160 34.8);
		--error-800-deut: oklch(0.366 0.150 29.2);
		--error-900-deut: oklch(0.305 0.160 34.8);
		--notice-100-deut: oklch(0.986 0.059 64.3);
		--notice-200-deut: oklch(0.905 0.060 63.7);
		--notice-300-deut: oklch(0.862 0.059 64.3);
		--notice-400-deut: oklch(0.847 0.059 64.3);
		--notice-500-deut: oklch(0.799 0.059 64.3);
		--notice-600-deut: oklch(0.721 0.059 64.3);
		--notice-700-deut: oklch(0.442 0.060 65.2);
		--notice-800-deut: oklch(0.344 0.060 65.3);
		--notice-900-deut: oklch(0.320 0.059 64.3);
		--success-100-deut: oklch(0.998 0.100 194.9);
		--success-200-deut: oklch(0.893 0.101 194.7);
		--success-300-deut: oklch(0.862 0.100 194.9);
		--success-400-deut: oklch(0.847 0.100 194.9);
		--success-500-deut: oklch(0.797 0.100 195.3);
		--success-600-deut: oklch(0.706 0.100 194.9);
		--success-700-deut: oklch(0.418 0.100 194.9);
		--success-800-deut: oklch(0.365 0.062 198.0);
		--success-900-deut: oklch(0.316 0.054 198.6);
	}
}

/* tritanopia */
:root {
	--text-on-dark-trit: #ffffff;
	--text-on-light-trit: #171717;
	--bg-light-trit: #ffffff;
	--bg-dark-trit: #171717;
	--surface-light-1-trit: #ffffff;
	--surface-light-2-trit: #ffffff;
	--surface-dark-1-trit: #1c1c1c;
	--surface-dark-2-trit: #202020;
	--primary-lighter-trit: #67e8ff;
	--primary-light-trit: #50d4ff;
	--primary-dark-trit: #005780;
	--primary-darker-trit: #00355d;
	--secondary-lighter-trit: #ffcbab;
	--secondary-light-trit: #ffad8e;
	--secondary-dark-trit: #902201;
	--secondary-darker-trit: #6e0000;
	--tertiary-lighter-trit: #dfdfdf;
	--tertiary-light-trit: #cacaca;
	--tertiary-dark-trit: #4b4b4b;
	--tertiary-darker-trit: #333333;
	--accent-lighter-trit: #e0d799;
	--accent-light-trit: #ccc386;
	--accent-dark-trit: #5c5215;
	--accent-darker-trit: #3d3300;
	--error-light-trit: #ffa0a2;
	--error-dark-trit: #9d1f2f;
	--notice-light-trit: #cbefa8;
	--notice-dark-trit: #314d04;
	--success-light-trit: #75eac4;
	--success-dark-trit: #005639;
	--primary-100-trit: #8fffff;
	--primary-200-trit: #67e8ff;
	--primary-300-trit: #5edeff;
	--primary-400-trit: #58d9ff;
	--primary-500-trit: #50d4ff;
	--primary-600-trit: #1cb0dd;
	--primary-700-trit: #005e86;
	--primary-800-trit: #00355d;
	--primary-900-trit: #00355c;
	--secondary-100-trit: #ffd8b8;
	--secondary-200-trit: #ffcbab;
	--secondary-300-trit: #ffb394;
	--secondary-400-trit: #ffad8e;
	--secondary-500-trit: #ffa889;
	--secondary-600-trit: #f78165;
	--secondary-700-trit: #a03115;
	--secondary-800-trit: #902201;
	--secondary-900-trit: #6e0000;
	--tertiary-100-trit: #f8f7f7;
	--tertiary-200-trit: #dfdfdf;
	--tertiary-300-trit: #d5d4d4;
	--tertiary-400-trit: #d0cfcf;
	--tertiary-500-trit: #cacaca;
	--tertiary-600-trit: #a3a3a2;
	--tertiary-700-trit: #585858;
	--tertiary-800-trit: #4b4b4b;
	--tertiary-900-trit: #333333;
	--accent-100-trit: #fff9bb;
	--accent-200-trit: #e0d799;
	--accent-300-trit: #dcd195;
	--accent-400-trit: #d2c78b;
	--accent-500-trit: #ccc386;
	--accent-600-trit: #aea469;
	--accent-700-trit: #63591d;
	--accent-800-trit: #5c5215;
	--accent-900-trit: #3d3300;
	--error-100-trit: #ffcdce;
	--error-200-trit: #ffc9ca;
	--error-300-trit: #ffa8a9;
	--error-400-trit: #ffa3a4;
	--error-500-trit: #ffa0a2;
	--error-600-trit: #fd7b7e;
	--error-700-trit: #a52836;
	--error-800-trit: #74000f;
	--error-900-trit: #690006;
	--notice-100-trit: #e5ffc2;
	--notice-200-trit: #cbefa8;
	--notice-300-trit: #bcdf9a;
	--notice-400-trit: #bcdf99;
	--notice-500-trit: #b7da95;
	--notice-600-trit: #8cad6a;
	--notice-700-trit: #43611e;
	--notice-800-trit: #314d04;
	--notice-900-trit: #1f3a00;
	--success-100-trit: #a3fff0;
	--success-200-trit: #75eac4;
	--success-300-trit: #74eac4;
	--success-400-trit: #6fe5bf;
	--success-500-trit: #64dab5;
	--success-600-trit: #3ab693;
	--success-700-trit: #006546;
	--success-800-trit: #005639;
	--success-900-trit: #003c21;
	@supports (color: oklch(50% 0 0)) {
		--bg-light-trit: oklch(1.000 0.000 89.9);
		--bg-dark-trit: oklch(0.205 0.000 89.9);
		--surface-light-1-trit: oklch(1.000 0.000 89.9);
		--surface-light-2-trit: oklch(1.000 0.000 89.9);
		--surface-dark-1-trit: oklch(0.226 0.000 89.9);
		--surface-dark-2-trit: oklch(0.244 0.000 89.9);
		--primary-lighter-trit: oklch(0.867 0.117 211.1);
		--primary-light-trit: oklch(0.815 0.128 223.5);
		--primary-dark-trit: oklch(0.434 0.097 238.7);
		--primary-darker-trit: oklch(0.322 0.087 248.3);
		--secondary-lighter-trit: oklch(0.957 0.150 35.0);
		--secondary-light-trit: oklch(0.865 0.150 35.0);
		--secondary-dark-trit: oklch(0.431 0.150 35.0);
		--secondary-darker-trit: oklch(0.338 0.139 29.2);
		--tertiary-lighter-trit: oklch(0.904 0.000 89.9);
		--tertiary-light-trit: oklch(0.839 0.000 89.9);
		--tertiary-dark-trit: oklch(0.413 0.000 89.9);
		--tertiary-darker-trit: oklch(0.321 0.000 89.9);
		--accent-lighter-trit: oklch(0.872 0.081 100.9);
		--accent-light-trit: oklch(0.810 0.080 100.8);
		--accent-dark-trit: oklch(0.436 0.080 99.7);
		--accent-darker-trit: oklch(0.322 0.066 97.1);
		--error-light-trit: oklch(0.802 0.113 18.5);
		--error-dark-trit: oklch(0.457 0.160 20.2);
		--notice-light-trit: oklch(0.908 0.100 130.0);
		--notice-dark-trit: oklch(0.383 0.100 130.0);
		--success-light-trit: oklch(0.857 0.120 170.0);
		--success-dark-trit: oklch(0.383 0.120 170.0);
		--primary-100-trit: oklch(0.984 0.129 225.1);
		--primary-200-trit: oklch(0.867 0.117 211.1);
		--primary-300-trit: oklch(0.848 0.129 225.1);
		--primary-400-trit: oklch(0.833 0.129 225.1);
		--primary-500-trit: oklch(0.815 0.128 223.5);
		--primary-600-trit: oklch(0.707 0.129 225.1);
		--primary-700-trit: oklch(0.438 0.129 225.1);
		--primary-800-trit: oklch(0.322 0.087 248.3);
		--primary-900-trit: oklch(0.297 0.129 225.1);
		--secondary-100-trit: oklch(0.996 0.151 34.9);
		--secondary-200-trit: oklch(0.957 0.150 35.0);
		--secondary-300-trit: oklch(0.885 0.151 34.9);
		--secondary-400-trit: oklch(0.865 0.150 35.0);
		--secondary-500-trit: oklch(0.852 0.151 34.9);
		--secondary-600-trit: oklch(0.732 0.151 34.9);
		--secondary-700-trit: oklch(0.477 0.151 34.9);
		--secondary-800-trit: oklch(0.431 0.150 35.0);
		--secondary-900-trit: oklch(0.338 0.139 29.2);
		--tertiary-100-trit: oklch(0.978 0.000 89.9);
		--tertiary-200-trit: oklch(0.904 0.000 89.9);
		--tertiary-300-trit: oklch(0.871 0.000 89.9);
		--tertiary-400-trit: oklch(0.856 0.000 89.9);
		--tertiary-500-trit: oklch(0.839 0.000 89.9);
		--tertiary-600-trit: oklch(0.714 0.000 89.9);
		--tertiary-700-trit: oklch(0.461 0.000 89.9);
		--tertiary-800-trit: oklch(0.413 0.000 89.9);
		--tertiary-900-trit: oklch(0.321 0.000 89.9);
		--accent-100-trit: oklch(0.977 0.080 99.8);
		--accent-200-trit: oklch(0.872 0.081 100.9);
		--accent-300-trit: oklch(0.856 0.080 99.8);
		--accent-400-trit: oklch(0.825 0.080 99.8);
		--accent-500-trit: oklch(0.810 0.080 100.8);
		--accent-600-trit: oklch(0.715 0.080 99.8);
		--accent-700-trit: oklch(0.461 0.080 99.8);
		--accent-800-trit: oklch(0.436 0.080 99.7);
		--accent-900-trit: oklch(0.322 0.066 97.1);
		--error-100-trit: oklch(0.988 0.160 20.0);
		--error-200-trit: oklch(0.884 0.062 17.1);
		--error-300-trit: oklch(0.874 0.160 20.0);
		--error-400-trit: oklch(0.858 0.160 20.0);
		--error-500-trit: oklch(0.802 0.113 18.5);
		--error-600-trit: oklch(0.734 0.160 20.0);
		--error-700-trit: oklch(0.480 0.160 20.0);
		--error-800-trit: oklch(0.352 0.143 24.5);
		--error-900-trit: oklch(0.305 0.160 20.0);
		--notice-100-trit: oklch(0.988 0.100 130.1);
		--notice-200-trit: oklch(0.908 0.100 130.0);
		--notice-300-trit: oklch(0.862 0.100 130.1);
		--notice-400-trit: oklch(0.861 0.100 130.0);
		--notice-500-trit: oklch(0.847 0.100 130.1);
		--notice-600-trit: oklch(0.707 0.100 130.1);
		--notice-700-trit: oklch(0.453 0.100 130.1);
		--notice-800-trit: oklch(0.383 0.100 130.0);
		--notice-900-trit: oklch(0.313 0.100 130.0);
		--success-100-trit: oklch(0.992 0.120 170.0);
		--success-200-trit: oklch(0.857 0.120 170.0);
		--success-300-trit: oklch(0.857 0.120 170.0);
		--success-400-trit: oklch(0.842 0.120 170.0);
		--success-500-trit: oklch(0.810 0.120 170.0);
		--success-600-trit: oklch(0.699 0.120 170.0);
		--success-700-trit: oklch(0.434 0.120 170.0);
		--success-800-trit: oklch(0.383 0.120 170.0);
		--success-900-trit: oklch(0.289 0.120 170.0);
	}
}

/* ── Vision selection — standard first ────────────────────────────────────── */

/* standard — per-variation -std values from theme.json / styles/*.json */
:is(:root, html[data-vision="standard"], html[data-vision="standard"] .editor-styles-wrapper) {
	--text-on-dark: var(--text-on-dark-std);
	--text-on-light: var(--text-on-light-std);
	--bg-light: var(--bg-light-std);
	--bg-dark: var(--bg-dark-std);
	--surface-light-1: var(--surface-light-1-std);
	--surface-light-2: var(--surface-light-2-std);
	--surface-dark-1: var(--surface-dark-1-std);
	--surface-dark-2: var(--surface-dark-2-std);
	--primary-lighter: var(--primary-lighter-std);
	--primary-light: var(--primary-light-std);
	--primary-dark: var(--primary-dark-std);
	--primary-darker: var(--primary-darker-std);
	--secondary-lighter: var(--secondary-lighter-std);
	--secondary-light: var(--secondary-light-std);
	--secondary-dark: var(--secondary-dark-std);
	--secondary-darker: var(--secondary-darker-std);
	--tertiary-lighter: var(--tertiary-lighter-std);
	--tertiary-light: var(--tertiary-light-std);
	--tertiary-dark: var(--tertiary-dark-std);
	--tertiary-darker: var(--tertiary-darker-std);
	--accent-lighter: var(--accent-lighter-std);
	--accent-light: var(--accent-light-std);
	--accent-dark: var(--accent-dark-std);
	--accent-darker: var(--accent-darker-std);
	--error-light: var(--error-light-std);
	--error-dark: var(--error-dark-std);
	--notice-light: var(--notice-light-std);
	--notice-dark: var(--notice-dark-std);
	--success-light: var(--success-light-std);
	--success-dark: var(--success-dark-std);
	--primary-100: var(--primary-100-std);
	--primary-200: var(--primary-200-std);
	--primary-300: var(--primary-300-std);
	--primary-400: var(--primary-400-std);
	--primary-500: var(--primary-500-std);
	--primary-600: var(--primary-600-std);
	--primary-700: var(--primary-700-std);
	--primary-800: var(--primary-800-std);
	--primary-900: var(--primary-900-std);
	--secondary-100: var(--secondary-100-std);
	--secondary-200: var(--secondary-200-std);
	--secondary-300: var(--secondary-300-std);
	--secondary-400: var(--secondary-400-std);
	--secondary-500: var(--secondary-500-std);
	--secondary-600: var(--secondary-600-std);
	--secondary-700: var(--secondary-700-std);
	--secondary-800: var(--secondary-800-std);
	--secondary-900: var(--secondary-900-std);
	--tertiary-100: var(--tertiary-100-std);
	--tertiary-200: var(--tertiary-200-std);
	--tertiary-300: var(--tertiary-300-std);
	--tertiary-400: var(--tertiary-400-std);
	--tertiary-500: var(--tertiary-500-std);
	--tertiary-600: var(--tertiary-600-std);
	--tertiary-700: var(--tertiary-700-std);
	--tertiary-800: var(--tertiary-800-std);
	--tertiary-900: var(--tertiary-900-std);
	--accent-100: var(--accent-100-std);
	--accent-200: var(--accent-200-std);
	--accent-300: var(--accent-300-std);
	--accent-400: var(--accent-400-std);
	--accent-500: var(--accent-500-std);
	--accent-600: var(--accent-600-std);
	--accent-700: var(--accent-700-std);
	--accent-800: var(--accent-800-std);
	--accent-900: var(--accent-900-std);
	--error-100: var(--error-100-std);
	--error-200: var(--error-200-std);
	--error-300: var(--error-300-std);
	--error-400: var(--error-400-std);
	--error-500: var(--error-500-std);
	--error-600: var(--error-600-std);
	--error-700: var(--error-700-std);
	--error-800: var(--error-800-std);
	--error-900: var(--error-900-std);
	--notice-100: var(--notice-100-std);
	--notice-200: var(--notice-200-std);
	--notice-300: var(--notice-300-std);
	--notice-400: var(--notice-400-std);
	--notice-500: var(--notice-500-std);
	--notice-600: var(--notice-600-std);
	--notice-700: var(--notice-700-std);
	--notice-800: var(--notice-800-std);
	--notice-900: var(--notice-900-std);
	--success-100: var(--success-100-std);
	--success-200: var(--success-200-std);
	--success-300: var(--success-300-std);
	--success-400: var(--success-400-std);
	--success-500: var(--success-500-std);
	--success-600: var(--success-600-std);
	--success-700: var(--success-700-std);
	--success-800: var(--success-800-std);
	--success-900: var(--success-900-std);
}

/* deuteranopia, protanopia are so close by value on the color-axis, that they share the same palette */
:is(html[data-vision="deuteranopia"], html[data-vision="deuteranopia"] .editor-styles-wrapper,
    html[data-vision="protanopia"], html[data-vision="protanopia"] .editor-styles-wrapper) {
	--text-on-dark: var(--text-on-dark-deut);
	--text-on-light: var(--text-on-light-deut);
	--bg-light: var(--bg-light-deut);
	--bg-dark: var(--bg-dark-deut);
	--surface-light-1: var(--surface-light-1-deut);
	--surface-light-2: var(--surface-light-2-deut);
	--surface-dark-1: var(--surface-dark-1-deut);
	--surface-dark-2: var(--surface-dark-2-deut);
	--primary-lighter: var(--primary-lighter-deut);
	--primary-light: var(--primary-light-deut);
	--primary-dark: var(--primary-dark-deut);
	--primary-darker: var(--primary-darker-deut);
	--secondary-lighter: var(--secondary-lighter-deut);
	--secondary-light: var(--secondary-light-deut);
	--secondary-dark: var(--secondary-dark-deut);
	--secondary-darker: var(--secondary-darker-deut);
	--tertiary-lighter: var(--tertiary-lighter-deut);
	--tertiary-light: var(--tertiary-light-deut);
	--tertiary-dark: var(--tertiary-dark-deut);
	--tertiary-darker: var(--tertiary-darker-deut);
	--accent-lighter: var(--accent-lighter-deut);
	--accent-light: var(--accent-light-deut);
	--accent-dark: var(--accent-dark-deut);
	--accent-darker: var(--accent-darker-deut);
	--error-light: var(--error-light-deut);
	--error-dark: var(--error-dark-deut);
	--notice-light: var(--notice-light-deut);
	--notice-dark: var(--notice-dark-deut);
	--success-light: var(--success-light-deut);
	--success-dark: var(--success-dark-deut);
	--primary-100: var(--primary-100-deut);
	--primary-200: var(--primary-200-deut);
	--primary-300: var(--primary-300-deut);
	--primary-400: var(--primary-400-deut);
	--primary-500: var(--primary-500-deut);
	--primary-600: var(--primary-600-deut);
	--primary-700: var(--primary-700-deut);
	--primary-800: var(--primary-800-deut);
	--primary-900: var(--primary-900-deut);
	--secondary-100: var(--secondary-100-deut);
	--secondary-200: var(--secondary-200-deut);
	--secondary-300: var(--secondary-300-deut);
	--secondary-400: var(--secondary-400-deut);
	--secondary-500: var(--secondary-500-deut);
	--secondary-600: var(--secondary-600-deut);
	--secondary-700: var(--secondary-700-deut);
	--secondary-800: var(--secondary-800-deut);
	--secondary-900: var(--secondary-900-deut);
	--tertiary-100: var(--tertiary-100-deut);
	--tertiary-200: var(--tertiary-200-deut);
	--tertiary-300: var(--tertiary-300-deut);
	--tertiary-400: var(--tertiary-400-deut);
	--tertiary-500: var(--tertiary-500-deut);
	--tertiary-600: var(--tertiary-600-deut);
	--tertiary-700: var(--tertiary-700-deut);
	--tertiary-800: var(--tertiary-800-deut);
	--tertiary-900: var(--tertiary-900-deut);
	--accent-100: var(--accent-100-deut);
	--accent-200: var(--accent-200-deut);
	--accent-300: var(--accent-300-deut);
	--accent-400: var(--accent-400-deut);
	--accent-500: var(--accent-500-deut);
	--accent-600: var(--accent-600-deut);
	--accent-700: var(--accent-700-deut);
	--accent-800: var(--accent-800-deut);
	--accent-900: var(--accent-900-deut);
	--error-100: var(--error-100-deut);
	--error-200: var(--error-200-deut);
	--error-300: var(--error-300-deut);
	--error-400: var(--error-400-deut);
	--error-500: var(--error-500-deut);
	--error-600: var(--error-600-deut);
	--error-700: var(--error-700-deut);
	--error-800: var(--error-800-deut);
	--error-900: var(--error-900-deut);
	--notice-100: var(--notice-100-deut);
	--notice-200: var(--notice-200-deut);
	--notice-300: var(--notice-300-deut);
	--notice-400: var(--notice-400-deut);
	--notice-500: var(--notice-500-deut);
	--notice-600: var(--notice-600-deut);
	--notice-700: var(--notice-700-deut);
	--notice-800: var(--notice-800-deut);
	--notice-900: var(--notice-900-deut);
	--success-100: var(--success-100-deut);
	--success-200: var(--success-200-deut);
	--success-300: var(--success-300-deut);
	--success-400: var(--success-400-deut);
	--success-500: var(--success-500-deut);
	--success-600: var(--success-600-deut);
	--success-700: var(--success-700-deut);
	--success-800: var(--success-800-deut);
	--success-900: var(--success-900-deut);
}

/* tritanopia */
:is(html[data-vision="tritanopia"], html[data-vision="tritanopia"] .editor-styles-wrapper) {
	--text-on-dark: var(--text-on-dark-trit);
	--text-on-light: var(--text-on-light-trit);
	--bg-light: var(--bg-light-trit);
	--bg-dark: var(--bg-dark-trit);
	--surface-light-1: var(--surface-light-1-trit);
	--surface-light-2: var(--surface-light-2-trit);
	--surface-dark-1: var(--surface-dark-1-trit);
	--surface-dark-2: var(--surface-dark-2-trit);
	--primary-lighter: var(--primary-lighter-trit);
	--primary-light: var(--primary-light-trit);
	--primary-dark: var(--primary-dark-trit);
	--primary-darker: var(--primary-darker-trit);
	--secondary-lighter: var(--secondary-lighter-trit);
	--secondary-light: var(--secondary-light-trit);
	--secondary-dark: var(--secondary-dark-trit);
	--secondary-darker: var(--secondary-darker-trit);
	--tertiary-lighter: var(--tertiary-lighter-trit);
	--tertiary-light: var(--tertiary-light-trit);
	--tertiary-dark: var(--tertiary-dark-trit);
	--tertiary-darker: var(--tertiary-darker-trit);
	--accent-lighter: var(--accent-lighter-trit);
	--accent-light: var(--accent-light-trit);
	--accent-dark: var(--accent-dark-trit);
	--accent-darker: var(--accent-darker-trit);
	--error-light: var(--error-light-trit);
	--error-dark: var(--error-dark-trit);
	--notice-light: var(--notice-light-trit);
	--notice-dark: var(--notice-dark-trit);
	--success-light: var(--success-light-trit);
	--success-dark: var(--success-dark-trit);
	--primary-100: var(--primary-100-trit);
	--primary-200: var(--primary-200-trit);
	--primary-300: var(--primary-300-trit);
	--primary-400: var(--primary-400-trit);
	--primary-500: var(--primary-500-trit);
	--primary-600: var(--primary-600-trit);
	--primary-700: var(--primary-700-trit);
	--primary-800: var(--primary-800-trit);
	--primary-900: var(--primary-900-trit);
	--secondary-100: var(--secondary-100-trit);
	--secondary-200: var(--secondary-200-trit);
	--secondary-300: var(--secondary-300-trit);
	--secondary-400: var(--secondary-400-trit);
	--secondary-500: var(--secondary-500-trit);
	--secondary-600: var(--secondary-600-trit);
	--secondary-700: var(--secondary-700-trit);
	--secondary-800: var(--secondary-800-trit);
	--secondary-900: var(--secondary-900-trit);
	--tertiary-100: var(--tertiary-100-trit);
	--tertiary-200: var(--tertiary-200-trit);
	--tertiary-300: var(--tertiary-300-trit);
	--tertiary-400: var(--tertiary-400-trit);
	--tertiary-500: var(--tertiary-500-trit);
	--tertiary-600: var(--tertiary-600-trit);
	--tertiary-700: var(--tertiary-700-trit);
	--tertiary-800: var(--tertiary-800-trit);
	--tertiary-900: var(--tertiary-900-trit);
	--accent-100: var(--accent-100-trit);
	--accent-200: var(--accent-200-trit);
	--accent-300: var(--accent-300-trit);
	--accent-400: var(--accent-400-trit);
	--accent-500: var(--accent-500-trit);
	--accent-600: var(--accent-600-trit);
	--accent-700: var(--accent-700-trit);
	--accent-800: var(--accent-800-trit);
	--accent-900: var(--accent-900-trit);
	--error-100: var(--error-100-trit);
	--error-200: var(--error-200-trit);
	--error-300: var(--error-300-trit);
	--error-400: var(--error-400-trit);
	--error-500: var(--error-500-trit);
	--error-600: var(--error-600-trit);
	--error-700: var(--error-700-trit);
	--error-800: var(--error-800-trit);
	--error-900: var(--error-900-trit);
	--notice-100: var(--notice-100-trit);
	--notice-200: var(--notice-200-trit);
	--notice-300: var(--notice-300-trit);
	--notice-400: var(--notice-400-trit);
	--notice-500: var(--notice-500-trit);
	--notice-600: var(--notice-600-trit);
	--notice-700: var(--notice-700-trit);
	--notice-800: var(--notice-800-trit);
	--notice-900: var(--notice-900-trit);
	--success-100: var(--success-100-trit);
	--success-200: var(--success-200-trit);
	--success-300: var(--success-300-trit);
	--success-400: var(--success-400-trit);
	--success-500: var(--success-500-trit);
	--success-600: var(--success-600-trit);
	--success-700: var(--success-700-trit);
	--success-800: var(--success-800-trit);
	--success-900: var(--success-900-trit);
}
