diff --git a/overlay/packages/tui/src/theme/assets/mono-dark.json b/overlay/packages/tui/src/theme/assets/mono-dark.json
new file mode 100644
index 0000000..946ffd2
--- /dev/null
+++ b/overlay/packages/tui/src/theme/assets/mono-dark.json
@@ -0,0 +1,80 @@
+{
+ "$schema": "https://opencode.ai/theme.json",
+ "defs": {
+ "bg": "#0a0a0a",
+ "sidebar": "#111111",
+ "panel": "#141414",
+ "panel2": "#1c1c1c",
+ "panel3": "#262626",
+ "line": "#2a2a2a",
+ "lineStrong": "#3a3a3a",
+ "text": "#f5f5f5",
+ "text2": "#c4c4c4",
+ "muted": "#8a8a8a",
+ "faint": "#5a5a5a",
+ "accent": "#fafafa",
+ "accentFg": "#0a0a0a",
+ "green": "#b8b8b8",
+ "blue": "#c4c4c4",
+ "violet": "#b0b0b0",
+ "orange": "#c8c8c8",
+ "red": "#e0a0a0",
+ "redBright": "#f0b8b8",
+ "gold": "#d4d4d4"
+ },
+ "theme": {
+ "primary": "accent",
+ "secondary": "text2",
+ "accent": "accent",
+ "error": "red",
+ "warning": "orange",
+ "success": "green",
+ "info": "blue",
+ "text": "text",
+ "textMuted": "muted",
+ "selectedListItemText": "accentFg",
+ "background": "bg",
+ "backgroundPanel": "sidebar",
+ "backgroundElement": "panel2",
+ "backgroundMenu": "panel3",
+ "border": "lineStrong",
+ "borderActive": "accent",
+ "borderSubtle": "line",
+ "diffAdded": "green",
+ "diffRemoved": "red",
+ "diffContext": "muted",
+ "diffHunkHeader": "muted",
+ "diffHighlightAdded": "#d8d8d8",
+ "diffHighlightRemoved": "redBright",
+ "diffAddedBg": "#161a16",
+ "diffRemovedBg": "#1f1616",
+ "diffContextBg": "panel",
+ "diffLineNumber": "faint",
+ "diffAddedLineNumberBg": "#1c221c",
+ "diffRemovedLineNumberBg": "#2a1c1c",
+ "markdownText": "text",
+ "markdownHeading": "accent",
+ "markdownLink": "text2",
+ "markdownLinkText": "text",
+ "markdownCode": "gold",
+ "markdownBlockQuote": "muted",
+ "markdownEmph": "text2",
+ "markdownStrong": "accent",
+ "markdownHorizontalRule": "line",
+ "markdownListItem": "text2",
+ "markdownListEnumeration": "gold",
+ "markdownImage": "text2",
+ "markdownImageText": "text",
+ "markdownCodeBlock": "text",
+ "syntaxComment": "faint",
+ "syntaxKeyword": "text2",
+ "syntaxFunction": "text",
+ "syntaxVariable": "text2",
+ "syntaxString": "green",
+ "syntaxNumber": "gold",
+ "syntaxType": "blue",
+ "syntaxOperator": "muted",
+ "syntaxPunctuation": "muted",
+ "thinkingOpacity": 0.55
+ }
+}
diff --git a/overlay/packages/tui/src/theme/assets/mono-light.json b/overlay/packages/tui/src/theme/assets/mono-light.json
new file mode 100644
index 0000000..907abd3
--- /dev/null
+++ b/overlay/packages/tui/src/theme/assets/mono-light.json
@@ -0,0 +1,79 @@
+{
+ "$schema": "https://opencode.ai/theme.json",
+ "defs": {
+ "bg": "#ffffff",
+ "sidebar": "#fafafa",
+ "panel2": "#f5f5f5",
+ "panel3": "#ebebeb",
+ "line": "#e0e0e0",
+ "lineStrong": "#cfcfcf",
+ "text": "#0a0a0a",
+ "text2": "#3f3f3f",
+ "muted": "#737373",
+ "faint": "#a3a3a3",
+ "accent": "#0a0a0a",
+ "accentFg": "#ffffff",
+ "green": "#525252",
+ "blue": "#404040",
+ "violet": "#525252",
+ "orange": "#404040",
+ "red": "#7f3030",
+ "redBright": "#5f2020",
+ "gold": "#525252"
+ },
+ "theme": {
+ "primary": "accent",
+ "secondary": "text2",
+ "accent": "accent",
+ "error": "red",
+ "warning": "orange",
+ "success": "green",
+ "info": "blue",
+ "text": "text",
+ "textMuted": "muted",
+ "selectedListItemText": "accentFg",
+ "background": "bg",
+ "backgroundPanel": "sidebar",
+ "backgroundElement": "panel2",
+ "backgroundMenu": "panel3",
+ "border": "lineStrong",
+ "borderActive": "accent",
+ "borderSubtle": "line",
+ "diffAdded": "green",
+ "diffRemoved": "red",
+ "diffContext": "muted",
+ "diffHunkHeader": "muted",
+ "diffHighlightAdded": "#2f2f2f",
+ "diffHighlightRemoved": "redBright",
+ "diffAddedBg": "#f0f3f0",
+ "diffRemovedBg": "#fbf0f0",
+ "diffContextBg": "panel2",
+ "diffLineNumber": "faint",
+ "diffAddedLineNumberBg": "#e6ebe6",
+ "diffRemovedLineNumberBg": "#f2e2e2",
+ "markdownText": "text",
+ "markdownHeading": "accent",
+ "markdownLink": "text2",
+ "markdownLinkText": "text",
+ "markdownCode": "gold",
+ "markdownBlockQuote": "muted",
+ "markdownEmph": "text2",
+ "markdownStrong": "accent",
+ "markdownHorizontalRule": "line",
+ "markdownListItem": "text2",
+ "markdownListEnumeration": "gold",
+ "markdownImage": "text2",
+ "markdownImageText": "text",
+ "markdownCodeBlock": "text",
+ "syntaxComment": "faint",
+ "syntaxKeyword": "text",
+ "syntaxFunction": "text2",
+ "syntaxVariable": "text2",
+ "syntaxString": "green",
+ "syntaxNumber": "gold",
+ "syntaxType": "blue",
+ "syntaxOperator": "muted",
+ "syntaxPunctuation": "muted",
+ "thinkingOpacity": 0.5
+ }
+}
diff --git a/overlay/packages/tui/src/theme/assets/monolith.json b/overlay/packages/tui/src/theme/assets/monolith.json
new file mode 100644
index 0000000..f1a0298
--- /dev/null
+++ b/overlay/packages/tui/src/theme/assets/monolith.json
@@ -0,0 +1,80 @@
+{
+ "$schema": "https://opencode.ai/theme.json",
+ "defs": {
+ "bg": "#07070b",
+ "sidebar": "#0a0a10",
+ "panel": "#0e0e15",
+ "panel2": "#14141c",
+ "panel3": "#1b1b25",
+ "line": "#1c1c26",
+ "lineStrong": "#2a2a38",
+ "text": "#ededf4",
+ "text2": "#9292a0",
+ "muted": "#46465a",
+ "lime": "#c6f135",
+ "limeFg": "#0d1b00",
+ "green": "#4ade80",
+ "greenBright": "#86efac",
+ "blue": "#7ea8f2",
+ "violet": "#b39efa",
+ "orange": "#fb923c",
+ "red": "#f87171",
+ "redBright": "#fca5a5",
+ "gold": "#fbbf24"
+ },
+ "theme": {
+ "primary": "lime",
+ "secondary": "violet",
+ "accent": "lime",
+ "error": "red",
+ "warning": "orange",
+ "success": "green",
+ "info": "blue",
+ "text": "text",
+ "textMuted": "text2",
+ "selectedListItemText": "limeFg",
+ "background": "bg",
+ "backgroundPanel": "sidebar",
+ "backgroundElement": "panel2",
+ "backgroundMenu": "panel3",
+ "border": "lineStrong",
+ "borderActive": "lime",
+ "borderSubtle": "line",
+ "diffAdded": "green",
+ "diffRemoved": "red",
+ "diffContext": "text2",
+ "diffHunkHeader": "text2",
+ "diffHighlightAdded": "greenBright",
+ "diffHighlightRemoved": "redBright",
+ "diffAddedBg": "#0c1810",
+ "diffRemovedBg": "#1a0f12",
+ "diffContextBg": "panel",
+ "diffLineNumber": "muted",
+ "diffAddedLineNumberBg": "#103018",
+ "diffRemovedLineNumberBg": "#2a1418",
+ "markdownText": "text",
+ "markdownHeading": "lime",
+ "markdownLink": "blue",
+ "markdownLinkText": "violet",
+ "markdownCode": "green",
+ "markdownBlockQuote": "text2",
+ "markdownEmph": "gold",
+ "markdownStrong": "lime",
+ "markdownHorizontalRule": "lineStrong",
+ "markdownListItem": "lime",
+ "markdownListEnumeration": "violet",
+ "markdownImage": "blue",
+ "markdownImageText": "violet",
+ "markdownCodeBlock": "text",
+ "syntaxComment": "muted",
+ "syntaxKeyword": "violet",
+ "syntaxFunction": "blue",
+ "syntaxVariable": "text",
+ "syntaxString": "green",
+ "syntaxNumber": "orange",
+ "syntaxType": "gold",
+ "syntaxOperator": "text2",
+ "syntaxPunctuation": "text2",
+ "thinkingOpacity": 0.55
+ }
+}
diff --git a/overlay/packages/tui/src/theme/assets/press.json b/overlay/packages/tui/src/theme/assets/press.json
new file mode 100644
index 0000000..f721548
--- /dev/null
+++ b/overlay/packages/tui/src/theme/assets/press.json
@@ -0,0 +1,80 @@
+{
+ "$schema": "https://opencode.ai/theme.json",
+ "defs": {
+ "bg": "#0c0a07",
+ "surface": "#16120c",
+ "surface2": "#1f1a13",
+ "surface3": "#2a241a",
+ "line": "#221d15",
+ "lineStrong": "#34291c",
+ "lineBold": "#4a3c28",
+ "text": "#f4ecdb",
+ "text2": "#b8aa92",
+ "muted": "#6e6552",
+ "faint": "#4a4337",
+ "vermillion": "#e54b25",
+ "vermillionFg": "#f9eee0",
+ "saffron": "#f0b429",
+ "inkBlue": "#6b8fc7",
+ "sage": "#9bb37a",
+ "sageBright": "#b9cd99",
+ "bruise": "#b585d0",
+ "red": "#d8523a",
+ "redBright": "#ec6a4f"
+ },
+ "theme": {
+ "primary": "vermillion",
+ "secondary": "sage",
+ "accent": "saffron",
+ "error": "red",
+ "warning": "saffron",
+ "success": "sage",
+ "info": "inkBlue",
+ "text": "text",
+ "textMuted": "muted",
+ "selectedListItemText": "vermillionFg",
+ "background": "bg",
+ "backgroundPanel": "surface",
+ "backgroundElement": "surface2",
+ "backgroundMenu": "surface3",
+ "border": "lineStrong",
+ "borderActive": "vermillion",
+ "borderSubtle": "line",
+ "diffAdded": "sage",
+ "diffRemoved": "red",
+ "diffContext": "muted",
+ "diffHunkHeader": "muted",
+ "diffHighlightAdded": "sageBright",
+ "diffHighlightRemoved": "redBright",
+ "diffAddedBg": "#131811",
+ "diffRemovedBg": "#21130d",
+ "diffContextBg": "surface",
+ "diffLineNumber": "faint",
+ "diffAddedLineNumberBg": "#1c2417",
+ "diffRemovedLineNumberBg": "#2e1a10",
+ "markdownText": "text",
+ "markdownHeading": "vermillion",
+ "markdownLink": "inkBlue",
+ "markdownLinkText": "saffron",
+ "markdownCode": "sage",
+ "markdownBlockQuote": "muted",
+ "markdownEmph": "saffron",
+ "markdownStrong": "vermillion",
+ "markdownHorizontalRule": "lineBold",
+ "markdownListItem": "vermillion",
+ "markdownListEnumeration": "saffron",
+ "markdownImage": "inkBlue",
+ "markdownImageText": "saffron",
+ "markdownCodeBlock": "text",
+ "syntaxComment": "muted",
+ "syntaxKeyword": "vermillion",
+ "syntaxFunction": "saffron",
+ "syntaxVariable": "text2",
+ "syntaxString": "sage",
+ "syntaxNumber": "bruise",
+ "syntaxType": "inkBlue",
+ "syntaxOperator": "muted",
+ "syntaxPunctuation": "faint",
+ "thinkingOpacity": 0.55
+ }
+}
diff --git a/patches/opencode-athena.patch b/patches/opencode-athena.patch
index 94eb85b..7b70451 100644
--- a/patches/opencode-athena.patch
+++ b/patches/opencode-athena.patch
@@ -343,7 +343,7 @@ index 0a9f103..2d93003 100644
diff --git a/packages/tui/src/context/theme.tsx b/packages/tui/src/context/theme.tsx
-index 909dd69..00474c3 100644
+index 909dd69..a7182ff 100644
--- a/packages/tui/src/context/theme.tsx
+++ b/packages/tui/src/context/theme.tsx
@@ -93,7 +93,7 @@ const [store, setStore] = createStore({
@@ -375,12 +375,30 @@ index 909dd69..00474c3 100644
}
onMount(() => {
+@@ -159,7 +159,7 @@ export const { use: useTheme, provider: ThemeProvider } = createSimpleContext({
+ if (!colors.palette[0]) {
+ if (hasResolvedSystemTheme) return
+ setSystemTheme(undefined)
+- if (store.active === "system") setStore("active", "opencode")
++ if (store.active === "system") setStore("active", "athena")
+ return
+ }
+ const next = store.lock ?? terminalMode(colors) ?? mode
+@@ -174,7 +174,7 @@ export const { use: useTheme, provider: ThemeProvider } = createSimpleContext({
+ .catch(() => {
+ if (hasResolvedSystemTheme) return
+ setSystemTheme(undefined)
+- if (store.active === "system") setStore("active", "opencode")
++ if (store.active === "system") setStore("active", "athena")
+ })
+ }
+
@@ -263,7 +263,7 @@ export const { use: useTheme, provider: ThemeProvider } = createSimpleContext({
if (theme) return resolveTheme(theme, store.mode)
}
- return resolveTheme(store.themes.opencode, store.mode)
-+ return resolveTheme(store.themes.athena ?? store.themes.opencode, store.mode)
++ return resolveTheme(store.themes.athena, store.mode)
})
createEffect(() => renderer.setBackgroundColor(values().background))
@@ -646,23 +664,97 @@ index c787a84..7962e78 100644
= {
+- aura,
+- ayu,
+- catppuccin,
+- ["catppuccin-frappe"]: catppuccinFrappe,
+- ["catppuccin-macchiato"]: catppuccinMacchiato,
+- cobalt2,
+- cursor,
+- dracula,
+- everforest,
+- flexoki,
+- github,
+- gruvbox,
+- kanagawa,
+- material,
+- matrix,
+- mercury,
+- monokai,
+- nightowl,
+- nord,
+- ["one-dark"]: onedark,
+- ["osaka-jade"]: osakaJade,
+- opencode,
+- orng,
+- ["lucent-orng"]: lucentOrng,
+- palenight,
+- rosepine,
+- solarized,
+- synthwave84,
+- tokyonight,
+- vesper,
+- vercel,
+- zenburn,
+- carbonfox,
+ athena,
- aura,
- ayu,
- catppuccin,
++ ["mono-dark"]: monoDark,
++ ["mono-light"]: monoLight,
++ monolith,
++ press,
+ }
+
+ const pluginThemes: Record = {}
diff --git a/packages/tui/src/ui/link.tsx b/packages/tui/src/ui/link.tsx
index cfd78bc..7729823 100644
--- a/packages/tui/src/ui/link.tsx