pi-web-ui 0.92.0 → 0.94.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +74 -2
  2. package/README.md +69 -14
  3. package/README.zh-CN.md +36 -10
  4. package/bin/pi-web-ui.mjs +18 -6
  5. package/dist/server/agent-service.js +577 -127
  6. package/dist/server/auth-cookie.js +26 -0
  7. package/dist/server/claim-files-tool.js +6 -7
  8. package/dist/server/client-state.js +125 -8
  9. package/dist/server/conversation-read-tool.js +2 -1
  10. package/dist/server/delegate-task.js +10 -3
  11. package/dist/server/dsh/dsh-agent-service.js +43 -1
  12. package/dist/server/files-service.js +79 -27
  13. package/dist/server/http-proxy.js +72 -0
  14. package/dist/server/index.js +84 -17
  15. package/dist/server/patch-node-pty.js +11 -0
  16. package/dist/server/plugins.js +1 -0
  17. package/dist/server/protocol-version.js +1 -1
  18. package/dist/server/read-tool.js +37 -3
  19. package/dist/server/resolve-global-sdk.js +72 -0
  20. package/dist/server/sdk-origin.js +64 -0
  21. package/dist/server/serialize.js +59 -21
  22. package/dist/server/settings-service.js +12 -1
  23. package/dist/server/skill-tool.js +2 -1
  24. package/dist/server/soft-cap.js +38 -4
  25. package/dist/server/subagents.js +30 -13
  26. package/dist/server/terminals.js +38 -18
  27. package/dist/server/themes.js +15 -0
  28. package/dist/server/tool-info.js +89 -0
  29. package/dist/server/tool-manager.js +107 -14
  30. package/package.json +2 -2
  31. package/plugins/catalog.json +10 -0
  32. package/themes/ayu-light.css +136 -0
  33. package/themes/catppuccin-latte.css +4 -0
  34. package/themes/catppuccin.css +4 -0
  35. package/themes/codex.css +136 -0
  36. package/themes/cyberpunk.css +4 -0
  37. package/themes/dazzle.css +4 -0
  38. package/themes/everforest-light.css +136 -0
  39. package/themes/geist.css +136 -0
  40. package/themes/gruvbox-light.css +136 -0
  41. package/themes/kanagawa-lotus.css +136 -0
  42. package/themes/md-preview.css +4 -0
  43. package/themes/mist.css +4 -0
  44. package/themes/nord.css +4 -0
  45. package/themes/one-dark.css +4 -0
  46. package/themes/paper.css +4 -0
  47. package/themes/rose-pine-dawn.css +136 -0
  48. package/themes/sakura.css +4 -0
  49. package/themes/solarized-light.css +4 -0
  50. package/themes/tokyo-night.css +4 -0
  51. package/themes/white.css +4 -0
  52. package/web/dist/assets/{TerminalPanel-RACpk6AX.js → TerminalPanel-B-CMQuzm.js} +1 -1
  53. package/web/dist/assets/index-18jK6al2.js +364 -0
  54. package/web/dist/assets/index-B3S9MxnN.css +1 -0
  55. package/web/dist/index.html +2 -2
  56. package/web/dist/assets/index-BgrnP9Jz.js +0 -364
  57. package/web/dist/assets/index-Cy8dSTZt.css +0 -1
@@ -0,0 +1,136 @@
1
+ /* theme-name: 森野浅绿 */
2
+ /* theme-name-en: Everforest Light */
3
+ /* theme-group: classic */
4
+ :root {
5
+ color-scheme: light;
6
+ --bg: #fdf6e3;
7
+ --bg-elev: #f4f0d9;
8
+ --bg-elev2: #efebd4;
9
+ --border: #e6e2cc;
10
+ --border-soft: #efebd4;
11
+ --text: #5c6a72;
12
+ --text-dim: #687361;
13
+ --text-faint: #6a7365;
14
+ --accent: #3a94c5;
15
+ --accent-soft: rgba(58, 148, 197, 0.14);
16
+ --green: #8da101;
17
+ --green-soft: rgba(141, 161, 1, 0.12);
18
+ --red: #f85552;
19
+ --red-soft: rgba(248, 85, 82, 0.1);
20
+ --amber: #dfa000;
21
+ --blue: #3b82f6;
22
+ --blue-soft: rgba(59, 130, 246, 0.12);
23
+ --term-bg: #fdf6e3;
24
+ --term-fg: #5c6a72;
25
+ --term-cursor: #3a94c5;
26
+ --term-cursor-accent: #fdf6e3;
27
+ --term-selection: rgba(58, 148, 197, 0.24);
28
+ --term-black: #5c6a72;
29
+ --term-red: #f85552;
30
+ --term-green: #8da101;
31
+ --term-yellow: #dfa000;
32
+ --term-blue: #3a94c5;
33
+ --term-magenta: #df69ba;
34
+ --term-cyan: #35a77c;
35
+ --term-white: #f4f0d9;
36
+ --term-bright-black: #7a8478;
37
+ --term-bright-red: #f85552;
38
+ --term-bright-green: #8da101;
39
+ --term-bright-yellow: #dfa000;
40
+ --term-bright-blue: #3a94c5;
41
+ --term-bright-magenta: #df69ba;
42
+ --term-bright-cyan: #35a77c;
43
+ --term-bright-white: #fdf6e3;
44
+ --mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
45
+ --mermaid-font-size: 12px;
46
+ --tooltip-bg: #f4f0d9;
47
+ --code-bg: #f4f0d9;
48
+ --code-text: #5c6a72;
49
+ --code-border: var(--border-soft);
50
+ --code-pad: 8px 10px;
51
+ --card-body-pad: 4px 14px 12px;
52
+ --err-text: #c14c45;
53
+ --red-text: #c14c45;
54
+ --amber-text: #a97b00;
55
+ --info-blue: #3a94c5;
56
+ --link: #3a94c5;
57
+ --link-hover: #2e7aa6;
58
+ --link-soft: #3a94c5;
59
+ --md-strong: #4a5940;
60
+ --skill-blue: #3a94c5;
61
+ --plugin-purple: #b58cff;
62
+ --auth-green: #8da101;
63
+ --scroll-thumb: #d8d3bd;
64
+ --scroll-thumb-hover: #bdc3af;
65
+ --notice-err-bg: #401d23;
66
+ --notice-warn-bg: #38251f;
67
+ --notice-info-bg: #1b2544;
68
+ --notice-err-border: #ef4444;
69
+ --notice-warn-border: #f59e0b;
70
+ --notice-info-border: #3b82f6;
71
+ --send-blue: #3a94c5;
72
+ --send-blue-hover: #2e7aa6;
73
+ --stop-red: #ef4444;
74
+ --stop-red-hover: #dc2626;
75
+ --brand-grad-a: #8da101;
76
+ --brand-grad-b: #3a94c5;
77
+ --on-amber: #1a1a1a;
78
+ --search-active-fg: #1a1d26;
79
+ --switch-knob: #ffffff;
80
+ --bg-elev3: rgba(255, 255, 255, 0.06);
81
+ --sunken-bg: rgba(0, 0, 0, 0.15);
82
+ --glow-015: rgba(255, 255, 255, 0.015);
83
+ --glow-025: rgba(255, 255, 255, 0.025);
84
+ --glow-03: rgba(255, 255, 255, 0.03);
85
+ --glow-04: rgba(255, 255, 255, 0.04);
86
+ --glow-05: rgba(255, 255, 255, 0.05);
87
+ --glow-12: rgba(255, 255, 255, 0.12);
88
+ --glow-18: rgba(255, 255, 255, 0.18);
89
+ --glow-22: rgba(255, 255, 255, 0.22);
90
+ --glow-38: rgba(255, 255, 255, 0.38);
91
+ --control-fg: #7a8478;
92
+ --control-bg: #f4f0d9;
93
+ --control-border: #e6e2cc;
94
+ --bg-image: none;
95
+ --bg-image-dim: 0.78;
96
+ --bg-image-blur: 0px;
97
+ --wallpaper-panel-alpha: 100%;
98
+ --topbar-bg: #f4f0d9;
99
+ --statusbar-bg: #fdf6e3;
100
+ --panel-bg: #f4f0d9;
101
+ --card-bg: #f4f0d9;
102
+ --chip-bg: #efebd4;
103
+ --msgs-bg: #fdf6e3;
104
+ --inputbox-bg: #efebd4;
105
+ --menu-bg: var(--bg-elev2);
106
+ }
107
+
108
+ /* ---- syntax highlighting (Everforest Light) ---- */
109
+ .hljs {
110
+ color: #5c6a72;
111
+ background: #f4f0d9;
112
+ }
113
+ .hljs-keyword,
114
+ .hljs-meta .hljs-keyword {
115
+ color: #c14c45;
116
+ font-weight: 600;
117
+ }
118
+ .hljs-title,
119
+ .hljs-title.function_ {
120
+ color: #3a94c5;
121
+ }
122
+ .hljs-number,
123
+ .hljs-literal {
124
+ color: #df69ba;
125
+ }
126
+ .hljs-string {
127
+ color: #8da101;
128
+ }
129
+ .hljs-built_in,
130
+ .hljs-type {
131
+ color: #a97b00;
132
+ }
133
+ .hljs-comment {
134
+ color: #6d7768;
135
+ font-style: italic;
136
+ }
@@ -0,0 +1,136 @@
1
+ /* theme-name: 极客雪白 */
2
+ /* theme-name-en: Geist Light */
3
+ /* theme-group: classic */
4
+ :root {
5
+ color-scheme: light;
6
+ --bg: #ffffff;
7
+ --bg-elev: #fafafa;
8
+ --bg-elev2: #f4f4f5;
9
+ --border: #eaeaea;
10
+ --border-soft: #f2f2f2;
11
+ --text: #000000;
12
+ --text-dim: #666666;
13
+ --text-faint: #767676;
14
+ --accent: #0070f3;
15
+ --accent-soft: rgba(0, 112, 243, 0.12);
16
+ --green: #059669;
17
+ --green-soft: rgba(5, 150, 105, 0.12);
18
+ --red: #ee0000;
19
+ --red-soft: rgba(238, 0, 0, 0.1);
20
+ --amber: #f5a623;
21
+ --blue: #3b82f6;
22
+ --blue-soft: rgba(59, 130, 246, 0.12);
23
+ --term-bg: #fafafa;
24
+ --term-fg: #000000;
25
+ --term-cursor: #000000;
26
+ --term-cursor-accent: #ffffff;
27
+ --term-selection: rgba(0, 112, 243, 0.2);
28
+ --term-black: #000000;
29
+ --term-red: #ee0000;
30
+ --term-green: #059669;
31
+ --term-yellow: #f5a623;
32
+ --term-blue: #0070f3;
33
+ --term-magenta: #7928ca;
34
+ --term-cyan: #50e3c2;
35
+ --term-white: #fafafa;
36
+ --term-bright-black: #666666;
37
+ --term-bright-red: #ff0000;
38
+ --term-bright-green: #047857;
39
+ --term-bright-yellow: #f5a623;
40
+ --term-bright-blue: #0070f3;
41
+ --term-bright-magenta: #7928ca;
42
+ --term-bright-cyan: #50e3c2;
43
+ --term-bright-white: #ffffff;
44
+ --mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
45
+ --mermaid-font-size: 12px;
46
+ --tooltip-bg: #ffffff;
47
+ --code-bg: #f7f7f8;
48
+ --code-text: #111111;
49
+ --code-border: var(--border-soft);
50
+ --code-pad: 8px 10px;
51
+ --card-body-pad: 4px 14px 12px;
52
+ --err-text: #ee0000;
53
+ --red-text: #ee0000;
54
+ --amber-text: #f5a623;
55
+ --info-blue: #0070f3;
56
+ --link: #0070f3;
57
+ --link-hover: #0051b3;
58
+ --link-soft: #0070f3;
59
+ --md-strong: #000000;
60
+ --skill-blue: #0070f3;
61
+ --plugin-purple: #b58cff;
62
+ --auth-green: #059669;
63
+ --scroll-thumb: #d4d4d4;
64
+ --scroll-thumb-hover: #a3a3a3;
65
+ --notice-err-bg: #401d23;
66
+ --notice-warn-bg: #38251f;
67
+ --notice-info-bg: #1b2544;
68
+ --notice-err-border: #ef4444;
69
+ --notice-warn-border: #f59e0b;
70
+ --notice-info-border: #3b82f6;
71
+ --send-blue: #000000;
72
+ --send-blue-hover: #333333;
73
+ --stop-red: #ef4444;
74
+ --stop-red-hover: #dc2626;
75
+ --brand-grad-a: #000000;
76
+ --brand-grad-b: #0070f3;
77
+ --on-amber: #1a1a1a;
78
+ --search-active-fg: #1a1d26;
79
+ --switch-knob: #ffffff;
80
+ --bg-elev3: rgba(255, 255, 255, 0.06);
81
+ --sunken-bg: rgba(0, 0, 0, 0.15);
82
+ --glow-015: rgba(255, 255, 255, 0.015);
83
+ --glow-025: rgba(255, 255, 255, 0.025);
84
+ --glow-03: rgba(255, 255, 255, 0.03);
85
+ --glow-04: rgba(255, 255, 255, 0.04);
86
+ --glow-05: rgba(255, 255, 255, 0.05);
87
+ --glow-12: rgba(255, 255, 255, 0.12);
88
+ --glow-18: rgba(255, 255, 255, 0.18);
89
+ --glow-22: rgba(255, 255, 255, 0.22);
90
+ --glow-38: rgba(255, 255, 255, 0.38);
91
+ --control-fg: #444444;
92
+ --control-bg: #fafafa;
93
+ --control-border: #eaeaea;
94
+ --bg-image: none;
95
+ --bg-image-dim: 0.78;
96
+ --bg-image-blur: 0px;
97
+ --wallpaper-panel-alpha: 100%;
98
+ --topbar-bg: #ffffff;
99
+ --statusbar-bg: #fafafa;
100
+ --panel-bg: #ffffff;
101
+ --card-bg: #ffffff;
102
+ --chip-bg: #f4f4f5;
103
+ --msgs-bg: #ffffff;
104
+ --inputbox-bg: #f4f4f5;
105
+ --menu-bg: var(--bg-elev2);
106
+ }
107
+
108
+ /* ---- syntax highlighting (Geist Light) ---- */
109
+ .hljs {
110
+ color: #111111;
111
+ background: #f7f7f8;
112
+ }
113
+ .hljs-keyword,
114
+ .hljs-meta .hljs-keyword {
115
+ color: #e00000;
116
+ font-weight: 600;
117
+ }
118
+ .hljs-title,
119
+ .hljs-title.function_ {
120
+ color: #0070f3;
121
+ }
122
+ .hljs-number,
123
+ .hljs-literal {
124
+ color: #7928ca;
125
+ }
126
+ .hljs-string {
127
+ color: #0284c7;
128
+ }
129
+ .hljs-built_in,
130
+ .hljs-type {
131
+ color: #f5a623;
132
+ }
133
+ .hljs-comment {
134
+ color: #888888;
135
+ font-style: italic;
136
+ }
@@ -0,0 +1,136 @@
1
+ /* theme-name: 格鲁夫沙 */
2
+ /* theme-name-en: Gruvbox Light */
3
+ /* theme-group: classic */
4
+ :root {
5
+ color-scheme: light;
6
+ --bg: #fbf1c7;
7
+ --bg-elev: #ebdbb2;
8
+ --bg-elev2: #d5c4a1;
9
+ --border: #d5c4a1;
10
+ --border-soft: #ebdbb2;
11
+ --text: #3c3836;
12
+ --text-dim: #504945;
13
+ --text-faint: #665c54;
14
+ --accent: #af3a03;
15
+ --accent-soft: rgba(175, 58, 3, 0.14);
16
+ --green: #79740e;
17
+ --green-soft: rgba(121, 116, 14, 0.12);
18
+ --red: #9d0006;
19
+ --red-soft: rgba(157, 0, 6, 0.1);
20
+ --amber: #b57614;
21
+ --blue: #3b82f6;
22
+ --blue-soft: rgba(59, 130, 246, 0.12);
23
+ --term-bg: #fbf1c7;
24
+ --term-fg: #3c3836;
25
+ --term-cursor: #af3a03;
26
+ --term-cursor-accent: #fbf1c7;
27
+ --term-selection: rgba(175, 58, 3, 0.24);
28
+ --term-black: #3c3836;
29
+ --term-red: #9d0006;
30
+ --term-green: #79740e;
31
+ --term-yellow: #b57614;
32
+ --term-blue: #076678;
33
+ --term-magenta: #8f3f71;
34
+ --term-cyan: #427b58;
35
+ --term-white: #ebdbb2;
36
+ --term-bright-black: #665c54;
37
+ --term-bright-red: #9d0006;
38
+ --term-bright-green: #79740e;
39
+ --term-bright-yellow: #b57614;
40
+ --term-bright-blue: #076678;
41
+ --term-bright-magenta: #8f3f71;
42
+ --term-bright-cyan: #427b58;
43
+ --term-bright-white: #fbf1c7;
44
+ --mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
45
+ --mermaid-font-size: 12px;
46
+ --tooltip-bg: #ebdbb2;
47
+ --code-bg: #ebdbb2;
48
+ --code-text: #3c3836;
49
+ --code-border: var(--border-soft);
50
+ --code-pad: 8px 10px;
51
+ --card-body-pad: 4px 14px 12px;
52
+ --err-text: #9d0006;
53
+ --red-text: #9d0006;
54
+ --amber-text: #b57614;
55
+ --info-blue: #076678;
56
+ --link: #076678;
57
+ --link-hover: #055a68;
58
+ --link-soft: #076678;
59
+ --md-strong: #282828;
60
+ --skill-blue: #076678;
61
+ --plugin-purple: #b58cff;
62
+ --auth-green: #79740e;
63
+ --scroll-thumb: #d5c4a1;
64
+ --scroll-thumb-hover: #bdae93;
65
+ --notice-err-bg: #401d23;
66
+ --notice-warn-bg: #38251f;
67
+ --notice-info-bg: #1b2544;
68
+ --notice-err-border: #ef4444;
69
+ --notice-warn-border: #f59e0b;
70
+ --notice-info-border: #3b82f6;
71
+ --send-blue: #9d0006;
72
+ --send-blue-hover: #af3a03;
73
+ --stop-red: #ef4444;
74
+ --stop-red-hover: #dc2626;
75
+ --brand-grad-a: #af3a03;
76
+ --brand-grad-b: #b57614;
77
+ --on-amber: #1a1a1a;
78
+ --search-active-fg: #1a1d26;
79
+ --switch-knob: #ffffff;
80
+ --bg-elev3: rgba(255, 255, 255, 0.06);
81
+ --sunken-bg: rgba(0, 0, 0, 0.15);
82
+ --glow-015: rgba(255, 255, 255, 0.015);
83
+ --glow-025: rgba(255, 255, 255, 0.025);
84
+ --glow-03: rgba(255, 255, 255, 0.03);
85
+ --glow-04: rgba(255, 255, 255, 0.04);
86
+ --glow-05: rgba(255, 255, 255, 0.05);
87
+ --glow-12: rgba(255, 255, 255, 0.12);
88
+ --glow-18: rgba(255, 255, 255, 0.18);
89
+ --glow-22: rgba(255, 255, 255, 0.22);
90
+ --glow-38: rgba(255, 255, 255, 0.38);
91
+ --control-fg: #504945;
92
+ --control-bg: #ebdbb2;
93
+ --control-border: #d5c4a1;
94
+ --bg-image: none;
95
+ --bg-image-dim: 0.78;
96
+ --bg-image-blur: 0px;
97
+ --wallpaper-panel-alpha: 100%;
98
+ --topbar-bg: #ebdbb2;
99
+ --statusbar-bg: #fbf1c7;
100
+ --panel-bg: #ebdbb2;
101
+ --card-bg: #ebdbb2;
102
+ --chip-bg: #d5c4a1;
103
+ --msgs-bg: #fbf1c7;
104
+ --inputbox-bg: #d5c4a1;
105
+ --menu-bg: var(--bg-elev2);
106
+ }
107
+
108
+ /* ---- syntax highlighting (Gruvbox Light) ---- */
109
+ .hljs {
110
+ color: #3c3836;
111
+ background: #ebdbb2;
112
+ }
113
+ .hljs-keyword,
114
+ .hljs-meta .hljs-keyword {
115
+ color: #9d0006;
116
+ font-weight: 600;
117
+ }
118
+ .hljs-title,
119
+ .hljs-title.function_ {
120
+ color: #076678;
121
+ }
122
+ .hljs-number,
123
+ .hljs-literal {
124
+ color: #8f3f71;
125
+ }
126
+ .hljs-string {
127
+ color: #79740e;
128
+ }
129
+ .hljs-built_in,
130
+ .hljs-type {
131
+ color: #b57614;
132
+ }
133
+ .hljs-comment {
134
+ color: #7f7360;
135
+ font-style: italic;
136
+ }
@@ -0,0 +1,136 @@
1
+ /* theme-name: 神奈川莲 */
2
+ /* theme-name-en: Kanagawa Lotus */
3
+ /* theme-group: classic */
4
+ :root {
5
+ color-scheme: light;
6
+ --bg: #f2ecbc;
7
+ --bg-elev: #e5ddb0;
8
+ --bg-elev2: #dcd5ac;
9
+ --border: #d5cea3;
10
+ --border-soft: #e5ddb0;
11
+ --text: #545464;
12
+ --text-dim: #65624f;
13
+ --text-faint: #6b685a;
14
+ --accent: #4d699b;
15
+ --accent-soft: rgba(77, 105, 155, 0.14);
16
+ --green: #6f894e;
17
+ --green-soft: rgba(111, 137, 78, 0.12);
18
+ --red: #c84053;
19
+ --red-soft: rgba(200, 64, 83, 0.1);
20
+ --amber: #de9800;
21
+ --blue: #3b82f6;
22
+ --blue-soft: rgba(59, 130, 246, 0.12);
23
+ --term-bg: #f2ecbc;
24
+ --term-fg: #545464;
25
+ --term-cursor: #4d699b;
26
+ --term-cursor-accent: #f2ecbc;
27
+ --term-selection: rgba(77, 105, 155, 0.24);
28
+ --term-black: #545464;
29
+ --term-red: #c84053;
30
+ --term-green: #6f894e;
31
+ --term-yellow: #de9800;
32
+ --term-blue: #4d699b;
33
+ --term-magenta: #b35b79;
34
+ --term-cyan: #597b75;
35
+ --term-white: #e5ddb0;
36
+ --term-bright-black: #716e61;
37
+ --term-bright-red: #c84053;
38
+ --term-bright-green: #6f894e;
39
+ --term-bright-yellow: #de9800;
40
+ --term-bright-blue: #4d699b;
41
+ --term-bright-magenta: #b35b79;
42
+ --term-bright-cyan: #597b75;
43
+ --term-bright-white: #f2ecbc;
44
+ --mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
45
+ --mermaid-font-size: 12px;
46
+ --tooltip-bg: #e5ddb0;
47
+ --code-bg: #e5ddb0;
48
+ --code-text: #545464;
49
+ --code-border: var(--border-soft);
50
+ --code-pad: 8px 10px;
51
+ --card-body-pad: 4px 14px 12px;
52
+ --err-text: #c84053;
53
+ --red-text: #c84053;
54
+ --amber-text: #a37000;
55
+ --info-blue: #4d699b;
56
+ --link: #4d699b;
57
+ --link-hover: #3d5680;
58
+ --link-soft: #4d699b;
59
+ --md-strong: #545464;
60
+ --skill-blue: #4d699b;
61
+ --plugin-purple: #b58cff;
62
+ --auth-green: #6f894e;
63
+ --scroll-thumb: #d5cea3;
64
+ --scroll-thumb-hover: #bfb586;
65
+ --notice-err-bg: #401d23;
66
+ --notice-warn-bg: #38251f;
67
+ --notice-info-bg: #1b2544;
68
+ --notice-err-border: #ef4444;
69
+ --notice-warn-border: #f59e0b;
70
+ --notice-info-border: #3b82f6;
71
+ --send-blue: #4d699b;
72
+ --send-blue-hover: #3d5680;
73
+ --stop-red: #ef4444;
74
+ --stop-red-hover: #dc2626;
75
+ --brand-grad-a: #4d699b;
76
+ --brand-grad-b: #624c83;
77
+ --on-amber: #1a1a1a;
78
+ --search-active-fg: #1a1d26;
79
+ --switch-knob: #ffffff;
80
+ --bg-elev3: rgba(255, 255, 255, 0.06);
81
+ --sunken-bg: rgba(0, 0, 0, 0.15);
82
+ --glow-015: rgba(255, 255, 255, 0.015);
83
+ --glow-025: rgba(255, 255, 255, 0.025);
84
+ --glow-03: rgba(255, 255, 255, 0.03);
85
+ --glow-04: rgba(255, 255, 255, 0.04);
86
+ --glow-05: rgba(255, 255, 255, 0.05);
87
+ --glow-12: rgba(255, 255, 255, 0.12);
88
+ --glow-18: rgba(255, 255, 255, 0.18);
89
+ --glow-22: rgba(255, 255, 255, 0.22);
90
+ --glow-38: rgba(255, 255, 255, 0.38);
91
+ --control-fg: #716e61;
92
+ --control-bg: #e5ddb0;
93
+ --control-border: #d5cea3;
94
+ --bg-image: none;
95
+ --bg-image-dim: 0.78;
96
+ --bg-image-blur: 0px;
97
+ --wallpaper-panel-alpha: 100%;
98
+ --topbar-bg: #e5ddb0;
99
+ --statusbar-bg: #f2ecbc;
100
+ --panel-bg: #e5ddb0;
101
+ --card-bg: #e5ddb0;
102
+ --chip-bg: #dcd5ac;
103
+ --msgs-bg: #f2ecbc;
104
+ --inputbox-bg: #dcd5ac;
105
+ --menu-bg: var(--bg-elev2);
106
+ }
107
+
108
+ /* ---- syntax highlighting (Kanagawa Lotus) ---- */
109
+ .hljs {
110
+ color: #545464;
111
+ background: #e5ddb0;
112
+ }
113
+ .hljs-keyword,
114
+ .hljs-meta .hljs-keyword {
115
+ color: #624c83;
116
+ font-weight: 600;
117
+ }
118
+ .hljs-title,
119
+ .hljs-title.function_ {
120
+ color: #4d699b;
121
+ }
122
+ .hljs-number,
123
+ .hljs-literal {
124
+ color: #b35b79;
125
+ }
126
+ .hljs-string {
127
+ color: #6f894e;
128
+ }
129
+ .hljs-built_in,
130
+ .hljs-type {
131
+ color: #a37000;
132
+ }
133
+ .hljs-comment {
134
+ color: #6b685a;
135
+ font-style: italic;
136
+ }
@@ -17,6 +17,8 @@
17
17
  --red: #f87171;
18
18
  --red-soft: rgba(248, 113, 113, 0.12);
19
19
  --amber: #fbbf24;
20
+ --blue: #3b82f6;
21
+ --blue-soft: rgba(59, 130, 246, 0.12);
20
22
  --term-bg: #0b0d12;
21
23
  --term-fg: #e6e8ef;
22
24
  --term-cursor: #8b5cf6;
@@ -67,6 +69,8 @@
67
69
  --notice-info-border: #3b82f6;
68
70
  --send-blue: #3b82f6;
69
71
  --send-blue-hover: #2563eb;
72
+ --stop-red: #ef4444;
73
+ --stop-red-hover: #dc2626;
70
74
  --brand-grad-a: #8b5cf6;
71
75
  --brand-grad-b: #6366f1;
72
76
  --on-amber: #1a1a1a;
package/themes/mist.css CHANGED
@@ -17,6 +17,8 @@
17
17
  --red: #dc2626;
18
18
  --red-soft: rgba(220, 38, 38, 0.1);
19
19
  --amber: #d97706;
20
+ --blue: #3b82f6;
21
+ --blue-soft: rgba(59, 130, 246, 0.12);
20
22
  --term-bg: #f8fafc;
21
23
  --term-fg: #1e293b;
22
24
  --term-cursor: #0284c7;
@@ -67,6 +69,8 @@
67
69
  --notice-info-border: #2563eb;
68
70
  --send-blue: #0284c7;
69
71
  --send-blue-hover: #0369a1;
72
+ --stop-red: #ef4444;
73
+ --stop-red-hover: #dc2626;
70
74
  --brand-grad-a: #38bdf8;
71
75
  --brand-grad-b: #0284c7;
72
76
  --on-amber: #1a1a1a;
package/themes/nord.css CHANGED
@@ -18,6 +18,8 @@
18
18
  --red: #bf616a;
19
19
  --red-soft: rgba(191, 97, 106, 0.12);
20
20
  --amber: #ebcb8b;
21
+ --blue: #3b82f6;
22
+ --blue-soft: rgba(59, 130, 246, 0.12);
21
23
  --term-bg: #242933;
22
24
  --term-fg: #d8dee9;
23
25
  --term-cursor: #88c0d0;
@@ -68,6 +70,8 @@
68
70
  --notice-info-border: #3b82f6;
69
71
  --send-blue: #88c0d0;
70
72
  --send-blue-hover: #81a1c1;
73
+ --stop-red: #ef4444;
74
+ --stop-red-hover: #dc2626;
71
75
  --brand-grad-a: #88c0d0;
72
76
  --brand-grad-b: #81a1c1;
73
77
  --on-amber: #1a1a1a;
@@ -18,6 +18,8 @@
18
18
  --red: #e06c75;
19
19
  --red-soft: rgba(224, 108, 117, 0.12);
20
20
  --amber: #e5c07b;
21
+ --blue: #3b82f6;
22
+ --blue-soft: rgba(59, 130, 246, 0.12);
21
23
  --term-bg: #1e2227;
22
24
  --term-fg: #abb2bf;
23
25
  --term-cursor: #528bff;
@@ -68,6 +70,8 @@
68
70
  --notice-info-border: #3b82f6;
69
71
  --send-blue: #61afef;
70
72
  --send-blue-hover: #528bff;
73
+ --stop-red: #ef4444;
74
+ --stop-red-hover: #dc2626;
71
75
  --brand-grad-a: #61afef;
72
76
  --brand-grad-b: #c678dd;
73
77
  --on-amber: #1a1a1a;
package/themes/paper.css CHANGED
@@ -17,6 +17,8 @@
17
17
  --red: #b91c1c;
18
18
  --red-soft: rgba(185, 28, 28, 0.1);
19
19
  --amber: #d97706;
20
+ --blue: #3b82f6;
21
+ --blue-soft: rgba(59, 130, 246, 0.12);
20
22
  --term-bg: #f7f1e3;
21
23
  --term-fg: #3f372c;
22
24
  --term-cursor: #b45309;
@@ -67,6 +69,8 @@
67
69
  --notice-info-border: #57534e;
68
70
  --send-blue: #b45309;
69
71
  --send-blue-hover: #92400e;
72
+ --stop-red: #ef4444;
73
+ --stop-red-hover: #dc2626;
70
74
  --brand-grad-a: #d97706;
71
75
  --brand-grad-b: #b45309;
72
76
  --on-amber: #1a1a1a;