diff --git a/src/web/html/index.html b/src/web/html/index.html
index a064e8cf..91517da4 100755
--- a/src/web/html/index.html
+++ b/src/web/html/index.html
@@ -448,6 +448,10 @@
+
+
+
+
diff --git a/src/web/stylesheets/index.css b/src/web/stylesheets/index.css
index 3f0d3e4f..48523c3b 100755
--- a/src/web/stylesheets/index.css
+++ b/src/web/stylesheets/index.css
@@ -13,6 +13,10 @@
@import "./themes/_nord.css";
@import "./themes/_solarizedDark.css";
@import "./themes/_solarizedLight.css";
+@import "./themes/_catppuccin_frappe.css";
+@import "./themes/_catppuccin_latte.css";
+@import "./themes/_catppuccin_macchiato.css";
+@import "./themes/_catppuccin_mocha.css";
/* Utilities */
@import "./utils/_overrides.css";
diff --git a/src/web/stylesheets/themes/_catppuccin_frappe.css b/src/web/stylesheets/themes/_catppuccin_frappe.css
new file mode 100755
index 00000000..a9672d67
--- /dev/null
+++ b/src/web/stylesheets/themes/_catppuccin_frappe.css
@@ -0,0 +1,159 @@
+/**
+ * Catppuccin Frappé theme definitions
+ *
+ * Based on the Catppuccin color palette
+ * https://catppuccin.com/
+ *
+ * @copyright Crown Copyright 2025
+ * @license Apache-2.0
+ */
+
+:root.catppuccin-frappe {
+ /* Catppuccin Frappé Color Palette */
+ --frappe-rosewater: #f2d5cf;
+ --frappe-flamingo: #eebebe;
+ --frappe-pink: #f4b8e4;
+ --frappe-mauve: #ca9ee6;
+ --frappe-red: #e78284;
+ --frappe-maroon: #ea999c;
+ --frappe-peach: #ef9f76;
+ --frappe-yellow: #e5c890;
+ --frappe-green: #a6d189;
+ --frappe-teal: #81c8be;
+ --frappe-sky: #99d1db;
+ --frappe-sapphire: #85c1dc;
+ --frappe-blue: #8caaee;
+ --frappe-lavender: #babbf1;
+ --frappe-text: #c6d0f5;
+ --frappe-subtext1: #b5bfe2;
+ --frappe-subtext0: #a5adce;
+ --frappe-overlay2: #949cbb;
+ --frappe-overlay1: #838ba7;
+ --frappe-overlay0: #737994;
+ --frappe-surface2: #626880;
+ --frappe-surface1: #51576d;
+ --frappe-surface0: #414559;
+ --frappe-base: #303446; /* Primary Background */
+ --frappe-mantle: #292c3c; /* Secondary Background */
+ --frappe-crust: #232634; /* Borders, accessory background */
+
+ /* General */
+ --primary-font-family:
+ -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
+ Arial, sans-serif;
+ --primary-font-colour: var(--frappe-text);
+ --primary-font-size: 14px;
+ --primary-line-height: 20px;
+
+ --fixed-width-font-family:
+ SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
+ "Courier New", monospace;
+ --fixed-width-font-colour: var(--frappe-text);
+ --fixed-width-font-size: inherit;
+
+ --subtext-font-colour: var(--frappe-subtext0);
+ --subtext-font-size: 13px;
+
+ --primary-background-colour: var(--frappe-base);
+ --secondary-background-colour: var(--frappe-mantle);
+
+ --primary-border-colour: var(--frappe-surface1);
+ --secondary-border-colour: var(--frappe-surface0);
+
+ --title-colour: var(--frappe-text);
+ --title-weight: bold;
+ --title-background-colour: var(--frappe-mantle);
+
+ --banner-font-colour: var(--frappe-base);
+ --banner-bg-colour: var(--frappe-blue);
+ --banner-url-colour: var(--frappe-sky);
+
+ --category-list-font-colour: var(--frappe-text);
+
+ --loader-background-colour: var(--frappe-mantle);
+ --loader-outer-colour: var(--frappe-blue);
+ --loader-middle-colour: var(--frappe-sky);
+ --loader-inner-colour: var(--frappe-sapphire);
+
+ /* Operation colours */
+ --op-list-operation-font-colour: var(--frappe-text);
+ --op-list-operation-bg-colour: var(--frappe-base);
+ --op-list-operation-border-colour: var(--frappe-surface0);
+
+ --rec-list-operation-font-colour: var(--frappe-base);
+ --rec-list-operation-bg-colour: var(--frappe-sapphire);
+ --rec-list-operation-border-colour: var(--frappe-sky);
+
+ --selected-operation-font-color: var(--frappe-base);
+ --selected-operation-bg-colour: var(--frappe-blue);
+ --selected-operation-border-colour: var(--frappe-sapphire);
+
+ --breakpoint-font-colour: var(--frappe-base);
+ --breakpoint-bg-colour: var(--frappe-red);
+ --breakpoint-border-colour: var(--frappe-red);
+
+ --disabled-font-colour: var(--frappe-overlay1);
+ --disabled-bg-colour: var(--frappe-surface0);
+ --disabled-border-colour: var(--frappe-surface1);
+
+ --fc-operation-font-colour: var(--frappe-base);
+ --fc-operation-bg-colour: var(--frappe-mauve);
+ --fc-operation-border-colour: var(--frappe-mauve);
+
+ --fc-breakpoint-operation-font-colour: var(--frappe-base);
+ --fc-breakpoint-operation-bg-colour: var(--frappe-red);
+ --fc-breakpoint-operation-border-colour: var(--frappe-maroon);
+
+ /* Operation arguments */
+ --op-title-font-weight: bold;
+ --arg-font-colour: var(--frappe-subtext1);
+ --arg-background: var(--frappe-mantle);
+ --arg-border-colour: var(--frappe-surface1);
+ --arg-disabled-background: var(--frappe-surface0);
+ --arg-label-colour: var(--frappe-blue);
+
+ /* Operation buttons */
+ --disable-icon-colour: var(--frappe-text);
+ --disable-icon-selected-colour: var(--frappe-peach);
+ --breakpoint-icon-colour: var(--frappe-text);
+ --breakpoint-icon-selected-colour: var(--frappe-red);
+
+ /* Buttons */
+ --btn-default-font-colour: var(--frappe-text);
+ --btn-default-bg-colour: var(--frappe-surface0);
+ --btn-default-border-colour: var(--frappe-surface1);
+
+ --btn-default-hover-font-colour: var(--frappe-text);
+ --btn-default-hover-bg-colour: var(--frappe-surface1);
+ --btn-default-hover-border-colour: var(--frappe-surface2);
+
+ --btn-success-font-colour: var(--frappe-base);
+ --btn-success-bg-colour: var(--frappe-green);
+ --btn-success-border-colour: var(--frappe-green);
+
+ --btn-success-hover-font-colour: var(--frappe-base);
+ --btn-success-hover-bg-colour: #b1d992; /* Lighter frappe-green */
+ --btn-success-hover-border-colour: #b1d992;
+
+ /* Highlighter colours */
+ --hl1: var(--frappe-yellow);
+ --hl2: var(--frappe-sky);
+ --hl3: var(--frappe-red);
+ --hl4: var(--frappe-mauve);
+ --hl5: var(--frappe-green);
+
+ /* Scrollbar */
+ --scrollbar-track: var(--frappe-mantle);
+ --scrollbar-thumb: var(--frappe-surface1);
+ --scrollbar-hover: var(--frappe-surface2);
+
+ /* Misc. */
+ --drop-file-border-colour: var(--frappe-blue);
+ --table-border-colour: var(--frappe-surface0);
+ --popover-background: var(--frappe-crust);
+ --popover-border-colour: var(--frappe-surface1);
+ --code-background: var(--frappe-mantle);
+ --code-font-colour: var(--frappe-subtext1);
+ --input-highlight-colour: var(--frappe-blue);
+ --input-border-colour: var(--frappe-surface1);
+}
diff --git a/src/web/stylesheets/themes/_catppuccin_latte.css b/src/web/stylesheets/themes/_catppuccin_latte.css
new file mode 100755
index 00000000..abef95ef
--- /dev/null
+++ b/src/web/stylesheets/themes/_catppuccin_latte.css
@@ -0,0 +1,159 @@
+/**
+ * Catppuccin Latte theme definitions
+ *
+ * Based on the Catppuccin color palette
+ * https://catppuccin.com/
+ *
+ * @copyright Crown Copyright 2025
+ * @license Apache-2.0
+ */
+
+:root.catppuccin-latte {
+ /* Catppuccin Latte Color Palette */
+ --latte-rosewater: #dc8a78;
+ --latte-flamingo: #dd7878;
+ --latte-pink: #ea76cb;
+ --latte-mauve: #8839ef;
+ --latte-red: #d20f39;
+ --latte-maroon: #e64553;
+ --latte-peach: #fe640b;
+ --latte-yellow: #df8e1d;
+ --latte-green: #40a02b;
+ --latte-teal: #179299;
+ --latte-sky: #04a5e5;
+ --latte-sapphire: #209fb5;
+ --latte-blue: #1e66f5;
+ --latte-lavender: #7287fd;
+ --latte-text: #4c4f69;
+ --latte-subtext1: #5c5f77;
+ --latte-subtext0: #6c6f85;
+ --latte-overlay2: #7c7f93;
+ --latte-overlay1: #8c8fa1;
+ --latte-overlay0: #9ca0b0;
+ --latte-surface2: #acb0be;
+ --latte-surface1: #bcc0cc;
+ --latte-surface0: #ccd0da;
+ --latte-base: #eff1f5; /* Primary Background */
+ --latte-mantle: #e6e9ef; /* Secondary Background */
+ --latte-crust: #dce0e8; /* Borders, accessory background */
+
+ /* General */
+ --primary-font-family:
+ -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
+ Arial, sans-serif;
+ --primary-font-colour: var(--latte-text);
+ --primary-font-size: 14px;
+ --primary-line-height: 20px;
+
+ --fixed-width-font-family:
+ SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
+ "Courier New", monospace;
+ --fixed-width-font-colour: var(--latte-text);
+ --fixed-width-font-size: inherit;
+
+ --subtext-font-colour: var(--latte-subtext0);
+ --subtext-font-size: 13px;
+
+ --primary-background-colour: var(--latte-base);
+ --secondary-background-colour: var(--latte-mantle);
+
+ --primary-border-colour: var(--latte-surface1);
+ --secondary-border-colour: var(--latte-surface0);
+
+ --title-colour: var(--latte-text);
+ --title-weight: bold;
+ --title-background-colour: var(--latte-mantle);
+
+ --banner-font-colour: var(--latte-base);
+ --banner-bg-colour: var(--latte-blue);
+ --banner-url-colour: var(--latte-sky);
+
+ --category-list-font-colour: var(--latte-text);
+
+ --loader-background-colour: var(--latte-mantle);
+ --loader-outer-colour: var(--latte-blue);
+ --loader-middle-colour: var(--latte-sky);
+ --loader-inner-colour: var(--latte-sapphire);
+
+ /* Operation colours */
+ --op-list-operation-font-colour: var(--latte-text);
+ --op-list-operation-bg-colour: var(--latte-base);
+ --op-list-operation-border-colour: var(--latte-surface0);
+
+ --rec-list-operation-font-colour: var(--latte-base);
+ --rec-list-operation-bg-colour: var(--latte-sapphire);
+ --rec-list-operation-border-colour: var(--latte-sky);
+
+ --selected-operation-font-color: var(--latte-base);
+ --selected-operation-bg-colour: var(--latte-blue);
+ --selected-operation-border-colour: var(--latte-sapphire);
+
+ --breakpoint-font-colour: var(--latte-base);
+ --breakpoint-bg-colour: var(--latte-red);
+ --breakpoint-border-colour: var(--latte-red);
+
+ --disabled-font-colour: var(--latte-overlay1);
+ --disabled-bg-colour: var(--latte-surface0);
+ --disabled-border-colour: var(--latte-surface1);
+
+ --fc-operation-font-colour: var(--latte-base);
+ --fc-operation-bg-colour: var(--latte-mauve);
+ --fc-operation-border-colour: var(--latte-mauve);
+
+ --fc-breakpoint-operation-font-colour: var(--latte-base);
+ --fc-breakpoint-operation-bg-colour: var(--latte-red);
+ --fc-breakpoint-operation-border-colour: var(--latte-maroon);
+
+ /* Operation arguments */
+ --op-title-font-weight: bold;
+ --arg-font-colour: var(--latte-subtext1);
+ --arg-background: var(--latte-mantle);
+ --arg-border-colour: var(--latte-surface1);
+ --arg-disabled-background: var(--latte-surface0);
+ --arg-label-colour: var(--latte-blue);
+
+ /* Operation buttons */
+ --disable-icon-colour: var(--latte-text);
+ --disable-icon-selected-colour: var(--latte-peach);
+ --breakpoint-icon-colour: var(--latte-text);
+ --breakpoint-icon-selected-colour: var(--latte-red);
+
+ /* Buttons */
+ --btn-default-font-colour: var(--latte-text);
+ --btn-default-bg-colour: var(--latte-surface0);
+ --btn-default-border-colour: var(--latte-surface1);
+
+ --btn-default-hover-font-colour: var(--latte-text);
+ --btn-default-hover-bg-colour: var(--latte-surface1);
+ --btn-default-hover-border-colour: var(--latte-surface2);
+
+ --btn-success-font-colour: var(--latte-base);
+ --btn-success-bg-colour: var(--latte-green);
+ --btn-success-border-colour: var(--latte-green);
+
+ --btn-success-hover-font-colour: var(--latte-base);
+ --btn-success-hover-bg-colour: #57b340; /* Lighter latte-green */
+ --btn-success-hover-border-colour: #57b340;
+
+ /* Highlighter colours */
+ --hl1: var(--latte-yellow);
+ --hl2: var(--latte-sky);
+ --hl3: var(--latte-red);
+ --hl4: var(--latte-mauve);
+ --hl5: var(--latte-green);
+
+ /* Scrollbar */
+ --scrollbar-track: var(--latte-mantle);
+ --scrollbar-thumb: var(--latte-surface1);
+ --scrollbar-hover: var(--latte-surface2);
+
+ /* Misc. */
+ --drop-file-border-colour: var(--latte-blue);
+ --table-border-colour: var(--latte-surface0);
+ --popover-background: var(--latte-crust);
+ --popover-border-colour: var(--latte-surface1);
+ --code-background: var(--latte-mantle);
+ --code-font-colour: var(--latte-subtext1);
+ --input-highlight-colour: var(--latte-blue);
+ --input-border-colour: var(--latte-surface1);
+}
diff --git a/src/web/stylesheets/themes/_catppuccin_macchiato.css b/src/web/stylesheets/themes/_catppuccin_macchiato.css
new file mode 100755
index 00000000..85235cd0
--- /dev/null
+++ b/src/web/stylesheets/themes/_catppuccin_macchiato.css
@@ -0,0 +1,159 @@
+/**
+ * Catppuccin Macchiato theme definitions
+ *
+ * Based on the Catppuccin color palette
+ * https://catppuccin.com/
+ *
+ * @copyright Crown Copyright 2025
+ * @license Apache-2.0
+ */
+
+:root.catppuccin-macchiato {
+ /* Catppuccin Macchiato Color Palette */
+ --macchiato-rosewater: #f4dbd6;
+ --macchiato-flamingo: #f0c6c6;
+ --macchiato-pink: #f5bde6;
+ --macchiato-mauve: #c6a0f6;
+ --macchiato-red: #ed8796;
+ --macchiato-maroon: #ee99a0;
+ --macchiato-peach: #f5a97f;
+ --macchiato-yellow: #eed49f;
+ --macchiato-green: #a6da95;
+ --macchiato-teal: #8bd5ca;
+ --macchiato-sky: #91d7e3;
+ --macchiato-sapphire: #7dc4e4;
+ --macchiato-blue: #8aadf4;
+ --macchiato-lavender: #b7bdf8;
+ --macchiato-text: #cad3f5;
+ --macchiato-subtext1: #b8c0e0;
+ --macchiato-subtext0: #a5adce;
+ --macchiato-overlay2: #939ab7;
+ --macchiato-overlay1: #8087a2;
+ --macchiato-overlay0: #6e738d;
+ --macchiato-surface2: #5b6078;
+ --macchiato-surface1: #494d64;
+ --macchiato-surface0: #363a4f;
+ --macchiato-base: #24273a; /* Primary Background */
+ --macchiato-mantle: #1e2030; /* Secondary Background */
+ --macchiato-crust: #181926; /* Borders, accessory background */
+
+ /* General */
+ --primary-font-family:
+ -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
+ Arial, sans-serif;
+ --primary-font-colour: var(--macchiato-text);
+ --primary-font-size: 14px;
+ --primary-line-height: 20px;
+
+ --fixed-width-font-family:
+ SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
+ "Courier New", monospace;
+ --fixed-width-font-colour: var(--macchiato-text);
+ --fixed-width-font-size: inherit;
+
+ --subtext-font-colour: var(--macchiato-subtext0);
+ --subtext-font-size: 13px;
+
+ --primary-background-colour: var(--macchiato-base);
+ --secondary-background-colour: var(--macchiato-mantle);
+
+ --primary-border-colour: var(--macchiato-surface1);
+ --secondary-border-colour: var(--macchiato-surface0);
+
+ --title-colour: var(--macchiato-text);
+ --title-weight: bold;
+ --title-background-colour: var(--macchiato-mantle);
+
+ --banner-font-colour: var(--macchiato-base);
+ --banner-bg-colour: var(--macchiato-blue);
+ --banner-url-colour: var(--macchiato-sky);
+
+ --category-list-font-colour: var(--macchiato-text);
+
+ --loader-background-colour: var(--macchiato-mantle);
+ --loader-outer-colour: var(--macchiato-blue);
+ --loader-middle-colour: var(--macchiato-sky);
+ --loader-inner-colour: var(--macchiato-sapphire);
+
+ /* Operation colours */
+ --op-list-operation-font-colour: var(--macchiato-text);
+ --op-list-operation-bg-colour: var(--macchiato-base);
+ --op-list-operation-border-colour: var(--macchiato-surface0);
+
+ --rec-list-operation-font-colour: var(--macchiato-base);
+ --rec-list-operation-bg-colour: var(--macchiato-sapphire);
+ --rec-list-operation-border-colour: var(--macchiato-sky);
+
+ --selected-operation-font-color: var(--macchiato-base);
+ --selected-operation-bg-colour: var(--macchiato-blue);
+ --selected-operation-border-colour: var(--macchiato-sapphire);
+
+ --breakpoint-font-colour: var(--macchiato-base);
+ --breakpoint-bg-colour: var(--macchiato-red);
+ --breakpoint-border-colour: var(--macchiato-red);
+
+ --disabled-font-colour: var(--macchiato-overlay1);
+ --disabled-bg-colour: var(--macchiato-surface0);
+ --disabled-border-colour: var(--macchiato-surface1);
+
+ --fc-operation-font-colour: var(--macchiato-base);
+ --fc-operation-bg-colour: var(--macchiato-mauve);
+ --fc-operation-border-colour: var(--macchiato-mauve);
+
+ --fc-breakpoint-operation-font-colour: var(--macchiato-base);
+ --fc-breakpoint-operation-bg-colour: var(--macchiato-red);
+ --fc-breakpoint-operation-border-colour: var(--macchiato-maroon);
+
+ /* Operation arguments */
+ --op-title-font-weight: bold;
+ --arg-font-colour: var(--macchiato-subtext1);
+ --arg-background: var(--macchiato-mantle);
+ --arg-border-colour: var(--macchiato-surface1);
+ --arg-disabled-background: var(--macchiato-surface0);
+ --arg-label-colour: var(--macchiato-blue);
+
+ /* Operation buttons */
+ --disable-icon-colour: var(--macchiato-text);
+ --disable-icon-selected-colour: var(--macchiato-peach);
+ --breakpoint-icon-colour: var(--macchiato-text);
+ --breakpoint-icon-selected-colour: var(--macchiato-red);
+
+ /* Buttons */
+ --btn-default-font-colour: var(--macchiato-text);
+ --btn-default-bg-colour: var(--macchiato-surface0);
+ --btn-default-border-colour: var(--macchiato-surface1);
+
+ --btn-default-hover-font-colour: var(--macchiato-text);
+ --btn-default-hover-bg-colour: var(--macchiato-surface1);
+ --btn-default-hover-border-colour: var(--macchiato-surface2);
+
+ --btn-success-font-colour: var(--macchiato-base);
+ --btn-success-bg-colour: var(--macchiato-green);
+ --btn-success-border-colour: var(--macchiato-green);
+
+ --btn-success-hover-font-colour: var(--macchiato-base);
+ --btn-success-hover-bg-colour: #b4e3a3; /* Lighter macchiato-green */
+ --btn-success-hover-border-colour: #b4e3a3;
+
+ /* Highlighter colours */
+ --hl1: var(--macchiato-yellow);
+ --hl2: var(--macchiato-sky);
+ --hl3: var(--macchiato-red);
+ --hl4: var(--macchiato-mauve);
+ --hl5: var(--macchiato-green);
+
+ /* Scrollbar */
+ --scrollbar-track: var(--macchiato-mantle);
+ --scrollbar-thumb: var(--macchiato-surface1);
+ --scrollbar-hover: var(--macchiato-surface2);
+
+ /* Misc. */
+ --drop-file-border-colour: var(--macchiato-blue);
+ --table-border-colour: var(--macchiato-surface0);
+ --popover-background: var(--macchiato-crust);
+ --popover-border-colour: var(--macchiato-surface1);
+ --code-background: var(--macchiato-mantle);
+ --code-font-colour: var(--macchiato-subtext1);
+ --input-highlight-colour: var(--macchiato-blue);
+ --input-border-colour: var(--macchiato-surface1);
+}
diff --git a/src/web/stylesheets/themes/_catppuccin_mocha.css b/src/web/stylesheets/themes/_catppuccin_mocha.css
new file mode 100644
index 00000000..9381dd37
--- /dev/null
+++ b/src/web/stylesheets/themes/_catppuccin_mocha.css
@@ -0,0 +1,159 @@
+/**
+ * Catppuccin Mocha theme definitions
+ *
+ * Based on the Catppuccin color palette
+ * https://catppuccin.com/
+ *
+ * @copyright Crown Copyright 2025
+ * @license Apache-2.0
+ */
+
+:root.catppuccin-mocha {
+ /* Catppuccin Mocha Color Palette */
+ --mocha-rosewater: #f5e0dc;
+ --mocha-flamingo: #f2cdcd;
+ --mocha-pink: #f5c2e7;
+ --mocha-mauve: #cba6f7;
+ --mocha-red: #f38ba8;
+ --mocha-maroon: #eba0ac;
+ --mocha-peach: #fab387;
+ --mocha-yellow: #f9e2af;
+ --mocha-green: #a6e3a1;
+ --mocha-teal: #94e2d5;
+ --mocha-sky: #89dceb;
+ --mocha-sapphire: #74c7ec;
+ --mocha-blue: #89b4fa;
+ --mocha-lavender: #b4befe;
+ --mocha-text: #cdd6f4;
+ --mocha-subtext1: #bac2de;
+ --mocha-subtext0: #a6adc8;
+ --mocha-overlay2: #9399b2;
+ --mocha-overlay1: #7f849c;
+ --mocha-overlay0: #6c7086;
+ --mocha-surface2: #585b70;
+ --mocha-surface1: #45475a;
+ --mocha-surface0: #313244;
+ --mocha-base: #1e1e2e; /* Primary Background */
+ --mocha-mantle: #181825; /* Secondary Background */
+ --mocha-crust: #11111b; /* Borders, accessory background */
+
+ /* General */
+ --primary-font-family:
+ -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
+ Arial, sans-serif;
+ --primary-font-colour: var(--mocha-text);
+ --primary-font-size: 14px;
+ --primary-line-height: 20px;
+
+ --fixed-width-font-family:
+ SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
+ "Courier New", monospace;
+ --fixed-width-font-colour: var(--mocha-text);
+ --fixed-width-font-size: inherit;
+
+ --subtext-font-colour: var(--mocha-subtext0);
+ --subtext-font-size: 13px;
+
+ --primary-background-colour: var(--mocha-base);
+ --secondary-background-colour: var(--mocha-mantle);
+
+ --primary-border-colour: var(--mocha-surface1);
+ --secondary-border-colour: var(--mocha-surface0);
+
+ --title-colour: var(--mocha-text);
+ --title-weight: bold;
+ --title-background-colour: var(--mocha-mantle);
+
+ --banner-font-colour: var(--mocha-base);
+ --banner-bg-colour: var(--mocha-blue);
+ --banner-url-colour: var(--mocha-sky);
+
+ --category-list-font-colour: var(--mocha-text);
+
+ --loader-background-colour: var(--mocha-mantle);
+ --loader-outer-colour: var(--mocha-blue);
+ --loader-middle-colour: var(--mocha-sky);
+ --loader-inner-colour: var(--mocha-sapphire);
+
+ /* Operation colours */
+ --op-list-operation-font-colour: var(--mocha-text);
+ --op-list-operation-bg-colour: var(--mocha-base);
+ --op-list-operation-border-colour: var(--mocha-surface0);
+
+ --rec-list-operation-font-colour: var(--mocha-base);
+ --rec-list-operation-bg-colour: var(--mocha-sapphire);
+ --rec-list-operation-border-colour: var(--mocha-sky);
+
+ --selected-operation-font-color: var(--mocha-base);
+ --selected-operation-bg-colour: var(--mocha-blue);
+ --selected-operation-border-colour: var(--mocha-sapphire);
+
+ --breakpoint-font-colour: var(--mocha-base);
+ --breakpoint-bg-colour: var(--mocha-red);
+ --breakpoint-border-colour: var(--mocha-red);
+
+ --disabled-font-colour: var(--mocha-overlay1);
+ --disabled-bg-colour: var(--mocha-surface0);
+ --disabled-border-colour: var(--mocha-surface1);
+
+ --fc-operation-font-colour: var(--mocha-base);
+ --fc-operation-bg-colour: var(--mocha-mauve);
+ --fc-operation-border-colour: var(--mocha-mauve);
+
+ --fc-breakpoint-operation-font-colour: var(--mocha-base);
+ --fc-breakpoint-operation-bg-colour: var(--mocha-red);
+ --fc-breakpoint-operation-border-colour: var(--mocha-maroon);
+
+ /* Operation arguments */
+ --op-title-font-weight: bold;
+ --arg-font-colour: var(--mocha-subtext1);
+ --arg-background: var(--mocha-mantle);
+ --arg-border-colour: var(--mocha-surface1);
+ --arg-disabled-background: var(--mocha-surface0);
+ --arg-label-colour: var(--mocha-blue);
+
+ /* Operation buttons */
+ --disable-icon-colour: var(--mocha-text);
+ --disable-icon-selected-colour: var(--mocha-peach);
+ --breakpoint-icon-colour: var(--mocha-text);
+ --breakpoint-icon-selected-colour: var(--mocha-red);
+
+ /* Buttons */
+ --btn-default-font-colour: var(--mocha-text);
+ --btn-default-bg-colour: var(--mocha-surface0);
+ --btn-default-border-colour: var(--mocha-surface1);
+
+ --btn-default-hover-font-colour: var(--mocha-text);
+ --btn-default-hover-bg-colour: var(--mocha-surface1);
+ --btn-default-hover-border-colour: var(--mocha-surface2);
+
+ --btn-success-font-colour: var(--mocha-base);
+ --btn-success-bg-colour: var(--mocha-green);
+ --btn-success-border-colour: var(--mocha-green);
+
+ --btn-success-hover-font-colour: var(--mocha-base);
+ --btn-success-hover-bg-colour: #bce8ba; /* Lighter mocha-green */
+ --btn-success-hover-border-colour: #bce8ba;
+
+ /* Highlighter colours */
+ --hl1: var(--mocha-yellow);
+ --hl2: var(--mocha-sky);
+ --hl3: var(--mocha-red);
+ --hl4: var(--mocha-mauve);
+ --hl5: var(--mocha-green);
+
+ /* Scrollbar */
+ --scrollbar-track: var(--mocha-mantle);
+ --scrollbar-thumb: var(--mocha-surface1);
+ --scrollbar-hover: var(--mocha-surface2);
+
+ /* Misc. */
+ --drop-file-border-colour: var(--mocha-blue);
+ --table-border-colour: var(--mocha-surface0);
+ --popover-background: var(--mocha-crust);
+ --popover-border-colour: var(--mocha-surface1);
+ --code-background: var(--mocha-mantle);
+ --code-font-colour: var(--mocha-subtext1);
+ --input-highlight-colour: var(--mocha-blue);
+ --input-border-colour: var(--mocha-surface1);
+}