From b6fcd68eac7cf87c734b4dd78fe09eddf82ad805 Mon Sep 17 00:00:00 2001 From: Omkar Chandorkar Date: Tue, 22 Sep 2026 09:50:50 +0530 Subject: [PATCH 1/6] fix(ui): Add missing hash prefix to icon-weak-base in OC-2 theme Add missing '#' prefix to icon-weak-base in oc-2.json to ensure valid CSS variable resolution at computed-value time, fixing missing SVG icon shadows and logo fills. Signed-off-by: Omkar Chandorkar --- packages/ui/src/theme/themes/oc-2.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ui/src/theme/themes/oc-2.json b/packages/ui/src/theme/themes/oc-2.json index b0ea8158f75d..bd3d4fff202e 100644 --- a/packages/ui/src/theme/themes/oc-2.json +++ b/packages/ui/src/theme/themes/oc-2.json @@ -25,7 +25,7 @@ "border-weak-base": "#DBDBDB", "border-weaker-base": "#E8E8E8", "icon-base": "#8F8F8F", - "icon-weak-base": "C7C7C7", + "icon-weak-base": "#C7C7C7", "surface-raised-base": "#F3F3F3", "surface-raised-base-hover": "#EDEDED", "surface-base": "#F8F8F8", From 898952f4a48f40327cc344e2b402a15078ec92d4 Mon Sep 17 00:00:00 2001 From: Omkar Chandorkar Date: Tue, 22 Sep 2026 09:51:01 +0530 Subject: [PATCH 2/6] fix(ui): Align Catppuccin theme with official Latte and Mocha palettes Fix the light neutral background seed by replacing Mocha Rosewater (#f5e0dc) with Latte Base (#eff1f5), removing the unintended pink tint on desktop neutral surfaces. Align diff colors, syntax constants, and comments with official Latte tokens, and fix green and yellow typos in the Mocha dark palette. Source: https://catppuccin.com/palette/ Signed-off-by: Omkar Chandorkar --- packages/ui/src/theme/themes/catppuccin.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/ui/src/theme/themes/catppuccin.json b/packages/ui/src/theme/themes/catppuccin.json index b67dfaf3e675..7044fad65d6a 100644 --- a/packages/ui/src/theme/themes/catppuccin.json +++ b/packages/ui/src/theme/themes/catppuccin.json @@ -4,7 +4,7 @@ "id": "catppuccin", "light": { "palette": { - "neutral": "#f5e0dc", + "neutral": "#eff1f5", "ink": "#4c4f69", "primary": "#7287fd", "accent": "#d20f39", @@ -12,14 +12,14 @@ "warning": "#df8e1d", "error": "#d20f39", "info": "#04a5e5", - "diffAdd": "#a6d189", - "diffDelete": "#e78284" + "diffAdd": "#40a02b", + "diffDelete": "#d20f39" }, "overrides": { - "syntax-comment": "#6c7086", + "syntax-comment": "#6c6f85", "syntax-keyword": "#8839ef", "syntax-primitive": "#1e66f5", - "syntax-constant": "#ca6702" + "syntax-constant": "#fe640b" } }, "dark": { @@ -28,8 +28,8 @@ "ink": "#cdd6f4", "primary": "#b4befe", "accent": "#f38ba8", - "success": "#a6d189", - "warning": "#f4b8e4", + "success": "#a6e3a1", + "warning": "#f9e2af", "error": "#f38ba8", "info": "#89dceb", "diffAdd": "#94e2d5", From b77543f3b55cf819d0783369a31ee50c0a86ee2d Mon Sep 17 00:00:00 2001 From: Omkar Chandorkar Date: Tue, 22 Sep 2026 09:51:21 +0530 Subject: [PATCH 3/6] fix(ui): Align Catppuccin Frappe with official Latte and Frappe palettes Replace duplicated dark palette and dark overrides in the light variant with official Catppuccin Latte tokens to resolve severe contrast collapse (from 2.05:1 to 9.34:1). Correct Frappe Blue and comment hex typos in the dark variant. Source: https://catppuccin.com/palette/ Signed-off-by: Omkar Chandorkar --- .../src/theme/themes/catppuccin-frappe.json | 60 +++++++------------ 1 file changed, 20 insertions(+), 40 deletions(-) diff --git a/packages/ui/src/theme/themes/catppuccin-frappe.json b/packages/ui/src/theme/themes/catppuccin-frappe.json index ea02b981de16..8b734fa7e45c 100644 --- a/packages/ui/src/theme/themes/catppuccin-frappe.json +++ b/packages/ui/src/theme/themes/catppuccin-frappe.json @@ -4,49 +4,29 @@ "id": "catppuccin-frappe", "light": { "palette": { - "neutral": "#303446", - "ink": "#c6d0f5", - "primary": "#8da4e2", - "accent": "#f4b8e4", - "success": "#a6d189", - "warning": "#e5c890", - "error": "#e78284", - "info": "#81c8be" + "neutral": "#eff1f5", + "ink": "#4c4f69", + "primary": "#7287fd", + "accent": "#d20f39", + "success": "#40a02b", + "warning": "#df8e1d", + "error": "#d20f39", + "info": "#04a5e5", + "diffAdd": "#40a02b", + "diffDelete": "#d20f39" }, "overrides": { - "text-weak": "#b5bfe2", - "syntax-comment": "#949cb8", - "syntax-keyword": "#ca9ee6", - "syntax-string": "#a6d189", - "syntax-primitive": "#8da4e2", - "syntax-variable": "#e78284", - "syntax-property": "#99d1db", - "syntax-type": "#e5c890", - "syntax-constant": "#ef9f76", - "syntax-operator": "#99d1db", - "syntax-punctuation": "#c6d0f5", - "syntax-object": "#e78284", - "markdown-heading": "#ca9ee6", - "markdown-text": "#c6d0f5", - "markdown-link": "#8da4e2", - "markdown-link-text": "#99d1db", - "markdown-code": "#a6d189", - "markdown-block-quote": "#e5c890", - "markdown-emph": "#e5c890", - "markdown-strong": "#ef9f76", - "markdown-horizontal-rule": "#a5adce", - "markdown-list-item": "#8da4e2", - "markdown-list-enumeration": "#99d1db", - "markdown-image": "#8da4e2", - "markdown-image-text": "#99d1db", - "markdown-code-block": "#c6d0f5" + "syntax-comment": "#6c6f85", + "syntax-keyword": "#8839ef", + "syntax-primitive": "#1e66f5", + "syntax-constant": "#fe640b" } }, "dark": { "palette": { "neutral": "#303446", "ink": "#c6d0f5", - "primary": "#8da4e2", + "primary": "#8caaee", "accent": "#f4b8e4", "success": "#a6d189", "warning": "#e5c890", @@ -55,10 +35,10 @@ }, "overrides": { "text-weak": "#b5bfe2", - "syntax-comment": "#949cb8", + "syntax-comment": "#949cbb", "syntax-keyword": "#ca9ee6", "syntax-string": "#a6d189", - "syntax-primitive": "#8da4e2", + "syntax-primitive": "#8caaee", "syntax-variable": "#e78284", "syntax-property": "#99d1db", "syntax-type": "#e5c890", @@ -68,16 +48,16 @@ "syntax-object": "#e78284", "markdown-heading": "#ca9ee6", "markdown-text": "#c6d0f5", - "markdown-link": "#8da4e2", + "markdown-link": "#8caaee", "markdown-link-text": "#99d1db", "markdown-code": "#a6d189", "markdown-block-quote": "#e5c890", "markdown-emph": "#e5c890", "markdown-strong": "#ef9f76", "markdown-horizontal-rule": "#a5adce", - "markdown-list-item": "#8da4e2", + "markdown-list-item": "#8caaee", "markdown-list-enumeration": "#99d1db", - "markdown-image": "#8da4e2", + "markdown-image": "#8caaee", "markdown-image-text": "#99d1db", "markdown-code-block": "#c6d0f5" } From 998e6efb12da29d0f75d6930ab43985f0f322ca4 Mon Sep 17 00:00:00 2001 From: Omkar Chandorkar Date: Tue, 22 Sep 2026 09:51:36 +0530 Subject: [PATCH 4/6] fix(ui): Align Catppuccin Macchiato light variant with Latte palette Replace duplicated dark palette and dark overrides in the light variant with official Catppuccin Latte tokens to resolve severe contrast collapse (from 1.95:1 to 9.34:1) in desktop light mode. Source: https://catppuccin.com/palette/ Signed-off-by: Omkar Chandorkar --- .../theme/themes/catppuccin-macchiato.json | 48 ++++++------------- 1 file changed, 14 insertions(+), 34 deletions(-) diff --git a/packages/ui/src/theme/themes/catppuccin-macchiato.json b/packages/ui/src/theme/themes/catppuccin-macchiato.json index 9315e1542080..ddfc9073ac7b 100644 --- a/packages/ui/src/theme/themes/catppuccin-macchiato.json +++ b/packages/ui/src/theme/themes/catppuccin-macchiato.json @@ -4,42 +4,22 @@ "id": "catppuccin-macchiato", "light": { "palette": { - "neutral": "#24273a", - "ink": "#cad3f5", - "primary": "#8aadf4", - "accent": "#f5bde6", - "success": "#a6da95", - "warning": "#eed49f", - "error": "#ed8796", - "info": "#8bd5ca" + "neutral": "#eff1f5", + "ink": "#4c4f69", + "primary": "#7287fd", + "accent": "#d20f39", + "success": "#40a02b", + "warning": "#df8e1d", + "error": "#d20f39", + "info": "#04a5e5", + "diffAdd": "#40a02b", + "diffDelete": "#d20f39" }, "overrides": { - "text-weak": "#b8c0e0", - "syntax-comment": "#939ab7", - "syntax-keyword": "#c6a0f6", - "syntax-string": "#a6da95", - "syntax-primitive": "#8aadf4", - "syntax-variable": "#ed8796", - "syntax-property": "#91d7e3", - "syntax-type": "#eed49f", - "syntax-constant": "#f5a97f", - "syntax-operator": "#91d7e3", - "syntax-punctuation": "#cad3f5", - "syntax-object": "#ed8796", - "markdown-heading": "#c6a0f6", - "markdown-text": "#cad3f5", - "markdown-link": "#8aadf4", - "markdown-link-text": "#91d7e3", - "markdown-code": "#a6da95", - "markdown-block-quote": "#eed49f", - "markdown-emph": "#eed49f", - "markdown-strong": "#f5a97f", - "markdown-horizontal-rule": "#a5adcb", - "markdown-list-item": "#8aadf4", - "markdown-list-enumeration": "#91d7e3", - "markdown-image": "#8aadf4", - "markdown-image-text": "#91d7e3", - "markdown-code-block": "#cad3f5" + "syntax-comment": "#6c6f85", + "syntax-keyword": "#8839ef", + "syntax-primitive": "#1e66f5", + "syntax-constant": "#fe640b" } }, "dark": { From 52873786145073327a6357367fbde02c842b763a Mon Sep 17 00:00:00 2001 From: Omkar Chandorkar Date: Tue, 22 Sep 2026 09:51:52 +0530 Subject: [PATCH 5/6] fix(ui): Align Kanagawa light overrides with official Lotus tokens Replace dark Wave syntax overrides in Kanagawa's light variant with official Kanagawa Lotus tokens to resolve low-contrast syntax text against the light background. Source: https://github.com/rebelot/kanagawa.nvim Signed-off-by: Omkar Chandorkar --- packages/ui/src/theme/themes/kanagawa.json | 36 +++++++++++----------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/packages/ui/src/theme/themes/kanagawa.json b/packages/ui/src/theme/themes/kanagawa.json index e1b308c15e38..5bfab05bcf06 100644 --- a/packages/ui/src/theme/themes/kanagawa.json +++ b/packages/ui/src/theme/themes/kanagawa.json @@ -8,35 +8,35 @@ "ink": "#54433A", "primary": "#2D4F67", "accent": "#D27E99", - "success": "#98BB6C", - "warning": "#D7A657", + "success": "#6f894e", + "warning": "#cc6d00", "error": "#E82424", - "info": "#76946A", + "info": "#4d699b", "diffAdd": "#89AF5B", "diffDelete": "#D61F1F" }, "overrides": { - "text-weak": "#9E9389", - "syntax-comment": "#9E9389", - "syntax-keyword": "#957FB8", - "syntax-string": "#98BB6C", + "text-weak": "#8a8980", + "syntax-comment": "#8a8980", + "syntax-keyword": "#624c83", + "syntax-string": "#6f894e", "syntax-primitive": "#2D4F67", "syntax-variable": "#54433A", - "syntax-property": "#76946A", - "syntax-type": "#C38D9D", - "syntax-constant": "#D7A657", - "syntax-operator": "#D27E99", + "syntax-property": "#4d699b", + "syntax-type": "#b35b79", + "syntax-constant": "#cc6d00", + "syntax-operator": "#735896", "syntax-punctuation": "#54433A", "syntax-object": "#54433A", - "markdown-heading": "#957FB8", + "markdown-heading": "#624c83", "markdown-text": "#54433A", "markdown-link": "#2D4F67", - "markdown-link-text": "#76946A", - "markdown-code": "#98BB6C", - "markdown-block-quote": "#9E9389", - "markdown-emph": "#C38D9D", - "markdown-strong": "#D7A657", - "markdown-horizontal-rule": "#9E9389", + "markdown-link-text": "#4d699b", + "markdown-code": "#6f894e", + "markdown-block-quote": "#8a8980", + "markdown-emph": "#b35b79", + "markdown-strong": "#cc6d00", + "markdown-horizontal-rule": "#8a8980", "markdown-list-item": "#2D4F67", "markdown-list-enumeration": "#76946A", "markdown-image": "#2D4F67", From 5ee18955f5e7bea7a0ab232f18956716cc4ebb11 Mon Sep 17 00:00:00 2001 From: Omkar Chandorkar Date: Tue, 22 Sep 2026 09:52:01 +0530 Subject: [PATCH 6/6] fix(ui): Correct green luminance coefficient in contrastRatio Update green luminance weight from 0.587 to the standard ITU-R BT.709 coefficient 0.7152 in contrastRatio() to ensure accurate WCAG relative luminance calculation. Signed-off-by: Omkar Chandorkar --- packages/ui/src/theme/color.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ui/src/theme/color.ts b/packages/ui/src/theme/color.ts index 730642b1bb02..82a8ed7cec7c 100644 --- a/packages/ui/src/theme/color.ts +++ b/packages/ui/src/theme/color.ts @@ -258,7 +258,7 @@ export function contrastRatio(foreground: HexColor, background: HexColor) { const linear = (c: number) => (c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4) const luminance = (hex: HexColor) => { const { r, g, b } = hexToRgb(hex) - return 0.2126 * linear(r) + 0.587 * linear(g) + 0.0722 * linear(b) + return 0.2126 * linear(r) + 0.7152 * linear(g) + 0.0722 * linear(b) } const fg = luminance(foreground) const bg = luminance(background)