Add security hardening, Ghidra, recreate skill, checkpoints, shells, web search and themes

- Sandbox (bubblewrap) for non-admin shell/git, MCP per-user rights, hard budgets and quotas,
  login rate limiting, audit log and backups
- Ghidra headless decompilation (ARM64 natives built from source), binary_info tool,
  clean room / deep workflow per session
- Recreate skill and commands for analysing and re-building old software
- File checkpoints with rewind/restore, background shells (bash_output, kill_shell)
- web_search tool (DuckDuckGo, SearXNG, Brave, Tavily)
- In-app dialogs and toasts instead of browser dialogs
- 15 base themes (trilium-themes palettes plus Nord, VS Code, GitHub, Catppuccin, One,
  Dracula, Rose Pine, Everforest, Kanagawa) with light/dark/auto switcher and license notes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-08 19:12:30 +01:00
1 parent fab9add5d5
commit 5b569b6835
108 files changed
+6785 -279

No files matched your search

+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 Richard Zink
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+40
View File
@@ -0,0 +1,40 @@
/*
* Ash Dark
* Original Ash palette (Gruvbox-derived) from zink/trilium-themes (MIT).
*/
:root[data-theme="ash-dark"] {
color-scheme: dark;
--theme-color: #1c1b1f;
--bg0: #1c1b1f;
--bg1: #232226;
--bg2: #29282c;
--bg3: #3a383d;
--fg0: #f3ede1;
--fg1: #e6dfd1;
--fg2: #cfc7b8;
--fg3: #b0a89b;
--muted: #999187;
--accent: #e0914f;
--accent2: #d6b46a;
--on-accent: #1c1b1f;
--red: #c15c46;
--green: #8f9a5c;
--aqua: #8aa89a;
--blue: #7c9aa1;
--purple: #b47e99;
--diff-add: rgba(143, 154, 92, 0.16);
--diff-del: rgba(193, 92, 70, 0.16);
--shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
--syntax-keyword: #c15c46;
--syntax-string: #8f9a5c;
--syntax-number: #a585ac;
--syntax-comment: #6d6a63;
--syntax-function: #7c9aa1;
--syntax-type: #d6b46a;
--syntax-variable: #e6dfd1;
--syntax-meta: #e0914f;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Ash Light
* Original Ash palette (Gruvbox-derived) from zink/trilium-themes (MIT).
*/
:root[data-theme="ash-light"] {
color-scheme: light;
--theme-color: #e9e3d5;
--bg0: #e9e3d5;
--bg1: #dcd5c3;
--bg2: #d2cab7;
--bg3: #c9c1ad;
--fg0: #1e1c18;
--fg1: #2a2822;
--fg2: #433f37;
--fg3: #5a554b;
--muted: #6f685c;
--accent: #a85f1d;
--accent2: #8a6a24;
--on-accent: #ffffff;
--red: #96392a;
--green: #5c6631;
--aqua: #3d6b72;
--blue: #3d6b72;
--purple: #7c4a66;
--diff-add: rgba(92, 102, 49, 0.16);
--diff-del: rgba(150, 57, 42, 0.12);
--shadow: 0 6px 24px rgba(40, 40, 40, 0.18);
--syntax-keyword: #96392a;
--syntax-string: #5c6631;
--syntax-number: #6a4c72;
--syntax-comment: #8a8274;
--syntax-function: #3d6b72;
--syntax-type: #8a6a24;
--syntax-variable: #2a2822;
--syntax-meta: #a85f1d;
}
+37
View File
@@ -1,3 +1,40 @@
/* Chart palettes per light/dark mode (validated for colour-vision deficiencies). */
:root,
:root[data-mode="dark"] {
--series-1: #3987e5;
--series-2: #d95926;
--series-3: #199e70;
--series-4: #c98500;
--series-5: #d55181;
--series-6: #008300;
--series-7: #9085e9;
--series-8: #e66767;
--seq-0: var(--bg1);
--seq-1: #104281;
--seq-2: #184f95;
--seq-3: #256abf;
--seq-4: #3987e5;
--seq-5: #6da7ec;
--seq-6: #9ec5f4;
}
:root[data-mode="light"] {
--series-1: #2a78d6;
--series-2: #eb6834;
--series-3: #1baf7a;
--series-4: #eda100;
--series-5: #e87ba4;
--series-6: #008300;
--series-7: #6250d6;
--series-8: #e34948;
--seq-0: var(--bg1);
--seq-1: #cde2fb;
--seq-2: #9ec5f4;
--seq-3: #6da7ec;
--seq-4: #3987e5;
--seq-5: #256abf;
--seq-6: #184f95;
}
/* Theme-independent tokens. */
:root {
--radius: 8px;
+40
View File
@@ -0,0 +1,40 @@
/*
* Catppuccin Mocha
* Palette: Catppuccin Mocha (catppuccin/catppuccin, MIT).
*/
:root[data-theme="catppuccin-dark"] {
color-scheme: dark;
--theme-color: #1e1e2e;
--bg0: #1e1e2e;
--bg1: #181825;
--bg2: #313244;
--bg3: #45475a;
--fg0: #cdd6f4;
--fg1: #cdd6f4;
--fg2: #bac2de;
--fg3: #a6adc8;
--muted: #9399b2;
--accent: #cba6f7;
--accent2: #fab387;
--on-accent: #1e1e2e;
--red: #f38ba8;
--green: #a6e3a1;
--aqua: #94e2d5;
--blue: #89b4fa;
--purple: #f5c2e7;
--diff-add: rgba(166, 227, 161, 0.16);
--diff-del: rgba(243, 139, 168, 0.16);
--shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
--syntax-keyword: #cba6f7;
--syntax-string: #a6e3a1;
--syntax-number: #fab387;
--syntax-comment: #7f849c;
--syntax-function: #89b4fa;
--syntax-type: #f9e2af;
--syntax-variable: #cdd6f4;
--syntax-meta: #f5c2e7;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Catppuccin Latte
* Palette: Catppuccin Latte (catppuccin/catppuccin, MIT).
*/
:root[data-theme="catppuccin-light"] {
color-scheme: light;
--theme-color: #eff1f5;
--bg0: #eff1f5;
--bg1: #e6e9ef;
--bg2: #ccd0da;
--bg3: #bcc0cc;
--fg0: #4c4f69;
--fg1: #4c4f69;
--fg2: #5c5f77;
--fg3: #6c6f85;
--muted: #6c6f85;
--accent: #8839ef;
--accent2: #fe640b;
--on-accent: #ffffff;
--red: #d20f39;
--green: #40a02b;
--aqua: #179299;
--blue: #1e66f5;
--purple: #ea76cb;
--diff-add: rgba(64, 160, 43, 0.16);
--diff-del: rgba(210, 15, 57, 0.12);
--shadow: 0 6px 24px rgba(40, 40, 40, 0.18);
--syntax-keyword: #8839ef;
--syntax-string: #40a02b;
--syntax-number: #fe640b;
--syntax-comment: #8c8fa1;
--syntax-function: #1e66f5;
--syntax-type: #df8e1d;
--syntax-variable: #4c4f69;
--syntax-meta: #ea76cb;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Coffee Dark
* Palette: megabyte0x/omarchy-coffee-theme (MIT), via zink/trilium-themes (MIT).
*/
:root[data-theme="coffee-dark"] {
color-scheme: dark;
--theme-color: #1d150f;
--bg0: #1d150f;
--bg1: #2d2118;
--bg2: #3a2a20;
--bg3: #4a372a;
--fg0: #f8eee0;
--fg1: #f0e2d0;
--fg2: #d8c6b0;
--fg3: #b09a84;
--muted: #8f7a67;
--accent: #e0a15c;
--accent2: #ffda92;
--on-accent: #1d150f;
--red: #d78a6f;
--green: #b5b27a;
--aqua: #9fb8a8;
--blue: #a3b4c7;
--purple: #cf90a2;
--diff-add: rgba(181, 178, 122, 0.16);
--diff-del: rgba(215, 138, 111, 0.16);
--shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
--syntax-keyword: #d78a6f;
--syntax-string: #ffda92;
--syntax-number: #cf90a2;
--syntax-comment: #8f7a67;
--syntax-function: #e0a15c;
--syntax-type: #ec8f89;
--syntax-variable: #f0e2d0;
--syntax-meta: #ec8f89;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Coffee Latte
* Palette: megabyte0x/omarchy-coffee-latte-theme (MIT), via zink/trilium-themes (MIT).
*/
:root[data-theme="coffee-light"] {
color-scheme: light;
--theme-color: #e8e3c3;
--bg0: #e8e3c3;
--bg1: #ddd8b8;
--bg2: #d1ccad;
--bg3: #c5c1a6;
--fg0: #1f1013;
--fg1: #2d1a1d;
--fg2: #45302f;
--fg3: #5d4744;
--muted: #6e5a55;
--accent: #8e2d53;
--accent2: #b25d76;
--on-accent: #ffffff;
--red: #a4405e;
--green: #4f6b00;
--aqua: #3f6b5e;
--blue: #8e2d53;
--purple: #7a003b;
--diff-add: rgba(79, 107, 0, 0.16);
--diff-del: rgba(164, 64, 94, 0.12);
--shadow: 0 6px 24px rgba(40, 40, 40, 0.18);
--syntax-keyword: #a4405e;
--syntax-string: #4f6b00;
--syntax-number: #7a003b;
--syntax-comment: #8a7d70;
--syntax-function: #8e2d53;
--syntax-type: #b25d76;
--syntax-variable: #2d1a1d;
--syntax-meta: #b25d76;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Dracula
* Palette: Dracula (dracula/dracula-theme, MIT).
*/
:root[data-theme="dracula-dark"] {
color-scheme: dark;
--theme-color: #282a36;
--bg0: #282a36;
--bg1: #21222c;
--bg2: #343746;
--bg3: #44475a;
--fg0: #f8f8f2;
--fg1: #f8f8f2;
--fg2: #e2e2dc;
--fg3: #c0c0ba;
--muted: #9aa3c9;
--accent: #bd93f9;
--accent2: #ffb86c;
--on-accent: #282a36;
--red: #ff5555;
--green: #50fa7b;
--aqua: #8be9fd;
--blue: #8be9fd;
--purple: #ff79c6;
--diff-add: rgba(80, 250, 123, 0.16);
--diff-del: rgba(255, 85, 85, 0.16);
--shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
--syntax-keyword: #ff79c6;
--syntax-string: #f1fa8c;
--syntax-number: #bd93f9;
--syntax-comment: #6272a4;
--syntax-function: #50fa7b;
--syntax-type: #8be9fd;
--syntax-variable: #f8f8f2;
--syntax-meta: #ffb86c;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Alucard
* Palette: Alucard, the light Dracula variant (dracula/dracula-theme, MIT).
*/
:root[data-theme="dracula-light"] {
color-scheme: light;
--theme-color: #fffbeb;
--bg0: #fffbeb;
--bg1: #f5f1dc;
--bg2: #efeddc;
--bg3: #cfcfde;
--fg0: #1f1f1f;
--fg1: #1f1f1f;
--fg2: #3a3a3a;
--fg3: #6c664b;
--muted: #6c664b;
--accent: #644ac9;
--accent2: #a34d14;
--on-accent: #ffffff;
--red: #cb3a2a;
--green: #14710a;
--aqua: #036a96;
--blue: #036a96;
--purple: #a3144d;
--diff-add: rgba(20, 113, 10, 0.16);
--diff-del: rgba(203, 58, 42, 0.12);
--shadow: 0 6px 24px rgba(40, 40, 40, 0.18);
--syntax-keyword: #a3144d;
--syntax-string: #846e15;
--syntax-number: #644ac9;
--syntax-comment: #6c664b;
--syntax-function: #14710a;
--syntax-type: #036a96;
--syntax-variable: #1f1f1f;
--syntax-meta: #a34d14;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Everforest Dark
* Palette: Everforest by sainnhe (sainnhe/everforest, MIT).
*/
:root[data-theme="everforest-dark"] {
color-scheme: dark;
--theme-color: #2d353b;
--bg0: #2d353b;
--bg1: #343f44;
--bg2: #3d484d;
--bg3: #475258;
--fg0: #e5dcc4;
--fg1: #d3c6aa;
--fg2: #c0b597;
--fg3: #9da9a0;
--muted: #859289;
--accent: #a7c080;
--accent2: #e69875;
--on-accent: #2d353b;
--red: #e67e80;
--green: #a7c080;
--aqua: #83c092;
--blue: #7fbbb3;
--purple: #d699b6;
--diff-add: rgba(167, 192, 128, 0.16);
--diff-del: rgba(230, 126, 128, 0.16);
--shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
--syntax-keyword: #e67e80;
--syntax-string: #dbbc7f;
--syntax-number: #d699b6;
--syntax-comment: #859289;
--syntax-function: #a7c080;
--syntax-type: #7fbbb3;
--syntax-variable: #d3c6aa;
--syntax-meta: #e69875;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Everforest Light
* Palette: Everforest by sainnhe (sainnhe/everforest, MIT).
*/
:root[data-theme="everforest-light"] {
color-scheme: light;
--theme-color: #fdf6e3;
--bg0: #fdf6e3;
--bg1: #f4f0d9;
--bg2: #efebd4;
--bg3: #e0dcc7;
--fg0: #4a565c;
--fg1: #5c6a72;
--fg2: #66757c;
--fg3: #748086;
--muted: #7a8478;
--accent: #8da101;
--accent2: #f57d26;
--on-accent: #2d353b;
--red: #f85552;
--green: #8da101;
--aqua: #35a77c;
--blue: #3a94c5;
--purple: #df69ba;
--diff-add: rgba(141, 161, 1, 0.16);
--diff-del: rgba(248, 85, 82, 0.12);
--shadow: 0 6px 24px rgba(40, 40, 40, 0.18);
--syntax-keyword: #f85552;
--syntax-string: #dfa000;
--syntax-number: #df69ba;
--syntax-comment: #939f91;
--syntax-function: #8da101;
--syntax-type: #3a94c5;
--syntax-variable: #5c6a72;
--syntax-meta: #f57d26;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* GitHub Dark
* Palette: GitHub Primer / github-vscode-theme (primer, MIT).
*/
:root[data-theme="github-dark"] {
color-scheme: dark;
--theme-color: #0d1117;
--bg0: #0d1117;
--bg1: #161b22;
--bg2: #21262d;
--bg3: #30363d;
--fg0: #f0f6fc;
--fg1: #e6edf3;
--fg2: #c9d1d9;
--fg3: #9198a1;
--muted: #8b949e;
--accent: #4493f8;
--accent2: #d29922;
--on-accent: #0d1117;
--red: #f85149;
--green: #3fb950;
--aqua: #39c5cf;
--blue: #58a6ff;
--purple: #bc8cff;
--diff-add: rgba(63, 185, 80, 0.16);
--diff-del: rgba(248, 81, 73, 0.16);
--shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
--syntax-keyword: #ff7b72;
--syntax-string: #a5d6ff;
--syntax-number: #79c0ff;
--syntax-comment: #8b949e;
--syntax-function: #d2a8ff;
--syntax-type: #ffa657;
--syntax-variable: #e6edf3;
--syntax-meta: #7ee787;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* GitHub Light
* Palette: GitHub Primer / github-vscode-theme (primer, MIT).
*/
:root[data-theme="github-light"] {
color-scheme: light;
--theme-color: #ffffff;
--bg0: #ffffff;
--bg1: #f6f8fa;
--bg2: #eaeef2;
--bg3: #d0d7de;
--fg0: #1f2328;
--fg1: #1f2328;
--fg2: #31363c;
--fg3: #59636e;
--muted: #59636e;
--accent: #0969da;
--accent2: #9a6700;
--on-accent: #ffffff;
--red: #d1242f;
--green: #1a7f37;
--aqua: #1b7c83;
--blue: #0969da;
--purple: #8250df;
--diff-add: rgba(26, 127, 55, 0.16);
--diff-del: rgba(209, 36, 47, 0.12);
--shadow: 0 6px 24px rgba(40, 40, 40, 0.18);
--syntax-keyword: #cf222e;
--syntax-string: #0a3069;
--syntax-number: #0550ae;
--syntax-comment: #59636e;
--syntax-function: #8250df;
--syntax-type: #953800;
--syntax-variable: #1f2328;
--syntax-meta: #116329;
}
+4 -17
View File
@@ -1,4 +1,7 @@
/* Gruvbox Dark – also the default before a theme is applied. */
/*
* Gruvbox Dark – also the default before a theme is applied.
* Palette: morhetz/gruvbox (MIT), via zink/trilium-themes (MIT).
*/
:root,
:root[data-theme="gruvbox-dark"] {
color-scheme: dark;
@@ -36,20 +39,4 @@
--syntax-variable: #83a598;
--syntax-meta: #fe8019;
/* Validated categorical palette (dark steps on #282828). */
--series-1: #3987e5;
--series-2: #d95926;
--series-3: #199e70;
--series-4: #c98500;
--series-5: #d55181;
--series-6: #008300;
--series-7: #9085e9;
--series-8: #e66767;
--seq-0: #32302f;
--seq-1: #104281;
--seq-2: #184f95;
--seq-3: #256abf;
--seq-4: #3987e5;
--seq-5: #6da7ec;
--seq-6: #9ec5f4;
}
+5 -18
View File
@@ -1,4 +1,7 @@
/* Gruvbox Light */
/*
* Gruvbox Light
* Palette: morhetz/gruvbox (MIT), via zink/trilium-themes (MIT).
*/
:root[data-theme="gruvbox-light"] {
color-scheme: light;
--theme-color: #fbf1c7;
@@ -15,7 +18,7 @@
--accent: #b57614;
--accent2: #af3a03;
--on-accent: #fbf1c7;
--on-accent: #282828;
--red: #9d0006;
--green: #79740e;
--aqua: #427b58;
@@ -35,20 +38,4 @@
--syntax-variable: #076678;
--syntax-meta: #af3a03;
/* Validated categorical palette (light steps on #fbf1c7). */
--series-1: #2a78d6;
--series-2: #eb6834;
--series-3: #1baf7a;
--series-4: #eda100;
--series-5: #e87ba4;
--series-6: #008300;
--series-7: #6250d6;
--series-8: #e34948;
--seq-0: #f2e5bc;
--seq-1: #cde2fb;
--seq-2: #9ec5f4;
--seq-3: #6da7ec;
--seq-4: #3987e5;
--seq-5: #256abf;
--seq-6: #184f95;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Harbor Dark
* Palette: HANCORE-linux/omarchy-harbordark-theme (MIT), via zink/trilium-themes (MIT).
*/
:root[data-theme="harbor-dark"] {
color-scheme: dark;
--theme-color: #1b1b1b;
--bg0: #1b1b1b;
--bg1: #232323;
--bg2: #2e2e2e;
--bg3: #3f3f3f;
--fg0: #f7f4ea;
--fg1: #efebdc;
--fg2: #d6d1c0;
--fg3: #c0b79f;
--muted: #a99b7a;
--accent: #e75a50;
--accent2: #e1ce98;
--on-accent: #1b1b1b;
--red: #f44336;
--green: #a99b7a;
--aqua: #8a9ba6;
--blue: #77838a;
--purple: #e58980;
--diff-add: rgba(169, 155, 122, 0.16);
--diff-del: rgba(244, 67, 54, 0.16);
--shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
--syntax-keyword: #e75a50;
--syntax-string: #e1ce98;
--syntax-number: #e58980;
--syntax-comment: #77838a;
--syntax-function: #a99b7a;
--syntax-type: #e1ce98;
--syntax-variable: #efebdc;
--syntax-meta: #e58980;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Harbor Light
* Palette: HANCORE-linux/omarchy-harbor-theme (MIT), via zink/trilium-themes (MIT).
*/
:root[data-theme="harbor-light"] {
color-scheme: light;
--theme-color: #dfe4c4;
--bg0: #dfe4c4;
--bg1: #d0d6b4;
--bg2: #c3c9a6;
--bg3: #b3b994;
--fg0: #101c18;
--fg1: #1c2d28;
--fg2: #2f413b;
--fg3: #435650;
--muted: #556753;
--accent: #4c6c94;
--accent2: #dc8164;
--on-accent: #ffffff;
--red: #b14752;
--green: #556753;
--aqua: #3d727d;
--blue: #4c6c94;
--purple: #8a5b81;
--diff-add: rgba(85, 103, 83, 0.16);
--diff-del: rgba(177, 71, 82, 0.12);
--shadow: 0 6px 24px rgba(40, 40, 40, 0.18);
--syntax-keyword: #b14752;
--syntax-string: #556753;
--syntax-number: #8a5b81;
--syntax-comment: #6f7d6c;
--syntax-function: #3d727d;
--syntax-type: #4c6c94;
--syntax-variable: #1c2d28;
--syntax-meta: #b06247;
}
+28
View File
@@ -2,3 +2,31 @@
import "./base.css";
import "./gruvbox-dark.css";
import "./gruvbox-light.css";
import "./ash-dark.css";
import "./ash-light.css";
import "./harbor-dark.css";
import "./harbor-light.css";
import "./coffee-dark.css";
import "./coffee-light.css";
import "./solarized-dark.css";
import "./solarized-light.css";
import "./tokyonight-dark.css";
import "./tokyonight-light.css";
import "./nord-dark.css";
import "./nord-light.css";
import "./vscode-dark.css";
import "./vscode-light.css";
import "./github-dark.css";
import "./github-light.css";
import "./catppuccin-dark.css";
import "./catppuccin-light.css";
import "./one-dark.css";
import "./one-light.css";
import "./dracula-dark.css";
import "./dracula-light.css";
import "./rosepine-dark.css";
import "./rosepine-light.css";
import "./everforest-dark.css";
import "./everforest-light.css";
import "./kanagawa-dark.css";
import "./kanagawa-light.css";
+40
View File
@@ -0,0 +1,40 @@
/*
* Kanagawa Wave
* Palette: Kanagawa by rebelot (rebelot/kanagawa.nvim, MIT).
*/
:root[data-theme="kanagawa-dark"] {
color-scheme: dark;
--theme-color: #1f1f28;
--bg0: #1f1f28;
--bg1: #16161d;
--bg2: #2a2a37;
--bg3: #363646;
--fg0: #dcd7ba;
--fg1: #dcd7ba;
--fg2: #c8c093;
--fg3: #a6a69c;
--muted: #8f8e85;
--accent: #7e9cd8;
--accent2: #ffa066;
--on-accent: #1f1f28;
--red: #e46876;
--green: #98bb6c;
--aqua: #7aa89f;
--blue: #7fb4ca;
--purple: #957fb8;
--diff-add: rgba(152, 187, 108, 0.16);
--diff-del: rgba(228, 104, 118, 0.16);
--shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
--syntax-keyword: #957fb8;
--syntax-string: #98bb6c;
--syntax-number: #d27e99;
--syntax-comment: #727169;
--syntax-function: #7e9cd8;
--syntax-type: #7aa89f;
--syntax-variable: #e6c384;
--syntax-meta: #ffa066;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Kanagawa Lotus
* Palette: Kanagawa Lotus by rebelot (rebelot/kanagawa.nvim, MIT).
*/
:root[data-theme="kanagawa-light"] {
color-scheme: light;
--theme-color: #f2ecbc;
--bg0: #f2ecbc;
--bg1: #e5ddb0;
--bg2: #dcd5ac;
--bg3: #d5cea3;
--fg0: #43436c;
--fg1: #545464;
--fg2: #5f5f72;
--fg3: #6d6d7c;
--muted: #716e61;
--accent: #4d699b;
--accent2: #cc6d00;
--on-accent: #ffffff;
--red: #c84053;
--green: #6f894e;
--aqua: #597b75;
--blue: #4d699b;
--purple: #624c83;
--diff-add: rgba(111, 137, 78, 0.16);
--diff-del: rgba(200, 64, 83, 0.12);
--shadow: 0 6px 24px rgba(40, 40, 40, 0.18);
--syntax-keyword: #624c83;
--syntax-string: #6f894e;
--syntax-number: #b35b79;
--syntax-comment: #8a8980;
--syntax-function: #4d699b;
--syntax-type: #597b75;
--syntax-variable: #545464;
--syntax-meta: #cc6d00;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Nord
* Palette: Nord by Arctic Ice Studio / nordtheme (MIT).
*/
:root[data-theme="nord-dark"] {
color-scheme: dark;
--theme-color: #2e3440;
--bg0: #2e3440;
--bg1: #3b4252;
--bg2: #434c5e;
--bg3: #4c566a;
--fg0: #eceff4;
--fg1: #e5e9f0;
--fg2: #d8dee9;
--fg3: #b8c0cf;
--muted: #8a93a5;
--accent: #88c0d0;
--accent2: #d08770;
--on-accent: #2e3440;
--red: #bf616a;
--green: #a3be8c;
--aqua: #8fbcbb;
--blue: #81a1c1;
--purple: #b48ead;
--diff-add: rgba(163, 190, 140, 0.16);
--diff-del: rgba(191, 97, 106, 0.16);
--shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
--syntax-keyword: #81a1c1;
--syntax-string: #a3be8c;
--syntax-number: #b48ead;
--syntax-comment: #616e88;
--syntax-function: #88c0d0;
--syntax-type: #8fbcbb;
--syntax-variable: #d8dee9;
--syntax-meta: #d08770;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Nord Light
* Palette: Nord by Arctic Ice Studio / nordtheme (MIT), Snow Storm as background.
*/
:root[data-theme="nord-light"] {
color-scheme: light;
--theme-color: #eceff4;
--bg0: #eceff4;
--bg1: #e5e9f0;
--bg2: #d8dee9;
--bg3: #c2c9d6;
--fg0: #2e3440;
--fg1: #3b4252;
--fg2: #434c5e;
--fg3: #4c566a;
--muted: #5f6b80;
--accent: #5e81ac;
--accent2: #b55f45;
--on-accent: #ffffff;
--red: #a9434d;
--green: #5f7d48;
--aqua: #4d8a89;
--blue: #5e81ac;
--purple: #8f6a8a;
--diff-add: rgba(95, 125, 72, 0.16);
--diff-del: rgba(169, 67, 77, 0.12);
--shadow: 0 6px 24px rgba(40, 40, 40, 0.18);
--syntax-keyword: #5e81ac;
--syntax-string: #5f7d48;
--syntax-number: #8f6a8a;
--syntax-comment: #7b88a1;
--syntax-function: #4c7a90;
--syntax-type: #4d8a89;
--syntax-variable: #3b4252;
--syntax-meta: #b55f45;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* One Dark
* Palette: Atom One Dark (atom/atom, MIT).
*/
:root[data-theme="one-dark"] {
color-scheme: dark;
--theme-color: #282c34;
--bg0: #282c34;
--bg1: #21252b;
--bg2: #2c313a;
--bg3: #3e4451;
--fg0: #d7dae0;
--fg1: #abb2bf;
--fg2: #9da5b4;
--fg3: #8b929e;
--muted: #7f848e;
--accent: #61afef;
--accent2: #d19a66;
--on-accent: #282c34;
--red: #e06c75;
--green: #98c379;
--aqua: #56b6c2;
--blue: #61afef;
--purple: #c678dd;
--diff-add: rgba(152, 195, 121, 0.16);
--diff-del: rgba(224, 108, 117, 0.16);
--shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
--syntax-keyword: #c678dd;
--syntax-string: #98c379;
--syntax-number: #d19a66;
--syntax-comment: #7f848e;
--syntax-function: #61afef;
--syntax-type: #e5c07b;
--syntax-variable: #e06c75;
--syntax-meta: #56b6c2;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* One Light
* Palette: Atom One Light (atom/atom, MIT).
*/
:root[data-theme="one-light"] {
color-scheme: light;
--theme-color: #fafafa;
--bg0: #fafafa;
--bg1: #f0f0f1;
--bg2: #e5e5e6;
--bg3: #d4d4d6;
--fg0: #232324;
--fg1: #383a42;
--fg2: #4f525e;
--fg3: #696c77;
--muted: #696c77;
--accent: #4078f2;
--accent2: #c18401;
--on-accent: #ffffff;
--red: #e45649;
--green: #50a14f;
--aqua: #0184bc;
--blue: #4078f2;
--purple: #a626a4;
--diff-add: rgba(80, 161, 79, 0.16);
--diff-del: rgba(228, 86, 73, 0.12);
--shadow: 0 6px 24px rgba(40, 40, 40, 0.18);
--syntax-keyword: #a626a4;
--syntax-string: #50a14f;
--syntax-number: #986801;
--syntax-comment: #a0a1a7;
--syntax-function: #4078f2;
--syntax-type: #c18401;
--syntax-variable: #e45649;
--syntax-meta: #0184bc;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Rosé Pine
* Palette: Rosé Pine (rose-pine/rose-pine-theme, MIT).
*/
:root[data-theme="rosepine-dark"] {
color-scheme: dark;
--theme-color: #191724;
--bg0: #191724;
--bg1: #1f1d2e;
--bg2: #26233a;
--bg3: #403d52;
--fg0: #e0def4;
--fg1: #e0def4;
--fg2: #c9c6e0;
--fg3: #908caa;
--muted: #908caa;
--accent: #c4a7e7;
--accent2: #ebbcba;
--on-accent: #191724;
--red: #eb6f92;
--green: #9ccfd8;
--aqua: #9ccfd8;
--blue: #31748f;
--purple: #c4a7e7;
--diff-add: rgba(156, 207, 216, 0.16);
--diff-del: rgba(235, 111, 146, 0.16);
--shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
--syntax-keyword: #31748f;
--syntax-string: #f6c177;
--syntax-number: #f6c177;
--syntax-comment: #6e6a86;
--syntax-function: #ebbcba;
--syntax-type: #9ccfd8;
--syntax-variable: #e0def4;
--syntax-meta: #c4a7e7;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Rosé Pine Dawn
* Palette: Rosé Pine Dawn (rose-pine/rose-pine-theme, MIT).
*/
:root[data-theme="rosepine-light"] {
color-scheme: light;
--theme-color: #faf4ed;
--bg0: #faf4ed;
--bg1: #f2e9e1;
--bg2: #dfdad9;
--bg3: #cecacd;
--fg0: #464261;
--fg1: #575279;
--fg2: #6a6585;
--fg3: #797593;
--muted: #797593;
--accent: #286983;
--accent2: #d7827e;
--on-accent: #ffffff;
--red: #b4637a;
--green: #56949f;
--aqua: #56949f;
--blue: #286983;
--purple: #907aa9;
--diff-add: rgba(86, 148, 159, 0.16);
--diff-del: rgba(180, 99, 122, 0.12);
--shadow: 0 6px 24px rgba(40, 40, 40, 0.18);
--syntax-keyword: #286983;
--syntax-string: #ea9d34;
--syntax-number: #ea9d34;
--syntax-comment: #9893a5;
--syntax-function: #d7827e;
--syntax-type: #56949f;
--syntax-variable: #575279;
--syntax-meta: #907aa9;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Solarized Dark
* Palette: Solarized by Ethan Schoonover (MIT), via zink/trilium-themes (MIT).
*/
:root[data-theme="solarized-dark"] {
color-scheme: dark;
--theme-color: #002b36;
--bg0: #002b36;
--bg1: #073642;
--bg2: #0b4250;
--bg3: #155565;
--fg0: #eee8d5;
--fg1: #93a1a1;
--fg2: #839496;
--fg3: #839496;
--muted: #6c8288;
--accent: #b58900;
--accent2: #cb4b16;
--on-accent: #002b36;
--red: #dc322f;
--green: #859900;
--aqua: #2aa198;
--blue: #268bd2;
--purple: #6c71c4;
--diff-add: rgba(133, 153, 0, 0.16);
--diff-del: rgba(220, 50, 47, 0.16);
--shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
--syntax-keyword: #859900;
--syntax-string: #2aa198;
--syntax-number: #d33682;
--syntax-comment: #586e75;
--syntax-function: #268bd2;
--syntax-type: #b58900;
--syntax-variable: #93a1a1;
--syntax-meta: #cb4b16;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Solarized Light
* Palette: Solarized by Ethan Schoonover (MIT), via zink/trilium-themes (MIT).
*/
:root[data-theme="solarized-light"] {
color-scheme: light;
--theme-color: #fdf6e3;
--bg0: #fdf6e3;
--bg1: #eee8d5;
--bg2: #e4dcc4;
--bg3: #d6ceb5;
--fg0: #073642;
--fg1: #586e75;
--fg2: #657b83;
--fg3: #657b83;
--muted: #6f8186;
--accent: #b58900;
--accent2: #cb4b16;
--on-accent: #002b36;
--red: #dc322f;
--green: #859900;
--aqua: #2aa198;
--blue: #268bd2;
--purple: #6c71c4;
--diff-add: rgba(133, 153, 0, 0.16);
--diff-del: rgba(220, 50, 47, 0.12);
--shadow: 0 6px 24px rgba(40, 40, 40, 0.18);
--syntax-keyword: #859900;
--syntax-string: #2aa198;
--syntax-number: #d33682;
--syntax-comment: #93a1a1;
--syntax-function: #268bd2;
--syntax-type: #b58900;
--syntax-variable: #586e75;
--syntax-meta: #cb4b16;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Tokyo Night
* Palette: folke/tokyonight.nvim (Apache-2.0), via zink/trilium-themes (MIT).
*/
:root[data-theme="tokyonight-dark"] {
color-scheme: dark;
--theme-color: #24283b;
--bg0: #24283b;
--bg1: #1f2335;
--bg2: #292e42;
--bg3: #3b4261;
--fg0: #c0caf5;
--fg1: #c0caf5;
--fg2: #a9b1d6;
--fg3: #9aa5ce;
--muted: #737aa2;
--accent: #7aa2f7;
--accent2: #ff9e64;
--on-accent: #24283b;
--red: #f7768e;
--green: #9ece6a;
--aqua: #73daca;
--blue: #7aa2f7;
--purple: #bb9af7;
--diff-add: rgba(158, 206, 106, 0.16);
--diff-del: rgba(247, 118, 142, 0.16);
--shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
--syntax-keyword: #bb9af7;
--syntax-string: #9ece6a;
--syntax-number: #ff9e64;
--syntax-comment: #565f89;
--syntax-function: #7aa2f7;
--syntax-type: #2ac3de;
--syntax-variable: #7dcfff;
--syntax-meta: #e0af68;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* Tokyo Night Day
* Palette: folke/tokyonight.nvim (Apache-2.0), via zink/trilium-themes (MIT).
*/
:root[data-theme="tokyonight-light"] {
color-scheme: light;
--theme-color: #e1e2e7;
--bg0: #e1e2e7;
--bg1: #d0d5e3;
--bg2: #c4c8da;
--bg3: #a8aecb;
--fg0: #273463;
--fg1: #3760bf;
--fg2: #4b5a99;
--fg3: #6172b0;
--muted: #6c74a0;
--accent: #2e7de9;
--accent2: #b15c00;
--on-accent: #ffffff;
--red: #f52a65;
--green: #587539;
--aqua: #118c74;
--blue: #2e7de9;
--purple: #9854f1;
--diff-add: rgba(88, 117, 57, 0.16);
--diff-del: rgba(245, 42, 101, 0.12);
--shadow: 0 6px 24px rgba(40, 40, 40, 0.18);
--syntax-keyword: #9854f1;
--syntax-string: #587539;
--syntax-number: #b15c00;
--syntax-comment: #848cb5;
--syntax-function: #2e7de9;
--syntax-type: #007197;
--syntax-variable: #3760bf;
--syntax-meta: #8c6c3e;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* VS Code Dark Modern
* Palette: Visual Studio Code Dark Modern / Dark+ (microsoft/vscode, MIT).
*/
:root[data-theme="vscode-dark"] {
color-scheme: dark;
--theme-color: #1f1f1f;
--bg0: #1f1f1f;
--bg1: #181818;
--bg2: #2b2b2b;
--bg3: #3c3c3c;
--fg0: #ffffff;
--fg1: #cccccc;
--fg2: #bbbbbb;
--fg3: #9d9d9d;
--muted: #8b8b8b;
--accent: #0078d4;
--accent2: #ce9178;
--on-accent: #ffffff;
--red: #f14c4c;
--green: #89d185;
--aqua: #4ec9b0;
--blue: #3794ff;
--purple: #c586c0;
--diff-add: rgba(137, 209, 133, 0.16);
--diff-del: rgba(241, 76, 76, 0.16);
--shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
--syntax-keyword: #569cd6;
--syntax-string: #ce9178;
--syntax-number: #b5cea8;
--syntax-comment: #6a9955;
--syntax-function: #dcdcaa;
--syntax-type: #4ec9b0;
--syntax-variable: #9cdcfe;
--syntax-meta: #c586c0;
}
+40
View File
@@ -0,0 +1,40 @@
/*
* VS Code Light Modern
* Palette: Visual Studio Code Light Modern / Light+ (microsoft/vscode, MIT).
*/
:root[data-theme="vscode-light"] {
color-scheme: light;
--theme-color: #ffffff;
--bg0: #ffffff;
--bg1: #f8f8f8;
--bg2: #e5e5e5;
--bg3: #cecece;
--fg0: #000000;
--fg1: #3b3b3b;
--fg2: #444444;
--fg3: #616161;
--muted: #6e7681;
--accent: #005fb8;
--accent2: #a31515;
--on-accent: #ffffff;
--red: #cd3131;
--green: #388a34;
--aqua: #267f99;
--blue: #005fb8;
--purple: #af00db;
--diff-add: rgba(56, 138, 52, 0.16);
--diff-del: rgba(205, 49, 49, 0.12);
--shadow: 0 6px 24px rgba(40, 40, 40, 0.18);
--syntax-keyword: #0000ff;
--syntax-string: #a31515;
--syntax-number: #098658;
--syntax-comment: #008000;
--syntax-function: #795e26;
--syntax-type: #267f99;
--syntax-variable: #001080;
--syntax-meta: #af00db;
}