/* Generated from styles.css and tools/theme-menu.html. */
/* Solarized: https://github.com/altercation/vim-colors-solarized (MIT). */
body:has(#theme-mode-light:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-solarized-light:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-light:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-white:checked),
body:has(#theme-mode-light:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-oksolar-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-bright:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-aura-dim:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-light:checked),
body:has(#theme-mode-light:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-ayu-mirage:checked),
body:has(#theme-mode-light:checked):has(#theme-ayu-light:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-mocha:checked),
body:has(#theme-mode-light:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-light:checked):has(#theme-rose-pine-moon:checked),
body:has(#theme-mode-light:checked):has(#theme-rose-pine-dawn:checked) {
  color-scheme: dark;

  --base03: #002b36;
  --base02: #073642;
  --base01: #586e75;
  --base00: #657b83;
  --base0: #839496;
  --base1: #93a1a1;
  --base2: #eee8d5;
  --base3: #fdf6e3;
  --yellow: #b58900;
  --orange: #cb4b16;
  --red: #dc322f;
  --magenta: #d33682;
  --violet: #6c71c4;
  --blue: #268bd2;
  --cyan: #2aa198;
  --green: #859900;
}

/* Selenized: https://github.com/jan-warchol/selenized (MIT). */
:not(*) {
  color-scheme: dark;

  --base03: #103c48;
  --base02: #184956;
  --base01: #72898f;
  --base00: #adbcbc;
  --base0: #adbcbc;
  --base1: #cad8d9;
  --base2: #2d5b69;
  --base3: #cad8d9;
  --yellow: #dbb32d;
  --orange: #ed8649;
  --red: #fa5750;
  --magenta: #f275be;
  --violet: #af88eb;
  --blue: #4695f7;
  --cyan: #41c7b9;
  --green: #75b938;
}

:not(*) {
  color-scheme: dark;

  --base03: #181818;
  --base02: #252525;
  --base01: #777777;
  --base00: #b9b9b9;
  --base0: #b9b9b9;
  --base1: #dedede;
  --base2: #3b3b3b;
  --base3: #dedede;
  --yellow: #dbb32d;
  --orange: #e67f43;
  --red: #ed4a46;
  --magenta: #eb6eb7;
  --violet: #a580e2;
  --blue: #368aeb;
  --cyan: #3fc5b7;
  --green: #70b433;
}

body:has(#theme-mode-light:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-light:checked) {
  --base03: #3a4d53;
  --base02: #53676d;
  --base01: #909995;
  --base00: #53676d;
  --base0: #909995;
  --base1: #d5cdb6;
  --base2: #ece3cc;
  --base3: #fbf3db;
  --yellow: #ad8900;
  --orange: #c25d1e;
  --red: #d2212d;
  --magenta: #ca4898;
  --violet: #8762c6;
  --blue: #0072d4;
  --cyan: #009c8f;
  --green: #489100;
}

body:has(#theme-mode-light:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-white:checked) {
  --base03: #282828;
  --base02: #474747;
  --base01: #878787;
  --base00: #474747;
  --base0: #878787;
  --base1: #cdcdcd;
  --base2: #ebebeb;
  --base3: #ffffff;
  --yellow: #c49700;
  --orange: #d04a00;
  --red: #d6000c;
  --magenta: #dd0f9d;
  --violet: #7f51d6;
  --blue: #0064e4;
  --cyan: #00ad9c;
  --green: #1d9700;
}

/* OKSolar: https://meat.io/oksolar (CC0-1.0). */
:not(*),
body:has(#theme-mode-light:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-oksolar-light:checked) {
  --base03: #002d38;
  --base02: #093946;
  --base01: #5b7279;
  --base00: #657377;
  --base0: #98a8a8;
  --base1: #8faaab;
  --base2: #f1e9d2;
  --base3: #fbf7ef;
  --yellow: #ac8300;
  --orange: #d56500;
  --red: #f23749;
  --magenta: #dd459d;
  --violet: #7d80d1;
  --blue: #2b90d8;
  --cyan: #259d94;
  --green: #819500;
}

/* Gruvbox Material: https://github.com/sainnhe/gruvbox-material (MIT). */
:not(*),
:not(*),
:not(*) {
  color-scheme: dark;

  --base03: #1d2021;
  --base02: #282828;
  --base01: #504945;
  --base2: #3c3836;
}

:not(*),
:not(*),
:not(*) {
  color-scheme: dark;

  --base03: #282828;
  --base02: #32302f;
  --base01: #5a524c;
  --base2: #45403d;
}

:not(*),
:not(*),
:not(*) {
  color-scheme: dark;

  --base03: #32302f;
  --base02: #3c3836;
  --base01: #665c54;
  --base2: #504945;
}

body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-hard-light:checked) {
  --base1: #ebdbb2;
  --base2: #f5edca;
  --base3: #f9f5d7;
}

body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-medium-light:checked) {
  --base1: #ddccab;
  --base2: #f4e8be;
  --base3: #fbf1c7;
}

body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-soft-light:checked) {
  --base1: #d5c4a1;
  --base2: #eddeb5;
  --base3: #f2e5bc;
}

:not(*),
:not(*),
:not(*) {
  --base00: #928374;
  --base0: #ddc7a1;
  --base1: #d4be98;
  --base3: #ddc7a1;
  --yellow: #d8a657;
  --orange: #e78a4e;
  --red: #ea6962;
  --magenta: #d3869b;
  --violet: #d3869b;
  --blue: #7daea3;
  --cyan: #89b482;
  --green: #a9b665;
}

body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-soft-light:checked) {
  --base03: #4f3829;
  --base02: #7c6f64;
  --base01: #928374;
  --base00: #654735;
  --base0: #928374;
  --yellow: #b47109;
  --orange: #c35e0a;
  --red: #c14a4a;
  --magenta: #945e80;
  --violet: #945e80;
  --blue: #45707a;
  --cyan: #4c7a5d;
  --green: #6c782e;
}

:not(*),
:not(*),
:not(*) {
  --base00: #928374;
  --base0: #e2cca9;
  --base1: #e2cca9;
  --base3: #e2cca9;
  --yellow: #e9b143;
  --orange: #f28534;
  --red: #f2594b;
  --magenta: #d3869b;
  --violet: #d3869b;
  --blue: #80aa9e;
  --cyan: #8bba7f;
  --green: #b0b846;
}

body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-soft-light:checked) {
  --base03: #514036;
  --base02: #7c6f64;
  --base01: #928374;
  --base00: #514036;
  --base0: #928374;
  --yellow: #b4730e;
  --orange: #b94c07;
  --red: #af2528;
  --magenta: #924f79;
  --violet: #924f79;
  --blue: #266b79;
  --cyan: #477a5b;
  --green: #72761e;
}

:not(*),
:not(*),
:not(*) {
  --base00: #928374;
  --base0: #ebdbb2;
  --base1: #ebdbb2;
  --base3: #ebdbb2;
  --yellow: #fabd2f;
  --orange: #fe8019;
  --red: #fb4934;
  --magenta: #d3869b;
  --violet: #d3869b;
  --blue: #83a598;
  --cyan: #8ec07c;
  --green: #b8bb26;
}

body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-soft-light:checked) {
  --base03: #3c3836;
  --base02: #7c6f64;
  --base01: #928374;
  --base00: #3c3836;
  --base0: #928374;
  --yellow: #b57614;
  --orange: #af3a03;
  --red: #9d0006;
  --magenta: #8f3f71;
  --violet: #8f3f71;
  --blue: #076678;
  --cyan: #427b58;
  --green: #79740e;
}

/* Tomorrow: https://github.com/chriskempson/tomorrow-theme (MIT). */
body:has(#theme-mode-light:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-bright:checked) {
  --base03: #1d1f21;
  --base02: #373b41;
  --base01: #8e908c;
  --base00: #4d4d4c;
  --base0: #8e908c;
  --base1: #c5c8c6;
  --base2: #efefef;
  --base3: #ffffff;
  --yellow: #eab700;
  --orange: #f5871f;
  --red: #c82829;
  --magenta: #8959a8;
  --violet: #8959a8;
  --blue: #4271ae;
  --cyan: #3e999f;
  --green: #718c00;
}

:not(*) {
  --base03: #1d1f21;
  --base02: #282a2e;
  --base01: #969896;
  --base00: #b4b7b4;
  --base0: #c5c8c6;
  --base1: #e0e0e0;
  --base2: #373b41;
  --base3: #ffffff;
  --yellow: #f0c674;
  --orange: #de935f;
  --red: #cc6666;
  --magenta: #b294bb;
  --violet: #b294bb;
  --blue: #81a2be;
  --cyan: #8abeb7;
  --green: #b5bd68;
}

:not(*) {
  --base03: #2d2d2d;
  --base02: #393939;
  --base01: #999999;
  --base00: #cccccc;
  --base0: #cccccc;
  --base1: #e0e0e0;
  --base2: #515151;
  --base3: #ffffff;
  --yellow: #ffcc66;
  --orange: #f99157;
  --red: #f2777a;
  --magenta: #cc99cc;
  --violet: #cc99cc;
  --blue: #6699cc;
  --cyan: #66cccc;
  --green: #99cc99;
}

:not(*) {
  --base03: #002451;
  --base02: #00346e;
  --base01: #7285b7;
  --base00: #ffffff;
  --base0: #ffffff;
  --base1: #ffffff;
  --base2: #003f8e;
  --base3: #ffffff;
  --yellow: #ffeead;
  --orange: #ffc58f;
  --red: #ff9da4;
  --magenta: #ebbbff;
  --violet: #ebbbff;
  --blue: #bbdaff;
  --cyan: #99ffff;
  --green: #d1f1a9;
}

:not(*) {
  --base03: #000000;
  --base02: #2a2a2a;
  --base01: #969896;
  --base00: #eaeaea;
  --base0: #eaeaea;
  --base1: #ffffff;
  --base2: #424242;
  --base3: #ffffff;
  --yellow: #e7c547;
  --orange: #e78c45;
  --red: #d54e53;
  --magenta: #c397d8;
  --violet: #c397d8;
  --blue: #7aa6da;
  --cyan: #70c0b1;
  --green: #b9ca4a;
}

/* Nord: https://github.com/nordtheme/vim (MIT). */
:not(*) {
  --base03: #2e3440;
  --base02: #3b4252;
  --base01: #4c566a;
  --base00: #d8dee9;
  --base0: #d8dee9;
  --base1: #e5e9f0;
  --base2: #434c5e;
  --base3: #eceff4;
  --yellow: #ebcb8b;
  --orange: #d08770;
  --red: #bf616a;
  --magenta: #b48ead;
  --violet: #b48ead;
  --blue: #81a1c1;
  --cyan: #88c0d0;
  --green: #a3be8c;
}

/* Everforest: https://github.com/sainnhe/everforest (MIT). */
:not(*) {
  --base03: #272e33;
  --base02: #2e383c;
  --base01: #7a8478;
  --base00: #9da9a0;
  --base0: #d3c6aa;
  --base1: #d3c6aa;
  --base2: #414b50;
  --base3: #d3c6aa;
  --yellow: #dbbc7f;
  --orange: #e69875;
  --red: #e67e80;
  --magenta: #d699b6;
  --violet: #d699b6;
  --blue: #7fbbb3;
  --cyan: #83c092;
  --green: #a7c080;
}

:not(*) {
  --base03: #2d353b;
  --base02: #343f44;
  --base01: #7a8478;
  --base00: #9da9a0;
  --base0: #d3c6aa;
  --base1: #d3c6aa;
  --base2: #475258;
  --base3: #d3c6aa;
  --yellow: #dbbc7f;
  --orange: #e69875;
  --red: #e67e80;
  --magenta: #d699b6;
  --violet: #d699b6;
  --blue: #7fbbb3;
  --cyan: #83c092;
  --green: #a7c080;
}

:not(*) {
  --base03: #333c43;
  --base02: #3a464c;
  --base01: #7a8478;
  --base00: #9da9a0;
  --base0: #d3c6aa;
  --base1: #d3c6aa;
  --base2: #4d5960;
  --base3: #d3c6aa;
  --yellow: #dbbc7f;
  --orange: #e69875;
  --red: #e67e80;
  --magenta: #d699b6;
  --violet: #d699b6;
  --blue: #7fbbb3;
  --cyan: #83c092;
  --green: #a7c080;
}

body:has(#theme-mode-light:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-hard-light:checked) {
  --base03: #5c6a72;
  --base02: #708089;
  --base01: #829181;
  --base00: #5c6a72;
  --base0: #939f91;
  --base1: #bec5b2;
  --base2: #f8f5e4;
  --base3: #fffbef;
  --yellow: #dfa000;
  --orange: #f57d26;
  --red: #f85552;
  --magenta: #df69ba;
  --violet: #df69ba;
  --blue: #3a94c5;
  --cyan: #35a77c;
  --green: #8da101;
}

body:has(#theme-mode-light:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-light:checked) {
  --base03: #5c6a72;
  --base02: #708089;
  --base01: #829181;
  --base00: #5c6a72;
  --base0: #939f91;
  --base1: #bdc3af;
  --base2: #f4f0d9;
  --base3: #fdf6e3;
  --yellow: #dfa000;
  --orange: #f57d26;
  --red: #f85552;
  --magenta: #df69ba;
  --violet: #df69ba;
  --blue: #3a94c5;
  --cyan: #35a77c;
  --green: #8da101;
}

body:has(#theme-mode-light:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-soft-light:checked) {
  --base03: #5c6a72;
  --base02: #708089;
  --base01: #829181;
  --base00: #5c6a72;
  --base0: #939f91;
  --base1: #b9c0ab;
  --base2: #eae4ca;
  --base3: #f3ead3;
  --yellow: #dfa000;
  --orange: #f57d26;
  --red: #f85552;
  --magenta: #df69ba;
  --violet: #df69ba;
  --blue: #3a94c5;
  --cyan: #35a77c;
  --green: #8da101;
}

/* Edge: https://github.com/sainnhe/edge (MIT). */
:not(*) {
  color-scheme: dark;

  --base03: #2c2e34;
  --base02: #33353f;
  --base01: #535c6a;
  --base00: #758094;
  --base0: #c5cdd9;
  --base1: #758094;
  --base2: #3b3e48;
  --base3: #c5cdd9;
  --yellow: #deb974;
  --orange: #deb974;
  --red: #ec7279;
  --magenta: #d38aea;
  --violet: #d38aea;
  --blue: #6cb6eb;
  --cyan: #5dbbc1;
  --green: #a0c980;
}

:not(*) {
  color-scheme: dark;

  --base03: #2b2d37;
  --base02: #333644;
  --base01: #535c6a;
  --base00: #758094;
  --base0: #c5cdd9;
  --base1: #758094;
  --base2: #3a3e4e;
  --base3: #c5cdd9;
  --yellow: #deb974;
  --orange: #deb974;
  --red: #ec7279;
  --magenta: #d38aea;
  --violet: #d38aea;
  --blue: #6cb6eb;
  --cyan: #5dbbc1;
  --green: #a0c980;
}

:not(*) {
  color-scheme: dark;

  --base03: #2b2d3a;
  --base02: #333648;
  --base01: #535c6a;
  --base00: #758094;
  --base0: #c5cdd9;
  --base1: #758094;
  --base2: #393e53;
  --base3: #c5cdd9;
  --yellow: #deb974;
  --orange: #deb974;
  --red: #ec7279;
  --magenta: #d38aea;
  --violet: #d38aea;
  --blue: #6cb6eb;
  --cyan: #5dbbc1;
  --green: #a0c980;
}

:not(*) {
  color-scheme: dark;

  --base03: #2b2d37;
  --base02: #333644;
  --base01: #4f5868;
  --base00: #677287;
  --base0: #97a4b5;
  --base1: #677287;
  --base2: #3a3e4e;
  --base3: #97a4b5;
  --yellow: #deb974;
  --orange: #deb974;
  --red: #ec7279;
  --magenta: #d38aea;
  --violet: #d38aea;
  --blue: #6cb6eb;
  --cyan: #5dbbc1;
  --green: #a0c980;
}

body:has(#theme-mode-light:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-aura-dim:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-light:checked) {
  --base03: #4b505b;
  --base02: #8790a0;
  --base01: #bac3cb;
  --base00: #4b505b;
  --base0: #8790a0;
  --base1: #dde2e7;
  --base2: #eef1f4;
  --base3: #fafafa;
  --yellow: #be7e05;
  --orange: #be7e05;
  --red: #d05858;
  --magenta: #b05ccc;
  --violet: #b05ccc;
  --blue: #5079be;
  --cyan: #3a8b84;
  --green: #608e32;
}

/* Sonokai: https://github.com/sainnhe/sonokai (MIT). */
:not(*) {
  color-scheme: dark;

  --base03: #2c2e34;
  --base02: #33353f;
  --base01: #595f6f;
  --base00: #7f8490;
  --base0: #e2e2e3;
  --base1: #7f8490;
  --base2: #3b3e48;
  --base3: #e2e2e3;
  --yellow: #e7c664;
  --orange: #f39660;
  --red: #fc5d7c;
  --magenta: #b39df3;
  --violet: #b39df3;
  --blue: #76cce0;
  --cyan: #76cce0;
  --green: #9ed072;
}

:not(*) {
  color-scheme: dark;

  --base03: #2a2f38;
  --base02: #333846;
  --base01: #5a6477;
  --base00: #828a9a;
  --base0: #e1e3e4;
  --base1: #828a9a;
  --base2: #3d4455;
  --base3: #e1e3e4;
  --yellow: #eacb64;
  --orange: #f69c5e;
  --red: #ff6578;
  --magenta: #ba9cf3;
  --violet: #ba9cf3;
  --blue: #72cce8;
  --cyan: #72cce8;
  --green: #9dd274;
}

:not(*) {
  color-scheme: dark;

  --base03: #2b2d3a;
  --base02: #333648;
  --base01: #5a5e7a;
  --base00: #7e8294;
  --base0: #e1e3e4;
  --base1: #7e8294;
  --base2: #393e53;
  --base3: #e1e3e4;
  --yellow: #edc763;
  --orange: #f89860;
  --red: #fb617e;
  --magenta: #bb97ee;
  --violet: #bb97ee;
  --blue: #6dcae8;
  --cyan: #6dcae8;
  --green: #9ed06c;
}

:not(*) {
  color-scheme: dark;

  --base03: #2d2a2e;
  --base02: #37343a;
  --base01: #605d68;
  --base00: #848089;
  --base0: #e3e1e4;
  --base1: #848089;
  --base2: #423f46;
  --base3: #e3e1e4;
  --yellow: #e5c463;
  --orange: #ef9062;
  --red: #f85e84;
  --magenta: #ab9df2;
  --violet: #ab9df2;
  --blue: #7accd7;
  --cyan: #7accd7;
  --green: #9ecd6f;
}

:not(*) {
  color-scheme: dark;

  --base03: #273136;
  --base02: #313b42;
  --base01: #55626d;
  --base00: #82878b;
  --base0: #e1e2e3;
  --base1: #82878b;
  --base2: #3a444b;
  --base3: #e1e2e3;
  --yellow: #e3d367;
  --orange: #f3a96a;
  --red: #f76c7c;
  --magenta: #baa0f8;
  --violet: #baa0f8;
  --blue: #78cee9;
  --cyan: #78cee9;
  --green: #9cd57b;
}

:not(*) {
  color-scheme: dark;

  --base03: #312c2b;
  --base02: #393230;
  --base01: #6a5e59;
  --base00: #90817b;
  --base0: #e4e3e1;
  --base1: #90817b;
  --base2: #49403c;
  --base3: #e4e3e1;
  --yellow: #f0c66f;
  --orange: #f08d71;
  --red: #f86882;
  --magenta: #9fa0e1;
  --violet: #9fa0e1;
  --blue: #81d0c9;
  --cyan: #81d0c9;
  --green: #a6cd77;
}

/* Spring Night: https://github.com/rhysd/vim-color-spring-night (MIT). */
:not(*) {
  color-scheme: dark;

  --base03: #334152;
  --base02: #3a4b5c;
  --base01: #607080;
  --base00: #788898;
  --base0: #fffeeb;
  --base1: #8d9eb2;
  --base2: #3a4b5c;
  --base3: #fffeeb;
  --yellow: #fedf81;
  --orange: #f0aa8a;
  --red: #fd8489;
  --magenta: #e7d5ff;
  --violet: #e7d5ff;
  --blue: #a8d2eb;
  --cyan: #a8d2eb;
  --green: #a9dd9d;
}

:not(*) {
  color-scheme: dark;

  --base03: #132132;
  --base02: #213243;
  --base01: #607080;
  --base00: #788898;
  --base0: #fffeeb;
  --base1: #8d9eb2;
  --base2: #3a4b5c;
  --base3: #fffeeb;
  --yellow: #fedf81;
  --orange: #f0aa8a;
  --red: #fd8489;
  --magenta: #e7d5ff;
  --violet: #e7d5ff;
  --blue: #a8d2eb;
  --cyan: #a8d2eb;
  --green: #a9dd9d;
}

/* Ayu: https://github.com/ayu-theme/ayu-colors (MIT). */
:not(*) {
  --base03: #0a0e14;
  --base02: #0d1017;
  --base01: #626a73;
  --base00: #b3b1ad;
  --base0: #b3b1ad;
  --base1: #e6e1cf;
  --base2: #11151c;
  --base3: #e6e1cf;
  --yellow: #e6b450;
  --orange: #ff8f40;
  --red: #ff3333;
  --magenta: #d2a6ff;
  --violet: #d2a6ff;
  --blue: #59c2ff;
  --cyan: #95e6cb;
  --green: #aad94c;
}

:not(*) {
  --base03: #1f2430;
  --base02: #242936;
  --base01: #5c6773;
  --base00: #cbccc6;
  --base0: #cbccc6;
  --base1: #f3f4f5;
  --base2: #2a3040;
  --base3: #f3f4f5;
  --yellow: #ffd580;
  --orange: #ffa759;
  --red: #ff3333;
  --magenta: #d4bfff;
  --violet: #d4bfff;
  --blue: #73d0ff;
  --cyan: #95e6cb;
  --green: #bae67e;
}

body:has(#theme-mode-light:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-ayu-mirage:checked),
body:has(#theme-mode-light:checked):has(#theme-ayu-light:checked) {
  --base03: #5c6773;
  --base02: #8a9199;
  --base01: #abb0b6;
  --base00: #5c6773;
  --base0: #8a9199;
  --base1: #f0f0f0;
  --base2: #f3f4f5;
  --base3: #fcfcfc;
  --yellow: #a37acc;
  --orange: #fa8d3e;
  --red: #f51818;
  --magenta: #a37acc;
  --violet: #a37acc;
  --blue: #399ee6;
  --cyan: #4cbf99;
  --green: #86b300;
}

/* Catppuccin: https://github.com/catppuccin/nvim (MIT). */
body:has(#theme-mode-light:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-mocha:checked) {
  --base03: #4c4f69;
  --base02: #5c5f77;
  --base01: #8c8fa1;
  --base00: #4c4f69;
  --base0: #6c6f85;
  --base1: #bcc0cc;
  --base2: #e6e9ef;
  --base3: #eff1f5;
  --yellow: #df8e1d;
  --orange: #fe640b;
  --red: #d20f39;
  --magenta: #ea76cb;
  --violet: #8839ef;
  --blue: #1e66f5;
  --cyan: #179299;
  --green: #40a02b;
}

:not(*) {
  --base03: #303446;
  --base02: #414559;
  --base01: #838ba7;
  --base00: #a5adce;
  --base0: #c6d0f5;
  --base1: #b5bfe2;
  --base2: #292c3c;
  --base3: #c6d0f5;
  --yellow: #e5c890;
  --orange: #ef9f76;
  --red: #e78284;
  --magenta: #f4b8e4;
  --violet: #ca9ee6;
  --blue: #8caaee;
  --cyan: #81c8be;
  --green: #a6d189;
}

:not(*) {
  --base03: #24273a;
  --base02: #363a4f;
  --base01: #8087a2;
  --base00: #a5adcb;
  --base0: #cad3f5;
  --base1: #b8c0e0;
  --base2: #1e2030;
  --base3: #cad3f5;
  --yellow: #eed49f;
  --orange: #f5a97f;
  --red: #ed8796;
  --magenta: #f5bde6;
  --violet: #c6a0f6;
  --blue: #8aadf4;
  --cyan: #8bd5ca;
  --green: #a6da95;
}

:not(*) {
  --base03: #1e1e2e;
  --base02: #313244;
  --base01: #7f849c;
  --base00: #a6adc8;
  --base0: #cdd6f4;
  --base1: #bac2de;
  --base2: #181825;
  --base3: #cdd6f4;
  --yellow: #f9e2af;
  --orange: #fab387;
  --red: #f38ba8;
  --magenta: #f5c2e7;
  --violet: #cba6f7;
  --blue: #89b4fa;
  --cyan: #94e2d5;
  --green: #a6e3a1;
}

/* Rose Pine: https://github.com/rose-pine/neovim (MIT). */
:not(*) {
  --base03: #191724;
  --base02: #1f1d2e;
  --base01: #6e6a86;
  --base00: #908caa;
  --base0: #e0def4;
  --base1: #908caa;
  --base2: #26233a;
  --base3: #e0def4;
  --yellow: #f6c177;
  --orange: #ebbcba;
  --red: #eb6f92;
  --magenta: #c4a7e7;
  --violet: #c4a7e7;
  --blue: #31748f;
  --cyan: #9ccfd8;
  --green: #9ccfd8;
}

:not(*) {
  --base03: #232136;
  --base02: #2a273f;
  --base01: #6e6a86;
  --base00: #908caa;
  --base0: #e0def4;
  --base1: #908caa;
  --base2: #393552;
  --base3: #e0def4;
  --yellow: #f6c177;
  --orange: #ea9a97;
  --red: #eb6f92;
  --magenta: #c4a7e7;
  --violet: #c4a7e7;
  --blue: #3e8fb0;
  --cyan: #9ccfd8;
  --green: #9ccfd8;
}

body:has(#theme-mode-light:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-light:checked):has(#theme-rose-pine-moon:checked),
body:has(#theme-mode-light:checked):has(#theme-rose-pine-dawn:checked) {
  --base03: #464261;
  --base02: #797593;
  --base01: #9893a5;
  --base00: #464261;
  --base0: #797593;
  --base1: #f2e9e1;
  --base2: #fffaf3;
  --base3: #faf4ed;
  --yellow: #ea9d34;
  --orange: #d7827e;
  --red: #b4637a;
  --magenta: #907aa9;
  --violet: #907aa9;
  --blue: #286983;
  --cyan: #56949f;
  --green: #56949f;
}

/*
 * Theme role mapping
 * ------------------
 * Palette values above retain their upstream values.  The mappings below
 * follow each editor theme's Normal, panel/menu, Visual, Title, and standard
 * syntax highlight groups.  Arachnopress classes consume only the stable
 * --theme-* and --syntax-* roles defined here.
 */

/* Solarized Vim roles: Normal, Comment, Statement, PreProc, Type, Special. */
:not(*) {
  --theme-normal-bg: var(--base03);
  --theme-panel-bg: var(--base02);
  --theme-normal-fg: var(--base0);
  --theme-panel-fg: var(--base0);
  --theme-muted-fg: var(--base01);
  --theme-border: var(--base00);
  --theme-selection-bg: var(--base01);
  --theme-selection-fg: var(--base03);
  --theme-title: var(--orange);
}

body:has(#theme-mode-light:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-solarized-light:checked) {
  --theme-normal-bg: var(--base3);
  --theme-panel-bg: var(--base2);
  --theme-normal-fg: var(--base00);
  --theme-panel-fg: var(--base00);
  --theme-muted-fg: var(--base1);
  --theme-border: var(--base0);
  --theme-selection-bg: var(--base1);
  --theme-selection-fg: var(--base3);
  --theme-title: var(--orange);
}

:not(*),
body:has(#theme-mode-light:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-solarized-light:checked) {
  --syntax-normal: var(--base0);
  --syntax-comment: var(--base01);
  --syntax-keyword: var(--green);
  --syntax-type: var(--yellow);
  --syntax-preproc: var(--orange);
  --syntax-string: var(--cyan);
  --syntax-regexp: var(--cyan);
  --syntax-special: var(--red);
  --syntax-function: var(--blue);
  --syntax-number: var(--cyan);
  --syntax-identifier: var(--blue);
  --syntax-builtin: var(--red);
  --syntax-tag: var(--red);
  --syntax-class: var(--yellow);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--green);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--green);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--orange);
  --syntax-subheading: var(--blue);
}

body:has(#theme-mode-light:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-solarized-light:checked) {
  --syntax-normal: var(--base00);
  --syntax-comment: var(--base1);
}

/* Gruvbox Material generic Vim roles. */
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*) {
  --gruvbox-bg0: var(--base03);
  --gruvbox-bg1: var(--base02);
  --gruvbox-bg3: var(--base2);
  --gruvbox-bg5: var(--base01);
  --gruvbox-fg0: var(--base1);
  --gruvbox-fg1: var(--base0);
  --gruvbox-grey1: var(--base00);
}

body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-soft-light:checked) {
  --gruvbox-bg0: var(--base3);
  --gruvbox-bg1: var(--base2);
  --gruvbox-bg3: var(--base2);
  --gruvbox-bg5: var(--base1);
  --gruvbox-fg0: var(--base00);
  --gruvbox-fg1: var(--base03);
  --gruvbox-grey1: var(--base0);
}

body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-hard-light:checked) {
  --gruvbox-bg3: #f2e5bc;
}

body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-medium-light:checked) {
  --gruvbox-bg3: #eee0b7;
}

body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-soft-light:checked) {
  --gruvbox-bg3: #e6d5ae;
}

:not(*),
:not(*),
:not(*),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-soft-light:checked),
:not(*),
:not(*),
:not(*),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-soft-light:checked),
:not(*),
:not(*),
:not(*),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-soft-light:checked) {
  --theme-normal-bg: var(--gruvbox-bg0);
  --theme-panel-bg: var(--gruvbox-bg3);
  --theme-normal-fg: var(--gruvbox-fg0);
  --theme-panel-fg: var(--gruvbox-fg1);
  --theme-muted-fg: var(--gruvbox-grey1);
  --theme-border: var(--gruvbox-bg5);
  --theme-selection-bg: var(--gruvbox-bg3);
  --theme-selection-fg: var(--gruvbox-fg0);
  --theme-title: var(--orange);
  --syntax-normal: var(--gruvbox-fg0);
  --syntax-comment: var(--gruvbox-grey1);
  --syntax-keyword: var(--red);
  --syntax-type: var(--yellow);
  --syntax-preproc: var(--violet);
  --syntax-string: var(--green);
  --syntax-regexp: var(--green);
  --syntax-special: var(--yellow);
  --syntax-function: var(--green);
  --syntax-number: var(--violet);
  --syntax-identifier: var(--blue);
  --syntax-builtin: var(--yellow);
  --syntax-tag: var(--orange);
  --syntax-class: var(--yellow);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--red);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--orange);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--orange);
  --syntax-subheading: var(--blue);
}

/* Tomorrow Vim roles use its foreground/background and named accents. */
body:has(#theme-mode-light:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-bright:checked) {
  --tomorrow-background: #ffffff;
  --tomorrow-foreground: #4d4d4c;
  --tomorrow-selection: #d6d6d6;
  --tomorrow-line: #efefef;
  --tomorrow-window: #efefef;
}

:not(*) {
  --tomorrow-background: #1d1f21;
  --tomorrow-foreground: #c5c8c6;
  --tomorrow-selection: #373b41;
  --tomorrow-line: #282a2e;
  --tomorrow-window: #4d5057;
}

:not(*) {
  --tomorrow-background: #2d2d2d;
  --tomorrow-foreground: #cccccc;
  --tomorrow-selection: #515151;
  --tomorrow-line: #393939;
  --tomorrow-window: #4d5057;
}

:not(*) {
  --tomorrow-background: #002451;
  --tomorrow-foreground: #ffffff;
  --tomorrow-selection: #003f8e;
  --tomorrow-line: #00346e;
  --tomorrow-window: #4d5057;
}

:not(*) {
  --tomorrow-background: #000000;
  --tomorrow-foreground: #eaeaea;
  --tomorrow-selection: #424242;
  --tomorrow-line: #2a2a2a;
  --tomorrow-window: #4d5057;
}

body:has(#theme-mode-light:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-bright:checked),
:not(*),
:not(*),
:not(*),
:not(*) {
  --theme-normal-bg: var(--tomorrow-background);
  --theme-panel-bg: var(--tomorrow-line);
  --theme-normal-fg: var(--tomorrow-foreground);
  --theme-panel-fg: var(--tomorrow-foreground);
  --theme-muted-fg: var(--base01);
  --theme-border: var(--tomorrow-window);
  --theme-selection-bg: var(--tomorrow-selection);
  --theme-selection-fg: var(--tomorrow-foreground);
  --theme-title: var(--base01);
  --syntax-normal: var(--tomorrow-foreground);
  --syntax-comment: var(--base01);
  --syntax-keyword: var(--orange);
  --syntax-type: var(--blue);
  --syntax-preproc: var(--violet);
  --syntax-string: var(--green);
  --syntax-regexp: var(--green);
  --syntax-special: var(--tomorrow-foreground);
  --syntax-function: var(--blue);
  --syntax-number: var(--orange);
  --syntax-identifier: var(--red);
  --syntax-builtin: var(--tomorrow-foreground);
  --syntax-tag: var(--blue);
  --syntax-class: var(--violet);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--orange);
  --syntax-constant: var(--orange);
  --syntax-operator: var(--cyan);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--base01);
  --syntax-subheading: var(--blue);
}

/* Nord Vim roles use Nord's numbered palette names. */
:not(*) {
  --nord0: #2e3440;
  --nord1: #3b4252;
  --nord2: #434c5e;
  --nord3: #4c566a;
  --nord3_bright: #616e88;
  --nord4: #d8dee9;
  --nord5: #e5e9f0;
  --nord6: #eceff4;
  --nord7: #8fbcbb;
  --nord8: #88c0d0;
  --nord9: #81a1c1;
  --nord10: #5e81ac;
  --nord11: #bf616a;
  --nord12: #d08770;
  --nord13: #ebcb8b;
  --nord14: #a3be8c;
  --nord15: #b48ead;
  --theme-normal-bg: var(--nord0);
  --theme-panel-bg: var(--nord2);
  --theme-normal-fg: var(--nord4);
  --theme-panel-fg: var(--nord4);
  --theme-muted-fg: var(--nord3_bright);
  --theme-border: var(--nord2);
  --theme-selection-bg: var(--nord2);
  --theme-selection-fg: var(--nord4);
  --theme-title: var(--nord4);
  --syntax-normal: var(--nord4);
  --syntax-comment: var(--nord3_bright);
  --syntax-keyword: var(--nord9);
  --syntax-type: var(--nord9);
  --syntax-preproc: var(--nord9);
  --syntax-string: var(--nord14);
  --syntax-regexp: var(--nord14);
  --syntax-special: var(--nord4);
  --syntax-function: var(--nord8);
  --syntax-number: var(--nord15);
  --syntax-identifier: var(--nord4);
  --syntax-builtin: var(--nord9);
  --syntax-tag: var(--nord4);
  --syntax-class: var(--nord9);
  --syntax-decorator: var(--nord12);
  --syntax-exception: var(--nord9);
  --syntax-constant: var(--nord4);
  --syntax-operator: var(--nord9);
  --syntax-error: var(--nord11);
  --syntax-inserted: var(--nord14);
  --syntax-deleted: var(--nord11);
  --syntax-heading: var(--nord4);
  --syntax-subheading: var(--nord8);
}

/* Everforest generic Vim roles. */
:not(*) {
  --everforest-bg_visual: #4c3743;
  --everforest-bg2: #374145;
  --everforest-bg4: #495156;
}

:not(*) {
  --everforest-bg_visual: #543a48;
  --everforest-bg2: #3d484d;
  --everforest-bg4: #4f585e;
}

:not(*) {
  --everforest-bg_visual: #5c3f4f;
  --everforest-bg2: #434f55;
  --everforest-bg4: #555f66;
}

body:has(#theme-mode-light:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-hard-light:checked) {
  --everforest-bg_visual: #f0f2d4;
  --everforest-bg2: #f2efdf;
  --everforest-bg4: #e8e5d5;
}

body:has(#theme-mode-light:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-light:checked) {
  --everforest-bg_visual: #eaedc8;
  --everforest-bg2: #efebd4;
  --everforest-bg4: #e0dcc7;
}

body:has(#theme-mode-light:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-soft-light:checked) {
  --everforest-bg_visual: #e1e4bd;
  --everforest-bg2: #e5dfc5;
  --everforest-bg4: #d8d3ba;
}

:not(*),
:not(*),
:not(*) {
  --everforest-bg0: var(--base03);
  --everforest-fg: var(--base0);
  --everforest-grey1: #859289;
}

body:has(#theme-mode-light:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-soft-light:checked) {
  --everforest-bg0: var(--base3);
  --everforest-fg: var(--base03);
  --everforest-grey1: #939f91;
}

:not(*),
:not(*),
:not(*),
body:has(#theme-mode-light:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-soft-light:checked) {
  --theme-normal-bg: var(--everforest-bg0);
  --theme-panel-bg: var(--everforest-bg2);
  --theme-normal-fg: var(--everforest-fg);
  --theme-panel-fg: var(--everforest-fg);
  --theme-muted-fg: var(--everforest-grey1);
  --theme-border: var(--everforest-bg4);
  --theme-selection-bg: var(--everforest-bg_visual);
  --theme-selection-fg: var(--everforest-fg);
  --theme-title: var(--orange);
  --syntax-normal: var(--everforest-fg);
  --syntax-comment: var(--everforest-grey1);
  --syntax-keyword: var(--red);
  --syntax-type: var(--yellow);
  --syntax-preproc: var(--violet);
  --syntax-string: var(--green);
  --syntax-regexp: var(--green);
  --syntax-special: var(--yellow);
  --syntax-function: var(--green);
  --syntax-number: var(--violet);
  --syntax-identifier: var(--blue);
  --syntax-builtin: var(--yellow);
  --syntax-tag: var(--orange);
  --syntax-class: var(--yellow);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--red);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--orange);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--orange);
  --syntax-subheading: var(--blue);
}

/* Edge generic Vim roles. */
:not(*),
:not(*),
:not(*),
:not(*) {
  --edge-bg0: var(--base03);
  --edge-fg: var(--base0);
  --edge-grey: var(--base00);
  --edge-black: #202023;
}

:not(*) {
  --edge-bg2: #363944;
  --edge-bg3: #3b3e48;
}

:not(*),
:not(*) {
  --edge-bg2: #363a49;
  --edge-bg3: #3a3e4e;
}

:not(*) {
  --edge-bg2: #363a4e;
  --edge-bg3: #393e53;
}

body:has(#theme-mode-light:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-aura-dim:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-light:checked) {
  --edge-bg0: var(--base3);
  --edge-bg2: #e8ebf0;
  --edge-bg3: #e8ebf0;
  --edge-fg: var(--base03);
  --edge-grey: var(--base02);
  --edge-black: #dde2e7;
}

:not(*),
:not(*),
:not(*),
:not(*),
body:has(#theme-mode-light:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-aura-dim:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-light:checked) {
  --theme-normal-bg: var(--edge-bg0);
  --theme-panel-bg: var(--edge-bg2);
  --theme-normal-fg: var(--edge-fg);
  --theme-panel-fg: var(--edge-fg);
  --theme-muted-fg: var(--edge-grey);
  --theme-border: var(--edge-black);
  --theme-selection-bg: var(--edge-bg3);
  --theme-selection-fg: var(--edge-fg);
  --theme-title: var(--violet);
  --syntax-normal: var(--edge-fg);
  --syntax-comment: var(--edge-grey);
  --syntax-keyword: var(--violet);
  --syntax-type: var(--red);
  --syntax-preproc: var(--violet);
  --syntax-string: var(--green);
  --syntax-regexp: var(--green);
  --syntax-special: var(--yellow);
  --syntax-function: var(--blue);
  --syntax-number: var(--green);
  --syntax-identifier: var(--cyan);
  --syntax-builtin: var(--yellow);
  --syntax-tag: var(--yellow);
  --syntax-class: var(--red);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--violet);
  --syntax-constant: var(--yellow);
  --syntax-operator: var(--violet);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--violet);
  --syntax-subheading: var(--blue);
}

/* Sonokai generic Vim roles. */
:not(*) {
  --sonokai-black: #181a1c;
  --sonokai-bg2: #363944;
  --sonokai-bg4: #414550;
}

:not(*) {
  --sonokai-black: #181a1c;
  --sonokai-bg2: #373c4b;
  --sonokai-bg4: #424b5b;
}

:not(*) {
  --sonokai-black: #181a1c;
  --sonokai-bg2: #363a4e;
  --sonokai-bg4: #3f445b;
}

:not(*) {
  --sonokai-black: #1a181a;
  --sonokai-bg2: #3b383e;
  --sonokai-bg4: #49464e;
}

:not(*) {
  --sonokai-black: #1c1e1f;
  --sonokai-bg2: #353f46;
  --sonokai-bg4: #414b53;
}

:not(*) {
  --sonokai-black: #1f1e1c;
  --sonokai-bg2: #413937;
  --sonokai-bg4: #4e433f;
}

:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*) {
  --sonokai-bg0: var(--base03);
  --sonokai-fg: var(--base0);
  --sonokai-grey: var(--base00);
  --theme-normal-bg: var(--sonokai-bg0);
  --theme-panel-bg: var(--sonokai-bg2);
  --theme-normal-fg: var(--sonokai-fg);
  --theme-panel-fg: var(--sonokai-fg);
  --theme-muted-fg: var(--sonokai-grey);
  --theme-border: var(--sonokai-black);
  --theme-selection-bg: var(--sonokai-bg4);
  --theme-selection-fg: var(--sonokai-fg);
  --theme-title: var(--red);
  --syntax-normal: var(--sonokai-fg);
  --syntax-comment: var(--sonokai-grey);
  --syntax-keyword: var(--red);
  --syntax-type: var(--blue);
  --syntax-preproc: var(--red);
  --syntax-string: var(--yellow);
  --syntax-regexp: var(--yellow);
  --syntax-special: var(--violet);
  --syntax-function: var(--green);
  --syntax-number: var(--violet);
  --syntax-identifier: var(--orange);
  --syntax-builtin: var(--violet);
  --syntax-tag: var(--orange);
  --syntax-class: var(--blue);
  --syntax-decorator: var(--red);
  --syntax-exception: var(--red);
  --syntax-constant: var(--orange);
  --syntax-operator: var(--red);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--red);
  --syntax-subheading: var(--blue);
}

/* Spring Night defines highlight-group colours directly. */
:not(*),
:not(*) {
  --spring-night-normal: #fffeeb;
  --spring-night-comment: #8d9eb2;
  --spring-night-constant: #fd8489;
  --spring-night-string: #a9dd9d;
  --spring-night-statement: #a8d2eb;
  --spring-night-function: #f0aa8a;
  --spring-night-keyword: #f0eaaa;
  --spring-night-type: #fedf81;
  --spring-night-special-comment: #e7c6b7;
  --spring-night-menu: #e7d5ff;
  --spring-night-visual: #70495d;
  --theme-normal-bg: var(--base03);
  --theme-panel-bg: var(--base02);
  --theme-normal-fg: var(--spring-night-normal);
  --theme-panel-fg: var(--spring-night-normal);
  --theme-muted-fg: var(--spring-night-comment);
  --theme-border: var(--base01);
  --theme-selection-bg: var(--spring-night-visual);
  --theme-selection-fg: var(--spring-night-normal);
  --theme-title: var(--spring-night-type);
  --syntax-normal: var(--spring-night-normal);
  --syntax-comment: var(--spring-night-comment);
  --syntax-keyword: var(--spring-night-keyword);
  --syntax-type: var(--spring-night-type);
  --syntax-preproc: var(--spring-night-function);
  --syntax-string: var(--spring-night-string);
  --syntax-regexp: var(--spring-night-string);
  --syntax-special: var(--spring-night-keyword);
  --syntax-function: var(--spring-night-function);
  --syntax-number: var(--spring-night-constant);
  --syntax-identifier: var(--spring-night-type);
  --syntax-builtin: var(--spring-night-keyword);
  --syntax-tag: var(--spring-night-function);
  --syntax-class: var(--spring-night-type);
  --syntax-decorator: var(--spring-night-special-comment);
  --syntax-exception: var(--spring-night-statement);
  --syntax-constant: var(--spring-night-constant);
  --syntax-operator: var(--spring-night-function);
  --syntax-error: var(--spring-night-constant);
  --syntax-inserted: var(--spring-night-string);
  --syntax-deleted: var(--spring-night-constant);
  --syntax-heading: var(--spring-night-type);
  --syntax-subheading: var(--spring-night-statement);
}

/* Ayu v8 named editor, UI, syntax, VCS, and common roles. */
:not(*) {
  --ayu-editor-bg: #0d1017;
  --ayu-editor-fg: #bfbdb6;
  --ayu-editor-line: #131721;
  --ayu-editor-selection-active: #409fff4d;
  --ayu-ui-panel-bg: #0f131a;
  --ayu-ui-fg: #565b66;
  --ayu-syntax-tag: #39bae6;
  --ayu-syntax-func: #ffb454;
  --ayu-syntax-entity: #59c2ff;
  --ayu-syntax-string: #aad94c;
  --ayu-syntax-regexp: #95e6cb;
  --ayu-syntax-markup: #f07178;
  --ayu-syntax-keyword: #ff8f40;
  --ayu-syntax-special: #e6b673;
  --ayu-syntax-comment: #acb6bf8c;
  --ayu-syntax-constant: #d2a6ff;
  --ayu-syntax-operator: #f29668;
  --ayu-vcs-added: #7fd962;
  --ayu-vcs-removed: #f26d78;
  --ayu-common-accent: #e6b450;
  --ayu-common-error: #d95757;
}

:not(*) {
  --ayu-editor-bg: #242936;
  --ayu-editor-fg: #cccac2;
  --ayu-editor-line: #1a1f29;
  --ayu-editor-selection-active: #409fff40;
  --ayu-ui-panel-bg: #1c212b;
  --ayu-ui-fg: #707a8c;
  --ayu-syntax-tag: #5ccfe6;
  --ayu-syntax-func: #ffd173;
  --ayu-syntax-entity: #73d0ff;
  --ayu-syntax-string: #d5ff80;
  --ayu-syntax-regexp: #95e6cb;
  --ayu-syntax-markup: #f28779;
  --ayu-syntax-keyword: #ffad66;
  --ayu-syntax-special: #ffdfb3;
  --ayu-syntax-comment: #b8cfe680;
  --ayu-syntax-constant: #dfbfff;
  --ayu-syntax-operator: #f29e74;
  --ayu-vcs-added: #87d96c;
  --ayu-vcs-removed: #f27983;
  --ayu-common-accent: #ffcc66;
  --ayu-common-error: #ff6666;
}

body:has(#theme-mode-light:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-ayu-mirage:checked),
body:has(#theme-mode-light:checked):has(#theme-ayu-light:checked) {
  --ayu-editor-bg: #fcfcfc;
  --ayu-editor-fg: #5c6166;
  --ayu-editor-line: #8a91991a;
  --ayu-editor-selection-active: #035bd626;
  --ayu-ui-panel-bg: #f3f4f5;
  --ayu-ui-fg: #8a9199;
  --ayu-syntax-tag: #55b4d4;
  --ayu-syntax-func: #f2ae49;
  --ayu-syntax-entity: #399ee6;
  --ayu-syntax-string: #86b300;
  --ayu-syntax-regexp: #4cbf99;
  --ayu-syntax-markup: #f07171;
  --ayu-syntax-keyword: #fa8d3e;
  --ayu-syntax-special: #e6ba7e;
  --ayu-syntax-comment: #787b8099;
  --ayu-syntax-constant: #a37acc;
  --ayu-syntax-operator: #ed9366;
  --ayu-vcs-added: #6cbf43;
  --ayu-vcs-removed: #ff7383;
  --ayu-common-accent: #ffaa33;
  --ayu-common-error: #e65050;
}

:not(*),
:not(*),
body:has(#theme-mode-light:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-ayu-mirage:checked),
body:has(#theme-mode-light:checked):has(#theme-ayu-light:checked) {
  --theme-normal-bg: var(--ayu-editor-bg);
  --theme-panel-bg: var(--ayu-ui-panel-bg);
  --theme-normal-fg: var(--ayu-editor-fg);
  --theme-panel-fg: var(--ayu-editor-fg);
  --theme-muted-fg: var(--ayu-ui-fg);
  --theme-border: var(--ayu-editor-line);
  --theme-selection-bg: var(--ayu-editor-selection-active);
  --theme-selection-fg: var(--ayu-editor-fg);
  --theme-title: var(--ayu-common-accent);
  --syntax-normal: var(--ayu-editor-fg);
  --syntax-comment: var(--ayu-syntax-comment);
  --syntax-keyword: var(--ayu-syntax-keyword);
  --syntax-type: var(--ayu-syntax-entity);
  --syntax-preproc: var(--ayu-syntax-keyword);
  --syntax-string: var(--ayu-syntax-string);
  --syntax-regexp: var(--ayu-syntax-regexp);
  --syntax-special: var(--ayu-syntax-special);
  --syntax-function: var(--ayu-syntax-func);
  --syntax-number: var(--ayu-syntax-constant);
  --syntax-identifier: var(--ayu-editor-fg);
  --syntax-builtin: var(--ayu-syntax-special);
  --syntax-tag: var(--ayu-syntax-tag);
  --syntax-class: var(--ayu-syntax-entity);
  --syntax-decorator: var(--ayu-syntax-func);
  --syntax-exception: var(--ayu-syntax-keyword);
  --syntax-constant: var(--ayu-syntax-constant);
  --syntax-operator: var(--ayu-syntax-operator);
  --syntax-error: var(--ayu-common-error);
  --syntax-inserted: var(--ayu-vcs-added);
  --syntax-deleted: var(--ayu-vcs-removed);
  --syntax-heading: var(--ayu-syntax-markup);
  --syntax-subheading: var(--ayu-syntax-entity);
}

/* Catppuccin Neovim palette names and highlight roles. */
body:has(#theme-mode-light:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-mocha:checked) {
  --catppuccin-flamingo: #dd7878;
  --catppuccin-pink: #ea76cb;
  --catppuccin-mauve: #8839ef;
  --catppuccin-red: #d20f39;
  --catppuccin-peach: #fe640b;
  --catppuccin-yellow: #df8e1d;
  --catppuccin-green: #40a02b;
  --catppuccin-teal: #179299;
  --catppuccin-sky: #04a5e5;
  --catppuccin-sapphire: #209fb5;
  --catppuccin-blue: #1e66f5;
  --catppuccin-lavender: #7287fd;
  --catppuccin-text: #4c4f69;
  --catppuccin-overlay2: #7c7f93;
  --catppuccin-surface1: #bcc0cc;
  --catppuccin-base: #eff1f5;
  --catppuccin-mantle: #e6e9ef;
  --catppuccin-crust: #dce0e8;
}

:not(*) {
  --catppuccin-flamingo: #eebebe;
  --catppuccin-pink: #f4b8e4;
  --catppuccin-mauve: #ca9ee6;
  --catppuccin-red: #e78284;
  --catppuccin-peach: #ef9f76;
  --catppuccin-yellow: #e5c890;
  --catppuccin-green: #a6d189;
  --catppuccin-teal: #81c8be;
  --catppuccin-sky: #99d1db;
  --catppuccin-sapphire: #85c1dc;
  --catppuccin-blue: #8caaee;
  --catppuccin-lavender: #babbf1;
  --catppuccin-text: #c6d0f5;
  --catppuccin-overlay2: #949cbb;
  --catppuccin-surface1: #51576d;
  --catppuccin-base: #303446;
  --catppuccin-mantle: #292c3c;
  --catppuccin-crust: #232634;
}

:not(*) {
  --catppuccin-flamingo: #f0c6c6;
  --catppuccin-pink: #f5bde6;
  --catppuccin-mauve: #c6a0f6;
  --catppuccin-red: #ed8796;
  --catppuccin-peach: #f5a97f;
  --catppuccin-yellow: #eed49f;
  --catppuccin-green: #a6da95;
  --catppuccin-teal: #8bd5ca;
  --catppuccin-sky: #91d7e3;
  --catppuccin-sapphire: #7dc4e4;
  --catppuccin-blue: #8aadf4;
  --catppuccin-lavender: #b7bdf8;
  --catppuccin-text: #cad3f5;
  --catppuccin-overlay2: #939ab7;
  --catppuccin-surface1: #494d64;
  --catppuccin-base: #24273a;
  --catppuccin-mantle: #1e2030;
  --catppuccin-crust: #181926;
}

:not(*) {
  --catppuccin-flamingo: #f2cdcd;
  --catppuccin-pink: #f5c2e7;
  --catppuccin-mauve: #cba6f7;
  --catppuccin-red: #f38ba8;
  --catppuccin-peach: #fab387;
  --catppuccin-yellow: #f9e2af;
  --catppuccin-green: #a6e3a1;
  --catppuccin-teal: #94e2d5;
  --catppuccin-sky: #89dceb;
  --catppuccin-sapphire: #74c7ec;
  --catppuccin-blue: #89b4fa;
  --catppuccin-lavender: #b4befe;
  --catppuccin-text: #cdd6f4;
  --catppuccin-overlay2: #9399b2;
  --catppuccin-surface1: #45475a;
  --catppuccin-base: #1e1e2e;
  --catppuccin-mantle: #181825;
  --catppuccin-crust: #11111b;
}

body:has(#theme-mode-light:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-mocha:checked),
:not(*),
:not(*),
:not(*) {
  --theme-normal-bg: var(--catppuccin-base);
  --theme-panel-bg: var(--catppuccin-mantle);
  --theme-normal-fg: var(--catppuccin-text);
  --theme-panel-fg: var(--catppuccin-text);
  --theme-muted-fg: var(--catppuccin-overlay2);
  --theme-border: var(--catppuccin-crust);
  --theme-selection-bg: var(--catppuccin-surface1);
  --theme-selection-fg: var(--catppuccin-text);
  --theme-title: var(--catppuccin-blue);
  --syntax-normal: var(--catppuccin-text);
  --syntax-comment: var(--catppuccin-overlay2);
  --syntax-keyword: var(--catppuccin-mauve);
  --syntax-type: var(--catppuccin-yellow);
  --syntax-preproc: var(--catppuccin-pink);
  --syntax-string: var(--catppuccin-green);
  --syntax-regexp: var(--catppuccin-green);
  --syntax-special: var(--catppuccin-pink);
  --syntax-function: var(--catppuccin-blue);
  --syntax-number: var(--catppuccin-peach);
  --syntax-identifier: var(--catppuccin-flamingo);
  --syntax-builtin: var(--catppuccin-pink);
  --syntax-tag: var(--catppuccin-lavender);
  --syntax-class: var(--catppuccin-yellow);
  --syntax-decorator: var(--catppuccin-pink);
  --syntax-exception: var(--catppuccin-mauve);
  --syntax-constant: var(--catppuccin-peach);
  --syntax-operator: var(--catppuccin-sky);
  --syntax-error: var(--catppuccin-red);
  --syntax-inserted: var(--catppuccin-green);
  --syntax-deleted: var(--catppuccin-red);
  --syntax-heading: var(--catppuccin-pink);
  --syntax-subheading: var(--catppuccin-blue);
}

/* Rose Pine Neovim palette names and highlight roles. */
:not(*) {
  --rose-pine-base: #191724;
  --rose-pine-surface: #1f1d2e;
  --rose-pine-muted: #6e6a86;
  --rose-pine-subtle: #908caa;
  --rose-pine-text: #e0def4;
  --rose-pine-love: #eb6f92;
  --rose-pine-gold: #f6c177;
  --rose-pine-rose: #ebbcba;
  --rose-pine-pine: #31748f;
  --rose-pine-foam: #9ccfd8;
  --rose-pine-iris: #c4a7e7;
  --rose-pine-highlight_med: #403d52;
}

:not(*) {
  --rose-pine-base: #232136;
  --rose-pine-surface: #2a273f;
  --rose-pine-muted: #6e6a86;
  --rose-pine-subtle: #908caa;
  --rose-pine-text: #e0def4;
  --rose-pine-love: #eb6f92;
  --rose-pine-gold: #f6c177;
  --rose-pine-rose: #ea9a97;
  --rose-pine-pine: #3e8fb0;
  --rose-pine-foam: #9ccfd8;
  --rose-pine-iris: #c4a7e7;
  --rose-pine-highlight_med: #44415a;
}

body:has(#theme-mode-light:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-light:checked):has(#theme-rose-pine-moon:checked),
body:has(#theme-mode-light:checked):has(#theme-rose-pine-dawn:checked) {
  --rose-pine-base: #faf4ed;
  --rose-pine-surface: #fffaf3;
  --rose-pine-muted: #9893a5;
  --rose-pine-subtle: #797593;
  --rose-pine-text: #464261;
  --rose-pine-love: #b4637a;
  --rose-pine-gold: #ea9d34;
  --rose-pine-rose: #d7827e;
  --rose-pine-pine: #286983;
  --rose-pine-foam: #56949f;
  --rose-pine-iris: #907aa9;
  --rose-pine-highlight_med: #dfdad9;
}

:not(*),
:not(*),
body:has(#theme-mode-light:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-light:checked):has(#theme-rose-pine-moon:checked),
body:has(#theme-mode-light:checked):has(#theme-rose-pine-dawn:checked) {
  --theme-normal-bg: var(--rose-pine-base);
  --theme-panel-bg: var(--rose-pine-surface);
  --theme-normal-fg: var(--rose-pine-text);
  --theme-panel-fg: var(--rose-pine-subtle);
  --theme-muted-fg: var(--rose-pine-subtle);
  --theme-border: var(--rose-pine-muted);
  --theme-selection-bg: var(--rose-pine-highlight_med);
  --theme-selection-fg: var(--rose-pine-text);
  --theme-title: var(--rose-pine-foam);
  --syntax-normal: var(--rose-pine-text);
  --syntax-comment: var(--rose-pine-subtle);
  --syntax-keyword: var(--rose-pine-pine);
  --syntax-type: var(--rose-pine-foam);
  --syntax-preproc: var(--rose-pine-iris);
  --syntax-string: var(--rose-pine-gold);
  --syntax-regexp: var(--rose-pine-gold);
  --syntax-special: var(--rose-pine-foam);
  --syntax-function: var(--rose-pine-rose);
  --syntax-number: var(--rose-pine-gold);
  --syntax-identifier: var(--rose-pine-text);
  --syntax-builtin: var(--rose-pine-foam);
  --syntax-tag: var(--rose-pine-foam);
  --syntax-class: var(--rose-pine-foam);
  --syntax-decorator: var(--rose-pine-iris);
  --syntax-exception: var(--rose-pine-pine);
  --syntax-constant: var(--rose-pine-gold);
  --syntax-operator: var(--rose-pine-subtle);
  --syntax-error: var(--rose-pine-love);
  --syntax-inserted: var(--rose-pine-foam);
  --syntax-deleted: var(--rose-pine-love);
  --syntax-heading: var(--rose-pine-iris);
  --syntax-subheading: var(--rose-pine-foam);
}

/* Selenized Vim roles use bg_*, dim_0, fg_*, and bright accents. */
:not(*) {
  --selenized-bg_0: #103c48;
  --selenized-bg_1: #184956;
  --selenized-bg_2: #2d5b69;
  --selenized-dim_0: #72898f;
  --selenized-fg_0: #adbcbc;
  --selenized-fg_1: #cad8d9;
  --selenized-br_yellow: #ebc13d;
  --selenized-br_blue: #58a3ff;
}

:not(*) {
  --selenized-bg_0: #181818;
  --selenized-bg_1: #252525;
  --selenized-bg_2: #3b3b3b;
  --selenized-dim_0: #777777;
  --selenized-fg_0: #b9b9b9;
  --selenized-fg_1: #dedede;
  --selenized-br_yellow: #efc541;
  --selenized-br_blue: #4f9cfe;
}

body:has(#theme-mode-light:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-light:checked) {
  --selenized-bg_0: #fbf3db;
  --selenized-bg_1: #e9e4d0;
  --selenized-bg_2: #cfcebe;
  --selenized-dim_0: #909995;
  --selenized-fg_0: #53676d;
  --selenized-fg_1: #3a4d53;
  --selenized-br_yellow: #a78300;
  --selenized-br_blue: #006dce;
}

body:has(#theme-mode-light:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-white:checked) {
  --selenized-bg_0: #ffffff;
  --selenized-bg_1: #ebebeb;
  --selenized-bg_2: #cdcdcd;
  --selenized-dim_0: #878787;
  --selenized-fg_0: #474747;
  --selenized-fg_1: #282828;
  --selenized-br_yellow: #af8500;
  --selenized-br_blue: #0054cf;
}

:not(*),
:not(*),
body:has(#theme-mode-light:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-light:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-white:checked) {
  --theme-normal-bg: var(--selenized-bg_0);
  --theme-panel-bg: var(--selenized-bg_1);
  --theme-normal-fg: var(--selenized-fg_0);
  --theme-panel-fg: var(--selenized-dim_0);
  --theme-muted-fg: var(--selenized-dim_0);
  --theme-border: var(--selenized-dim_0);
  --theme-selection-bg: var(--selenized-bg_2);
  --theme-selection-fg: var(--selenized-fg_0);
  --theme-title: var(--selenized-fg_1);
  --syntax-normal: var(--selenized-fg_0);
  --syntax-comment: var(--selenized-dim_0);
  --syntax-keyword: var(--selenized-br_yellow);
  --syntax-type: var(--green);
  --syntax-preproc: var(--orange);
  --syntax-string: var(--cyan);
  --syntax-regexp: var(--cyan);
  --syntax-special: var(--red);
  --syntax-function: var(--selenized-br_blue);
  --syntax-number: var(--cyan);
  --syntax-identifier: var(--selenized-br_blue);
  --syntax-builtin: var(--red);
  --syntax-tag: var(--red);
  --syntax-class: var(--green);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--selenized-br_yellow);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--selenized-br_yellow);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--selenized-fg_1);
  --syntax-subheading: var(--selenized-br_blue);
}

/* OKSolar uses the Solarized role map with its own named palette. */
:not(*) {
  --theme-normal-bg: var(--base03);
  --theme-panel-bg: var(--base02);
  --theme-normal-fg: var(--base0);
  --theme-panel-fg: var(--base0);
  --theme-muted-fg: var(--base01);
  --theme-border: var(--base00);
  --theme-selection-bg: var(--base01);
  --theme-selection-fg: var(--base03);
  --theme-title: var(--orange);
}

body:has(#theme-mode-light:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-oksolar-light:checked) {
  --theme-normal-bg: var(--base3);
  --theme-panel-bg: var(--base2);
  --theme-normal-fg: var(--base00);
  --theme-panel-fg: var(--base00);
  --theme-muted-fg: var(--base1);
  --theme-border: var(--base0);
  --theme-selection-bg: var(--base1);
  --theme-selection-fg: var(--base3);
  --theme-title: var(--orange);
}

:not(*),
body:has(#theme-mode-light:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-oksolar-light:checked) {
  --syntax-normal: var(--base0);
  --syntax-comment: var(--base01);
  --syntax-keyword: var(--green);
  --syntax-type: var(--yellow);
  --syntax-preproc: var(--orange);
  --syntax-string: var(--cyan);
  --syntax-regexp: var(--cyan);
  --syntax-special: var(--red);
  --syntax-function: var(--blue);
  --syntax-number: var(--cyan);
  --syntax-identifier: var(--blue);
  --syntax-builtin: var(--red);
  --syntax-tag: var(--red);
  --syntax-class: var(--yellow);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--green);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--green);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--orange);
  --syntax-subheading: var(--blue);
}

body:has(#theme-mode-light:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-oksolar-light:checked) {
  --syntax-normal: var(--base00);
  --syntax-comment: var(--base1);
}



body:has(#theme-mode-light:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-solarized-light:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-light:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-white:checked),
body:has(#theme-mode-light:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-oksolar-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-bright:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-aura-dim:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-light:checked),
body:has(#theme-mode-light:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-ayu-mirage:checked),
body:has(#theme-mode-light:checked):has(#theme-ayu-light:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-mocha:checked),
body:has(#theme-mode-light:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-light:checked):has(#theme-rose-pine-moon:checked),
body:has(#theme-mode-light:checked):has(#theme-rose-pine-dawn:checked) {
  margin: 0;
  min-block-size: 100%;
  --page-bg: var(--theme-normal-bg);
  --panel-bg: var(--theme-panel-bg);
  --text: var(--theme-normal-fg);
  --strong: var(--theme-normal-fg);
  --heading: var(--theme-title);
  --muted: var(--theme-muted-fg);
  --line: var(--theme-border);
  --code-bg: var(--theme-normal-bg);
  --code-text: var(--theme-normal-fg);
  --code-border: var(--theme-border);
  --code-title-bg: var(--theme-panel-bg);
  --code-title-text: var(--theme-panel-fg);
  --download-hover-border: var(--theme-title);
  --index-selected-bg: var(--theme-selection-bg);
  --index-selected-border: var(--theme-title);
  --index-selected-text: var(--theme-selection-fg);
  --index-subsection-selected-bg: var(--theme-selection-bg);
  --index-subsection-selected-border: var(--theme-border);
  --index-subsection-selected-text: var(--theme-selection-fg);
  --interactive-text: var(--theme-panel-fg);
  --functional-cue: var(--theme-normal-fg);
  --interface-error: var(--syntax-error);
  background: var(--page-bg);
  color: var(--text);
  font-size: 1rem;
  line-height: 1.65;
}

body:has(#theme-mode-light:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-solarized-light:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-light:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-light:checked):has(#theme-selenized-white:checked),
body:has(#theme-mode-light:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-oksolar-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-gruvbox-original-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-light:checked):has(#theme-tomorrow-bright:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-everforest-soft-light:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-aura-dim:checked),
body:has(#theme-mode-light:checked):has(#theme-edge-light:checked),
body:has(#theme-mode-light:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-light:checked):has(#theme-ayu-mirage:checked),
body:has(#theme-mode-light:checked):has(#theme-ayu-light:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-light:checked):has(#theme-catppuccin-mocha:checked),
body:has(#theme-mode-light:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-light:checked):has(#theme-rose-pine-moon:checked),
body:has(#theme-mode-light:checked):has(#theme-rose-pine-dawn:checked) {
  color-scheme: light;
}

/* Solarized: https://github.com/altercation/vim-colors-solarized (MIT). */
body:has(#theme-mode-dark:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-solarized-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-dark:checked):has(#theme-selenized-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-selenized-white:checked),
body:has(#theme-mode-dark:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-oksolar-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-soft-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow-bright:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-soft-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-aura-dim:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-ayu-mirage:checked),
body:has(#theme-mode-dark:checked):has(#theme-ayu-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-dark:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-dark:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-dark:checked):has(#theme-catppuccin-mocha:checked),
body:has(#theme-mode-dark:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-dark:checked):has(#theme-rose-pine-moon:checked),
body:has(#theme-mode-dark:checked):has(#theme-rose-pine-dawn:checked) {
  color-scheme: dark;

  --base03: #002b36;
  --base02: #073642;
  --base01: #586e75;
  --base00: #657b83;
  --base0: #839496;
  --base1: #93a1a1;
  --base2: #eee8d5;
  --base3: #fdf6e3;
  --yellow: #b58900;
  --orange: #cb4b16;
  --red: #dc322f;
  --magenta: #d33682;
  --violet: #6c71c4;
  --blue: #268bd2;
  --cyan: #2aa198;
  --green: #859900;
}

/* Selenized: https://github.com/jan-warchol/selenized (MIT). */
body:has(#theme-mode-dark:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-selenized-light:checked) {
  color-scheme: dark;

  --base03: #103c48;
  --base02: #184956;
  --base01: #72898f;
  --base00: #adbcbc;
  --base0: #adbcbc;
  --base1: #cad8d9;
  --base2: #2d5b69;
  --base3: #cad8d9;
  --yellow: #dbb32d;
  --orange: #ed8649;
  --red: #fa5750;
  --magenta: #f275be;
  --violet: #af88eb;
  --blue: #4695f7;
  --cyan: #41c7b9;
  --green: #75b938;
}

body:has(#theme-mode-dark:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-dark:checked):has(#theme-selenized-white:checked) {
  color-scheme: dark;

  --base03: #181818;
  --base02: #252525;
  --base01: #777777;
  --base00: #b9b9b9;
  --base0: #b9b9b9;
  --base1: #dedede;
  --base2: #3b3b3b;
  --base3: #dedede;
  --yellow: #dbb32d;
  --orange: #e67f43;
  --red: #ed4a46;
  --magenta: #eb6eb7;
  --violet: #a580e2;
  --blue: #368aeb;
  --cyan: #3fc5b7;
  --green: #70b433;
}

:not(*) {
  --base03: #3a4d53;
  --base02: #53676d;
  --base01: #909995;
  --base00: #53676d;
  --base0: #909995;
  --base1: #d5cdb6;
  --base2: #ece3cc;
  --base3: #fbf3db;
  --yellow: #ad8900;
  --orange: #c25d1e;
  --red: #d2212d;
  --magenta: #ca4898;
  --violet: #8762c6;
  --blue: #0072d4;
  --cyan: #009c8f;
  --green: #489100;
}

:not(*) {
  --base03: #282828;
  --base02: #474747;
  --base01: #878787;
  --base00: #474747;
  --base0: #878787;
  --base1: #cdcdcd;
  --base2: #ebebeb;
  --base3: #ffffff;
  --yellow: #c49700;
  --orange: #d04a00;
  --red: #d6000c;
  --magenta: #dd0f9d;
  --violet: #7f51d6;
  --blue: #0064e4;
  --cyan: #00ad9c;
  --green: #1d9700;
}

/* OKSolar: https://meat.io/oksolar (CC0-1.0). */
body:has(#theme-mode-dark:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-oksolar-light:checked),
:not(*) {
  --base03: #002d38;
  --base02: #093946;
  --base01: #5b7279;
  --base00: #657377;
  --base0: #98a8a8;
  --base1: #8faaab;
  --base2: #f1e9d2;
  --base3: #fbf7ef;
  --yellow: #ac8300;
  --orange: #d56500;
  --red: #f23749;
  --magenta: #dd459d;
  --violet: #7d80d1;
  --blue: #2b90d8;
  --cyan: #259d94;
  --green: #819500;
}

/* Gruvbox Material: https://github.com/sainnhe/gruvbox-material (MIT). */
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-hard-light:checked) {
  color-scheme: dark;

  --base03: #1d2021;
  --base02: #282828;
  --base01: #504945;
  --base2: #3c3836;
}

body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-medium-light:checked) {
  color-scheme: dark;

  --base03: #282828;
  --base02: #32302f;
  --base01: #5a524c;
  --base2: #45403d;
}

body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-soft-light:checked) {
  color-scheme: dark;

  --base03: #32302f;
  --base02: #3c3836;
  --base01: #665c54;
  --base2: #504945;
}

:not(*),
:not(*),
:not(*) {
  --base1: #ebdbb2;
  --base2: #f5edca;
  --base3: #f9f5d7;
}

:not(*),
:not(*),
:not(*) {
  --base1: #ddccab;
  --base2: #f4e8be;
  --base3: #fbf1c7;
}

:not(*),
:not(*),
:not(*) {
  --base1: #d5c4a1;
  --base2: #eddeb5;
  --base3: #f2e5bc;
}

body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-soft-light:checked) {
  --base00: #928374;
  --base0: #ddc7a1;
  --base1: #d4be98;
  --base3: #ddc7a1;
  --yellow: #d8a657;
  --orange: #e78a4e;
  --red: #ea6962;
  --magenta: #d3869b;
  --violet: #d3869b;
  --blue: #7daea3;
  --cyan: #89b482;
  --green: #a9b665;
}

:not(*),
:not(*),
:not(*) {
  --base03: #4f3829;
  --base02: #7c6f64;
  --base01: #928374;
  --base00: #654735;
  --base0: #928374;
  --yellow: #b47109;
  --orange: #c35e0a;
  --red: #c14a4a;
  --magenta: #945e80;
  --violet: #945e80;
  --blue: #45707a;
  --cyan: #4c7a5d;
  --green: #6c782e;
}

body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-soft-light:checked) {
  --base00: #928374;
  --base0: #e2cca9;
  --base1: #e2cca9;
  --base3: #e2cca9;
  --yellow: #e9b143;
  --orange: #f28534;
  --red: #f2594b;
  --magenta: #d3869b;
  --violet: #d3869b;
  --blue: #80aa9e;
  --cyan: #8bba7f;
  --green: #b0b846;
}

:not(*),
:not(*),
:not(*) {
  --base03: #514036;
  --base02: #7c6f64;
  --base01: #928374;
  --base00: #514036;
  --base0: #928374;
  --yellow: #b4730e;
  --orange: #b94c07;
  --red: #af2528;
  --magenta: #924f79;
  --violet: #924f79;
  --blue: #266b79;
  --cyan: #477a5b;
  --green: #72761e;
}

body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-soft-light:checked) {
  --base00: #928374;
  --base0: #ebdbb2;
  --base1: #ebdbb2;
  --base3: #ebdbb2;
  --yellow: #fabd2f;
  --orange: #fe8019;
  --red: #fb4934;
  --magenta: #d3869b;
  --violet: #d3869b;
  --blue: #83a598;
  --cyan: #8ec07c;
  --green: #b8bb26;
}

:not(*),
:not(*),
:not(*) {
  --base03: #3c3836;
  --base02: #7c6f64;
  --base01: #928374;
  --base00: #3c3836;
  --base0: #928374;
  --yellow: #b57614;
  --orange: #af3a03;
  --red: #9d0006;
  --magenta: #8f3f71;
  --violet: #8f3f71;
  --blue: #076678;
  --cyan: #427b58;
  --green: #79740e;
}

/* Tomorrow: https://github.com/chriskempson/tomorrow-theme (MIT). */
:not(*) {
  --base03: #1d1f21;
  --base02: #373b41;
  --base01: #8e908c;
  --base00: #4d4d4c;
  --base0: #8e908c;
  --base1: #c5c8c6;
  --base2: #efefef;
  --base3: #ffffff;
  --yellow: #eab700;
  --orange: #f5871f;
  --red: #c82829;
  --magenta: #8959a8;
  --violet: #8959a8;
  --blue: #4271ae;
  --cyan: #3e999f;
  --green: #718c00;
}

body:has(#theme-mode-dark:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow-night:checked) {
  --base03: #1d1f21;
  --base02: #282a2e;
  --base01: #969896;
  --base00: #b4b7b4;
  --base0: #c5c8c6;
  --base1: #e0e0e0;
  --base2: #373b41;
  --base3: #ffffff;
  --yellow: #f0c674;
  --orange: #de935f;
  --red: #cc6666;
  --magenta: #b294bb;
  --violet: #b294bb;
  --blue: #81a2be;
  --cyan: #8abeb7;
  --green: #b5bd68;
}

body:has(#theme-mode-dark:checked):has(#theme-tomorrow-eighties:checked) {
  --base03: #2d2d2d;
  --base02: #393939;
  --base01: #999999;
  --base00: #cccccc;
  --base0: #cccccc;
  --base1: #e0e0e0;
  --base2: #515151;
  --base3: #ffffff;
  --yellow: #ffcc66;
  --orange: #f99157;
  --red: #f2777a;
  --magenta: #cc99cc;
  --violet: #cc99cc;
  --blue: #6699cc;
  --cyan: #66cccc;
  --green: #99cc99;
}

body:has(#theme-mode-dark:checked):has(#theme-tomorrow-blue:checked) {
  --base03: #002451;
  --base02: #00346e;
  --base01: #7285b7;
  --base00: #ffffff;
  --base0: #ffffff;
  --base1: #ffffff;
  --base2: #003f8e;
  --base3: #ffffff;
  --yellow: #ffeead;
  --orange: #ffc58f;
  --red: #ff9da4;
  --magenta: #ebbbff;
  --violet: #ebbbff;
  --blue: #bbdaff;
  --cyan: #99ffff;
  --green: #d1f1a9;
}

body:has(#theme-mode-dark:checked):has(#theme-tomorrow-bright:checked) {
  --base03: #000000;
  --base02: #2a2a2a;
  --base01: #969896;
  --base00: #eaeaea;
  --base0: #eaeaea;
  --base1: #ffffff;
  --base2: #424242;
  --base3: #ffffff;
  --yellow: #e7c547;
  --orange: #e78c45;
  --red: #d54e53;
  --magenta: #c397d8;
  --violet: #c397d8;
  --blue: #7aa6da;
  --cyan: #70c0b1;
  --green: #b9ca4a;
}

/* Nord: https://github.com/nordtheme/vim (MIT). */
:not(*) {
  --base03: #2e3440;
  --base02: #3b4252;
  --base01: #4c566a;
  --base00: #d8dee9;
  --base0: #d8dee9;
  --base1: #e5e9f0;
  --base2: #434c5e;
  --base3: #eceff4;
  --yellow: #ebcb8b;
  --orange: #d08770;
  --red: #bf616a;
  --magenta: #b48ead;
  --violet: #b48ead;
  --blue: #81a1c1;
  --cyan: #88c0d0;
  --green: #a3be8c;
}

/* Everforest: https://github.com/sainnhe/everforest (MIT). */
body:has(#theme-mode-dark:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-hard-light:checked) {
  --base03: #272e33;
  --base02: #2e383c;
  --base01: #7a8478;
  --base00: #9da9a0;
  --base0: #d3c6aa;
  --base1: #d3c6aa;
  --base2: #414b50;
  --base3: #d3c6aa;
  --yellow: #dbbc7f;
  --orange: #e69875;
  --red: #e67e80;
  --magenta: #d699b6;
  --violet: #d699b6;
  --blue: #7fbbb3;
  --cyan: #83c092;
  --green: #a7c080;
}

body:has(#theme-mode-dark:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-light:checked) {
  --base03: #2d353b;
  --base02: #343f44;
  --base01: #7a8478;
  --base00: #9da9a0;
  --base0: #d3c6aa;
  --base1: #d3c6aa;
  --base2: #475258;
  --base3: #d3c6aa;
  --yellow: #dbbc7f;
  --orange: #e69875;
  --red: #e67e80;
  --magenta: #d699b6;
  --violet: #d699b6;
  --blue: #7fbbb3;
  --cyan: #83c092;
  --green: #a7c080;
}

body:has(#theme-mode-dark:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-soft-light:checked) {
  --base03: #333c43;
  --base02: #3a464c;
  --base01: #7a8478;
  --base00: #9da9a0;
  --base0: #d3c6aa;
  --base1: #d3c6aa;
  --base2: #4d5960;
  --base3: #d3c6aa;
  --yellow: #dbbc7f;
  --orange: #e69875;
  --red: #e67e80;
  --magenta: #d699b6;
  --violet: #d699b6;
  --blue: #7fbbb3;
  --cyan: #83c092;
  --green: #a7c080;
}

:not(*) {
  --base03: #5c6a72;
  --base02: #708089;
  --base01: #829181;
  --base00: #5c6a72;
  --base0: #939f91;
  --base1: #bec5b2;
  --base2: #f8f5e4;
  --base3: #fffbef;
  --yellow: #dfa000;
  --orange: #f57d26;
  --red: #f85552;
  --magenta: #df69ba;
  --violet: #df69ba;
  --blue: #3a94c5;
  --cyan: #35a77c;
  --green: #8da101;
}

:not(*) {
  --base03: #5c6a72;
  --base02: #708089;
  --base01: #829181;
  --base00: #5c6a72;
  --base0: #939f91;
  --base1: #bdc3af;
  --base2: #f4f0d9;
  --base3: #fdf6e3;
  --yellow: #dfa000;
  --orange: #f57d26;
  --red: #f85552;
  --magenta: #df69ba;
  --violet: #df69ba;
  --blue: #3a94c5;
  --cyan: #35a77c;
  --green: #8da101;
}

:not(*) {
  --base03: #5c6a72;
  --base02: #708089;
  --base01: #829181;
  --base00: #5c6a72;
  --base0: #939f91;
  --base1: #b9c0ab;
  --base2: #eae4ca;
  --base3: #f3ead3;
  --yellow: #dfa000;
  --orange: #f57d26;
  --red: #f85552;
  --magenta: #df69ba;
  --violet: #df69ba;
  --blue: #3a94c5;
  --cyan: #35a77c;
  --green: #8da101;
}

/* Edge: https://github.com/sainnhe/edge (MIT). */
body:has(#theme-mode-dark:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-light:checked) {
  color-scheme: dark;

  --base03: #2c2e34;
  --base02: #33353f;
  --base01: #535c6a;
  --base00: #758094;
  --base0: #c5cdd9;
  --base1: #758094;
  --base2: #3b3e48;
  --base3: #c5cdd9;
  --yellow: #deb974;
  --orange: #deb974;
  --red: #ec7279;
  --magenta: #d38aea;
  --violet: #d38aea;
  --blue: #6cb6eb;
  --cyan: #5dbbc1;
  --green: #a0c980;
}

body:has(#theme-mode-dark:checked):has(#theme-edge-aura:checked) {
  color-scheme: dark;

  --base03: #2b2d37;
  --base02: #333644;
  --base01: #535c6a;
  --base00: #758094;
  --base0: #c5cdd9;
  --base1: #758094;
  --base2: #3a3e4e;
  --base3: #c5cdd9;
  --yellow: #deb974;
  --orange: #deb974;
  --red: #ec7279;
  --magenta: #d38aea;
  --violet: #d38aea;
  --blue: #6cb6eb;
  --cyan: #5dbbc1;
  --green: #a0c980;
}

body:has(#theme-mode-dark:checked):has(#theme-edge-neon:checked) {
  color-scheme: dark;

  --base03: #2b2d3a;
  --base02: #333648;
  --base01: #535c6a;
  --base00: #758094;
  --base0: #c5cdd9;
  --base1: #758094;
  --base2: #393e53;
  --base3: #c5cdd9;
  --yellow: #deb974;
  --orange: #deb974;
  --red: #ec7279;
  --magenta: #d38aea;
  --violet: #d38aea;
  --blue: #6cb6eb;
  --cyan: #5dbbc1;
  --green: #a0c980;
}

body:has(#theme-mode-dark:checked):has(#theme-edge-aura-dim:checked) {
  color-scheme: dark;

  --base03: #2b2d37;
  --base02: #333644;
  --base01: #4f5868;
  --base00: #677287;
  --base0: #97a4b5;
  --base1: #677287;
  --base2: #3a3e4e;
  --base3: #97a4b5;
  --yellow: #deb974;
  --orange: #deb974;
  --red: #ec7279;
  --magenta: #d38aea;
  --violet: #d38aea;
  --blue: #6cb6eb;
  --cyan: #5dbbc1;
  --green: #a0c980;
}

:not(*) {
  --base03: #4b505b;
  --base02: #8790a0;
  --base01: #bac3cb;
  --base00: #4b505b;
  --base0: #8790a0;
  --base1: #dde2e7;
  --base2: #eef1f4;
  --base3: #fafafa;
  --yellow: #be7e05;
  --orange: #be7e05;
  --red: #d05858;
  --magenta: #b05ccc;
  --violet: #b05ccc;
  --blue: #5079be;
  --cyan: #3a8b84;
  --green: #608e32;
}

/* Sonokai: https://github.com/sainnhe/sonokai (MIT). */
:not(*) {
  color-scheme: dark;

  --base03: #2c2e34;
  --base02: #33353f;
  --base01: #595f6f;
  --base00: #7f8490;
  --base0: #e2e2e3;
  --base1: #7f8490;
  --base2: #3b3e48;
  --base3: #e2e2e3;
  --yellow: #e7c664;
  --orange: #f39660;
  --red: #fc5d7c;
  --magenta: #b39df3;
  --violet: #b39df3;
  --blue: #76cce0;
  --cyan: #76cce0;
  --green: #9ed072;
}

:not(*) {
  color-scheme: dark;

  --base03: #2a2f38;
  --base02: #333846;
  --base01: #5a6477;
  --base00: #828a9a;
  --base0: #e1e3e4;
  --base1: #828a9a;
  --base2: #3d4455;
  --base3: #e1e3e4;
  --yellow: #eacb64;
  --orange: #f69c5e;
  --red: #ff6578;
  --magenta: #ba9cf3;
  --violet: #ba9cf3;
  --blue: #72cce8;
  --cyan: #72cce8;
  --green: #9dd274;
}

:not(*) {
  color-scheme: dark;

  --base03: #2b2d3a;
  --base02: #333648;
  --base01: #5a5e7a;
  --base00: #7e8294;
  --base0: #e1e3e4;
  --base1: #7e8294;
  --base2: #393e53;
  --base3: #e1e3e4;
  --yellow: #edc763;
  --orange: #f89860;
  --red: #fb617e;
  --magenta: #bb97ee;
  --violet: #bb97ee;
  --blue: #6dcae8;
  --cyan: #6dcae8;
  --green: #9ed06c;
}

:not(*) {
  color-scheme: dark;

  --base03: #2d2a2e;
  --base02: #37343a;
  --base01: #605d68;
  --base00: #848089;
  --base0: #e3e1e4;
  --base1: #848089;
  --base2: #423f46;
  --base3: #e3e1e4;
  --yellow: #e5c463;
  --orange: #ef9062;
  --red: #f85e84;
  --magenta: #ab9df2;
  --violet: #ab9df2;
  --blue: #7accd7;
  --cyan: #7accd7;
  --green: #9ecd6f;
}

:not(*) {
  color-scheme: dark;

  --base03: #273136;
  --base02: #313b42;
  --base01: #55626d;
  --base00: #82878b;
  --base0: #e1e2e3;
  --base1: #82878b;
  --base2: #3a444b;
  --base3: #e1e2e3;
  --yellow: #e3d367;
  --orange: #f3a96a;
  --red: #f76c7c;
  --magenta: #baa0f8;
  --violet: #baa0f8;
  --blue: #78cee9;
  --cyan: #78cee9;
  --green: #9cd57b;
}

:not(*) {
  color-scheme: dark;

  --base03: #312c2b;
  --base02: #393230;
  --base01: #6a5e59;
  --base00: #90817b;
  --base0: #e4e3e1;
  --base1: #90817b;
  --base2: #49403c;
  --base3: #e4e3e1;
  --yellow: #f0c66f;
  --orange: #f08d71;
  --red: #f86882;
  --magenta: #9fa0e1;
  --violet: #9fa0e1;
  --blue: #81d0c9;
  --cyan: #81d0c9;
  --green: #a6cd77;
}

/* Spring Night: https://github.com/rhysd/vim-color-spring-night (MIT). */
:not(*) {
  color-scheme: dark;

  --base03: #334152;
  --base02: #3a4b5c;
  --base01: #607080;
  --base00: #788898;
  --base0: #fffeeb;
  --base1: #8d9eb2;
  --base2: #3a4b5c;
  --base3: #fffeeb;
  --yellow: #fedf81;
  --orange: #f0aa8a;
  --red: #fd8489;
  --magenta: #e7d5ff;
  --violet: #e7d5ff;
  --blue: #a8d2eb;
  --cyan: #a8d2eb;
  --green: #a9dd9d;
}

:not(*) {
  color-scheme: dark;

  --base03: #132132;
  --base02: #213243;
  --base01: #607080;
  --base00: #788898;
  --base0: #fffeeb;
  --base1: #8d9eb2;
  --base2: #3a4b5c;
  --base3: #fffeeb;
  --yellow: #fedf81;
  --orange: #f0aa8a;
  --red: #fd8489;
  --magenta: #e7d5ff;
  --violet: #e7d5ff;
  --blue: #a8d2eb;
  --cyan: #a8d2eb;
  --green: #a9dd9d;
}

/* Ayu: https://github.com/ayu-theme/ayu-colors (MIT). */
body:has(#theme-mode-dark:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-ayu-light:checked) {
  --base03: #0a0e14;
  --base02: #0d1017;
  --base01: #626a73;
  --base00: #b3b1ad;
  --base0: #b3b1ad;
  --base1: #e6e1cf;
  --base2: #11151c;
  --base3: #e6e1cf;
  --yellow: #e6b450;
  --orange: #ff8f40;
  --red: #ff3333;
  --magenta: #d2a6ff;
  --violet: #d2a6ff;
  --blue: #59c2ff;
  --cyan: #95e6cb;
  --green: #aad94c;
}

body:has(#theme-mode-dark:checked):has(#theme-ayu-mirage:checked) {
  --base03: #1f2430;
  --base02: #242936;
  --base01: #5c6773;
  --base00: #cbccc6;
  --base0: #cbccc6;
  --base1: #f3f4f5;
  --base2: #2a3040;
  --base3: #f3f4f5;
  --yellow: #ffd580;
  --orange: #ffa759;
  --red: #ff3333;
  --magenta: #d4bfff;
  --violet: #d4bfff;
  --blue: #73d0ff;
  --cyan: #95e6cb;
  --green: #bae67e;
}

:not(*) {
  --base03: #5c6773;
  --base02: #8a9199;
  --base01: #abb0b6;
  --base00: #5c6773;
  --base0: #8a9199;
  --base1: #f0f0f0;
  --base2: #f3f4f5;
  --base3: #fcfcfc;
  --yellow: #a37acc;
  --orange: #fa8d3e;
  --red: #f51818;
  --magenta: #a37acc;
  --violet: #a37acc;
  --blue: #399ee6;
  --cyan: #4cbf99;
  --green: #86b300;
}

/* Catppuccin: https://github.com/catppuccin/nvim (MIT). */
:not(*) {
  --base03: #4c4f69;
  --base02: #5c5f77;
  --base01: #8c8fa1;
  --base00: #4c4f69;
  --base0: #6c6f85;
  --base1: #bcc0cc;
  --base2: #e6e9ef;
  --base3: #eff1f5;
  --yellow: #df8e1d;
  --orange: #fe640b;
  --red: #d20f39;
  --magenta: #ea76cb;
  --violet: #8839ef;
  --blue: #1e66f5;
  --cyan: #179299;
  --green: #40a02b;
}

body:has(#theme-mode-dark:checked):has(#theme-catppuccin-frappe:checked) {
  --base03: #303446;
  --base02: #414559;
  --base01: #838ba7;
  --base00: #a5adce;
  --base0: #c6d0f5;
  --base1: #b5bfe2;
  --base2: #292c3c;
  --base3: #c6d0f5;
  --yellow: #e5c890;
  --orange: #ef9f76;
  --red: #e78284;
  --magenta: #f4b8e4;
  --violet: #ca9ee6;
  --blue: #8caaee;
  --cyan: #81c8be;
  --green: #a6d189;
}

body:has(#theme-mode-dark:checked):has(#theme-catppuccin-macchiato:checked) {
  --base03: #24273a;
  --base02: #363a4f;
  --base01: #8087a2;
  --base00: #a5adcb;
  --base0: #cad3f5;
  --base1: #b8c0e0;
  --base2: #1e2030;
  --base3: #cad3f5;
  --yellow: #eed49f;
  --orange: #f5a97f;
  --red: #ed8796;
  --magenta: #f5bde6;
  --violet: #c6a0f6;
  --blue: #8aadf4;
  --cyan: #8bd5ca;
  --green: #a6da95;
}

body:has(#theme-mode-dark:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-dark:checked):has(#theme-catppuccin-mocha:checked) {
  --base03: #1e1e2e;
  --base02: #313244;
  --base01: #7f849c;
  --base00: #a6adc8;
  --base0: #cdd6f4;
  --base1: #bac2de;
  --base2: #181825;
  --base3: #cdd6f4;
  --yellow: #f9e2af;
  --orange: #fab387;
  --red: #f38ba8;
  --magenta: #f5c2e7;
  --violet: #cba6f7;
  --blue: #89b4fa;
  --cyan: #94e2d5;
  --green: #a6e3a1;
}

/* Rose Pine: https://github.com/rose-pine/neovim (MIT). */
body:has(#theme-mode-dark:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-dark:checked):has(#theme-rose-pine-dawn:checked) {
  --base03: #191724;
  --base02: #1f1d2e;
  --base01: #6e6a86;
  --base00: #908caa;
  --base0: #e0def4;
  --base1: #908caa;
  --base2: #26233a;
  --base3: #e0def4;
  --yellow: #f6c177;
  --orange: #ebbcba;
  --red: #eb6f92;
  --magenta: #c4a7e7;
  --violet: #c4a7e7;
  --blue: #31748f;
  --cyan: #9ccfd8;
  --green: #9ccfd8;
}

body:has(#theme-mode-dark:checked):has(#theme-rose-pine-moon:checked) {
  --base03: #232136;
  --base02: #2a273f;
  --base01: #6e6a86;
  --base00: #908caa;
  --base0: #e0def4;
  --base1: #908caa;
  --base2: #393552;
  --base3: #e0def4;
  --yellow: #f6c177;
  --orange: #ea9a97;
  --red: #eb6f92;
  --magenta: #c4a7e7;
  --violet: #c4a7e7;
  --blue: #3e8fb0;
  --cyan: #9ccfd8;
  --green: #9ccfd8;
}

:not(*) {
  --base03: #464261;
  --base02: #797593;
  --base01: #9893a5;
  --base00: #464261;
  --base0: #797593;
  --base1: #f2e9e1;
  --base2: #fffaf3;
  --base3: #faf4ed;
  --yellow: #ea9d34;
  --orange: #d7827e;
  --red: #b4637a;
  --magenta: #907aa9;
  --violet: #907aa9;
  --blue: #286983;
  --cyan: #56949f;
  --green: #56949f;
}

/*
 * Theme role mapping
 * ------------------
 * Palette values above retain their upstream values.  The mappings below
 * follow each editor theme's Normal, panel/menu, Visual, Title, and standard
 * syntax highlight groups.  Arachnopress classes consume only the stable
 * --theme-* and --syntax-* roles defined here.
 */

/* Solarized Vim roles: Normal, Comment, Statement, PreProc, Type, Special. */
body:has(#theme-mode-dark:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-solarized-light:checked) {
  --theme-normal-bg: var(--base03);
  --theme-panel-bg: var(--base02);
  --theme-normal-fg: var(--base0);
  --theme-panel-fg: var(--base0);
  --theme-muted-fg: var(--base01);
  --theme-border: var(--base00);
  --theme-selection-bg: var(--base01);
  --theme-selection-fg: var(--base03);
  --theme-title: var(--orange);
}

:not(*) {
  --theme-normal-bg: var(--base3);
  --theme-panel-bg: var(--base2);
  --theme-normal-fg: var(--base00);
  --theme-panel-fg: var(--base00);
  --theme-muted-fg: var(--base1);
  --theme-border: var(--base0);
  --theme-selection-bg: var(--base1);
  --theme-selection-fg: var(--base3);
  --theme-title: var(--orange);
}

body:has(#theme-mode-dark:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-solarized-light:checked),
:not(*) {
  --syntax-normal: var(--base0);
  --syntax-comment: var(--base01);
  --syntax-keyword: var(--green);
  --syntax-type: var(--yellow);
  --syntax-preproc: var(--orange);
  --syntax-string: var(--cyan);
  --syntax-regexp: var(--cyan);
  --syntax-special: var(--red);
  --syntax-function: var(--blue);
  --syntax-number: var(--cyan);
  --syntax-identifier: var(--blue);
  --syntax-builtin: var(--red);
  --syntax-tag: var(--red);
  --syntax-class: var(--yellow);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--green);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--green);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--orange);
  --syntax-subheading: var(--blue);
}

:not(*) {
  --syntax-normal: var(--base00);
  --syntax-comment: var(--base1);
}

/* Gruvbox Material generic Vim roles. */
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-soft-light:checked) {
  --gruvbox-bg0: var(--base03);
  --gruvbox-bg1: var(--base02);
  --gruvbox-bg3: var(--base2);
  --gruvbox-bg5: var(--base01);
  --gruvbox-fg0: var(--base1);
  --gruvbox-fg1: var(--base0);
  --gruvbox-grey1: var(--base00);
}

:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*) {
  --gruvbox-bg0: var(--base3);
  --gruvbox-bg1: var(--base2);
  --gruvbox-bg3: var(--base2);
  --gruvbox-bg5: var(--base1);
  --gruvbox-fg0: var(--base00);
  --gruvbox-fg1: var(--base03);
  --gruvbox-grey1: var(--base0);
}

:not(*),
:not(*),
:not(*) {
  --gruvbox-bg3: #f2e5bc;
}

:not(*),
:not(*),
:not(*) {
  --gruvbox-bg3: #eee0b7;
}

:not(*),
:not(*),
:not(*) {
  --gruvbox-bg3: #e6d5ae;
}

body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-soft-light:checked),
:not(*),
:not(*),
:not(*),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-soft-light:checked),
:not(*),
:not(*),
:not(*),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-soft-light:checked),
:not(*),
:not(*),
:not(*) {
  --theme-normal-bg: var(--gruvbox-bg0);
  --theme-panel-bg: var(--gruvbox-bg3);
  --theme-normal-fg: var(--gruvbox-fg0);
  --theme-panel-fg: var(--gruvbox-fg1);
  --theme-muted-fg: var(--gruvbox-grey1);
  --theme-border: var(--gruvbox-bg5);
  --theme-selection-bg: var(--gruvbox-bg3);
  --theme-selection-fg: var(--gruvbox-fg0);
  --theme-title: var(--orange);
  --syntax-normal: var(--gruvbox-fg0);
  --syntax-comment: var(--gruvbox-grey1);
  --syntax-keyword: var(--red);
  --syntax-type: var(--yellow);
  --syntax-preproc: var(--violet);
  --syntax-string: var(--green);
  --syntax-regexp: var(--green);
  --syntax-special: var(--yellow);
  --syntax-function: var(--green);
  --syntax-number: var(--violet);
  --syntax-identifier: var(--blue);
  --syntax-builtin: var(--yellow);
  --syntax-tag: var(--orange);
  --syntax-class: var(--yellow);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--red);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--orange);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--orange);
  --syntax-subheading: var(--blue);
}

/* Tomorrow Vim roles use its foreground/background and named accents. */
:not(*) {
  --tomorrow-background: #ffffff;
  --tomorrow-foreground: #4d4d4c;
  --tomorrow-selection: #d6d6d6;
  --tomorrow-line: #efefef;
  --tomorrow-window: #efefef;
}

body:has(#theme-mode-dark:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow-night:checked) {
  --tomorrow-background: #1d1f21;
  --tomorrow-foreground: #c5c8c6;
  --tomorrow-selection: #373b41;
  --tomorrow-line: #282a2e;
  --tomorrow-window: #4d5057;
}

body:has(#theme-mode-dark:checked):has(#theme-tomorrow-eighties:checked) {
  --tomorrow-background: #2d2d2d;
  --tomorrow-foreground: #cccccc;
  --tomorrow-selection: #515151;
  --tomorrow-line: #393939;
  --tomorrow-window: #4d5057;
}

body:has(#theme-mode-dark:checked):has(#theme-tomorrow-blue:checked) {
  --tomorrow-background: #002451;
  --tomorrow-foreground: #ffffff;
  --tomorrow-selection: #003f8e;
  --tomorrow-line: #00346e;
  --tomorrow-window: #4d5057;
}

body:has(#theme-mode-dark:checked):has(#theme-tomorrow-bright:checked) {
  --tomorrow-background: #000000;
  --tomorrow-foreground: #eaeaea;
  --tomorrow-selection: #424242;
  --tomorrow-line: #2a2a2a;
  --tomorrow-window: #4d5057;
}

:not(*),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow-bright:checked) {
  --theme-normal-bg: var(--tomorrow-background);
  --theme-panel-bg: var(--tomorrow-line);
  --theme-normal-fg: var(--tomorrow-foreground);
  --theme-panel-fg: var(--tomorrow-foreground);
  --theme-muted-fg: var(--base01);
  --theme-border: var(--tomorrow-window);
  --theme-selection-bg: var(--tomorrow-selection);
  --theme-selection-fg: var(--tomorrow-foreground);
  --theme-title: var(--base01);
  --syntax-normal: var(--tomorrow-foreground);
  --syntax-comment: var(--base01);
  --syntax-keyword: var(--orange);
  --syntax-type: var(--blue);
  --syntax-preproc: var(--violet);
  --syntax-string: var(--green);
  --syntax-regexp: var(--green);
  --syntax-special: var(--tomorrow-foreground);
  --syntax-function: var(--blue);
  --syntax-number: var(--orange);
  --syntax-identifier: var(--red);
  --syntax-builtin: var(--tomorrow-foreground);
  --syntax-tag: var(--blue);
  --syntax-class: var(--violet);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--orange);
  --syntax-constant: var(--orange);
  --syntax-operator: var(--cyan);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--base01);
  --syntax-subheading: var(--blue);
}

/* Nord Vim roles use Nord's numbered palette names. */
:not(*) {
  --nord0: #2e3440;
  --nord1: #3b4252;
  --nord2: #434c5e;
  --nord3: #4c566a;
  --nord3_bright: #616e88;
  --nord4: #d8dee9;
  --nord5: #e5e9f0;
  --nord6: #eceff4;
  --nord7: #8fbcbb;
  --nord8: #88c0d0;
  --nord9: #81a1c1;
  --nord10: #5e81ac;
  --nord11: #bf616a;
  --nord12: #d08770;
  --nord13: #ebcb8b;
  --nord14: #a3be8c;
  --nord15: #b48ead;
  --theme-normal-bg: var(--nord0);
  --theme-panel-bg: var(--nord2);
  --theme-normal-fg: var(--nord4);
  --theme-panel-fg: var(--nord4);
  --theme-muted-fg: var(--nord3_bright);
  --theme-border: var(--nord2);
  --theme-selection-bg: var(--nord2);
  --theme-selection-fg: var(--nord4);
  --theme-title: var(--nord4);
  --syntax-normal: var(--nord4);
  --syntax-comment: var(--nord3_bright);
  --syntax-keyword: var(--nord9);
  --syntax-type: var(--nord9);
  --syntax-preproc: var(--nord9);
  --syntax-string: var(--nord14);
  --syntax-regexp: var(--nord14);
  --syntax-special: var(--nord4);
  --syntax-function: var(--nord8);
  --syntax-number: var(--nord15);
  --syntax-identifier: var(--nord4);
  --syntax-builtin: var(--nord9);
  --syntax-tag: var(--nord4);
  --syntax-class: var(--nord9);
  --syntax-decorator: var(--nord12);
  --syntax-exception: var(--nord9);
  --syntax-constant: var(--nord4);
  --syntax-operator: var(--nord9);
  --syntax-error: var(--nord11);
  --syntax-inserted: var(--nord14);
  --syntax-deleted: var(--nord11);
  --syntax-heading: var(--nord4);
  --syntax-subheading: var(--nord8);
}

/* Everforest generic Vim roles. */
body:has(#theme-mode-dark:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-hard-light:checked) {
  --everforest-bg_visual: #4c3743;
  --everforest-bg2: #374145;
  --everforest-bg4: #495156;
}

body:has(#theme-mode-dark:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-light:checked) {
  --everforest-bg_visual: #543a48;
  --everforest-bg2: #3d484d;
  --everforest-bg4: #4f585e;
}

body:has(#theme-mode-dark:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-soft-light:checked) {
  --everforest-bg_visual: #5c3f4f;
  --everforest-bg2: #434f55;
  --everforest-bg4: #555f66;
}

:not(*) {
  --everforest-bg_visual: #f0f2d4;
  --everforest-bg2: #f2efdf;
  --everforest-bg4: #e8e5d5;
}

:not(*) {
  --everforest-bg_visual: #eaedc8;
  --everforest-bg2: #efebd4;
  --everforest-bg4: #e0dcc7;
}

:not(*) {
  --everforest-bg_visual: #e1e4bd;
  --everforest-bg2: #e5dfc5;
  --everforest-bg4: #d8d3ba;
}

body:has(#theme-mode-dark:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-soft-light:checked) {
  --everforest-bg0: var(--base03);
  --everforest-fg: var(--base0);
  --everforest-grey1: #859289;
}

:not(*),
:not(*),
:not(*) {
  --everforest-bg0: var(--base3);
  --everforest-fg: var(--base03);
  --everforest-grey1: #939f91;
}

body:has(#theme-mode-dark:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-soft-light:checked),
:not(*),
:not(*),
:not(*) {
  --theme-normal-bg: var(--everforest-bg0);
  --theme-panel-bg: var(--everforest-bg2);
  --theme-normal-fg: var(--everforest-fg);
  --theme-panel-fg: var(--everforest-fg);
  --theme-muted-fg: var(--everforest-grey1);
  --theme-border: var(--everforest-bg4);
  --theme-selection-bg: var(--everforest-bg_visual);
  --theme-selection-fg: var(--everforest-fg);
  --theme-title: var(--orange);
  --syntax-normal: var(--everforest-fg);
  --syntax-comment: var(--everforest-grey1);
  --syntax-keyword: var(--red);
  --syntax-type: var(--yellow);
  --syntax-preproc: var(--violet);
  --syntax-string: var(--green);
  --syntax-regexp: var(--green);
  --syntax-special: var(--yellow);
  --syntax-function: var(--green);
  --syntax-number: var(--violet);
  --syntax-identifier: var(--blue);
  --syntax-builtin: var(--yellow);
  --syntax-tag: var(--orange);
  --syntax-class: var(--yellow);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--red);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--orange);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--orange);
  --syntax-subheading: var(--blue);
}

/* Edge generic Vim roles. */
body:has(#theme-mode-dark:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-aura-dim:checked) {
  --edge-bg0: var(--base03);
  --edge-fg: var(--base0);
  --edge-grey: var(--base00);
  --edge-black: #202023;
}

body:has(#theme-mode-dark:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-light:checked) {
  --edge-bg2: #363944;
  --edge-bg3: #3b3e48;
}

body:has(#theme-mode-dark:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-aura-dim:checked) {
  --edge-bg2: #363a49;
  --edge-bg3: #3a3e4e;
}

body:has(#theme-mode-dark:checked):has(#theme-edge-neon:checked) {
  --edge-bg2: #363a4e;
  --edge-bg3: #393e53;
}

:not(*) {
  --edge-bg0: var(--base3);
  --edge-bg2: #e8ebf0;
  --edge-bg3: #e8ebf0;
  --edge-fg: var(--base03);
  --edge-grey: var(--base02);
  --edge-black: #dde2e7;
}

body:has(#theme-mode-dark:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-aura-dim:checked),
:not(*) {
  --theme-normal-bg: var(--edge-bg0);
  --theme-panel-bg: var(--edge-bg2);
  --theme-normal-fg: var(--edge-fg);
  --theme-panel-fg: var(--edge-fg);
  --theme-muted-fg: var(--edge-grey);
  --theme-border: var(--edge-black);
  --theme-selection-bg: var(--edge-bg3);
  --theme-selection-fg: var(--edge-fg);
  --theme-title: var(--violet);
  --syntax-normal: var(--edge-fg);
  --syntax-comment: var(--edge-grey);
  --syntax-keyword: var(--violet);
  --syntax-type: var(--red);
  --syntax-preproc: var(--violet);
  --syntax-string: var(--green);
  --syntax-regexp: var(--green);
  --syntax-special: var(--yellow);
  --syntax-function: var(--blue);
  --syntax-number: var(--green);
  --syntax-identifier: var(--cyan);
  --syntax-builtin: var(--yellow);
  --syntax-tag: var(--yellow);
  --syntax-class: var(--red);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--violet);
  --syntax-constant: var(--yellow);
  --syntax-operator: var(--violet);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--violet);
  --syntax-subheading: var(--blue);
}

/* Sonokai generic Vim roles. */
:not(*) {
  --sonokai-black: #181a1c;
  --sonokai-bg2: #363944;
  --sonokai-bg4: #414550;
}

:not(*) {
  --sonokai-black: #181a1c;
  --sonokai-bg2: #373c4b;
  --sonokai-bg4: #424b5b;
}

:not(*) {
  --sonokai-black: #181a1c;
  --sonokai-bg2: #363a4e;
  --sonokai-bg4: #3f445b;
}

:not(*) {
  --sonokai-black: #1a181a;
  --sonokai-bg2: #3b383e;
  --sonokai-bg4: #49464e;
}

:not(*) {
  --sonokai-black: #1c1e1f;
  --sonokai-bg2: #353f46;
  --sonokai-bg4: #414b53;
}

:not(*) {
  --sonokai-black: #1f1e1c;
  --sonokai-bg2: #413937;
  --sonokai-bg4: #4e433f;
}

:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*) {
  --sonokai-bg0: var(--base03);
  --sonokai-fg: var(--base0);
  --sonokai-grey: var(--base00);
  --theme-normal-bg: var(--sonokai-bg0);
  --theme-panel-bg: var(--sonokai-bg2);
  --theme-normal-fg: var(--sonokai-fg);
  --theme-panel-fg: var(--sonokai-fg);
  --theme-muted-fg: var(--sonokai-grey);
  --theme-border: var(--sonokai-black);
  --theme-selection-bg: var(--sonokai-bg4);
  --theme-selection-fg: var(--sonokai-fg);
  --theme-title: var(--red);
  --syntax-normal: var(--sonokai-fg);
  --syntax-comment: var(--sonokai-grey);
  --syntax-keyword: var(--red);
  --syntax-type: var(--blue);
  --syntax-preproc: var(--red);
  --syntax-string: var(--yellow);
  --syntax-regexp: var(--yellow);
  --syntax-special: var(--violet);
  --syntax-function: var(--green);
  --syntax-number: var(--violet);
  --syntax-identifier: var(--orange);
  --syntax-builtin: var(--violet);
  --syntax-tag: var(--orange);
  --syntax-class: var(--blue);
  --syntax-decorator: var(--red);
  --syntax-exception: var(--red);
  --syntax-constant: var(--orange);
  --syntax-operator: var(--red);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--red);
  --syntax-subheading: var(--blue);
}

/* Spring Night defines highlight-group colours directly. */
:not(*),
:not(*) {
  --spring-night-normal: #fffeeb;
  --spring-night-comment: #8d9eb2;
  --spring-night-constant: #fd8489;
  --spring-night-string: #a9dd9d;
  --spring-night-statement: #a8d2eb;
  --spring-night-function: #f0aa8a;
  --spring-night-keyword: #f0eaaa;
  --spring-night-type: #fedf81;
  --spring-night-special-comment: #e7c6b7;
  --spring-night-menu: #e7d5ff;
  --spring-night-visual: #70495d;
  --theme-normal-bg: var(--base03);
  --theme-panel-bg: var(--base02);
  --theme-normal-fg: var(--spring-night-normal);
  --theme-panel-fg: var(--spring-night-normal);
  --theme-muted-fg: var(--spring-night-comment);
  --theme-border: var(--base01);
  --theme-selection-bg: var(--spring-night-visual);
  --theme-selection-fg: var(--spring-night-normal);
  --theme-title: var(--spring-night-type);
  --syntax-normal: var(--spring-night-normal);
  --syntax-comment: var(--spring-night-comment);
  --syntax-keyword: var(--spring-night-keyword);
  --syntax-type: var(--spring-night-type);
  --syntax-preproc: var(--spring-night-function);
  --syntax-string: var(--spring-night-string);
  --syntax-regexp: var(--spring-night-string);
  --syntax-special: var(--spring-night-keyword);
  --syntax-function: var(--spring-night-function);
  --syntax-number: var(--spring-night-constant);
  --syntax-identifier: var(--spring-night-type);
  --syntax-builtin: var(--spring-night-keyword);
  --syntax-tag: var(--spring-night-function);
  --syntax-class: var(--spring-night-type);
  --syntax-decorator: var(--spring-night-special-comment);
  --syntax-exception: var(--spring-night-statement);
  --syntax-constant: var(--spring-night-constant);
  --syntax-operator: var(--spring-night-function);
  --syntax-error: var(--spring-night-constant);
  --syntax-inserted: var(--spring-night-string);
  --syntax-deleted: var(--spring-night-constant);
  --syntax-heading: var(--spring-night-type);
  --syntax-subheading: var(--spring-night-statement);
}

/* Ayu v8 named editor, UI, syntax, VCS, and common roles. */
body:has(#theme-mode-dark:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-ayu-light:checked) {
  --ayu-editor-bg: #0d1017;
  --ayu-editor-fg: #bfbdb6;
  --ayu-editor-line: #131721;
  --ayu-editor-selection-active: #409fff4d;
  --ayu-ui-panel-bg: #0f131a;
  --ayu-ui-fg: #565b66;
  --ayu-syntax-tag: #39bae6;
  --ayu-syntax-func: #ffb454;
  --ayu-syntax-entity: #59c2ff;
  --ayu-syntax-string: #aad94c;
  --ayu-syntax-regexp: #95e6cb;
  --ayu-syntax-markup: #f07178;
  --ayu-syntax-keyword: #ff8f40;
  --ayu-syntax-special: #e6b673;
  --ayu-syntax-comment: #acb6bf8c;
  --ayu-syntax-constant: #d2a6ff;
  --ayu-syntax-operator: #f29668;
  --ayu-vcs-added: #7fd962;
  --ayu-vcs-removed: #f26d78;
  --ayu-common-accent: #e6b450;
  --ayu-common-error: #d95757;
}

body:has(#theme-mode-dark:checked):has(#theme-ayu-mirage:checked) {
  --ayu-editor-bg: #242936;
  --ayu-editor-fg: #cccac2;
  --ayu-editor-line: #1a1f29;
  --ayu-editor-selection-active: #409fff40;
  --ayu-ui-panel-bg: #1c212b;
  --ayu-ui-fg: #707a8c;
  --ayu-syntax-tag: #5ccfe6;
  --ayu-syntax-func: #ffd173;
  --ayu-syntax-entity: #73d0ff;
  --ayu-syntax-string: #d5ff80;
  --ayu-syntax-regexp: #95e6cb;
  --ayu-syntax-markup: #f28779;
  --ayu-syntax-keyword: #ffad66;
  --ayu-syntax-special: #ffdfb3;
  --ayu-syntax-comment: #b8cfe680;
  --ayu-syntax-constant: #dfbfff;
  --ayu-syntax-operator: #f29e74;
  --ayu-vcs-added: #87d96c;
  --ayu-vcs-removed: #f27983;
  --ayu-common-accent: #ffcc66;
  --ayu-common-error: #ff6666;
}

:not(*) {
  --ayu-editor-bg: #fcfcfc;
  --ayu-editor-fg: #5c6166;
  --ayu-editor-line: #8a91991a;
  --ayu-editor-selection-active: #035bd626;
  --ayu-ui-panel-bg: #f3f4f5;
  --ayu-ui-fg: #8a9199;
  --ayu-syntax-tag: #55b4d4;
  --ayu-syntax-func: #f2ae49;
  --ayu-syntax-entity: #399ee6;
  --ayu-syntax-string: #86b300;
  --ayu-syntax-regexp: #4cbf99;
  --ayu-syntax-markup: #f07171;
  --ayu-syntax-keyword: #fa8d3e;
  --ayu-syntax-special: #e6ba7e;
  --ayu-syntax-comment: #787b8099;
  --ayu-syntax-constant: #a37acc;
  --ayu-syntax-operator: #ed9366;
  --ayu-vcs-added: #6cbf43;
  --ayu-vcs-removed: #ff7383;
  --ayu-common-accent: #ffaa33;
  --ayu-common-error: #e65050;
}

body:has(#theme-mode-dark:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-ayu-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-ayu-mirage:checked),
:not(*) {
  --theme-normal-bg: var(--ayu-editor-bg);
  --theme-panel-bg: var(--ayu-ui-panel-bg);
  --theme-normal-fg: var(--ayu-editor-fg);
  --theme-panel-fg: var(--ayu-editor-fg);
  --theme-muted-fg: var(--ayu-ui-fg);
  --theme-border: var(--ayu-editor-line);
  --theme-selection-bg: var(--ayu-editor-selection-active);
  --theme-selection-fg: var(--ayu-editor-fg);
  --theme-title: var(--ayu-common-accent);
  --syntax-normal: var(--ayu-editor-fg);
  --syntax-comment: var(--ayu-syntax-comment);
  --syntax-keyword: var(--ayu-syntax-keyword);
  --syntax-type: var(--ayu-syntax-entity);
  --syntax-preproc: var(--ayu-syntax-keyword);
  --syntax-string: var(--ayu-syntax-string);
  --syntax-regexp: var(--ayu-syntax-regexp);
  --syntax-special: var(--ayu-syntax-special);
  --syntax-function: var(--ayu-syntax-func);
  --syntax-number: var(--ayu-syntax-constant);
  --syntax-identifier: var(--ayu-editor-fg);
  --syntax-builtin: var(--ayu-syntax-special);
  --syntax-tag: var(--ayu-syntax-tag);
  --syntax-class: var(--ayu-syntax-entity);
  --syntax-decorator: var(--ayu-syntax-func);
  --syntax-exception: var(--ayu-syntax-keyword);
  --syntax-constant: var(--ayu-syntax-constant);
  --syntax-operator: var(--ayu-syntax-operator);
  --syntax-error: var(--ayu-common-error);
  --syntax-inserted: var(--ayu-vcs-added);
  --syntax-deleted: var(--ayu-vcs-removed);
  --syntax-heading: var(--ayu-syntax-markup);
  --syntax-subheading: var(--ayu-syntax-entity);
}

/* Catppuccin Neovim palette names and highlight roles. */
:not(*) {
  --catppuccin-flamingo: #dd7878;
  --catppuccin-pink: #ea76cb;
  --catppuccin-mauve: #8839ef;
  --catppuccin-red: #d20f39;
  --catppuccin-peach: #fe640b;
  --catppuccin-yellow: #df8e1d;
  --catppuccin-green: #40a02b;
  --catppuccin-teal: #179299;
  --catppuccin-sky: #04a5e5;
  --catppuccin-sapphire: #209fb5;
  --catppuccin-blue: #1e66f5;
  --catppuccin-lavender: #7287fd;
  --catppuccin-text: #4c4f69;
  --catppuccin-overlay2: #7c7f93;
  --catppuccin-surface1: #bcc0cc;
  --catppuccin-base: #eff1f5;
  --catppuccin-mantle: #e6e9ef;
  --catppuccin-crust: #dce0e8;
}

body:has(#theme-mode-dark:checked):has(#theme-catppuccin-frappe:checked) {
  --catppuccin-flamingo: #eebebe;
  --catppuccin-pink: #f4b8e4;
  --catppuccin-mauve: #ca9ee6;
  --catppuccin-red: #e78284;
  --catppuccin-peach: #ef9f76;
  --catppuccin-yellow: #e5c890;
  --catppuccin-green: #a6d189;
  --catppuccin-teal: #81c8be;
  --catppuccin-sky: #99d1db;
  --catppuccin-sapphire: #85c1dc;
  --catppuccin-blue: #8caaee;
  --catppuccin-lavender: #babbf1;
  --catppuccin-text: #c6d0f5;
  --catppuccin-overlay2: #949cbb;
  --catppuccin-surface1: #51576d;
  --catppuccin-base: #303446;
  --catppuccin-mantle: #292c3c;
  --catppuccin-crust: #232634;
}

body:has(#theme-mode-dark:checked):has(#theme-catppuccin-macchiato:checked) {
  --catppuccin-flamingo: #f0c6c6;
  --catppuccin-pink: #f5bde6;
  --catppuccin-mauve: #c6a0f6;
  --catppuccin-red: #ed8796;
  --catppuccin-peach: #f5a97f;
  --catppuccin-yellow: #eed49f;
  --catppuccin-green: #a6da95;
  --catppuccin-teal: #8bd5ca;
  --catppuccin-sky: #91d7e3;
  --catppuccin-sapphire: #7dc4e4;
  --catppuccin-blue: #8aadf4;
  --catppuccin-lavender: #b7bdf8;
  --catppuccin-text: #cad3f5;
  --catppuccin-overlay2: #939ab7;
  --catppuccin-surface1: #494d64;
  --catppuccin-base: #24273a;
  --catppuccin-mantle: #1e2030;
  --catppuccin-crust: #181926;
}

body:has(#theme-mode-dark:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-dark:checked):has(#theme-catppuccin-mocha:checked) {
  --catppuccin-flamingo: #f2cdcd;
  --catppuccin-pink: #f5c2e7;
  --catppuccin-mauve: #cba6f7;
  --catppuccin-red: #f38ba8;
  --catppuccin-peach: #fab387;
  --catppuccin-yellow: #f9e2af;
  --catppuccin-green: #a6e3a1;
  --catppuccin-teal: #94e2d5;
  --catppuccin-sky: #89dceb;
  --catppuccin-sapphire: #74c7ec;
  --catppuccin-blue: #89b4fa;
  --catppuccin-lavender: #b4befe;
  --catppuccin-text: #cdd6f4;
  --catppuccin-overlay2: #9399b2;
  --catppuccin-surface1: #45475a;
  --catppuccin-base: #1e1e2e;
  --catppuccin-mantle: #181825;
  --catppuccin-crust: #11111b;
}

:not(*),
body:has(#theme-mode-dark:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-dark:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-dark:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-dark:checked):has(#theme-catppuccin-mocha:checked) {
  --theme-normal-bg: var(--catppuccin-base);
  --theme-panel-bg: var(--catppuccin-mantle);
  --theme-normal-fg: var(--catppuccin-text);
  --theme-panel-fg: var(--catppuccin-text);
  --theme-muted-fg: var(--catppuccin-overlay2);
  --theme-border: var(--catppuccin-crust);
  --theme-selection-bg: var(--catppuccin-surface1);
  --theme-selection-fg: var(--catppuccin-text);
  --theme-title: var(--catppuccin-blue);
  --syntax-normal: var(--catppuccin-text);
  --syntax-comment: var(--catppuccin-overlay2);
  --syntax-keyword: var(--catppuccin-mauve);
  --syntax-type: var(--catppuccin-yellow);
  --syntax-preproc: var(--catppuccin-pink);
  --syntax-string: var(--catppuccin-green);
  --syntax-regexp: var(--catppuccin-green);
  --syntax-special: var(--catppuccin-pink);
  --syntax-function: var(--catppuccin-blue);
  --syntax-number: var(--catppuccin-peach);
  --syntax-identifier: var(--catppuccin-flamingo);
  --syntax-builtin: var(--catppuccin-pink);
  --syntax-tag: var(--catppuccin-lavender);
  --syntax-class: var(--catppuccin-yellow);
  --syntax-decorator: var(--catppuccin-pink);
  --syntax-exception: var(--catppuccin-mauve);
  --syntax-constant: var(--catppuccin-peach);
  --syntax-operator: var(--catppuccin-sky);
  --syntax-error: var(--catppuccin-red);
  --syntax-inserted: var(--catppuccin-green);
  --syntax-deleted: var(--catppuccin-red);
  --syntax-heading: var(--catppuccin-pink);
  --syntax-subheading: var(--catppuccin-blue);
}

/* Rose Pine Neovim palette names and highlight roles. */
body:has(#theme-mode-dark:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-dark:checked):has(#theme-rose-pine-dawn:checked) {
  --rose-pine-base: #191724;
  --rose-pine-surface: #1f1d2e;
  --rose-pine-muted: #6e6a86;
  --rose-pine-subtle: #908caa;
  --rose-pine-text: #e0def4;
  --rose-pine-love: #eb6f92;
  --rose-pine-gold: #f6c177;
  --rose-pine-rose: #ebbcba;
  --rose-pine-pine: #31748f;
  --rose-pine-foam: #9ccfd8;
  --rose-pine-iris: #c4a7e7;
  --rose-pine-highlight_med: #403d52;
}

body:has(#theme-mode-dark:checked):has(#theme-rose-pine-moon:checked) {
  --rose-pine-base: #232136;
  --rose-pine-surface: #2a273f;
  --rose-pine-muted: #6e6a86;
  --rose-pine-subtle: #908caa;
  --rose-pine-text: #e0def4;
  --rose-pine-love: #eb6f92;
  --rose-pine-gold: #f6c177;
  --rose-pine-rose: #ea9a97;
  --rose-pine-pine: #3e8fb0;
  --rose-pine-foam: #9ccfd8;
  --rose-pine-iris: #c4a7e7;
  --rose-pine-highlight_med: #44415a;
}

:not(*) {
  --rose-pine-base: #faf4ed;
  --rose-pine-surface: #fffaf3;
  --rose-pine-muted: #9893a5;
  --rose-pine-subtle: #797593;
  --rose-pine-text: #464261;
  --rose-pine-love: #b4637a;
  --rose-pine-gold: #ea9d34;
  --rose-pine-rose: #d7827e;
  --rose-pine-pine: #286983;
  --rose-pine-foam: #56949f;
  --rose-pine-iris: #907aa9;
  --rose-pine-highlight_med: #dfdad9;
}

body:has(#theme-mode-dark:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-dark:checked):has(#theme-rose-pine-dawn:checked),
body:has(#theme-mode-dark:checked):has(#theme-rose-pine-moon:checked),
:not(*) {
  --theme-normal-bg: var(--rose-pine-base);
  --theme-panel-bg: var(--rose-pine-surface);
  --theme-normal-fg: var(--rose-pine-text);
  --theme-panel-fg: var(--rose-pine-subtle);
  --theme-muted-fg: var(--rose-pine-subtle);
  --theme-border: var(--rose-pine-muted);
  --theme-selection-bg: var(--rose-pine-highlight_med);
  --theme-selection-fg: var(--rose-pine-text);
  --theme-title: var(--rose-pine-foam);
  --syntax-normal: var(--rose-pine-text);
  --syntax-comment: var(--rose-pine-subtle);
  --syntax-keyword: var(--rose-pine-pine);
  --syntax-type: var(--rose-pine-foam);
  --syntax-preproc: var(--rose-pine-iris);
  --syntax-string: var(--rose-pine-gold);
  --syntax-regexp: var(--rose-pine-gold);
  --syntax-special: var(--rose-pine-foam);
  --syntax-function: var(--rose-pine-rose);
  --syntax-number: var(--rose-pine-gold);
  --syntax-identifier: var(--rose-pine-text);
  --syntax-builtin: var(--rose-pine-foam);
  --syntax-tag: var(--rose-pine-foam);
  --syntax-class: var(--rose-pine-foam);
  --syntax-decorator: var(--rose-pine-iris);
  --syntax-exception: var(--rose-pine-pine);
  --syntax-constant: var(--rose-pine-gold);
  --syntax-operator: var(--rose-pine-subtle);
  --syntax-error: var(--rose-pine-love);
  --syntax-inserted: var(--rose-pine-foam);
  --syntax-deleted: var(--rose-pine-love);
  --syntax-heading: var(--rose-pine-iris);
  --syntax-subheading: var(--rose-pine-foam);
}

/* Selenized Vim roles use bg_*, dim_0, fg_*, and bright accents. */
body:has(#theme-mode-dark:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-selenized-light:checked) {
  --selenized-bg_0: #103c48;
  --selenized-bg_1: #184956;
  --selenized-bg_2: #2d5b69;
  --selenized-dim_0: #72898f;
  --selenized-fg_0: #adbcbc;
  --selenized-fg_1: #cad8d9;
  --selenized-br_yellow: #ebc13d;
  --selenized-br_blue: #58a3ff;
}

body:has(#theme-mode-dark:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-dark:checked):has(#theme-selenized-white:checked) {
  --selenized-bg_0: #181818;
  --selenized-bg_1: #252525;
  --selenized-bg_2: #3b3b3b;
  --selenized-dim_0: #777777;
  --selenized-fg_0: #b9b9b9;
  --selenized-fg_1: #dedede;
  --selenized-br_yellow: #efc541;
  --selenized-br_blue: #4f9cfe;
}

:not(*) {
  --selenized-bg_0: #fbf3db;
  --selenized-bg_1: #e9e4d0;
  --selenized-bg_2: #cfcebe;
  --selenized-dim_0: #909995;
  --selenized-fg_0: #53676d;
  --selenized-fg_1: #3a4d53;
  --selenized-br_yellow: #a78300;
  --selenized-br_blue: #006dce;
}

:not(*) {
  --selenized-bg_0: #ffffff;
  --selenized-bg_1: #ebebeb;
  --selenized-bg_2: #cdcdcd;
  --selenized-dim_0: #878787;
  --selenized-fg_0: #474747;
  --selenized-fg_1: #282828;
  --selenized-br_yellow: #af8500;
  --selenized-br_blue: #0054cf;
}

body:has(#theme-mode-dark:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-selenized-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-dark:checked):has(#theme-selenized-white:checked),
:not(*),
:not(*) {
  --theme-normal-bg: var(--selenized-bg_0);
  --theme-panel-bg: var(--selenized-bg_1);
  --theme-normal-fg: var(--selenized-fg_0);
  --theme-panel-fg: var(--selenized-dim_0);
  --theme-muted-fg: var(--selenized-dim_0);
  --theme-border: var(--selenized-dim_0);
  --theme-selection-bg: var(--selenized-bg_2);
  --theme-selection-fg: var(--selenized-fg_0);
  --theme-title: var(--selenized-fg_1);
  --syntax-normal: var(--selenized-fg_0);
  --syntax-comment: var(--selenized-dim_0);
  --syntax-keyword: var(--selenized-br_yellow);
  --syntax-type: var(--green);
  --syntax-preproc: var(--orange);
  --syntax-string: var(--cyan);
  --syntax-regexp: var(--cyan);
  --syntax-special: var(--red);
  --syntax-function: var(--selenized-br_blue);
  --syntax-number: var(--cyan);
  --syntax-identifier: var(--selenized-br_blue);
  --syntax-builtin: var(--red);
  --syntax-tag: var(--red);
  --syntax-class: var(--green);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--selenized-br_yellow);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--selenized-br_yellow);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--selenized-fg_1);
  --syntax-subheading: var(--selenized-br_blue);
}

/* OKSolar uses the Solarized role map with its own named palette. */
body:has(#theme-mode-dark:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-oksolar-light:checked) {
  --theme-normal-bg: var(--base03);
  --theme-panel-bg: var(--base02);
  --theme-normal-fg: var(--base0);
  --theme-panel-fg: var(--base0);
  --theme-muted-fg: var(--base01);
  --theme-border: var(--base00);
  --theme-selection-bg: var(--base01);
  --theme-selection-fg: var(--base03);
  --theme-title: var(--orange);
}

:not(*) {
  --theme-normal-bg: var(--base3);
  --theme-panel-bg: var(--base2);
  --theme-normal-fg: var(--base00);
  --theme-panel-fg: var(--base00);
  --theme-muted-fg: var(--base1);
  --theme-border: var(--base0);
  --theme-selection-bg: var(--base1);
  --theme-selection-fg: var(--base3);
  --theme-title: var(--orange);
}

body:has(#theme-mode-dark:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-oksolar-light:checked),
:not(*) {
  --syntax-normal: var(--base0);
  --syntax-comment: var(--base01);
  --syntax-keyword: var(--green);
  --syntax-type: var(--yellow);
  --syntax-preproc: var(--orange);
  --syntax-string: var(--cyan);
  --syntax-regexp: var(--cyan);
  --syntax-special: var(--red);
  --syntax-function: var(--blue);
  --syntax-number: var(--cyan);
  --syntax-identifier: var(--blue);
  --syntax-builtin: var(--red);
  --syntax-tag: var(--red);
  --syntax-class: var(--yellow);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--green);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--green);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--orange);
  --syntax-subheading: var(--blue);
}

:not(*) {
  --syntax-normal: var(--base00);
  --syntax-comment: var(--base1);
}



body:has(#theme-mode-dark:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-solarized-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-dark:checked):has(#theme-selenized-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-selenized-white:checked),
body:has(#theme-mode-dark:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-oksolar-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-gruvbox-original-soft-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-dark:checked):has(#theme-tomorrow-bright:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-everforest-soft-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-aura-dim:checked),
body:has(#theme-mode-dark:checked):has(#theme-edge-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-dark:checked):has(#theme-ayu-mirage:checked),
body:has(#theme-mode-dark:checked):has(#theme-ayu-light:checked),
body:has(#theme-mode-dark:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-dark:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-dark:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-dark:checked):has(#theme-catppuccin-mocha:checked),
body:has(#theme-mode-dark:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-dark:checked):has(#theme-rose-pine-moon:checked),
body:has(#theme-mode-dark:checked):has(#theme-rose-pine-dawn:checked) {
  margin: 0;
  min-block-size: 100%;
  --page-bg: var(--theme-normal-bg);
  --panel-bg: var(--theme-panel-bg);
  --text: var(--theme-normal-fg);
  --strong: var(--theme-normal-fg);
  --heading: var(--theme-title);
  --muted: var(--theme-muted-fg);
  --line: var(--theme-border);
  --code-bg: var(--theme-normal-bg);
  --code-text: var(--theme-normal-fg);
  --code-border: var(--theme-border);
  --code-title-bg: var(--theme-panel-bg);
  --code-title-text: var(--theme-panel-fg);
  --download-hover-border: var(--theme-title);
  --index-selected-bg: var(--theme-selection-bg);
  --index-selected-border: var(--theme-title);
  --index-selected-text: var(--theme-selection-fg);
  --index-subsection-selected-bg: var(--theme-selection-bg);
  --index-subsection-selected-border: var(--theme-border);
  --index-subsection-selected-text: var(--theme-selection-fg);
  --interactive-text: var(--theme-panel-fg);
  --functional-cue: var(--theme-normal-fg);
  --interface-error: var(--syntax-error);
  background: var(--page-bg);
  color: var(--text);
  font-size: 1rem;
  line-height: 1.65;
}

:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*) {
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
/* Solarized: https://github.com/altercation/vim-colors-solarized (MIT). */
body:has(#theme-mode-auto:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-solarized-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-white:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-bright:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura-dim:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-mirage:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-mocha:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-moon:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-dawn:checked) {
  color-scheme: dark;

  --base03: #002b36;
  --base02: #073642;
  --base01: #586e75;
  --base00: #657b83;
  --base0: #839496;
  --base1: #93a1a1;
  --base2: #eee8d5;
  --base3: #fdf6e3;
  --yellow: #b58900;
  --orange: #cb4b16;
  --red: #dc322f;
  --magenta: #d33682;
  --violet: #6c71c4;
  --blue: #268bd2;
  --cyan: #2aa198;
  --green: #859900;
}

/* Selenized: https://github.com/jan-warchol/selenized (MIT). */
body:has(#theme-mode-auto:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-light:checked) {
  color-scheme: dark;

  --base03: #103c48;
  --base02: #184956;
  --base01: #72898f;
  --base00: #adbcbc;
  --base0: #adbcbc;
  --base1: #cad8d9;
  --base2: #2d5b69;
  --base3: #cad8d9;
  --yellow: #dbb32d;
  --orange: #ed8649;
  --red: #fa5750;
  --magenta: #f275be;
  --violet: #af88eb;
  --blue: #4695f7;
  --cyan: #41c7b9;
  --green: #75b938;
}

body:has(#theme-mode-auto:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-white:checked) {
  color-scheme: dark;

  --base03: #181818;
  --base02: #252525;
  --base01: #777777;
  --base00: #b9b9b9;
  --base0: #b9b9b9;
  --base1: #dedede;
  --base2: #3b3b3b;
  --base3: #dedede;
  --yellow: #dbb32d;
  --orange: #e67f43;
  --red: #ed4a46;
  --magenta: #eb6eb7;
  --violet: #a580e2;
  --blue: #368aeb;
  --cyan: #3fc5b7;
  --green: #70b433;
}

:not(*) {
  --base03: #3a4d53;
  --base02: #53676d;
  --base01: #909995;
  --base00: #53676d;
  --base0: #909995;
  --base1: #d5cdb6;
  --base2: #ece3cc;
  --base3: #fbf3db;
  --yellow: #ad8900;
  --orange: #c25d1e;
  --red: #d2212d;
  --magenta: #ca4898;
  --violet: #8762c6;
  --blue: #0072d4;
  --cyan: #009c8f;
  --green: #489100;
}

:not(*) {
  --base03: #282828;
  --base02: #474747;
  --base01: #878787;
  --base00: #474747;
  --base0: #878787;
  --base1: #cdcdcd;
  --base2: #ebebeb;
  --base3: #ffffff;
  --yellow: #c49700;
  --orange: #d04a00;
  --red: #d6000c;
  --magenta: #dd0f9d;
  --violet: #7f51d6;
  --blue: #0064e4;
  --cyan: #00ad9c;
  --green: #1d9700;
}

/* OKSolar: https://meat.io/oksolar (CC0-1.0). */
body:has(#theme-mode-auto:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-light:checked),
:not(*) {
  --base03: #002d38;
  --base02: #093946;
  --base01: #5b7279;
  --base00: #657377;
  --base0: #98a8a8;
  --base1: #8faaab;
  --base2: #f1e9d2;
  --base3: #fbf7ef;
  --yellow: #ac8300;
  --orange: #d56500;
  --red: #f23749;
  --magenta: #dd459d;
  --violet: #7d80d1;
  --blue: #2b90d8;
  --cyan: #259d94;
  --green: #819500;
}

/* Gruvbox Material: https://github.com/sainnhe/gruvbox-material (MIT). */
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-light:checked) {
  color-scheme: dark;

  --base03: #1d2021;
  --base02: #282828;
  --base01: #504945;
  --base2: #3c3836;
}

body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-light:checked) {
  color-scheme: dark;

  --base03: #282828;
  --base02: #32302f;
  --base01: #5a524c;
  --base2: #45403d;
}

body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-light:checked) {
  color-scheme: dark;

  --base03: #32302f;
  --base02: #3c3836;
  --base01: #665c54;
  --base2: #504945;
}

:not(*),
:not(*),
:not(*) {
  --base1: #ebdbb2;
  --base2: #f5edca;
  --base3: #f9f5d7;
}

:not(*),
:not(*),
:not(*) {
  --base1: #ddccab;
  --base2: #f4e8be;
  --base3: #fbf1c7;
}

:not(*),
:not(*),
:not(*) {
  --base1: #d5c4a1;
  --base2: #eddeb5;
  --base3: #f2e5bc;
}

body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-light:checked) {
  --base00: #928374;
  --base0: #ddc7a1;
  --base1: #d4be98;
  --base3: #ddc7a1;
  --yellow: #d8a657;
  --orange: #e78a4e;
  --red: #ea6962;
  --magenta: #d3869b;
  --violet: #d3869b;
  --blue: #7daea3;
  --cyan: #89b482;
  --green: #a9b665;
}

:not(*),
:not(*),
:not(*) {
  --base03: #4f3829;
  --base02: #7c6f64;
  --base01: #928374;
  --base00: #654735;
  --base0: #928374;
  --yellow: #b47109;
  --orange: #c35e0a;
  --red: #c14a4a;
  --magenta: #945e80;
  --violet: #945e80;
  --blue: #45707a;
  --cyan: #4c7a5d;
  --green: #6c782e;
}

body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-light:checked) {
  --base00: #928374;
  --base0: #e2cca9;
  --base1: #e2cca9;
  --base3: #e2cca9;
  --yellow: #e9b143;
  --orange: #f28534;
  --red: #f2594b;
  --magenta: #d3869b;
  --violet: #d3869b;
  --blue: #80aa9e;
  --cyan: #8bba7f;
  --green: #b0b846;
}

:not(*),
:not(*),
:not(*) {
  --base03: #514036;
  --base02: #7c6f64;
  --base01: #928374;
  --base00: #514036;
  --base0: #928374;
  --yellow: #b4730e;
  --orange: #b94c07;
  --red: #af2528;
  --magenta: #924f79;
  --violet: #924f79;
  --blue: #266b79;
  --cyan: #477a5b;
  --green: #72761e;
}

body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-light:checked) {
  --base00: #928374;
  --base0: #ebdbb2;
  --base1: #ebdbb2;
  --base3: #ebdbb2;
  --yellow: #fabd2f;
  --orange: #fe8019;
  --red: #fb4934;
  --magenta: #d3869b;
  --violet: #d3869b;
  --blue: #83a598;
  --cyan: #8ec07c;
  --green: #b8bb26;
}

:not(*),
:not(*),
:not(*) {
  --base03: #3c3836;
  --base02: #7c6f64;
  --base01: #928374;
  --base00: #3c3836;
  --base0: #928374;
  --yellow: #b57614;
  --orange: #af3a03;
  --red: #9d0006;
  --magenta: #8f3f71;
  --violet: #8f3f71;
  --blue: #076678;
  --cyan: #427b58;
  --green: #79740e;
}

/* Tomorrow: https://github.com/chriskempson/tomorrow-theme (MIT). */
:not(*) {
  --base03: #1d1f21;
  --base02: #373b41;
  --base01: #8e908c;
  --base00: #4d4d4c;
  --base0: #8e908c;
  --base1: #c5c8c6;
  --base2: #efefef;
  --base3: #ffffff;
  --yellow: #eab700;
  --orange: #f5871f;
  --red: #c82829;
  --magenta: #8959a8;
  --violet: #8959a8;
  --blue: #4271ae;
  --cyan: #3e999f;
  --green: #718c00;
}

body:has(#theme-mode-auto:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-night:checked) {
  --base03: #1d1f21;
  --base02: #282a2e;
  --base01: #969896;
  --base00: #b4b7b4;
  --base0: #c5c8c6;
  --base1: #e0e0e0;
  --base2: #373b41;
  --base3: #ffffff;
  --yellow: #f0c674;
  --orange: #de935f;
  --red: #cc6666;
  --magenta: #b294bb;
  --violet: #b294bb;
  --blue: #81a2be;
  --cyan: #8abeb7;
  --green: #b5bd68;
}

body:has(#theme-mode-auto:checked):has(#theme-tomorrow-eighties:checked) {
  --base03: #2d2d2d;
  --base02: #393939;
  --base01: #999999;
  --base00: #cccccc;
  --base0: #cccccc;
  --base1: #e0e0e0;
  --base2: #515151;
  --base3: #ffffff;
  --yellow: #ffcc66;
  --orange: #f99157;
  --red: #f2777a;
  --magenta: #cc99cc;
  --violet: #cc99cc;
  --blue: #6699cc;
  --cyan: #66cccc;
  --green: #99cc99;
}

body:has(#theme-mode-auto:checked):has(#theme-tomorrow-blue:checked) {
  --base03: #002451;
  --base02: #00346e;
  --base01: #7285b7;
  --base00: #ffffff;
  --base0: #ffffff;
  --base1: #ffffff;
  --base2: #003f8e;
  --base3: #ffffff;
  --yellow: #ffeead;
  --orange: #ffc58f;
  --red: #ff9da4;
  --magenta: #ebbbff;
  --violet: #ebbbff;
  --blue: #bbdaff;
  --cyan: #99ffff;
  --green: #d1f1a9;
}

body:has(#theme-mode-auto:checked):has(#theme-tomorrow-bright:checked) {
  --base03: #000000;
  --base02: #2a2a2a;
  --base01: #969896;
  --base00: #eaeaea;
  --base0: #eaeaea;
  --base1: #ffffff;
  --base2: #424242;
  --base3: #ffffff;
  --yellow: #e7c547;
  --orange: #e78c45;
  --red: #d54e53;
  --magenta: #c397d8;
  --violet: #c397d8;
  --blue: #7aa6da;
  --cyan: #70c0b1;
  --green: #b9ca4a;
}

/* Nord: https://github.com/nordtheme/vim (MIT). */
:not(*) {
  --base03: #2e3440;
  --base02: #3b4252;
  --base01: #4c566a;
  --base00: #d8dee9;
  --base0: #d8dee9;
  --base1: #e5e9f0;
  --base2: #434c5e;
  --base3: #eceff4;
  --yellow: #ebcb8b;
  --orange: #d08770;
  --red: #bf616a;
  --magenta: #b48ead;
  --violet: #b48ead;
  --blue: #81a1c1;
  --cyan: #88c0d0;
  --green: #a3be8c;
}

/* Everforest: https://github.com/sainnhe/everforest (MIT). */
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-light:checked) {
  --base03: #272e33;
  --base02: #2e383c;
  --base01: #7a8478;
  --base00: #9da9a0;
  --base0: #d3c6aa;
  --base1: #d3c6aa;
  --base2: #414b50;
  --base3: #d3c6aa;
  --yellow: #dbbc7f;
  --orange: #e69875;
  --red: #e67e80;
  --magenta: #d699b6;
  --violet: #d699b6;
  --blue: #7fbbb3;
  --cyan: #83c092;
  --green: #a7c080;
}

body:has(#theme-mode-auto:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-light:checked) {
  --base03: #2d353b;
  --base02: #343f44;
  --base01: #7a8478;
  --base00: #9da9a0;
  --base0: #d3c6aa;
  --base1: #d3c6aa;
  --base2: #475258;
  --base3: #d3c6aa;
  --yellow: #dbbc7f;
  --orange: #e69875;
  --red: #e67e80;
  --magenta: #d699b6;
  --violet: #d699b6;
  --blue: #7fbbb3;
  --cyan: #83c092;
  --green: #a7c080;
}

body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-light:checked) {
  --base03: #333c43;
  --base02: #3a464c;
  --base01: #7a8478;
  --base00: #9da9a0;
  --base0: #d3c6aa;
  --base1: #d3c6aa;
  --base2: #4d5960;
  --base3: #d3c6aa;
  --yellow: #dbbc7f;
  --orange: #e69875;
  --red: #e67e80;
  --magenta: #d699b6;
  --violet: #d699b6;
  --blue: #7fbbb3;
  --cyan: #83c092;
  --green: #a7c080;
}

:not(*) {
  --base03: #5c6a72;
  --base02: #708089;
  --base01: #829181;
  --base00: #5c6a72;
  --base0: #939f91;
  --base1: #bec5b2;
  --base2: #f8f5e4;
  --base3: #fffbef;
  --yellow: #dfa000;
  --orange: #f57d26;
  --red: #f85552;
  --magenta: #df69ba;
  --violet: #df69ba;
  --blue: #3a94c5;
  --cyan: #35a77c;
  --green: #8da101;
}

:not(*) {
  --base03: #5c6a72;
  --base02: #708089;
  --base01: #829181;
  --base00: #5c6a72;
  --base0: #939f91;
  --base1: #bdc3af;
  --base2: #f4f0d9;
  --base3: #fdf6e3;
  --yellow: #dfa000;
  --orange: #f57d26;
  --red: #f85552;
  --magenta: #df69ba;
  --violet: #df69ba;
  --blue: #3a94c5;
  --cyan: #35a77c;
  --green: #8da101;
}

:not(*) {
  --base03: #5c6a72;
  --base02: #708089;
  --base01: #829181;
  --base00: #5c6a72;
  --base0: #939f91;
  --base1: #b9c0ab;
  --base2: #eae4ca;
  --base3: #f3ead3;
  --yellow: #dfa000;
  --orange: #f57d26;
  --red: #f85552;
  --magenta: #df69ba;
  --violet: #df69ba;
  --blue: #3a94c5;
  --cyan: #35a77c;
  --green: #8da101;
}

/* Edge: https://github.com/sainnhe/edge (MIT). */
body:has(#theme-mode-auto:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-light:checked) {
  color-scheme: dark;

  --base03: #2c2e34;
  --base02: #33353f;
  --base01: #535c6a;
  --base00: #758094;
  --base0: #c5cdd9;
  --base1: #758094;
  --base2: #3b3e48;
  --base3: #c5cdd9;
  --yellow: #deb974;
  --orange: #deb974;
  --red: #ec7279;
  --magenta: #d38aea;
  --violet: #d38aea;
  --blue: #6cb6eb;
  --cyan: #5dbbc1;
  --green: #a0c980;
}

body:has(#theme-mode-auto:checked):has(#theme-edge-aura:checked) {
  color-scheme: dark;

  --base03: #2b2d37;
  --base02: #333644;
  --base01: #535c6a;
  --base00: #758094;
  --base0: #c5cdd9;
  --base1: #758094;
  --base2: #3a3e4e;
  --base3: #c5cdd9;
  --yellow: #deb974;
  --orange: #deb974;
  --red: #ec7279;
  --magenta: #d38aea;
  --violet: #d38aea;
  --blue: #6cb6eb;
  --cyan: #5dbbc1;
  --green: #a0c980;
}

body:has(#theme-mode-auto:checked):has(#theme-edge-neon:checked) {
  color-scheme: dark;

  --base03: #2b2d3a;
  --base02: #333648;
  --base01: #535c6a;
  --base00: #758094;
  --base0: #c5cdd9;
  --base1: #758094;
  --base2: #393e53;
  --base3: #c5cdd9;
  --yellow: #deb974;
  --orange: #deb974;
  --red: #ec7279;
  --magenta: #d38aea;
  --violet: #d38aea;
  --blue: #6cb6eb;
  --cyan: #5dbbc1;
  --green: #a0c980;
}

body:has(#theme-mode-auto:checked):has(#theme-edge-aura-dim:checked) {
  color-scheme: dark;

  --base03: #2b2d37;
  --base02: #333644;
  --base01: #4f5868;
  --base00: #677287;
  --base0: #97a4b5;
  --base1: #677287;
  --base2: #3a3e4e;
  --base3: #97a4b5;
  --yellow: #deb974;
  --orange: #deb974;
  --red: #ec7279;
  --magenta: #d38aea;
  --violet: #d38aea;
  --blue: #6cb6eb;
  --cyan: #5dbbc1;
  --green: #a0c980;
}

:not(*) {
  --base03: #4b505b;
  --base02: #8790a0;
  --base01: #bac3cb;
  --base00: #4b505b;
  --base0: #8790a0;
  --base1: #dde2e7;
  --base2: #eef1f4;
  --base3: #fafafa;
  --yellow: #be7e05;
  --orange: #be7e05;
  --red: #d05858;
  --magenta: #b05ccc;
  --violet: #b05ccc;
  --blue: #5079be;
  --cyan: #3a8b84;
  --green: #608e32;
}

/* Sonokai: https://github.com/sainnhe/sonokai (MIT). */
:not(*) {
  color-scheme: dark;

  --base03: #2c2e34;
  --base02: #33353f;
  --base01: #595f6f;
  --base00: #7f8490;
  --base0: #e2e2e3;
  --base1: #7f8490;
  --base2: #3b3e48;
  --base3: #e2e2e3;
  --yellow: #e7c664;
  --orange: #f39660;
  --red: #fc5d7c;
  --magenta: #b39df3;
  --violet: #b39df3;
  --blue: #76cce0;
  --cyan: #76cce0;
  --green: #9ed072;
}

:not(*) {
  color-scheme: dark;

  --base03: #2a2f38;
  --base02: #333846;
  --base01: #5a6477;
  --base00: #828a9a;
  --base0: #e1e3e4;
  --base1: #828a9a;
  --base2: #3d4455;
  --base3: #e1e3e4;
  --yellow: #eacb64;
  --orange: #f69c5e;
  --red: #ff6578;
  --magenta: #ba9cf3;
  --violet: #ba9cf3;
  --blue: #72cce8;
  --cyan: #72cce8;
  --green: #9dd274;
}

:not(*) {
  color-scheme: dark;

  --base03: #2b2d3a;
  --base02: #333648;
  --base01: #5a5e7a;
  --base00: #7e8294;
  --base0: #e1e3e4;
  --base1: #7e8294;
  --base2: #393e53;
  --base3: #e1e3e4;
  --yellow: #edc763;
  --orange: #f89860;
  --red: #fb617e;
  --magenta: #bb97ee;
  --violet: #bb97ee;
  --blue: #6dcae8;
  --cyan: #6dcae8;
  --green: #9ed06c;
}

:not(*) {
  color-scheme: dark;

  --base03: #2d2a2e;
  --base02: #37343a;
  --base01: #605d68;
  --base00: #848089;
  --base0: #e3e1e4;
  --base1: #848089;
  --base2: #423f46;
  --base3: #e3e1e4;
  --yellow: #e5c463;
  --orange: #ef9062;
  --red: #f85e84;
  --magenta: #ab9df2;
  --violet: #ab9df2;
  --blue: #7accd7;
  --cyan: #7accd7;
  --green: #9ecd6f;
}

:not(*) {
  color-scheme: dark;

  --base03: #273136;
  --base02: #313b42;
  --base01: #55626d;
  --base00: #82878b;
  --base0: #e1e2e3;
  --base1: #82878b;
  --base2: #3a444b;
  --base3: #e1e2e3;
  --yellow: #e3d367;
  --orange: #f3a96a;
  --red: #f76c7c;
  --magenta: #baa0f8;
  --violet: #baa0f8;
  --blue: #78cee9;
  --cyan: #78cee9;
  --green: #9cd57b;
}

:not(*) {
  color-scheme: dark;

  --base03: #312c2b;
  --base02: #393230;
  --base01: #6a5e59;
  --base00: #90817b;
  --base0: #e4e3e1;
  --base1: #90817b;
  --base2: #49403c;
  --base3: #e4e3e1;
  --yellow: #f0c66f;
  --orange: #f08d71;
  --red: #f86882;
  --magenta: #9fa0e1;
  --violet: #9fa0e1;
  --blue: #81d0c9;
  --cyan: #81d0c9;
  --green: #a6cd77;
}

/* Spring Night: https://github.com/rhysd/vim-color-spring-night (MIT). */
:not(*) {
  color-scheme: dark;

  --base03: #334152;
  --base02: #3a4b5c;
  --base01: #607080;
  --base00: #788898;
  --base0: #fffeeb;
  --base1: #8d9eb2;
  --base2: #3a4b5c;
  --base3: #fffeeb;
  --yellow: #fedf81;
  --orange: #f0aa8a;
  --red: #fd8489;
  --magenta: #e7d5ff;
  --violet: #e7d5ff;
  --blue: #a8d2eb;
  --cyan: #a8d2eb;
  --green: #a9dd9d;
}

:not(*) {
  color-scheme: dark;

  --base03: #132132;
  --base02: #213243;
  --base01: #607080;
  --base00: #788898;
  --base0: #fffeeb;
  --base1: #8d9eb2;
  --base2: #3a4b5c;
  --base3: #fffeeb;
  --yellow: #fedf81;
  --orange: #f0aa8a;
  --red: #fd8489;
  --magenta: #e7d5ff;
  --violet: #e7d5ff;
  --blue: #a8d2eb;
  --cyan: #a8d2eb;
  --green: #a9dd9d;
}

/* Ayu: https://github.com/ayu-theme/ayu-colors (MIT). */
body:has(#theme-mode-auto:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-light:checked) {
  --base03: #0a0e14;
  --base02: #0d1017;
  --base01: #626a73;
  --base00: #b3b1ad;
  --base0: #b3b1ad;
  --base1: #e6e1cf;
  --base2: #11151c;
  --base3: #e6e1cf;
  --yellow: #e6b450;
  --orange: #ff8f40;
  --red: #ff3333;
  --magenta: #d2a6ff;
  --violet: #d2a6ff;
  --blue: #59c2ff;
  --cyan: #95e6cb;
  --green: #aad94c;
}

body:has(#theme-mode-auto:checked):has(#theme-ayu-mirage:checked) {
  --base03: #1f2430;
  --base02: #242936;
  --base01: #5c6773;
  --base00: #cbccc6;
  --base0: #cbccc6;
  --base1: #f3f4f5;
  --base2: #2a3040;
  --base3: #f3f4f5;
  --yellow: #ffd580;
  --orange: #ffa759;
  --red: #ff3333;
  --magenta: #d4bfff;
  --violet: #d4bfff;
  --blue: #73d0ff;
  --cyan: #95e6cb;
  --green: #bae67e;
}

:not(*) {
  --base03: #5c6773;
  --base02: #8a9199;
  --base01: #abb0b6;
  --base00: #5c6773;
  --base0: #8a9199;
  --base1: #f0f0f0;
  --base2: #f3f4f5;
  --base3: #fcfcfc;
  --yellow: #a37acc;
  --orange: #fa8d3e;
  --red: #f51818;
  --magenta: #a37acc;
  --violet: #a37acc;
  --blue: #399ee6;
  --cyan: #4cbf99;
  --green: #86b300;
}

/* Catppuccin: https://github.com/catppuccin/nvim (MIT). */
:not(*) {
  --base03: #4c4f69;
  --base02: #5c5f77;
  --base01: #8c8fa1;
  --base00: #4c4f69;
  --base0: #6c6f85;
  --base1: #bcc0cc;
  --base2: #e6e9ef;
  --base3: #eff1f5;
  --yellow: #df8e1d;
  --orange: #fe640b;
  --red: #d20f39;
  --magenta: #ea76cb;
  --violet: #8839ef;
  --blue: #1e66f5;
  --cyan: #179299;
  --green: #40a02b;
}

body:has(#theme-mode-auto:checked):has(#theme-catppuccin-frappe:checked) {
  --base03: #303446;
  --base02: #414559;
  --base01: #838ba7;
  --base00: #a5adce;
  --base0: #c6d0f5;
  --base1: #b5bfe2;
  --base2: #292c3c;
  --base3: #c6d0f5;
  --yellow: #e5c890;
  --orange: #ef9f76;
  --red: #e78284;
  --magenta: #f4b8e4;
  --violet: #ca9ee6;
  --blue: #8caaee;
  --cyan: #81c8be;
  --green: #a6d189;
}

body:has(#theme-mode-auto:checked):has(#theme-catppuccin-macchiato:checked) {
  --base03: #24273a;
  --base02: #363a4f;
  --base01: #8087a2;
  --base00: #a5adcb;
  --base0: #cad3f5;
  --base1: #b8c0e0;
  --base2: #1e2030;
  --base3: #cad3f5;
  --yellow: #eed49f;
  --orange: #f5a97f;
  --red: #ed8796;
  --magenta: #f5bde6;
  --violet: #c6a0f6;
  --blue: #8aadf4;
  --cyan: #8bd5ca;
  --green: #a6da95;
}

body:has(#theme-mode-auto:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-mocha:checked) {
  --base03: #1e1e2e;
  --base02: #313244;
  --base01: #7f849c;
  --base00: #a6adc8;
  --base0: #cdd6f4;
  --base1: #bac2de;
  --base2: #181825;
  --base3: #cdd6f4;
  --yellow: #f9e2af;
  --orange: #fab387;
  --red: #f38ba8;
  --magenta: #f5c2e7;
  --violet: #cba6f7;
  --blue: #89b4fa;
  --cyan: #94e2d5;
  --green: #a6e3a1;
}

/* Rose Pine: https://github.com/rose-pine/neovim (MIT). */
body:has(#theme-mode-auto:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-dawn:checked) {
  --base03: #191724;
  --base02: #1f1d2e;
  --base01: #6e6a86;
  --base00: #908caa;
  --base0: #e0def4;
  --base1: #908caa;
  --base2: #26233a;
  --base3: #e0def4;
  --yellow: #f6c177;
  --orange: #ebbcba;
  --red: #eb6f92;
  --magenta: #c4a7e7;
  --violet: #c4a7e7;
  --blue: #31748f;
  --cyan: #9ccfd8;
  --green: #9ccfd8;
}

body:has(#theme-mode-auto:checked):has(#theme-rose-pine-moon:checked) {
  --base03: #232136;
  --base02: #2a273f;
  --base01: #6e6a86;
  --base00: #908caa;
  --base0: #e0def4;
  --base1: #908caa;
  --base2: #393552;
  --base3: #e0def4;
  --yellow: #f6c177;
  --orange: #ea9a97;
  --red: #eb6f92;
  --magenta: #c4a7e7;
  --violet: #c4a7e7;
  --blue: #3e8fb0;
  --cyan: #9ccfd8;
  --green: #9ccfd8;
}

:not(*) {
  --base03: #464261;
  --base02: #797593;
  --base01: #9893a5;
  --base00: #464261;
  --base0: #797593;
  --base1: #f2e9e1;
  --base2: #fffaf3;
  --base3: #faf4ed;
  --yellow: #ea9d34;
  --orange: #d7827e;
  --red: #b4637a;
  --magenta: #907aa9;
  --violet: #907aa9;
  --blue: #286983;
  --cyan: #56949f;
  --green: #56949f;
}

/*
 * Theme role mapping
 * ------------------
 * Palette values above retain their upstream values.  The mappings below
 * follow each editor theme's Normal, panel/menu, Visual, Title, and standard
 * syntax highlight groups.  Arachnopress classes consume only the stable
 * --theme-* and --syntax-* roles defined here.
 */

/* Solarized Vim roles: Normal, Comment, Statement, PreProc, Type, Special. */
body:has(#theme-mode-auto:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-solarized-light:checked) {
  --theme-normal-bg: var(--base03);
  --theme-panel-bg: var(--base02);
  --theme-normal-fg: var(--base0);
  --theme-panel-fg: var(--base0);
  --theme-muted-fg: var(--base01);
  --theme-border: var(--base00);
  --theme-selection-bg: var(--base01);
  --theme-selection-fg: var(--base03);
  --theme-title: var(--orange);
}

:not(*) {
  --theme-normal-bg: var(--base3);
  --theme-panel-bg: var(--base2);
  --theme-normal-fg: var(--base00);
  --theme-panel-fg: var(--base00);
  --theme-muted-fg: var(--base1);
  --theme-border: var(--base0);
  --theme-selection-bg: var(--base1);
  --theme-selection-fg: var(--base3);
  --theme-title: var(--orange);
}

body:has(#theme-mode-auto:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-solarized-light:checked),
:not(*) {
  --syntax-normal: var(--base0);
  --syntax-comment: var(--base01);
  --syntax-keyword: var(--green);
  --syntax-type: var(--yellow);
  --syntax-preproc: var(--orange);
  --syntax-string: var(--cyan);
  --syntax-regexp: var(--cyan);
  --syntax-special: var(--red);
  --syntax-function: var(--blue);
  --syntax-number: var(--cyan);
  --syntax-identifier: var(--blue);
  --syntax-builtin: var(--red);
  --syntax-tag: var(--red);
  --syntax-class: var(--yellow);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--green);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--green);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--orange);
  --syntax-subheading: var(--blue);
}

:not(*) {
  --syntax-normal: var(--base00);
  --syntax-comment: var(--base1);
}

/* Gruvbox Material generic Vim roles. */
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-light:checked) {
  --gruvbox-bg0: var(--base03);
  --gruvbox-bg1: var(--base02);
  --gruvbox-bg3: var(--base2);
  --gruvbox-bg5: var(--base01);
  --gruvbox-fg0: var(--base1);
  --gruvbox-fg1: var(--base0);
  --gruvbox-grey1: var(--base00);
}

:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*) {
  --gruvbox-bg0: var(--base3);
  --gruvbox-bg1: var(--base2);
  --gruvbox-bg3: var(--base2);
  --gruvbox-bg5: var(--base1);
  --gruvbox-fg0: var(--base00);
  --gruvbox-fg1: var(--base03);
  --gruvbox-grey1: var(--base0);
}

:not(*),
:not(*),
:not(*) {
  --gruvbox-bg3: #f2e5bc;
}

:not(*),
:not(*),
:not(*) {
  --gruvbox-bg3: #eee0b7;
}

:not(*),
:not(*),
:not(*) {
  --gruvbox-bg3: #e6d5ae;
}

body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-light:checked),
:not(*),
:not(*),
:not(*),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-light:checked),
:not(*),
:not(*),
:not(*),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-light:checked),
:not(*),
:not(*),
:not(*) {
  --theme-normal-bg: var(--gruvbox-bg0);
  --theme-panel-bg: var(--gruvbox-bg3);
  --theme-normal-fg: var(--gruvbox-fg0);
  --theme-panel-fg: var(--gruvbox-fg1);
  --theme-muted-fg: var(--gruvbox-grey1);
  --theme-border: var(--gruvbox-bg5);
  --theme-selection-bg: var(--gruvbox-bg3);
  --theme-selection-fg: var(--gruvbox-fg0);
  --theme-title: var(--orange);
  --syntax-normal: var(--gruvbox-fg0);
  --syntax-comment: var(--gruvbox-grey1);
  --syntax-keyword: var(--red);
  --syntax-type: var(--yellow);
  --syntax-preproc: var(--violet);
  --syntax-string: var(--green);
  --syntax-regexp: var(--green);
  --syntax-special: var(--yellow);
  --syntax-function: var(--green);
  --syntax-number: var(--violet);
  --syntax-identifier: var(--blue);
  --syntax-builtin: var(--yellow);
  --syntax-tag: var(--orange);
  --syntax-class: var(--yellow);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--red);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--orange);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--orange);
  --syntax-subheading: var(--blue);
}

/* Tomorrow Vim roles use its foreground/background and named accents. */
:not(*) {
  --tomorrow-background: #ffffff;
  --tomorrow-foreground: #4d4d4c;
  --tomorrow-selection: #d6d6d6;
  --tomorrow-line: #efefef;
  --tomorrow-window: #efefef;
}

body:has(#theme-mode-auto:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-night:checked) {
  --tomorrow-background: #1d1f21;
  --tomorrow-foreground: #c5c8c6;
  --tomorrow-selection: #373b41;
  --tomorrow-line: #282a2e;
  --tomorrow-window: #4d5057;
}

body:has(#theme-mode-auto:checked):has(#theme-tomorrow-eighties:checked) {
  --tomorrow-background: #2d2d2d;
  --tomorrow-foreground: #cccccc;
  --tomorrow-selection: #515151;
  --tomorrow-line: #393939;
  --tomorrow-window: #4d5057;
}

body:has(#theme-mode-auto:checked):has(#theme-tomorrow-blue:checked) {
  --tomorrow-background: #002451;
  --tomorrow-foreground: #ffffff;
  --tomorrow-selection: #003f8e;
  --tomorrow-line: #00346e;
  --tomorrow-window: #4d5057;
}

body:has(#theme-mode-auto:checked):has(#theme-tomorrow-bright:checked) {
  --tomorrow-background: #000000;
  --tomorrow-foreground: #eaeaea;
  --tomorrow-selection: #424242;
  --tomorrow-line: #2a2a2a;
  --tomorrow-window: #4d5057;
}

:not(*),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-bright:checked) {
  --theme-normal-bg: var(--tomorrow-background);
  --theme-panel-bg: var(--tomorrow-line);
  --theme-normal-fg: var(--tomorrow-foreground);
  --theme-panel-fg: var(--tomorrow-foreground);
  --theme-muted-fg: var(--base01);
  --theme-border: var(--tomorrow-window);
  --theme-selection-bg: var(--tomorrow-selection);
  --theme-selection-fg: var(--tomorrow-foreground);
  --theme-title: var(--base01);
  --syntax-normal: var(--tomorrow-foreground);
  --syntax-comment: var(--base01);
  --syntax-keyword: var(--orange);
  --syntax-type: var(--blue);
  --syntax-preproc: var(--violet);
  --syntax-string: var(--green);
  --syntax-regexp: var(--green);
  --syntax-special: var(--tomorrow-foreground);
  --syntax-function: var(--blue);
  --syntax-number: var(--orange);
  --syntax-identifier: var(--red);
  --syntax-builtin: var(--tomorrow-foreground);
  --syntax-tag: var(--blue);
  --syntax-class: var(--violet);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--orange);
  --syntax-constant: var(--orange);
  --syntax-operator: var(--cyan);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--base01);
  --syntax-subheading: var(--blue);
}

/* Nord Vim roles use Nord's numbered palette names. */
:not(*) {
  --nord0: #2e3440;
  --nord1: #3b4252;
  --nord2: #434c5e;
  --nord3: #4c566a;
  --nord3_bright: #616e88;
  --nord4: #d8dee9;
  --nord5: #e5e9f0;
  --nord6: #eceff4;
  --nord7: #8fbcbb;
  --nord8: #88c0d0;
  --nord9: #81a1c1;
  --nord10: #5e81ac;
  --nord11: #bf616a;
  --nord12: #d08770;
  --nord13: #ebcb8b;
  --nord14: #a3be8c;
  --nord15: #b48ead;
  --theme-normal-bg: var(--nord0);
  --theme-panel-bg: var(--nord2);
  --theme-normal-fg: var(--nord4);
  --theme-panel-fg: var(--nord4);
  --theme-muted-fg: var(--nord3_bright);
  --theme-border: var(--nord2);
  --theme-selection-bg: var(--nord2);
  --theme-selection-fg: var(--nord4);
  --theme-title: var(--nord4);
  --syntax-normal: var(--nord4);
  --syntax-comment: var(--nord3_bright);
  --syntax-keyword: var(--nord9);
  --syntax-type: var(--nord9);
  --syntax-preproc: var(--nord9);
  --syntax-string: var(--nord14);
  --syntax-regexp: var(--nord14);
  --syntax-special: var(--nord4);
  --syntax-function: var(--nord8);
  --syntax-number: var(--nord15);
  --syntax-identifier: var(--nord4);
  --syntax-builtin: var(--nord9);
  --syntax-tag: var(--nord4);
  --syntax-class: var(--nord9);
  --syntax-decorator: var(--nord12);
  --syntax-exception: var(--nord9);
  --syntax-constant: var(--nord4);
  --syntax-operator: var(--nord9);
  --syntax-error: var(--nord11);
  --syntax-inserted: var(--nord14);
  --syntax-deleted: var(--nord11);
  --syntax-heading: var(--nord4);
  --syntax-subheading: var(--nord8);
}

/* Everforest generic Vim roles. */
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-light:checked) {
  --everforest-bg_visual: #4c3743;
  --everforest-bg2: #374145;
  --everforest-bg4: #495156;
}

body:has(#theme-mode-auto:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-light:checked) {
  --everforest-bg_visual: #543a48;
  --everforest-bg2: #3d484d;
  --everforest-bg4: #4f585e;
}

body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-light:checked) {
  --everforest-bg_visual: #5c3f4f;
  --everforest-bg2: #434f55;
  --everforest-bg4: #555f66;
}

:not(*) {
  --everforest-bg_visual: #f0f2d4;
  --everforest-bg2: #f2efdf;
  --everforest-bg4: #e8e5d5;
}

:not(*) {
  --everforest-bg_visual: #eaedc8;
  --everforest-bg2: #efebd4;
  --everforest-bg4: #e0dcc7;
}

:not(*) {
  --everforest-bg_visual: #e1e4bd;
  --everforest-bg2: #e5dfc5;
  --everforest-bg4: #d8d3ba;
}

body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-light:checked) {
  --everforest-bg0: var(--base03);
  --everforest-fg: var(--base0);
  --everforest-grey1: #859289;
}

:not(*),
:not(*),
:not(*) {
  --everforest-bg0: var(--base3);
  --everforest-fg: var(--base03);
  --everforest-grey1: #939f91;
}

body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-light:checked),
:not(*),
:not(*),
:not(*) {
  --theme-normal-bg: var(--everforest-bg0);
  --theme-panel-bg: var(--everforest-bg2);
  --theme-normal-fg: var(--everforest-fg);
  --theme-panel-fg: var(--everforest-fg);
  --theme-muted-fg: var(--everforest-grey1);
  --theme-border: var(--everforest-bg4);
  --theme-selection-bg: var(--everforest-bg_visual);
  --theme-selection-fg: var(--everforest-fg);
  --theme-title: var(--orange);
  --syntax-normal: var(--everforest-fg);
  --syntax-comment: var(--everforest-grey1);
  --syntax-keyword: var(--red);
  --syntax-type: var(--yellow);
  --syntax-preproc: var(--violet);
  --syntax-string: var(--green);
  --syntax-regexp: var(--green);
  --syntax-special: var(--yellow);
  --syntax-function: var(--green);
  --syntax-number: var(--violet);
  --syntax-identifier: var(--blue);
  --syntax-builtin: var(--yellow);
  --syntax-tag: var(--orange);
  --syntax-class: var(--yellow);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--red);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--orange);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--orange);
  --syntax-subheading: var(--blue);
}

/* Edge generic Vim roles. */
body:has(#theme-mode-auto:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura-dim:checked) {
  --edge-bg0: var(--base03);
  --edge-fg: var(--base0);
  --edge-grey: var(--base00);
  --edge-black: #202023;
}

body:has(#theme-mode-auto:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-light:checked) {
  --edge-bg2: #363944;
  --edge-bg3: #3b3e48;
}

body:has(#theme-mode-auto:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura-dim:checked) {
  --edge-bg2: #363a49;
  --edge-bg3: #3a3e4e;
}

body:has(#theme-mode-auto:checked):has(#theme-edge-neon:checked) {
  --edge-bg2: #363a4e;
  --edge-bg3: #393e53;
}

:not(*) {
  --edge-bg0: var(--base3);
  --edge-bg2: #e8ebf0;
  --edge-bg3: #e8ebf0;
  --edge-fg: var(--base03);
  --edge-grey: var(--base02);
  --edge-black: #dde2e7;
}

body:has(#theme-mode-auto:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura-dim:checked),
:not(*) {
  --theme-normal-bg: var(--edge-bg0);
  --theme-panel-bg: var(--edge-bg2);
  --theme-normal-fg: var(--edge-fg);
  --theme-panel-fg: var(--edge-fg);
  --theme-muted-fg: var(--edge-grey);
  --theme-border: var(--edge-black);
  --theme-selection-bg: var(--edge-bg3);
  --theme-selection-fg: var(--edge-fg);
  --theme-title: var(--violet);
  --syntax-normal: var(--edge-fg);
  --syntax-comment: var(--edge-grey);
  --syntax-keyword: var(--violet);
  --syntax-type: var(--red);
  --syntax-preproc: var(--violet);
  --syntax-string: var(--green);
  --syntax-regexp: var(--green);
  --syntax-special: var(--yellow);
  --syntax-function: var(--blue);
  --syntax-number: var(--green);
  --syntax-identifier: var(--cyan);
  --syntax-builtin: var(--yellow);
  --syntax-tag: var(--yellow);
  --syntax-class: var(--red);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--violet);
  --syntax-constant: var(--yellow);
  --syntax-operator: var(--violet);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--violet);
  --syntax-subheading: var(--blue);
}

/* Sonokai generic Vim roles. */
:not(*) {
  --sonokai-black: #181a1c;
  --sonokai-bg2: #363944;
  --sonokai-bg4: #414550;
}

:not(*) {
  --sonokai-black: #181a1c;
  --sonokai-bg2: #373c4b;
  --sonokai-bg4: #424b5b;
}

:not(*) {
  --sonokai-black: #181a1c;
  --sonokai-bg2: #363a4e;
  --sonokai-bg4: #3f445b;
}

:not(*) {
  --sonokai-black: #1a181a;
  --sonokai-bg2: #3b383e;
  --sonokai-bg4: #49464e;
}

:not(*) {
  --sonokai-black: #1c1e1f;
  --sonokai-bg2: #353f46;
  --sonokai-bg4: #414b53;
}

:not(*) {
  --sonokai-black: #1f1e1c;
  --sonokai-bg2: #413937;
  --sonokai-bg4: #4e433f;
}

:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*) {
  --sonokai-bg0: var(--base03);
  --sonokai-fg: var(--base0);
  --sonokai-grey: var(--base00);
  --theme-normal-bg: var(--sonokai-bg0);
  --theme-panel-bg: var(--sonokai-bg2);
  --theme-normal-fg: var(--sonokai-fg);
  --theme-panel-fg: var(--sonokai-fg);
  --theme-muted-fg: var(--sonokai-grey);
  --theme-border: var(--sonokai-black);
  --theme-selection-bg: var(--sonokai-bg4);
  --theme-selection-fg: var(--sonokai-fg);
  --theme-title: var(--red);
  --syntax-normal: var(--sonokai-fg);
  --syntax-comment: var(--sonokai-grey);
  --syntax-keyword: var(--red);
  --syntax-type: var(--blue);
  --syntax-preproc: var(--red);
  --syntax-string: var(--yellow);
  --syntax-regexp: var(--yellow);
  --syntax-special: var(--violet);
  --syntax-function: var(--green);
  --syntax-number: var(--violet);
  --syntax-identifier: var(--orange);
  --syntax-builtin: var(--violet);
  --syntax-tag: var(--orange);
  --syntax-class: var(--blue);
  --syntax-decorator: var(--red);
  --syntax-exception: var(--red);
  --syntax-constant: var(--orange);
  --syntax-operator: var(--red);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--red);
  --syntax-subheading: var(--blue);
}

/* Spring Night defines highlight-group colours directly. */
:not(*),
:not(*) {
  --spring-night-normal: #fffeeb;
  --spring-night-comment: #8d9eb2;
  --spring-night-constant: #fd8489;
  --spring-night-string: #a9dd9d;
  --spring-night-statement: #a8d2eb;
  --spring-night-function: #f0aa8a;
  --spring-night-keyword: #f0eaaa;
  --spring-night-type: #fedf81;
  --spring-night-special-comment: #e7c6b7;
  --spring-night-menu: #e7d5ff;
  --spring-night-visual: #70495d;
  --theme-normal-bg: var(--base03);
  --theme-panel-bg: var(--base02);
  --theme-normal-fg: var(--spring-night-normal);
  --theme-panel-fg: var(--spring-night-normal);
  --theme-muted-fg: var(--spring-night-comment);
  --theme-border: var(--base01);
  --theme-selection-bg: var(--spring-night-visual);
  --theme-selection-fg: var(--spring-night-normal);
  --theme-title: var(--spring-night-type);
  --syntax-normal: var(--spring-night-normal);
  --syntax-comment: var(--spring-night-comment);
  --syntax-keyword: var(--spring-night-keyword);
  --syntax-type: var(--spring-night-type);
  --syntax-preproc: var(--spring-night-function);
  --syntax-string: var(--spring-night-string);
  --syntax-regexp: var(--spring-night-string);
  --syntax-special: var(--spring-night-keyword);
  --syntax-function: var(--spring-night-function);
  --syntax-number: var(--spring-night-constant);
  --syntax-identifier: var(--spring-night-type);
  --syntax-builtin: var(--spring-night-keyword);
  --syntax-tag: var(--spring-night-function);
  --syntax-class: var(--spring-night-type);
  --syntax-decorator: var(--spring-night-special-comment);
  --syntax-exception: var(--spring-night-statement);
  --syntax-constant: var(--spring-night-constant);
  --syntax-operator: var(--spring-night-function);
  --syntax-error: var(--spring-night-constant);
  --syntax-inserted: var(--spring-night-string);
  --syntax-deleted: var(--spring-night-constant);
  --syntax-heading: var(--spring-night-type);
  --syntax-subheading: var(--spring-night-statement);
}

/* Ayu v8 named editor, UI, syntax, VCS, and common roles. */
body:has(#theme-mode-auto:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-light:checked) {
  --ayu-editor-bg: #0d1017;
  --ayu-editor-fg: #bfbdb6;
  --ayu-editor-line: #131721;
  --ayu-editor-selection-active: #409fff4d;
  --ayu-ui-panel-bg: #0f131a;
  --ayu-ui-fg: #565b66;
  --ayu-syntax-tag: #39bae6;
  --ayu-syntax-func: #ffb454;
  --ayu-syntax-entity: #59c2ff;
  --ayu-syntax-string: #aad94c;
  --ayu-syntax-regexp: #95e6cb;
  --ayu-syntax-markup: #f07178;
  --ayu-syntax-keyword: #ff8f40;
  --ayu-syntax-special: #e6b673;
  --ayu-syntax-comment: #acb6bf8c;
  --ayu-syntax-constant: #d2a6ff;
  --ayu-syntax-operator: #f29668;
  --ayu-vcs-added: #7fd962;
  --ayu-vcs-removed: #f26d78;
  --ayu-common-accent: #e6b450;
  --ayu-common-error: #d95757;
}

body:has(#theme-mode-auto:checked):has(#theme-ayu-mirage:checked) {
  --ayu-editor-bg: #242936;
  --ayu-editor-fg: #cccac2;
  --ayu-editor-line: #1a1f29;
  --ayu-editor-selection-active: #409fff40;
  --ayu-ui-panel-bg: #1c212b;
  --ayu-ui-fg: #707a8c;
  --ayu-syntax-tag: #5ccfe6;
  --ayu-syntax-func: #ffd173;
  --ayu-syntax-entity: #73d0ff;
  --ayu-syntax-string: #d5ff80;
  --ayu-syntax-regexp: #95e6cb;
  --ayu-syntax-markup: #f28779;
  --ayu-syntax-keyword: #ffad66;
  --ayu-syntax-special: #ffdfb3;
  --ayu-syntax-comment: #b8cfe680;
  --ayu-syntax-constant: #dfbfff;
  --ayu-syntax-operator: #f29e74;
  --ayu-vcs-added: #87d96c;
  --ayu-vcs-removed: #f27983;
  --ayu-common-accent: #ffcc66;
  --ayu-common-error: #ff6666;
}

:not(*) {
  --ayu-editor-bg: #fcfcfc;
  --ayu-editor-fg: #5c6166;
  --ayu-editor-line: #8a91991a;
  --ayu-editor-selection-active: #035bd626;
  --ayu-ui-panel-bg: #f3f4f5;
  --ayu-ui-fg: #8a9199;
  --ayu-syntax-tag: #55b4d4;
  --ayu-syntax-func: #f2ae49;
  --ayu-syntax-entity: #399ee6;
  --ayu-syntax-string: #86b300;
  --ayu-syntax-regexp: #4cbf99;
  --ayu-syntax-markup: #f07171;
  --ayu-syntax-keyword: #fa8d3e;
  --ayu-syntax-special: #e6ba7e;
  --ayu-syntax-comment: #787b8099;
  --ayu-syntax-constant: #a37acc;
  --ayu-syntax-operator: #ed9366;
  --ayu-vcs-added: #6cbf43;
  --ayu-vcs-removed: #ff7383;
  --ayu-common-accent: #ffaa33;
  --ayu-common-error: #e65050;
}

body:has(#theme-mode-auto:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-mirage:checked),
:not(*) {
  --theme-normal-bg: var(--ayu-editor-bg);
  --theme-panel-bg: var(--ayu-ui-panel-bg);
  --theme-normal-fg: var(--ayu-editor-fg);
  --theme-panel-fg: var(--ayu-editor-fg);
  --theme-muted-fg: var(--ayu-ui-fg);
  --theme-border: var(--ayu-editor-line);
  --theme-selection-bg: var(--ayu-editor-selection-active);
  --theme-selection-fg: var(--ayu-editor-fg);
  --theme-title: var(--ayu-common-accent);
  --syntax-normal: var(--ayu-editor-fg);
  --syntax-comment: var(--ayu-syntax-comment);
  --syntax-keyword: var(--ayu-syntax-keyword);
  --syntax-type: var(--ayu-syntax-entity);
  --syntax-preproc: var(--ayu-syntax-keyword);
  --syntax-string: var(--ayu-syntax-string);
  --syntax-regexp: var(--ayu-syntax-regexp);
  --syntax-special: var(--ayu-syntax-special);
  --syntax-function: var(--ayu-syntax-func);
  --syntax-number: var(--ayu-syntax-constant);
  --syntax-identifier: var(--ayu-editor-fg);
  --syntax-builtin: var(--ayu-syntax-special);
  --syntax-tag: var(--ayu-syntax-tag);
  --syntax-class: var(--ayu-syntax-entity);
  --syntax-decorator: var(--ayu-syntax-func);
  --syntax-exception: var(--ayu-syntax-keyword);
  --syntax-constant: var(--ayu-syntax-constant);
  --syntax-operator: var(--ayu-syntax-operator);
  --syntax-error: var(--ayu-common-error);
  --syntax-inserted: var(--ayu-vcs-added);
  --syntax-deleted: var(--ayu-vcs-removed);
  --syntax-heading: var(--ayu-syntax-markup);
  --syntax-subheading: var(--ayu-syntax-entity);
}

/* Catppuccin Neovim palette names and highlight roles. */
:not(*) {
  --catppuccin-flamingo: #dd7878;
  --catppuccin-pink: #ea76cb;
  --catppuccin-mauve: #8839ef;
  --catppuccin-red: #d20f39;
  --catppuccin-peach: #fe640b;
  --catppuccin-yellow: #df8e1d;
  --catppuccin-green: #40a02b;
  --catppuccin-teal: #179299;
  --catppuccin-sky: #04a5e5;
  --catppuccin-sapphire: #209fb5;
  --catppuccin-blue: #1e66f5;
  --catppuccin-lavender: #7287fd;
  --catppuccin-text: #4c4f69;
  --catppuccin-overlay2: #7c7f93;
  --catppuccin-surface1: #bcc0cc;
  --catppuccin-base: #eff1f5;
  --catppuccin-mantle: #e6e9ef;
  --catppuccin-crust: #dce0e8;
}

body:has(#theme-mode-auto:checked):has(#theme-catppuccin-frappe:checked) {
  --catppuccin-flamingo: #eebebe;
  --catppuccin-pink: #f4b8e4;
  --catppuccin-mauve: #ca9ee6;
  --catppuccin-red: #e78284;
  --catppuccin-peach: #ef9f76;
  --catppuccin-yellow: #e5c890;
  --catppuccin-green: #a6d189;
  --catppuccin-teal: #81c8be;
  --catppuccin-sky: #99d1db;
  --catppuccin-sapphire: #85c1dc;
  --catppuccin-blue: #8caaee;
  --catppuccin-lavender: #babbf1;
  --catppuccin-text: #c6d0f5;
  --catppuccin-overlay2: #949cbb;
  --catppuccin-surface1: #51576d;
  --catppuccin-base: #303446;
  --catppuccin-mantle: #292c3c;
  --catppuccin-crust: #232634;
}

body:has(#theme-mode-auto:checked):has(#theme-catppuccin-macchiato:checked) {
  --catppuccin-flamingo: #f0c6c6;
  --catppuccin-pink: #f5bde6;
  --catppuccin-mauve: #c6a0f6;
  --catppuccin-red: #ed8796;
  --catppuccin-peach: #f5a97f;
  --catppuccin-yellow: #eed49f;
  --catppuccin-green: #a6da95;
  --catppuccin-teal: #8bd5ca;
  --catppuccin-sky: #91d7e3;
  --catppuccin-sapphire: #7dc4e4;
  --catppuccin-blue: #8aadf4;
  --catppuccin-lavender: #b7bdf8;
  --catppuccin-text: #cad3f5;
  --catppuccin-overlay2: #939ab7;
  --catppuccin-surface1: #494d64;
  --catppuccin-base: #24273a;
  --catppuccin-mantle: #1e2030;
  --catppuccin-crust: #181926;
}

body:has(#theme-mode-auto:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-mocha:checked) {
  --catppuccin-flamingo: #f2cdcd;
  --catppuccin-pink: #f5c2e7;
  --catppuccin-mauve: #cba6f7;
  --catppuccin-red: #f38ba8;
  --catppuccin-peach: #fab387;
  --catppuccin-yellow: #f9e2af;
  --catppuccin-green: #a6e3a1;
  --catppuccin-teal: #94e2d5;
  --catppuccin-sky: #89dceb;
  --catppuccin-sapphire: #74c7ec;
  --catppuccin-blue: #89b4fa;
  --catppuccin-lavender: #b4befe;
  --catppuccin-text: #cdd6f4;
  --catppuccin-overlay2: #9399b2;
  --catppuccin-surface1: #45475a;
  --catppuccin-base: #1e1e2e;
  --catppuccin-mantle: #181825;
  --catppuccin-crust: #11111b;
}

:not(*),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-mocha:checked) {
  --theme-normal-bg: var(--catppuccin-base);
  --theme-panel-bg: var(--catppuccin-mantle);
  --theme-normal-fg: var(--catppuccin-text);
  --theme-panel-fg: var(--catppuccin-text);
  --theme-muted-fg: var(--catppuccin-overlay2);
  --theme-border: var(--catppuccin-crust);
  --theme-selection-bg: var(--catppuccin-surface1);
  --theme-selection-fg: var(--catppuccin-text);
  --theme-title: var(--catppuccin-blue);
  --syntax-normal: var(--catppuccin-text);
  --syntax-comment: var(--catppuccin-overlay2);
  --syntax-keyword: var(--catppuccin-mauve);
  --syntax-type: var(--catppuccin-yellow);
  --syntax-preproc: var(--catppuccin-pink);
  --syntax-string: var(--catppuccin-green);
  --syntax-regexp: var(--catppuccin-green);
  --syntax-special: var(--catppuccin-pink);
  --syntax-function: var(--catppuccin-blue);
  --syntax-number: var(--catppuccin-peach);
  --syntax-identifier: var(--catppuccin-flamingo);
  --syntax-builtin: var(--catppuccin-pink);
  --syntax-tag: var(--catppuccin-lavender);
  --syntax-class: var(--catppuccin-yellow);
  --syntax-decorator: var(--catppuccin-pink);
  --syntax-exception: var(--catppuccin-mauve);
  --syntax-constant: var(--catppuccin-peach);
  --syntax-operator: var(--catppuccin-sky);
  --syntax-error: var(--catppuccin-red);
  --syntax-inserted: var(--catppuccin-green);
  --syntax-deleted: var(--catppuccin-red);
  --syntax-heading: var(--catppuccin-pink);
  --syntax-subheading: var(--catppuccin-blue);
}

/* Rose Pine Neovim palette names and highlight roles. */
body:has(#theme-mode-auto:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-dawn:checked) {
  --rose-pine-base: #191724;
  --rose-pine-surface: #1f1d2e;
  --rose-pine-muted: #6e6a86;
  --rose-pine-subtle: #908caa;
  --rose-pine-text: #e0def4;
  --rose-pine-love: #eb6f92;
  --rose-pine-gold: #f6c177;
  --rose-pine-rose: #ebbcba;
  --rose-pine-pine: #31748f;
  --rose-pine-foam: #9ccfd8;
  --rose-pine-iris: #c4a7e7;
  --rose-pine-highlight_med: #403d52;
}

body:has(#theme-mode-auto:checked):has(#theme-rose-pine-moon:checked) {
  --rose-pine-base: #232136;
  --rose-pine-surface: #2a273f;
  --rose-pine-muted: #6e6a86;
  --rose-pine-subtle: #908caa;
  --rose-pine-text: #e0def4;
  --rose-pine-love: #eb6f92;
  --rose-pine-gold: #f6c177;
  --rose-pine-rose: #ea9a97;
  --rose-pine-pine: #3e8fb0;
  --rose-pine-foam: #9ccfd8;
  --rose-pine-iris: #c4a7e7;
  --rose-pine-highlight_med: #44415a;
}

:not(*) {
  --rose-pine-base: #faf4ed;
  --rose-pine-surface: #fffaf3;
  --rose-pine-muted: #9893a5;
  --rose-pine-subtle: #797593;
  --rose-pine-text: #464261;
  --rose-pine-love: #b4637a;
  --rose-pine-gold: #ea9d34;
  --rose-pine-rose: #d7827e;
  --rose-pine-pine: #286983;
  --rose-pine-foam: #56949f;
  --rose-pine-iris: #907aa9;
  --rose-pine-highlight_med: #dfdad9;
}

body:has(#theme-mode-auto:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-dawn:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-moon:checked),
:not(*) {
  --theme-normal-bg: var(--rose-pine-base);
  --theme-panel-bg: var(--rose-pine-surface);
  --theme-normal-fg: var(--rose-pine-text);
  --theme-panel-fg: var(--rose-pine-subtle);
  --theme-muted-fg: var(--rose-pine-subtle);
  --theme-border: var(--rose-pine-muted);
  --theme-selection-bg: var(--rose-pine-highlight_med);
  --theme-selection-fg: var(--rose-pine-text);
  --theme-title: var(--rose-pine-foam);
  --syntax-normal: var(--rose-pine-text);
  --syntax-comment: var(--rose-pine-subtle);
  --syntax-keyword: var(--rose-pine-pine);
  --syntax-type: var(--rose-pine-foam);
  --syntax-preproc: var(--rose-pine-iris);
  --syntax-string: var(--rose-pine-gold);
  --syntax-regexp: var(--rose-pine-gold);
  --syntax-special: var(--rose-pine-foam);
  --syntax-function: var(--rose-pine-rose);
  --syntax-number: var(--rose-pine-gold);
  --syntax-identifier: var(--rose-pine-text);
  --syntax-builtin: var(--rose-pine-foam);
  --syntax-tag: var(--rose-pine-foam);
  --syntax-class: var(--rose-pine-foam);
  --syntax-decorator: var(--rose-pine-iris);
  --syntax-exception: var(--rose-pine-pine);
  --syntax-constant: var(--rose-pine-gold);
  --syntax-operator: var(--rose-pine-subtle);
  --syntax-error: var(--rose-pine-love);
  --syntax-inserted: var(--rose-pine-foam);
  --syntax-deleted: var(--rose-pine-love);
  --syntax-heading: var(--rose-pine-iris);
  --syntax-subheading: var(--rose-pine-foam);
}

/* Selenized Vim roles use bg_*, dim_0, fg_*, and bright accents. */
body:has(#theme-mode-auto:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-light:checked) {
  --selenized-bg_0: #103c48;
  --selenized-bg_1: #184956;
  --selenized-bg_2: #2d5b69;
  --selenized-dim_0: #72898f;
  --selenized-fg_0: #adbcbc;
  --selenized-fg_1: #cad8d9;
  --selenized-br_yellow: #ebc13d;
  --selenized-br_blue: #58a3ff;
}

body:has(#theme-mode-auto:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-white:checked) {
  --selenized-bg_0: #181818;
  --selenized-bg_1: #252525;
  --selenized-bg_2: #3b3b3b;
  --selenized-dim_0: #777777;
  --selenized-fg_0: #b9b9b9;
  --selenized-fg_1: #dedede;
  --selenized-br_yellow: #efc541;
  --selenized-br_blue: #4f9cfe;
}

:not(*) {
  --selenized-bg_0: #fbf3db;
  --selenized-bg_1: #e9e4d0;
  --selenized-bg_2: #cfcebe;
  --selenized-dim_0: #909995;
  --selenized-fg_0: #53676d;
  --selenized-fg_1: #3a4d53;
  --selenized-br_yellow: #a78300;
  --selenized-br_blue: #006dce;
}

:not(*) {
  --selenized-bg_0: #ffffff;
  --selenized-bg_1: #ebebeb;
  --selenized-bg_2: #cdcdcd;
  --selenized-dim_0: #878787;
  --selenized-fg_0: #474747;
  --selenized-fg_1: #282828;
  --selenized-br_yellow: #af8500;
  --selenized-br_blue: #0054cf;
}

body:has(#theme-mode-auto:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-white:checked),
:not(*),
:not(*) {
  --theme-normal-bg: var(--selenized-bg_0);
  --theme-panel-bg: var(--selenized-bg_1);
  --theme-normal-fg: var(--selenized-fg_0);
  --theme-panel-fg: var(--selenized-dim_0);
  --theme-muted-fg: var(--selenized-dim_0);
  --theme-border: var(--selenized-dim_0);
  --theme-selection-bg: var(--selenized-bg_2);
  --theme-selection-fg: var(--selenized-fg_0);
  --theme-title: var(--selenized-fg_1);
  --syntax-normal: var(--selenized-fg_0);
  --syntax-comment: var(--selenized-dim_0);
  --syntax-keyword: var(--selenized-br_yellow);
  --syntax-type: var(--green);
  --syntax-preproc: var(--orange);
  --syntax-string: var(--cyan);
  --syntax-regexp: var(--cyan);
  --syntax-special: var(--red);
  --syntax-function: var(--selenized-br_blue);
  --syntax-number: var(--cyan);
  --syntax-identifier: var(--selenized-br_blue);
  --syntax-builtin: var(--red);
  --syntax-tag: var(--red);
  --syntax-class: var(--green);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--selenized-br_yellow);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--selenized-br_yellow);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--selenized-fg_1);
  --syntax-subheading: var(--selenized-br_blue);
}

/* OKSolar uses the Solarized role map with its own named palette. */
body:has(#theme-mode-auto:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-light:checked) {
  --theme-normal-bg: var(--base03);
  --theme-panel-bg: var(--base02);
  --theme-normal-fg: var(--base0);
  --theme-panel-fg: var(--base0);
  --theme-muted-fg: var(--base01);
  --theme-border: var(--base00);
  --theme-selection-bg: var(--base01);
  --theme-selection-fg: var(--base03);
  --theme-title: var(--orange);
}

:not(*) {
  --theme-normal-bg: var(--base3);
  --theme-panel-bg: var(--base2);
  --theme-normal-fg: var(--base00);
  --theme-panel-fg: var(--base00);
  --theme-muted-fg: var(--base1);
  --theme-border: var(--base0);
  --theme-selection-bg: var(--base1);
  --theme-selection-fg: var(--base3);
  --theme-title: var(--orange);
}

body:has(#theme-mode-auto:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-light:checked),
:not(*) {
  --syntax-normal: var(--base0);
  --syntax-comment: var(--base01);
  --syntax-keyword: var(--green);
  --syntax-type: var(--yellow);
  --syntax-preproc: var(--orange);
  --syntax-string: var(--cyan);
  --syntax-regexp: var(--cyan);
  --syntax-special: var(--red);
  --syntax-function: var(--blue);
  --syntax-number: var(--cyan);
  --syntax-identifier: var(--blue);
  --syntax-builtin: var(--red);
  --syntax-tag: var(--red);
  --syntax-class: var(--yellow);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--green);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--green);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--orange);
  --syntax-subheading: var(--blue);
}

:not(*) {
  --syntax-normal: var(--base00);
  --syntax-comment: var(--base1);
}



body:has(#theme-mode-auto:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-solarized-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-white:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-bright:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura-dim:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-mirage:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-mocha:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-moon:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-dawn:checked) {
  margin: 0;
  min-block-size: 100%;
  --page-bg: var(--theme-normal-bg);
  --panel-bg: var(--theme-panel-bg);
  --text: var(--theme-normal-fg);
  --strong: var(--theme-normal-fg);
  --heading: var(--theme-title);
  --muted: var(--theme-muted-fg);
  --line: var(--theme-border);
  --code-bg: var(--theme-normal-bg);
  --code-text: var(--theme-normal-fg);
  --code-border: var(--theme-border);
  --code-title-bg: var(--theme-panel-bg);
  --code-title-text: var(--theme-panel-fg);
  --download-hover-border: var(--theme-title);
  --index-selected-bg: var(--theme-selection-bg);
  --index-selected-border: var(--theme-title);
  --index-selected-text: var(--theme-selection-fg);
  --index-subsection-selected-bg: var(--theme-selection-bg);
  --index-subsection-selected-border: var(--theme-border);
  --index-subsection-selected-text: var(--theme-selection-fg);
  --interactive-text: var(--theme-panel-fg);
  --functional-cue: var(--theme-normal-fg);
  --interface-error: var(--syntax-error);
  background: var(--page-bg);
  color: var(--text);
  font-size: 1rem;
  line-height: 1.65;
}

:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*) {
  color-scheme: light;
}

}
@media (prefers-color-scheme: light) {
/* Solarized: https://github.com/altercation/vim-colors-solarized (MIT). */
body:has(#theme-mode-auto:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-solarized-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-white:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-bright:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura-dim:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-mirage:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-mocha:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-moon:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-dawn:checked) {
  color-scheme: dark;

  --base03: #002b36;
  --base02: #073642;
  --base01: #586e75;
  --base00: #657b83;
  --base0: #839496;
  --base1: #93a1a1;
  --base2: #eee8d5;
  --base3: #fdf6e3;
  --yellow: #b58900;
  --orange: #cb4b16;
  --red: #dc322f;
  --magenta: #d33682;
  --violet: #6c71c4;
  --blue: #268bd2;
  --cyan: #2aa198;
  --green: #859900;
}

/* Selenized: https://github.com/jan-warchol/selenized (MIT). */
:not(*) {
  color-scheme: dark;

  --base03: #103c48;
  --base02: #184956;
  --base01: #72898f;
  --base00: #adbcbc;
  --base0: #adbcbc;
  --base1: #cad8d9;
  --base2: #2d5b69;
  --base3: #cad8d9;
  --yellow: #dbb32d;
  --orange: #ed8649;
  --red: #fa5750;
  --magenta: #f275be;
  --violet: #af88eb;
  --blue: #4695f7;
  --cyan: #41c7b9;
  --green: #75b938;
}

:not(*) {
  color-scheme: dark;

  --base03: #181818;
  --base02: #252525;
  --base01: #777777;
  --base00: #b9b9b9;
  --base0: #b9b9b9;
  --base1: #dedede;
  --base2: #3b3b3b;
  --base3: #dedede;
  --yellow: #dbb32d;
  --orange: #e67f43;
  --red: #ed4a46;
  --magenta: #eb6eb7;
  --violet: #a580e2;
  --blue: #368aeb;
  --cyan: #3fc5b7;
  --green: #70b433;
}

body:has(#theme-mode-auto:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-light:checked) {
  --base03: #3a4d53;
  --base02: #53676d;
  --base01: #909995;
  --base00: #53676d;
  --base0: #909995;
  --base1: #d5cdb6;
  --base2: #ece3cc;
  --base3: #fbf3db;
  --yellow: #ad8900;
  --orange: #c25d1e;
  --red: #d2212d;
  --magenta: #ca4898;
  --violet: #8762c6;
  --blue: #0072d4;
  --cyan: #009c8f;
  --green: #489100;
}

body:has(#theme-mode-auto:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-white:checked) {
  --base03: #282828;
  --base02: #474747;
  --base01: #878787;
  --base00: #474747;
  --base0: #878787;
  --base1: #cdcdcd;
  --base2: #ebebeb;
  --base3: #ffffff;
  --yellow: #c49700;
  --orange: #d04a00;
  --red: #d6000c;
  --magenta: #dd0f9d;
  --violet: #7f51d6;
  --blue: #0064e4;
  --cyan: #00ad9c;
  --green: #1d9700;
}

/* OKSolar: https://meat.io/oksolar (CC0-1.0). */
:not(*),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-light:checked) {
  --base03: #002d38;
  --base02: #093946;
  --base01: #5b7279;
  --base00: #657377;
  --base0: #98a8a8;
  --base1: #8faaab;
  --base2: #f1e9d2;
  --base3: #fbf7ef;
  --yellow: #ac8300;
  --orange: #d56500;
  --red: #f23749;
  --magenta: #dd459d;
  --violet: #7d80d1;
  --blue: #2b90d8;
  --cyan: #259d94;
  --green: #819500;
}

/* Gruvbox Material: https://github.com/sainnhe/gruvbox-material (MIT). */
:not(*),
:not(*),
:not(*) {
  color-scheme: dark;

  --base03: #1d2021;
  --base02: #282828;
  --base01: #504945;
  --base2: #3c3836;
}

:not(*),
:not(*),
:not(*) {
  color-scheme: dark;

  --base03: #282828;
  --base02: #32302f;
  --base01: #5a524c;
  --base2: #45403d;
}

:not(*),
:not(*),
:not(*) {
  color-scheme: dark;

  --base03: #32302f;
  --base02: #3c3836;
  --base01: #665c54;
  --base2: #504945;
}

body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-light:checked) {
  --base1: #ebdbb2;
  --base2: #f5edca;
  --base3: #f9f5d7;
}

body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-light:checked) {
  --base1: #ddccab;
  --base2: #f4e8be;
  --base3: #fbf1c7;
}

body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-light:checked) {
  --base1: #d5c4a1;
  --base2: #eddeb5;
  --base3: #f2e5bc;
}

:not(*),
:not(*),
:not(*) {
  --base00: #928374;
  --base0: #ddc7a1;
  --base1: #d4be98;
  --base3: #ddc7a1;
  --yellow: #d8a657;
  --orange: #e78a4e;
  --red: #ea6962;
  --magenta: #d3869b;
  --violet: #d3869b;
  --blue: #7daea3;
  --cyan: #89b482;
  --green: #a9b665;
}

body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-light:checked) {
  --base03: #4f3829;
  --base02: #7c6f64;
  --base01: #928374;
  --base00: #654735;
  --base0: #928374;
  --yellow: #b47109;
  --orange: #c35e0a;
  --red: #c14a4a;
  --magenta: #945e80;
  --violet: #945e80;
  --blue: #45707a;
  --cyan: #4c7a5d;
  --green: #6c782e;
}

:not(*),
:not(*),
:not(*) {
  --base00: #928374;
  --base0: #e2cca9;
  --base1: #e2cca9;
  --base3: #e2cca9;
  --yellow: #e9b143;
  --orange: #f28534;
  --red: #f2594b;
  --magenta: #d3869b;
  --violet: #d3869b;
  --blue: #80aa9e;
  --cyan: #8bba7f;
  --green: #b0b846;
}

body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-light:checked) {
  --base03: #514036;
  --base02: #7c6f64;
  --base01: #928374;
  --base00: #514036;
  --base0: #928374;
  --yellow: #b4730e;
  --orange: #b94c07;
  --red: #af2528;
  --magenta: #924f79;
  --violet: #924f79;
  --blue: #266b79;
  --cyan: #477a5b;
  --green: #72761e;
}

:not(*),
:not(*),
:not(*) {
  --base00: #928374;
  --base0: #ebdbb2;
  --base1: #ebdbb2;
  --base3: #ebdbb2;
  --yellow: #fabd2f;
  --orange: #fe8019;
  --red: #fb4934;
  --magenta: #d3869b;
  --violet: #d3869b;
  --blue: #83a598;
  --cyan: #8ec07c;
  --green: #b8bb26;
}

body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-light:checked) {
  --base03: #3c3836;
  --base02: #7c6f64;
  --base01: #928374;
  --base00: #3c3836;
  --base0: #928374;
  --yellow: #b57614;
  --orange: #af3a03;
  --red: #9d0006;
  --magenta: #8f3f71;
  --violet: #8f3f71;
  --blue: #076678;
  --cyan: #427b58;
  --green: #79740e;
}

/* Tomorrow: https://github.com/chriskempson/tomorrow-theme (MIT). */
body:has(#theme-mode-auto:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-bright:checked) {
  --base03: #1d1f21;
  --base02: #373b41;
  --base01: #8e908c;
  --base00: #4d4d4c;
  --base0: #8e908c;
  --base1: #c5c8c6;
  --base2: #efefef;
  --base3: #ffffff;
  --yellow: #eab700;
  --orange: #f5871f;
  --red: #c82829;
  --magenta: #8959a8;
  --violet: #8959a8;
  --blue: #4271ae;
  --cyan: #3e999f;
  --green: #718c00;
}

:not(*) {
  --base03: #1d1f21;
  --base02: #282a2e;
  --base01: #969896;
  --base00: #b4b7b4;
  --base0: #c5c8c6;
  --base1: #e0e0e0;
  --base2: #373b41;
  --base3: #ffffff;
  --yellow: #f0c674;
  --orange: #de935f;
  --red: #cc6666;
  --magenta: #b294bb;
  --violet: #b294bb;
  --blue: #81a2be;
  --cyan: #8abeb7;
  --green: #b5bd68;
}

:not(*) {
  --base03: #2d2d2d;
  --base02: #393939;
  --base01: #999999;
  --base00: #cccccc;
  --base0: #cccccc;
  --base1: #e0e0e0;
  --base2: #515151;
  --base3: #ffffff;
  --yellow: #ffcc66;
  --orange: #f99157;
  --red: #f2777a;
  --magenta: #cc99cc;
  --violet: #cc99cc;
  --blue: #6699cc;
  --cyan: #66cccc;
  --green: #99cc99;
}

:not(*) {
  --base03: #002451;
  --base02: #00346e;
  --base01: #7285b7;
  --base00: #ffffff;
  --base0: #ffffff;
  --base1: #ffffff;
  --base2: #003f8e;
  --base3: #ffffff;
  --yellow: #ffeead;
  --orange: #ffc58f;
  --red: #ff9da4;
  --magenta: #ebbbff;
  --violet: #ebbbff;
  --blue: #bbdaff;
  --cyan: #99ffff;
  --green: #d1f1a9;
}

:not(*) {
  --base03: #000000;
  --base02: #2a2a2a;
  --base01: #969896;
  --base00: #eaeaea;
  --base0: #eaeaea;
  --base1: #ffffff;
  --base2: #424242;
  --base3: #ffffff;
  --yellow: #e7c547;
  --orange: #e78c45;
  --red: #d54e53;
  --magenta: #c397d8;
  --violet: #c397d8;
  --blue: #7aa6da;
  --cyan: #70c0b1;
  --green: #b9ca4a;
}

/* Nord: https://github.com/nordtheme/vim (MIT). */
:not(*) {
  --base03: #2e3440;
  --base02: #3b4252;
  --base01: #4c566a;
  --base00: #d8dee9;
  --base0: #d8dee9;
  --base1: #e5e9f0;
  --base2: #434c5e;
  --base3: #eceff4;
  --yellow: #ebcb8b;
  --orange: #d08770;
  --red: #bf616a;
  --magenta: #b48ead;
  --violet: #b48ead;
  --blue: #81a1c1;
  --cyan: #88c0d0;
  --green: #a3be8c;
}

/* Everforest: https://github.com/sainnhe/everforest (MIT). */
:not(*) {
  --base03: #272e33;
  --base02: #2e383c;
  --base01: #7a8478;
  --base00: #9da9a0;
  --base0: #d3c6aa;
  --base1: #d3c6aa;
  --base2: #414b50;
  --base3: #d3c6aa;
  --yellow: #dbbc7f;
  --orange: #e69875;
  --red: #e67e80;
  --magenta: #d699b6;
  --violet: #d699b6;
  --blue: #7fbbb3;
  --cyan: #83c092;
  --green: #a7c080;
}

:not(*) {
  --base03: #2d353b;
  --base02: #343f44;
  --base01: #7a8478;
  --base00: #9da9a0;
  --base0: #d3c6aa;
  --base1: #d3c6aa;
  --base2: #475258;
  --base3: #d3c6aa;
  --yellow: #dbbc7f;
  --orange: #e69875;
  --red: #e67e80;
  --magenta: #d699b6;
  --violet: #d699b6;
  --blue: #7fbbb3;
  --cyan: #83c092;
  --green: #a7c080;
}

:not(*) {
  --base03: #333c43;
  --base02: #3a464c;
  --base01: #7a8478;
  --base00: #9da9a0;
  --base0: #d3c6aa;
  --base1: #d3c6aa;
  --base2: #4d5960;
  --base3: #d3c6aa;
  --yellow: #dbbc7f;
  --orange: #e69875;
  --red: #e67e80;
  --magenta: #d699b6;
  --violet: #d699b6;
  --blue: #7fbbb3;
  --cyan: #83c092;
  --green: #a7c080;
}

body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-light:checked) {
  --base03: #5c6a72;
  --base02: #708089;
  --base01: #829181;
  --base00: #5c6a72;
  --base0: #939f91;
  --base1: #bec5b2;
  --base2: #f8f5e4;
  --base3: #fffbef;
  --yellow: #dfa000;
  --orange: #f57d26;
  --red: #f85552;
  --magenta: #df69ba;
  --violet: #df69ba;
  --blue: #3a94c5;
  --cyan: #35a77c;
  --green: #8da101;
}

body:has(#theme-mode-auto:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-light:checked) {
  --base03: #5c6a72;
  --base02: #708089;
  --base01: #829181;
  --base00: #5c6a72;
  --base0: #939f91;
  --base1: #bdc3af;
  --base2: #f4f0d9;
  --base3: #fdf6e3;
  --yellow: #dfa000;
  --orange: #f57d26;
  --red: #f85552;
  --magenta: #df69ba;
  --violet: #df69ba;
  --blue: #3a94c5;
  --cyan: #35a77c;
  --green: #8da101;
}

body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-light:checked) {
  --base03: #5c6a72;
  --base02: #708089;
  --base01: #829181;
  --base00: #5c6a72;
  --base0: #939f91;
  --base1: #b9c0ab;
  --base2: #eae4ca;
  --base3: #f3ead3;
  --yellow: #dfa000;
  --orange: #f57d26;
  --red: #f85552;
  --magenta: #df69ba;
  --violet: #df69ba;
  --blue: #3a94c5;
  --cyan: #35a77c;
  --green: #8da101;
}

/* Edge: https://github.com/sainnhe/edge (MIT). */
:not(*) {
  color-scheme: dark;

  --base03: #2c2e34;
  --base02: #33353f;
  --base01: #535c6a;
  --base00: #758094;
  --base0: #c5cdd9;
  --base1: #758094;
  --base2: #3b3e48;
  --base3: #c5cdd9;
  --yellow: #deb974;
  --orange: #deb974;
  --red: #ec7279;
  --magenta: #d38aea;
  --violet: #d38aea;
  --blue: #6cb6eb;
  --cyan: #5dbbc1;
  --green: #a0c980;
}

:not(*) {
  color-scheme: dark;

  --base03: #2b2d37;
  --base02: #333644;
  --base01: #535c6a;
  --base00: #758094;
  --base0: #c5cdd9;
  --base1: #758094;
  --base2: #3a3e4e;
  --base3: #c5cdd9;
  --yellow: #deb974;
  --orange: #deb974;
  --red: #ec7279;
  --magenta: #d38aea;
  --violet: #d38aea;
  --blue: #6cb6eb;
  --cyan: #5dbbc1;
  --green: #a0c980;
}

:not(*) {
  color-scheme: dark;

  --base03: #2b2d3a;
  --base02: #333648;
  --base01: #535c6a;
  --base00: #758094;
  --base0: #c5cdd9;
  --base1: #758094;
  --base2: #393e53;
  --base3: #c5cdd9;
  --yellow: #deb974;
  --orange: #deb974;
  --red: #ec7279;
  --magenta: #d38aea;
  --violet: #d38aea;
  --blue: #6cb6eb;
  --cyan: #5dbbc1;
  --green: #a0c980;
}

:not(*) {
  color-scheme: dark;

  --base03: #2b2d37;
  --base02: #333644;
  --base01: #4f5868;
  --base00: #677287;
  --base0: #97a4b5;
  --base1: #677287;
  --base2: #3a3e4e;
  --base3: #97a4b5;
  --yellow: #deb974;
  --orange: #deb974;
  --red: #ec7279;
  --magenta: #d38aea;
  --violet: #d38aea;
  --blue: #6cb6eb;
  --cyan: #5dbbc1;
  --green: #a0c980;
}

body:has(#theme-mode-auto:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura-dim:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-light:checked) {
  --base03: #4b505b;
  --base02: #8790a0;
  --base01: #bac3cb;
  --base00: #4b505b;
  --base0: #8790a0;
  --base1: #dde2e7;
  --base2: #eef1f4;
  --base3: #fafafa;
  --yellow: #be7e05;
  --orange: #be7e05;
  --red: #d05858;
  --magenta: #b05ccc;
  --violet: #b05ccc;
  --blue: #5079be;
  --cyan: #3a8b84;
  --green: #608e32;
}

/* Sonokai: https://github.com/sainnhe/sonokai (MIT). */
:not(*) {
  color-scheme: dark;

  --base03: #2c2e34;
  --base02: #33353f;
  --base01: #595f6f;
  --base00: #7f8490;
  --base0: #e2e2e3;
  --base1: #7f8490;
  --base2: #3b3e48;
  --base3: #e2e2e3;
  --yellow: #e7c664;
  --orange: #f39660;
  --red: #fc5d7c;
  --magenta: #b39df3;
  --violet: #b39df3;
  --blue: #76cce0;
  --cyan: #76cce0;
  --green: #9ed072;
}

:not(*) {
  color-scheme: dark;

  --base03: #2a2f38;
  --base02: #333846;
  --base01: #5a6477;
  --base00: #828a9a;
  --base0: #e1e3e4;
  --base1: #828a9a;
  --base2: #3d4455;
  --base3: #e1e3e4;
  --yellow: #eacb64;
  --orange: #f69c5e;
  --red: #ff6578;
  --magenta: #ba9cf3;
  --violet: #ba9cf3;
  --blue: #72cce8;
  --cyan: #72cce8;
  --green: #9dd274;
}

:not(*) {
  color-scheme: dark;

  --base03: #2b2d3a;
  --base02: #333648;
  --base01: #5a5e7a;
  --base00: #7e8294;
  --base0: #e1e3e4;
  --base1: #7e8294;
  --base2: #393e53;
  --base3: #e1e3e4;
  --yellow: #edc763;
  --orange: #f89860;
  --red: #fb617e;
  --magenta: #bb97ee;
  --violet: #bb97ee;
  --blue: #6dcae8;
  --cyan: #6dcae8;
  --green: #9ed06c;
}

:not(*) {
  color-scheme: dark;

  --base03: #2d2a2e;
  --base02: #37343a;
  --base01: #605d68;
  --base00: #848089;
  --base0: #e3e1e4;
  --base1: #848089;
  --base2: #423f46;
  --base3: #e3e1e4;
  --yellow: #e5c463;
  --orange: #ef9062;
  --red: #f85e84;
  --magenta: #ab9df2;
  --violet: #ab9df2;
  --blue: #7accd7;
  --cyan: #7accd7;
  --green: #9ecd6f;
}

:not(*) {
  color-scheme: dark;

  --base03: #273136;
  --base02: #313b42;
  --base01: #55626d;
  --base00: #82878b;
  --base0: #e1e2e3;
  --base1: #82878b;
  --base2: #3a444b;
  --base3: #e1e2e3;
  --yellow: #e3d367;
  --orange: #f3a96a;
  --red: #f76c7c;
  --magenta: #baa0f8;
  --violet: #baa0f8;
  --blue: #78cee9;
  --cyan: #78cee9;
  --green: #9cd57b;
}

:not(*) {
  color-scheme: dark;

  --base03: #312c2b;
  --base02: #393230;
  --base01: #6a5e59;
  --base00: #90817b;
  --base0: #e4e3e1;
  --base1: #90817b;
  --base2: #49403c;
  --base3: #e4e3e1;
  --yellow: #f0c66f;
  --orange: #f08d71;
  --red: #f86882;
  --magenta: #9fa0e1;
  --violet: #9fa0e1;
  --blue: #81d0c9;
  --cyan: #81d0c9;
  --green: #a6cd77;
}

/* Spring Night: https://github.com/rhysd/vim-color-spring-night (MIT). */
:not(*) {
  color-scheme: dark;

  --base03: #334152;
  --base02: #3a4b5c;
  --base01: #607080;
  --base00: #788898;
  --base0: #fffeeb;
  --base1: #8d9eb2;
  --base2: #3a4b5c;
  --base3: #fffeeb;
  --yellow: #fedf81;
  --orange: #f0aa8a;
  --red: #fd8489;
  --magenta: #e7d5ff;
  --violet: #e7d5ff;
  --blue: #a8d2eb;
  --cyan: #a8d2eb;
  --green: #a9dd9d;
}

:not(*) {
  color-scheme: dark;

  --base03: #132132;
  --base02: #213243;
  --base01: #607080;
  --base00: #788898;
  --base0: #fffeeb;
  --base1: #8d9eb2;
  --base2: #3a4b5c;
  --base3: #fffeeb;
  --yellow: #fedf81;
  --orange: #f0aa8a;
  --red: #fd8489;
  --magenta: #e7d5ff;
  --violet: #e7d5ff;
  --blue: #a8d2eb;
  --cyan: #a8d2eb;
  --green: #a9dd9d;
}

/* Ayu: https://github.com/ayu-theme/ayu-colors (MIT). */
:not(*) {
  --base03: #0a0e14;
  --base02: #0d1017;
  --base01: #626a73;
  --base00: #b3b1ad;
  --base0: #b3b1ad;
  --base1: #e6e1cf;
  --base2: #11151c;
  --base3: #e6e1cf;
  --yellow: #e6b450;
  --orange: #ff8f40;
  --red: #ff3333;
  --magenta: #d2a6ff;
  --violet: #d2a6ff;
  --blue: #59c2ff;
  --cyan: #95e6cb;
  --green: #aad94c;
}

:not(*) {
  --base03: #1f2430;
  --base02: #242936;
  --base01: #5c6773;
  --base00: #cbccc6;
  --base0: #cbccc6;
  --base1: #f3f4f5;
  --base2: #2a3040;
  --base3: #f3f4f5;
  --yellow: #ffd580;
  --orange: #ffa759;
  --red: #ff3333;
  --magenta: #d4bfff;
  --violet: #d4bfff;
  --blue: #73d0ff;
  --cyan: #95e6cb;
  --green: #bae67e;
}

body:has(#theme-mode-auto:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-mirage:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-light:checked) {
  --base03: #5c6773;
  --base02: #8a9199;
  --base01: #abb0b6;
  --base00: #5c6773;
  --base0: #8a9199;
  --base1: #f0f0f0;
  --base2: #f3f4f5;
  --base3: #fcfcfc;
  --yellow: #a37acc;
  --orange: #fa8d3e;
  --red: #f51818;
  --magenta: #a37acc;
  --violet: #a37acc;
  --blue: #399ee6;
  --cyan: #4cbf99;
  --green: #86b300;
}

/* Catppuccin: https://github.com/catppuccin/nvim (MIT). */
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-mocha:checked) {
  --base03: #4c4f69;
  --base02: #5c5f77;
  --base01: #8c8fa1;
  --base00: #4c4f69;
  --base0: #6c6f85;
  --base1: #bcc0cc;
  --base2: #e6e9ef;
  --base3: #eff1f5;
  --yellow: #df8e1d;
  --orange: #fe640b;
  --red: #d20f39;
  --magenta: #ea76cb;
  --violet: #8839ef;
  --blue: #1e66f5;
  --cyan: #179299;
  --green: #40a02b;
}

:not(*) {
  --base03: #303446;
  --base02: #414559;
  --base01: #838ba7;
  --base00: #a5adce;
  --base0: #c6d0f5;
  --base1: #b5bfe2;
  --base2: #292c3c;
  --base3: #c6d0f5;
  --yellow: #e5c890;
  --orange: #ef9f76;
  --red: #e78284;
  --magenta: #f4b8e4;
  --violet: #ca9ee6;
  --blue: #8caaee;
  --cyan: #81c8be;
  --green: #a6d189;
}

:not(*) {
  --base03: #24273a;
  --base02: #363a4f;
  --base01: #8087a2;
  --base00: #a5adcb;
  --base0: #cad3f5;
  --base1: #b8c0e0;
  --base2: #1e2030;
  --base3: #cad3f5;
  --yellow: #eed49f;
  --orange: #f5a97f;
  --red: #ed8796;
  --magenta: #f5bde6;
  --violet: #c6a0f6;
  --blue: #8aadf4;
  --cyan: #8bd5ca;
  --green: #a6da95;
}

:not(*) {
  --base03: #1e1e2e;
  --base02: #313244;
  --base01: #7f849c;
  --base00: #a6adc8;
  --base0: #cdd6f4;
  --base1: #bac2de;
  --base2: #181825;
  --base3: #cdd6f4;
  --yellow: #f9e2af;
  --orange: #fab387;
  --red: #f38ba8;
  --magenta: #f5c2e7;
  --violet: #cba6f7;
  --blue: #89b4fa;
  --cyan: #94e2d5;
  --green: #a6e3a1;
}

/* Rose Pine: https://github.com/rose-pine/neovim (MIT). */
:not(*) {
  --base03: #191724;
  --base02: #1f1d2e;
  --base01: #6e6a86;
  --base00: #908caa;
  --base0: #e0def4;
  --base1: #908caa;
  --base2: #26233a;
  --base3: #e0def4;
  --yellow: #f6c177;
  --orange: #ebbcba;
  --red: #eb6f92;
  --magenta: #c4a7e7;
  --violet: #c4a7e7;
  --blue: #31748f;
  --cyan: #9ccfd8;
  --green: #9ccfd8;
}

:not(*) {
  --base03: #232136;
  --base02: #2a273f;
  --base01: #6e6a86;
  --base00: #908caa;
  --base0: #e0def4;
  --base1: #908caa;
  --base2: #393552;
  --base3: #e0def4;
  --yellow: #f6c177;
  --orange: #ea9a97;
  --red: #eb6f92;
  --magenta: #c4a7e7;
  --violet: #c4a7e7;
  --blue: #3e8fb0;
  --cyan: #9ccfd8;
  --green: #9ccfd8;
}

body:has(#theme-mode-auto:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-moon:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-dawn:checked) {
  --base03: #464261;
  --base02: #797593;
  --base01: #9893a5;
  --base00: #464261;
  --base0: #797593;
  --base1: #f2e9e1;
  --base2: #fffaf3;
  --base3: #faf4ed;
  --yellow: #ea9d34;
  --orange: #d7827e;
  --red: #b4637a;
  --magenta: #907aa9;
  --violet: #907aa9;
  --blue: #286983;
  --cyan: #56949f;
  --green: #56949f;
}

/*
 * Theme role mapping
 * ------------------
 * Palette values above retain their upstream values.  The mappings below
 * follow each editor theme's Normal, panel/menu, Visual, Title, and standard
 * syntax highlight groups.  Arachnopress classes consume only the stable
 * --theme-* and --syntax-* roles defined here.
 */

/* Solarized Vim roles: Normal, Comment, Statement, PreProc, Type, Special. */
:not(*) {
  --theme-normal-bg: var(--base03);
  --theme-panel-bg: var(--base02);
  --theme-normal-fg: var(--base0);
  --theme-panel-fg: var(--base0);
  --theme-muted-fg: var(--base01);
  --theme-border: var(--base00);
  --theme-selection-bg: var(--base01);
  --theme-selection-fg: var(--base03);
  --theme-title: var(--orange);
}

body:has(#theme-mode-auto:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-solarized-light:checked) {
  --theme-normal-bg: var(--base3);
  --theme-panel-bg: var(--base2);
  --theme-normal-fg: var(--base00);
  --theme-panel-fg: var(--base00);
  --theme-muted-fg: var(--base1);
  --theme-border: var(--base0);
  --theme-selection-bg: var(--base1);
  --theme-selection-fg: var(--base3);
  --theme-title: var(--orange);
}

:not(*),
body:has(#theme-mode-auto:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-solarized-light:checked) {
  --syntax-normal: var(--base0);
  --syntax-comment: var(--base01);
  --syntax-keyword: var(--green);
  --syntax-type: var(--yellow);
  --syntax-preproc: var(--orange);
  --syntax-string: var(--cyan);
  --syntax-regexp: var(--cyan);
  --syntax-special: var(--red);
  --syntax-function: var(--blue);
  --syntax-number: var(--cyan);
  --syntax-identifier: var(--blue);
  --syntax-builtin: var(--red);
  --syntax-tag: var(--red);
  --syntax-class: var(--yellow);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--green);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--green);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--orange);
  --syntax-subheading: var(--blue);
}

body:has(#theme-mode-auto:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-solarized-light:checked) {
  --syntax-normal: var(--base00);
  --syntax-comment: var(--base1);
}

/* Gruvbox Material generic Vim roles. */
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*) {
  --gruvbox-bg0: var(--base03);
  --gruvbox-bg1: var(--base02);
  --gruvbox-bg3: var(--base2);
  --gruvbox-bg5: var(--base01);
  --gruvbox-fg0: var(--base1);
  --gruvbox-fg1: var(--base0);
  --gruvbox-grey1: var(--base00);
}

body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-light:checked) {
  --gruvbox-bg0: var(--base3);
  --gruvbox-bg1: var(--base2);
  --gruvbox-bg3: var(--base2);
  --gruvbox-bg5: var(--base1);
  --gruvbox-fg0: var(--base00);
  --gruvbox-fg1: var(--base03);
  --gruvbox-grey1: var(--base0);
}

body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-light:checked) {
  --gruvbox-bg3: #f2e5bc;
}

body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-light:checked) {
  --gruvbox-bg3: #eee0b7;
}

body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-light:checked) {
  --gruvbox-bg3: #e6d5ae;
}

:not(*),
:not(*),
:not(*),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-light:checked),
:not(*),
:not(*),
:not(*),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-light:checked),
:not(*),
:not(*),
:not(*),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-light:checked) {
  --theme-normal-bg: var(--gruvbox-bg0);
  --theme-panel-bg: var(--gruvbox-bg3);
  --theme-normal-fg: var(--gruvbox-fg0);
  --theme-panel-fg: var(--gruvbox-fg1);
  --theme-muted-fg: var(--gruvbox-grey1);
  --theme-border: var(--gruvbox-bg5);
  --theme-selection-bg: var(--gruvbox-bg3);
  --theme-selection-fg: var(--gruvbox-fg0);
  --theme-title: var(--orange);
  --syntax-normal: var(--gruvbox-fg0);
  --syntax-comment: var(--gruvbox-grey1);
  --syntax-keyword: var(--red);
  --syntax-type: var(--yellow);
  --syntax-preproc: var(--violet);
  --syntax-string: var(--green);
  --syntax-regexp: var(--green);
  --syntax-special: var(--yellow);
  --syntax-function: var(--green);
  --syntax-number: var(--violet);
  --syntax-identifier: var(--blue);
  --syntax-builtin: var(--yellow);
  --syntax-tag: var(--orange);
  --syntax-class: var(--yellow);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--red);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--orange);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--orange);
  --syntax-subheading: var(--blue);
}

/* Tomorrow Vim roles use its foreground/background and named accents. */
body:has(#theme-mode-auto:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-bright:checked) {
  --tomorrow-background: #ffffff;
  --tomorrow-foreground: #4d4d4c;
  --tomorrow-selection: #d6d6d6;
  --tomorrow-line: #efefef;
  --tomorrow-window: #efefef;
}

:not(*) {
  --tomorrow-background: #1d1f21;
  --tomorrow-foreground: #c5c8c6;
  --tomorrow-selection: #373b41;
  --tomorrow-line: #282a2e;
  --tomorrow-window: #4d5057;
}

:not(*) {
  --tomorrow-background: #2d2d2d;
  --tomorrow-foreground: #cccccc;
  --tomorrow-selection: #515151;
  --tomorrow-line: #393939;
  --tomorrow-window: #4d5057;
}

:not(*) {
  --tomorrow-background: #002451;
  --tomorrow-foreground: #ffffff;
  --tomorrow-selection: #003f8e;
  --tomorrow-line: #00346e;
  --tomorrow-window: #4d5057;
}

:not(*) {
  --tomorrow-background: #000000;
  --tomorrow-foreground: #eaeaea;
  --tomorrow-selection: #424242;
  --tomorrow-line: #2a2a2a;
  --tomorrow-window: #4d5057;
}

body:has(#theme-mode-auto:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-bright:checked),
:not(*),
:not(*),
:not(*),
:not(*) {
  --theme-normal-bg: var(--tomorrow-background);
  --theme-panel-bg: var(--tomorrow-line);
  --theme-normal-fg: var(--tomorrow-foreground);
  --theme-panel-fg: var(--tomorrow-foreground);
  --theme-muted-fg: var(--base01);
  --theme-border: var(--tomorrow-window);
  --theme-selection-bg: var(--tomorrow-selection);
  --theme-selection-fg: var(--tomorrow-foreground);
  --theme-title: var(--base01);
  --syntax-normal: var(--tomorrow-foreground);
  --syntax-comment: var(--base01);
  --syntax-keyword: var(--orange);
  --syntax-type: var(--blue);
  --syntax-preproc: var(--violet);
  --syntax-string: var(--green);
  --syntax-regexp: var(--green);
  --syntax-special: var(--tomorrow-foreground);
  --syntax-function: var(--blue);
  --syntax-number: var(--orange);
  --syntax-identifier: var(--red);
  --syntax-builtin: var(--tomorrow-foreground);
  --syntax-tag: var(--blue);
  --syntax-class: var(--violet);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--orange);
  --syntax-constant: var(--orange);
  --syntax-operator: var(--cyan);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--base01);
  --syntax-subheading: var(--blue);
}

/* Nord Vim roles use Nord's numbered palette names. */
:not(*) {
  --nord0: #2e3440;
  --nord1: #3b4252;
  --nord2: #434c5e;
  --nord3: #4c566a;
  --nord3_bright: #616e88;
  --nord4: #d8dee9;
  --nord5: #e5e9f0;
  --nord6: #eceff4;
  --nord7: #8fbcbb;
  --nord8: #88c0d0;
  --nord9: #81a1c1;
  --nord10: #5e81ac;
  --nord11: #bf616a;
  --nord12: #d08770;
  --nord13: #ebcb8b;
  --nord14: #a3be8c;
  --nord15: #b48ead;
  --theme-normal-bg: var(--nord0);
  --theme-panel-bg: var(--nord2);
  --theme-normal-fg: var(--nord4);
  --theme-panel-fg: var(--nord4);
  --theme-muted-fg: var(--nord3_bright);
  --theme-border: var(--nord2);
  --theme-selection-bg: var(--nord2);
  --theme-selection-fg: var(--nord4);
  --theme-title: var(--nord4);
  --syntax-normal: var(--nord4);
  --syntax-comment: var(--nord3_bright);
  --syntax-keyword: var(--nord9);
  --syntax-type: var(--nord9);
  --syntax-preproc: var(--nord9);
  --syntax-string: var(--nord14);
  --syntax-regexp: var(--nord14);
  --syntax-special: var(--nord4);
  --syntax-function: var(--nord8);
  --syntax-number: var(--nord15);
  --syntax-identifier: var(--nord4);
  --syntax-builtin: var(--nord9);
  --syntax-tag: var(--nord4);
  --syntax-class: var(--nord9);
  --syntax-decorator: var(--nord12);
  --syntax-exception: var(--nord9);
  --syntax-constant: var(--nord4);
  --syntax-operator: var(--nord9);
  --syntax-error: var(--nord11);
  --syntax-inserted: var(--nord14);
  --syntax-deleted: var(--nord11);
  --syntax-heading: var(--nord4);
  --syntax-subheading: var(--nord8);
}

/* Everforest generic Vim roles. */
:not(*) {
  --everforest-bg_visual: #4c3743;
  --everforest-bg2: #374145;
  --everforest-bg4: #495156;
}

:not(*) {
  --everforest-bg_visual: #543a48;
  --everforest-bg2: #3d484d;
  --everforest-bg4: #4f585e;
}

:not(*) {
  --everforest-bg_visual: #5c3f4f;
  --everforest-bg2: #434f55;
  --everforest-bg4: #555f66;
}

body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-light:checked) {
  --everforest-bg_visual: #f0f2d4;
  --everforest-bg2: #f2efdf;
  --everforest-bg4: #e8e5d5;
}

body:has(#theme-mode-auto:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-light:checked) {
  --everforest-bg_visual: #eaedc8;
  --everforest-bg2: #efebd4;
  --everforest-bg4: #e0dcc7;
}

body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-light:checked) {
  --everforest-bg_visual: #e1e4bd;
  --everforest-bg2: #e5dfc5;
  --everforest-bg4: #d8d3ba;
}

:not(*),
:not(*),
:not(*) {
  --everforest-bg0: var(--base03);
  --everforest-fg: var(--base0);
  --everforest-grey1: #859289;
}

body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-light:checked) {
  --everforest-bg0: var(--base3);
  --everforest-fg: var(--base03);
  --everforest-grey1: #939f91;
}

:not(*),
:not(*),
:not(*),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-light:checked) {
  --theme-normal-bg: var(--everforest-bg0);
  --theme-panel-bg: var(--everforest-bg2);
  --theme-normal-fg: var(--everforest-fg);
  --theme-panel-fg: var(--everforest-fg);
  --theme-muted-fg: var(--everforest-grey1);
  --theme-border: var(--everforest-bg4);
  --theme-selection-bg: var(--everforest-bg_visual);
  --theme-selection-fg: var(--everforest-fg);
  --theme-title: var(--orange);
  --syntax-normal: var(--everforest-fg);
  --syntax-comment: var(--everforest-grey1);
  --syntax-keyword: var(--red);
  --syntax-type: var(--yellow);
  --syntax-preproc: var(--violet);
  --syntax-string: var(--green);
  --syntax-regexp: var(--green);
  --syntax-special: var(--yellow);
  --syntax-function: var(--green);
  --syntax-number: var(--violet);
  --syntax-identifier: var(--blue);
  --syntax-builtin: var(--yellow);
  --syntax-tag: var(--orange);
  --syntax-class: var(--yellow);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--red);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--orange);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--orange);
  --syntax-subheading: var(--blue);
}

/* Edge generic Vim roles. */
:not(*),
:not(*),
:not(*),
:not(*) {
  --edge-bg0: var(--base03);
  --edge-fg: var(--base0);
  --edge-grey: var(--base00);
  --edge-black: #202023;
}

:not(*) {
  --edge-bg2: #363944;
  --edge-bg3: #3b3e48;
}

:not(*),
:not(*) {
  --edge-bg2: #363a49;
  --edge-bg3: #3a3e4e;
}

:not(*) {
  --edge-bg2: #363a4e;
  --edge-bg3: #393e53;
}

body:has(#theme-mode-auto:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura-dim:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-light:checked) {
  --edge-bg0: var(--base3);
  --edge-bg2: #e8ebf0;
  --edge-bg3: #e8ebf0;
  --edge-fg: var(--base03);
  --edge-grey: var(--base02);
  --edge-black: #dde2e7;
}

:not(*),
:not(*),
:not(*),
:not(*),
body:has(#theme-mode-auto:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura-dim:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-light:checked) {
  --theme-normal-bg: var(--edge-bg0);
  --theme-panel-bg: var(--edge-bg2);
  --theme-normal-fg: var(--edge-fg);
  --theme-panel-fg: var(--edge-fg);
  --theme-muted-fg: var(--edge-grey);
  --theme-border: var(--edge-black);
  --theme-selection-bg: var(--edge-bg3);
  --theme-selection-fg: var(--edge-fg);
  --theme-title: var(--violet);
  --syntax-normal: var(--edge-fg);
  --syntax-comment: var(--edge-grey);
  --syntax-keyword: var(--violet);
  --syntax-type: var(--red);
  --syntax-preproc: var(--violet);
  --syntax-string: var(--green);
  --syntax-regexp: var(--green);
  --syntax-special: var(--yellow);
  --syntax-function: var(--blue);
  --syntax-number: var(--green);
  --syntax-identifier: var(--cyan);
  --syntax-builtin: var(--yellow);
  --syntax-tag: var(--yellow);
  --syntax-class: var(--red);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--violet);
  --syntax-constant: var(--yellow);
  --syntax-operator: var(--violet);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--violet);
  --syntax-subheading: var(--blue);
}

/* Sonokai generic Vim roles. */
:not(*) {
  --sonokai-black: #181a1c;
  --sonokai-bg2: #363944;
  --sonokai-bg4: #414550;
}

:not(*) {
  --sonokai-black: #181a1c;
  --sonokai-bg2: #373c4b;
  --sonokai-bg4: #424b5b;
}

:not(*) {
  --sonokai-black: #181a1c;
  --sonokai-bg2: #363a4e;
  --sonokai-bg4: #3f445b;
}

:not(*) {
  --sonokai-black: #1a181a;
  --sonokai-bg2: #3b383e;
  --sonokai-bg4: #49464e;
}

:not(*) {
  --sonokai-black: #1c1e1f;
  --sonokai-bg2: #353f46;
  --sonokai-bg4: #414b53;
}

:not(*) {
  --sonokai-black: #1f1e1c;
  --sonokai-bg2: #413937;
  --sonokai-bg4: #4e433f;
}

:not(*),
:not(*),
:not(*),
:not(*),
:not(*),
:not(*) {
  --sonokai-bg0: var(--base03);
  --sonokai-fg: var(--base0);
  --sonokai-grey: var(--base00);
  --theme-normal-bg: var(--sonokai-bg0);
  --theme-panel-bg: var(--sonokai-bg2);
  --theme-normal-fg: var(--sonokai-fg);
  --theme-panel-fg: var(--sonokai-fg);
  --theme-muted-fg: var(--sonokai-grey);
  --theme-border: var(--sonokai-black);
  --theme-selection-bg: var(--sonokai-bg4);
  --theme-selection-fg: var(--sonokai-fg);
  --theme-title: var(--red);
  --syntax-normal: var(--sonokai-fg);
  --syntax-comment: var(--sonokai-grey);
  --syntax-keyword: var(--red);
  --syntax-type: var(--blue);
  --syntax-preproc: var(--red);
  --syntax-string: var(--yellow);
  --syntax-regexp: var(--yellow);
  --syntax-special: var(--violet);
  --syntax-function: var(--green);
  --syntax-number: var(--violet);
  --syntax-identifier: var(--orange);
  --syntax-builtin: var(--violet);
  --syntax-tag: var(--orange);
  --syntax-class: var(--blue);
  --syntax-decorator: var(--red);
  --syntax-exception: var(--red);
  --syntax-constant: var(--orange);
  --syntax-operator: var(--red);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--red);
  --syntax-subheading: var(--blue);
}

/* Spring Night defines highlight-group colours directly. */
:not(*),
:not(*) {
  --spring-night-normal: #fffeeb;
  --spring-night-comment: #8d9eb2;
  --spring-night-constant: #fd8489;
  --spring-night-string: #a9dd9d;
  --spring-night-statement: #a8d2eb;
  --spring-night-function: #f0aa8a;
  --spring-night-keyword: #f0eaaa;
  --spring-night-type: #fedf81;
  --spring-night-special-comment: #e7c6b7;
  --spring-night-menu: #e7d5ff;
  --spring-night-visual: #70495d;
  --theme-normal-bg: var(--base03);
  --theme-panel-bg: var(--base02);
  --theme-normal-fg: var(--spring-night-normal);
  --theme-panel-fg: var(--spring-night-normal);
  --theme-muted-fg: var(--spring-night-comment);
  --theme-border: var(--base01);
  --theme-selection-bg: var(--spring-night-visual);
  --theme-selection-fg: var(--spring-night-normal);
  --theme-title: var(--spring-night-type);
  --syntax-normal: var(--spring-night-normal);
  --syntax-comment: var(--spring-night-comment);
  --syntax-keyword: var(--spring-night-keyword);
  --syntax-type: var(--spring-night-type);
  --syntax-preproc: var(--spring-night-function);
  --syntax-string: var(--spring-night-string);
  --syntax-regexp: var(--spring-night-string);
  --syntax-special: var(--spring-night-keyword);
  --syntax-function: var(--spring-night-function);
  --syntax-number: var(--spring-night-constant);
  --syntax-identifier: var(--spring-night-type);
  --syntax-builtin: var(--spring-night-keyword);
  --syntax-tag: var(--spring-night-function);
  --syntax-class: var(--spring-night-type);
  --syntax-decorator: var(--spring-night-special-comment);
  --syntax-exception: var(--spring-night-statement);
  --syntax-constant: var(--spring-night-constant);
  --syntax-operator: var(--spring-night-function);
  --syntax-error: var(--spring-night-constant);
  --syntax-inserted: var(--spring-night-string);
  --syntax-deleted: var(--spring-night-constant);
  --syntax-heading: var(--spring-night-type);
  --syntax-subheading: var(--spring-night-statement);
}

/* Ayu v8 named editor, UI, syntax, VCS, and common roles. */
:not(*) {
  --ayu-editor-bg: #0d1017;
  --ayu-editor-fg: #bfbdb6;
  --ayu-editor-line: #131721;
  --ayu-editor-selection-active: #409fff4d;
  --ayu-ui-panel-bg: #0f131a;
  --ayu-ui-fg: #565b66;
  --ayu-syntax-tag: #39bae6;
  --ayu-syntax-func: #ffb454;
  --ayu-syntax-entity: #59c2ff;
  --ayu-syntax-string: #aad94c;
  --ayu-syntax-regexp: #95e6cb;
  --ayu-syntax-markup: #f07178;
  --ayu-syntax-keyword: #ff8f40;
  --ayu-syntax-special: #e6b673;
  --ayu-syntax-comment: #acb6bf8c;
  --ayu-syntax-constant: #d2a6ff;
  --ayu-syntax-operator: #f29668;
  --ayu-vcs-added: #7fd962;
  --ayu-vcs-removed: #f26d78;
  --ayu-common-accent: #e6b450;
  --ayu-common-error: #d95757;
}

:not(*) {
  --ayu-editor-bg: #242936;
  --ayu-editor-fg: #cccac2;
  --ayu-editor-line: #1a1f29;
  --ayu-editor-selection-active: #409fff40;
  --ayu-ui-panel-bg: #1c212b;
  --ayu-ui-fg: #707a8c;
  --ayu-syntax-tag: #5ccfe6;
  --ayu-syntax-func: #ffd173;
  --ayu-syntax-entity: #73d0ff;
  --ayu-syntax-string: #d5ff80;
  --ayu-syntax-regexp: #95e6cb;
  --ayu-syntax-markup: #f28779;
  --ayu-syntax-keyword: #ffad66;
  --ayu-syntax-special: #ffdfb3;
  --ayu-syntax-comment: #b8cfe680;
  --ayu-syntax-constant: #dfbfff;
  --ayu-syntax-operator: #f29e74;
  --ayu-vcs-added: #87d96c;
  --ayu-vcs-removed: #f27983;
  --ayu-common-accent: #ffcc66;
  --ayu-common-error: #ff6666;
}

body:has(#theme-mode-auto:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-mirage:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-light:checked) {
  --ayu-editor-bg: #fcfcfc;
  --ayu-editor-fg: #5c6166;
  --ayu-editor-line: #8a91991a;
  --ayu-editor-selection-active: #035bd626;
  --ayu-ui-panel-bg: #f3f4f5;
  --ayu-ui-fg: #8a9199;
  --ayu-syntax-tag: #55b4d4;
  --ayu-syntax-func: #f2ae49;
  --ayu-syntax-entity: #399ee6;
  --ayu-syntax-string: #86b300;
  --ayu-syntax-regexp: #4cbf99;
  --ayu-syntax-markup: #f07171;
  --ayu-syntax-keyword: #fa8d3e;
  --ayu-syntax-special: #e6ba7e;
  --ayu-syntax-comment: #787b8099;
  --ayu-syntax-constant: #a37acc;
  --ayu-syntax-operator: #ed9366;
  --ayu-vcs-added: #6cbf43;
  --ayu-vcs-removed: #ff7383;
  --ayu-common-accent: #ffaa33;
  --ayu-common-error: #e65050;
}

:not(*),
:not(*),
body:has(#theme-mode-auto:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-mirage:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-light:checked) {
  --theme-normal-bg: var(--ayu-editor-bg);
  --theme-panel-bg: var(--ayu-ui-panel-bg);
  --theme-normal-fg: var(--ayu-editor-fg);
  --theme-panel-fg: var(--ayu-editor-fg);
  --theme-muted-fg: var(--ayu-ui-fg);
  --theme-border: var(--ayu-editor-line);
  --theme-selection-bg: var(--ayu-editor-selection-active);
  --theme-selection-fg: var(--ayu-editor-fg);
  --theme-title: var(--ayu-common-accent);
  --syntax-normal: var(--ayu-editor-fg);
  --syntax-comment: var(--ayu-syntax-comment);
  --syntax-keyword: var(--ayu-syntax-keyword);
  --syntax-type: var(--ayu-syntax-entity);
  --syntax-preproc: var(--ayu-syntax-keyword);
  --syntax-string: var(--ayu-syntax-string);
  --syntax-regexp: var(--ayu-syntax-regexp);
  --syntax-special: var(--ayu-syntax-special);
  --syntax-function: var(--ayu-syntax-func);
  --syntax-number: var(--ayu-syntax-constant);
  --syntax-identifier: var(--ayu-editor-fg);
  --syntax-builtin: var(--ayu-syntax-special);
  --syntax-tag: var(--ayu-syntax-tag);
  --syntax-class: var(--ayu-syntax-entity);
  --syntax-decorator: var(--ayu-syntax-func);
  --syntax-exception: var(--ayu-syntax-keyword);
  --syntax-constant: var(--ayu-syntax-constant);
  --syntax-operator: var(--ayu-syntax-operator);
  --syntax-error: var(--ayu-common-error);
  --syntax-inserted: var(--ayu-vcs-added);
  --syntax-deleted: var(--ayu-vcs-removed);
  --syntax-heading: var(--ayu-syntax-markup);
  --syntax-subheading: var(--ayu-syntax-entity);
}

/* Catppuccin Neovim palette names and highlight roles. */
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-mocha:checked) {
  --catppuccin-flamingo: #dd7878;
  --catppuccin-pink: #ea76cb;
  --catppuccin-mauve: #8839ef;
  --catppuccin-red: #d20f39;
  --catppuccin-peach: #fe640b;
  --catppuccin-yellow: #df8e1d;
  --catppuccin-green: #40a02b;
  --catppuccin-teal: #179299;
  --catppuccin-sky: #04a5e5;
  --catppuccin-sapphire: #209fb5;
  --catppuccin-blue: #1e66f5;
  --catppuccin-lavender: #7287fd;
  --catppuccin-text: #4c4f69;
  --catppuccin-overlay2: #7c7f93;
  --catppuccin-surface1: #bcc0cc;
  --catppuccin-base: #eff1f5;
  --catppuccin-mantle: #e6e9ef;
  --catppuccin-crust: #dce0e8;
}

:not(*) {
  --catppuccin-flamingo: #eebebe;
  --catppuccin-pink: #f4b8e4;
  --catppuccin-mauve: #ca9ee6;
  --catppuccin-red: #e78284;
  --catppuccin-peach: #ef9f76;
  --catppuccin-yellow: #e5c890;
  --catppuccin-green: #a6d189;
  --catppuccin-teal: #81c8be;
  --catppuccin-sky: #99d1db;
  --catppuccin-sapphire: #85c1dc;
  --catppuccin-blue: #8caaee;
  --catppuccin-lavender: #babbf1;
  --catppuccin-text: #c6d0f5;
  --catppuccin-overlay2: #949cbb;
  --catppuccin-surface1: #51576d;
  --catppuccin-base: #303446;
  --catppuccin-mantle: #292c3c;
  --catppuccin-crust: #232634;
}

:not(*) {
  --catppuccin-flamingo: #f0c6c6;
  --catppuccin-pink: #f5bde6;
  --catppuccin-mauve: #c6a0f6;
  --catppuccin-red: #ed8796;
  --catppuccin-peach: #f5a97f;
  --catppuccin-yellow: #eed49f;
  --catppuccin-green: #a6da95;
  --catppuccin-teal: #8bd5ca;
  --catppuccin-sky: #91d7e3;
  --catppuccin-sapphire: #7dc4e4;
  --catppuccin-blue: #8aadf4;
  --catppuccin-lavender: #b7bdf8;
  --catppuccin-text: #cad3f5;
  --catppuccin-overlay2: #939ab7;
  --catppuccin-surface1: #494d64;
  --catppuccin-base: #24273a;
  --catppuccin-mantle: #1e2030;
  --catppuccin-crust: #181926;
}

:not(*) {
  --catppuccin-flamingo: #f2cdcd;
  --catppuccin-pink: #f5c2e7;
  --catppuccin-mauve: #cba6f7;
  --catppuccin-red: #f38ba8;
  --catppuccin-peach: #fab387;
  --catppuccin-yellow: #f9e2af;
  --catppuccin-green: #a6e3a1;
  --catppuccin-teal: #94e2d5;
  --catppuccin-sky: #89dceb;
  --catppuccin-sapphire: #74c7ec;
  --catppuccin-blue: #89b4fa;
  --catppuccin-lavender: #b4befe;
  --catppuccin-text: #cdd6f4;
  --catppuccin-overlay2: #9399b2;
  --catppuccin-surface1: #45475a;
  --catppuccin-base: #1e1e2e;
  --catppuccin-mantle: #181825;
  --catppuccin-crust: #11111b;
}

body:has(#theme-mode-auto:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-mocha:checked),
:not(*),
:not(*),
:not(*) {
  --theme-normal-bg: var(--catppuccin-base);
  --theme-panel-bg: var(--catppuccin-mantle);
  --theme-normal-fg: var(--catppuccin-text);
  --theme-panel-fg: var(--catppuccin-text);
  --theme-muted-fg: var(--catppuccin-overlay2);
  --theme-border: var(--catppuccin-crust);
  --theme-selection-bg: var(--catppuccin-surface1);
  --theme-selection-fg: var(--catppuccin-text);
  --theme-title: var(--catppuccin-blue);
  --syntax-normal: var(--catppuccin-text);
  --syntax-comment: var(--catppuccin-overlay2);
  --syntax-keyword: var(--catppuccin-mauve);
  --syntax-type: var(--catppuccin-yellow);
  --syntax-preproc: var(--catppuccin-pink);
  --syntax-string: var(--catppuccin-green);
  --syntax-regexp: var(--catppuccin-green);
  --syntax-special: var(--catppuccin-pink);
  --syntax-function: var(--catppuccin-blue);
  --syntax-number: var(--catppuccin-peach);
  --syntax-identifier: var(--catppuccin-flamingo);
  --syntax-builtin: var(--catppuccin-pink);
  --syntax-tag: var(--catppuccin-lavender);
  --syntax-class: var(--catppuccin-yellow);
  --syntax-decorator: var(--catppuccin-pink);
  --syntax-exception: var(--catppuccin-mauve);
  --syntax-constant: var(--catppuccin-peach);
  --syntax-operator: var(--catppuccin-sky);
  --syntax-error: var(--catppuccin-red);
  --syntax-inserted: var(--catppuccin-green);
  --syntax-deleted: var(--catppuccin-red);
  --syntax-heading: var(--catppuccin-pink);
  --syntax-subheading: var(--catppuccin-blue);
}

/* Rose Pine Neovim palette names and highlight roles. */
:not(*) {
  --rose-pine-base: #191724;
  --rose-pine-surface: #1f1d2e;
  --rose-pine-muted: #6e6a86;
  --rose-pine-subtle: #908caa;
  --rose-pine-text: #e0def4;
  --rose-pine-love: #eb6f92;
  --rose-pine-gold: #f6c177;
  --rose-pine-rose: #ebbcba;
  --rose-pine-pine: #31748f;
  --rose-pine-foam: #9ccfd8;
  --rose-pine-iris: #c4a7e7;
  --rose-pine-highlight_med: #403d52;
}

:not(*) {
  --rose-pine-base: #232136;
  --rose-pine-surface: #2a273f;
  --rose-pine-muted: #6e6a86;
  --rose-pine-subtle: #908caa;
  --rose-pine-text: #e0def4;
  --rose-pine-love: #eb6f92;
  --rose-pine-gold: #f6c177;
  --rose-pine-rose: #ea9a97;
  --rose-pine-pine: #3e8fb0;
  --rose-pine-foam: #9ccfd8;
  --rose-pine-iris: #c4a7e7;
  --rose-pine-highlight_med: #44415a;
}

body:has(#theme-mode-auto:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-moon:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-dawn:checked) {
  --rose-pine-base: #faf4ed;
  --rose-pine-surface: #fffaf3;
  --rose-pine-muted: #9893a5;
  --rose-pine-subtle: #797593;
  --rose-pine-text: #464261;
  --rose-pine-love: #b4637a;
  --rose-pine-gold: #ea9d34;
  --rose-pine-rose: #d7827e;
  --rose-pine-pine: #286983;
  --rose-pine-foam: #56949f;
  --rose-pine-iris: #907aa9;
  --rose-pine-highlight_med: #dfdad9;
}

:not(*),
:not(*),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-moon:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-dawn:checked) {
  --theme-normal-bg: var(--rose-pine-base);
  --theme-panel-bg: var(--rose-pine-surface);
  --theme-normal-fg: var(--rose-pine-text);
  --theme-panel-fg: var(--rose-pine-subtle);
  --theme-muted-fg: var(--rose-pine-subtle);
  --theme-border: var(--rose-pine-muted);
  --theme-selection-bg: var(--rose-pine-highlight_med);
  --theme-selection-fg: var(--rose-pine-text);
  --theme-title: var(--rose-pine-foam);
  --syntax-normal: var(--rose-pine-text);
  --syntax-comment: var(--rose-pine-subtle);
  --syntax-keyword: var(--rose-pine-pine);
  --syntax-type: var(--rose-pine-foam);
  --syntax-preproc: var(--rose-pine-iris);
  --syntax-string: var(--rose-pine-gold);
  --syntax-regexp: var(--rose-pine-gold);
  --syntax-special: var(--rose-pine-foam);
  --syntax-function: var(--rose-pine-rose);
  --syntax-number: var(--rose-pine-gold);
  --syntax-identifier: var(--rose-pine-text);
  --syntax-builtin: var(--rose-pine-foam);
  --syntax-tag: var(--rose-pine-foam);
  --syntax-class: var(--rose-pine-foam);
  --syntax-decorator: var(--rose-pine-iris);
  --syntax-exception: var(--rose-pine-pine);
  --syntax-constant: var(--rose-pine-gold);
  --syntax-operator: var(--rose-pine-subtle);
  --syntax-error: var(--rose-pine-love);
  --syntax-inserted: var(--rose-pine-foam);
  --syntax-deleted: var(--rose-pine-love);
  --syntax-heading: var(--rose-pine-iris);
  --syntax-subheading: var(--rose-pine-foam);
}

/* Selenized Vim roles use bg_*, dim_0, fg_*, and bright accents. */
:not(*) {
  --selenized-bg_0: #103c48;
  --selenized-bg_1: #184956;
  --selenized-bg_2: #2d5b69;
  --selenized-dim_0: #72898f;
  --selenized-fg_0: #adbcbc;
  --selenized-fg_1: #cad8d9;
  --selenized-br_yellow: #ebc13d;
  --selenized-br_blue: #58a3ff;
}

:not(*) {
  --selenized-bg_0: #181818;
  --selenized-bg_1: #252525;
  --selenized-bg_2: #3b3b3b;
  --selenized-dim_0: #777777;
  --selenized-fg_0: #b9b9b9;
  --selenized-fg_1: #dedede;
  --selenized-br_yellow: #efc541;
  --selenized-br_blue: #4f9cfe;
}

body:has(#theme-mode-auto:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-light:checked) {
  --selenized-bg_0: #fbf3db;
  --selenized-bg_1: #e9e4d0;
  --selenized-bg_2: #cfcebe;
  --selenized-dim_0: #909995;
  --selenized-fg_0: #53676d;
  --selenized-fg_1: #3a4d53;
  --selenized-br_yellow: #a78300;
  --selenized-br_blue: #006dce;
}

body:has(#theme-mode-auto:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-white:checked) {
  --selenized-bg_0: #ffffff;
  --selenized-bg_1: #ebebeb;
  --selenized-bg_2: #cdcdcd;
  --selenized-dim_0: #878787;
  --selenized-fg_0: #474747;
  --selenized-fg_1: #282828;
  --selenized-br_yellow: #af8500;
  --selenized-br_blue: #0054cf;
}

:not(*),
:not(*),
body:has(#theme-mode-auto:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-white:checked) {
  --theme-normal-bg: var(--selenized-bg_0);
  --theme-panel-bg: var(--selenized-bg_1);
  --theme-normal-fg: var(--selenized-fg_0);
  --theme-panel-fg: var(--selenized-dim_0);
  --theme-muted-fg: var(--selenized-dim_0);
  --theme-border: var(--selenized-dim_0);
  --theme-selection-bg: var(--selenized-bg_2);
  --theme-selection-fg: var(--selenized-fg_0);
  --theme-title: var(--selenized-fg_1);
  --syntax-normal: var(--selenized-fg_0);
  --syntax-comment: var(--selenized-dim_0);
  --syntax-keyword: var(--selenized-br_yellow);
  --syntax-type: var(--green);
  --syntax-preproc: var(--orange);
  --syntax-string: var(--cyan);
  --syntax-regexp: var(--cyan);
  --syntax-special: var(--red);
  --syntax-function: var(--selenized-br_blue);
  --syntax-number: var(--cyan);
  --syntax-identifier: var(--selenized-br_blue);
  --syntax-builtin: var(--red);
  --syntax-tag: var(--red);
  --syntax-class: var(--green);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--selenized-br_yellow);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--selenized-br_yellow);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--selenized-fg_1);
  --syntax-subheading: var(--selenized-br_blue);
}

/* OKSolar uses the Solarized role map with its own named palette. */
:not(*) {
  --theme-normal-bg: var(--base03);
  --theme-panel-bg: var(--base02);
  --theme-normal-fg: var(--base0);
  --theme-panel-fg: var(--base0);
  --theme-muted-fg: var(--base01);
  --theme-border: var(--base00);
  --theme-selection-bg: var(--base01);
  --theme-selection-fg: var(--base03);
  --theme-title: var(--orange);
}

body:has(#theme-mode-auto:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-light:checked) {
  --theme-normal-bg: var(--base3);
  --theme-panel-bg: var(--base2);
  --theme-normal-fg: var(--base00);
  --theme-panel-fg: var(--base00);
  --theme-muted-fg: var(--base1);
  --theme-border: var(--base0);
  --theme-selection-bg: var(--base1);
  --theme-selection-fg: var(--base3);
  --theme-title: var(--orange);
}

:not(*),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-light:checked) {
  --syntax-normal: var(--base0);
  --syntax-comment: var(--base01);
  --syntax-keyword: var(--green);
  --syntax-type: var(--yellow);
  --syntax-preproc: var(--orange);
  --syntax-string: var(--cyan);
  --syntax-regexp: var(--cyan);
  --syntax-special: var(--red);
  --syntax-function: var(--blue);
  --syntax-number: var(--cyan);
  --syntax-identifier: var(--blue);
  --syntax-builtin: var(--red);
  --syntax-tag: var(--red);
  --syntax-class: var(--yellow);
  --syntax-decorator: var(--violet);
  --syntax-exception: var(--green);
  --syntax-constant: var(--cyan);
  --syntax-operator: var(--green);
  --syntax-error: var(--red);
  --syntax-inserted: var(--green);
  --syntax-deleted: var(--red);
  --syntax-heading: var(--orange);
  --syntax-subheading: var(--blue);
}

body:has(#theme-mode-auto:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-light:checked) {
  --syntax-normal: var(--base00);
  --syntax-comment: var(--base1);
}



body:has(#theme-mode-auto:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-solarized-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-white:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-bright:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura-dim:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-mirage:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-mocha:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-moon:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-dawn:checked) {
  margin: 0;
  min-block-size: 100%;
  --page-bg: var(--theme-normal-bg);
  --panel-bg: var(--theme-panel-bg);
  --text: var(--theme-normal-fg);
  --strong: var(--theme-normal-fg);
  --heading: var(--theme-title);
  --muted: var(--theme-muted-fg);
  --line: var(--theme-border);
  --code-bg: var(--theme-normal-bg);
  --code-text: var(--theme-normal-fg);
  --code-border: var(--theme-border);
  --code-title-bg: var(--theme-panel-bg);
  --code-title-text: var(--theme-panel-fg);
  --download-hover-border: var(--theme-title);
  --index-selected-bg: var(--theme-selection-bg);
  --index-selected-border: var(--theme-title);
  --index-selected-text: var(--theme-selection-fg);
  --index-subsection-selected-bg: var(--theme-selection-bg);
  --index-subsection-selected-border: var(--theme-border);
  --index-subsection-selected-text: var(--theme-selection-fg);
  --interactive-text: var(--theme-panel-fg);
  --functional-cue: var(--theme-normal-fg);
  --interface-error: var(--syntax-error);
  background: var(--page-bg);
  color: var(--text);
  font-size: 1rem;
  line-height: 1.65;
}

body:has(#theme-mode-auto:checked):has(#theme-solarized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-solarized-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-black:checked),
body:has(#theme-mode-auto:checked):has(#theme-selenized-white:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-oksolar-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-material-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-mix-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-medium-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-gruvbox-original-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-night:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-eighties:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-blue:checked),
body:has(#theme-mode-auto:checked):has(#theme-tomorrow-bright:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-hard-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-everforest-soft-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-neon:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-aura-dim:checked),
body:has(#theme-mode-auto:checked):has(#theme-edge-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-dark:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-mirage:checked),
body:has(#theme-mode-auto:checked):has(#theme-ayu-light:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-latte:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-frappe:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-macchiato:checked),
body:has(#theme-mode-auto:checked):has(#theme-catppuccin-mocha:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-moon:checked),
body:has(#theme-mode-auto:checked):has(#theme-rose-pine-dawn:checked) {
  color-scheme: light;
}

}
