setCollapseState(!collapseState)}
diff --git a/web/app/components/workflow/run/tracing-panel.tsx b/web/app/components/workflow/run/tracing-panel.tsx
index 7739c8f836..221a8ae9cb 100644
--- a/web/app/components/workflow/run/tracing-panel.tsx
+++ b/web/app/components/workflow/run/tracing-panel.tsx
@@ -170,7 +170,7 @@ const TracingPanel: FC
= ({
return (
{
e.stopPropagation()
e.nativeEvent.stopImmediatePropagation()
diff --git a/web/app/styles/markdown.scss b/web/app/styles/markdown.scss
index 92331505ec..a3b86f44fe 100644
--- a/web/app/styles/markdown.scss
+++ b/web/app/styles/markdown.scss
@@ -1,77 +1,22 @@
-@mixin light {
- color-scheme: light;
- --color-prettylights-syntax-comment: #6e7781;
- --color-prettylights-syntax-constant: #0550ae;
- --color-prettylights-syntax-entity: #8250df;
- --color-prettylights-syntax-storage-modifier-import: #24292f;
- --color-prettylights-syntax-entity-tag: #116329;
- --color-prettylights-syntax-keyword: #cf222e;
- --color-prettylights-syntax-string: #0a3069;
- --color-prettylights-syntax-variable: #953800;
- --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;
- --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;
- --color-prettylights-syntax-invalid-illegal-bg: #82071e;
- --color-prettylights-syntax-carriage-return-text: #f6f8fa;
- --color-prettylights-syntax-carriage-return-bg: #cf222e;
- --color-prettylights-syntax-string-regexp: #116329;
- --color-prettylights-syntax-markup-list: #3b2300;
- --color-prettylights-syntax-markup-heading: #0550ae;
- --color-prettylights-syntax-markup-italic: #24292f;
- --color-prettylights-syntax-markup-bold: #24292f;
- --color-prettylights-syntax-markup-deleted-text: #82071e;
- --color-prettylights-syntax-markup-deleted-bg: #ffebe9;
- --color-prettylights-syntax-markup-inserted-text: #116329;
- --color-prettylights-syntax-markup-inserted-bg: #dafbe1;
- --color-prettylights-syntax-markup-changed-text: #953800;
- --color-prettylights-syntax-markup-changed-bg: #ffd8b5;
- --color-prettylights-syntax-markup-ignored-text: #eaeef2;
- --color-prettylights-syntax-markup-ignored-bg: #0550ae;
- --color-prettylights-syntax-meta-diff-range: #8250df;
- --color-prettylights-syntax-brackethighlighter-angle: #57606a;
- --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;
- --color-prettylights-syntax-constant-other-reference-link: #0a3069;
- --color-fg-default: #24292f;
- --color-fg-muted: #57606a;
- --color-fg-subtle: #6e7781;
- --color-canvas-default: transparent;
- --color-canvas-subtle: #f6f8fa;
- --color-border-default: #d0d7de;
- --color-border-muted: hsla(210, 18%, 87%, 1);
- --color-neutral-muted: rgba(175, 184, 193, 0.2);
- --color-accent-fg: #0969da;
- --color-accent-emphasis: #0969da;
- --color-attention-subtle: #fff8c5;
- --color-danger-fg: #cf222e;
-}
+@import '../../themes/light';
+@import '../../themes/dark';
+@import '../../themes/markdown-light';
+@import '../../themes/markdown-dark';
.markdown-body {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
- margin: 4px 0 0 0;
- color: #101828;
+ margin: 0;
+ color: var(--color-text-primary);
background-color: var(--color-canvas-default);
- font-size: 14px;
+ font-size: 15px;
font-weight: 400;
- line-height: 1.5;
+ line-height: 1.6;
word-wrap: break-word;
word-break: break-word;
user-select: text;
}
-.light {
- @include light;
-}
-
-:root {
- @include light;
-}
-
-@media (prefers-color-scheme: light) {
- :root {
- @include light;
- }
-}
-
.markdown-body .octicon {
display: inline-block;
fill: currentColor;
@@ -109,18 +54,44 @@
.markdown-body a {
background-color: transparent;
- color: #155EEF;
+ color: var(--color-text-accent);
text-decoration: none;
+ text-decoration-color: var(--color-text-accent);
+}
+
+.markdown-body a:hover {
+ position: relative;
+ color: var(--color-text-accent-secondary);
+ text-decoration-color: var(--color-text-accent-secondary);
+ text-decoration: underline;
}
.markdown-body abbr[title] {
+ position: relative;
border-bottom: none;
text-decoration: underline dotted;
+ text-decoration-color: var(--color-text-accent);
+}
+
+.markdown-body abbr[title]:hover::after {
+ @apply shadow-xl shadow-shadow-shadow-5 rounded-md;
+ position: absolute;
+ bottom: 100%;
+ left: 0;
+ display: block;
+ width: max-content;
+ content: attr(title);
+ padding: 6px;
+ font-size: 12px;
+ line-height: 1;
+ color: var(--color-text-secondary);
+ border: 0.5px solid var(--color-components-panel-border);
+ background-color: var(--color-components-tooltip-bg);
}
.markdown-body b,
.markdown-body strong {
- font-weight: var(--base-text-weight-semibold, 600);
+ font-weight: var(--base-text-weight-bold, 700);
}
.markdown-body dfn {
@@ -152,10 +123,15 @@
top: -0.5em;
}
+.markdown-body figure {
+ margin: 1em 40px;
+}
+
.markdown-body img {
- border-style: none;
max-width: 100%;
box-sizing: content-box;
+ border: 2px solid var(--color-effects-image-frame);
+ border-radius: 0;
background-color: var(--color-canvas-default);
}
@@ -167,20 +143,19 @@
font-size: 1em;
}
-.markdown-body figure {
- margin: 1em 40px;
+.markdown-body hr {
+ margin: 24px 0;
}
-.markdown-body hr {
- box-sizing: content-box;
- overflow: hidden;
- background: transparent;
- border-bottom: 1px solid var(--color-border-muted);
- height: 0.25em;
- padding: 0;
- margin: 24px 0;
- background-color: var(--color-border-default);
- border: 0;
+.markdown-body hr::before {
+ display: table;
+ content: "";
+}
+
+.markdown-body hr::after {
+ display: table;
+ clear: both;
+ content: "";
}
.markdown-body input {
@@ -197,13 +172,11 @@
.markdown-body [type="submit"] {
-webkit-appearance: button;
}
-
.markdown-body [type="checkbox"],
.markdown-body [type="radio"] {
box-sizing: border-box;
padding: 0;
}
-
.markdown-body [type="number"]::-webkit-inner-spin-button,
.markdown-body [type="number"]::-webkit-outer-spin-button {
height: auto;
@@ -233,24 +206,16 @@
opacity: 1;
}
-.markdown-body hr::before {
- display: table;
- content: "";
-}
-
-.markdown-body hr::after {
- display: table;
- clear: both;
- content: "";
-}
.markdown-body table {
border-spacing: 0;
- border-collapse: collapse;
+ border-collapse: separate;
display: block;
width: max-content;
max-width: 100%;
- overflow: auto;
+ overflow: hidden;
+ border: 1px solid var(--color-divider-regular);
+ border-radius: 8px;
}
.markdown-body td,
@@ -302,17 +267,14 @@
.markdown-body kbd {
display: inline-block;
- padding: 3px 5px;
+ padding: 2px 6px;
font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas,
Liberation Mono, monospace;
- line-height: 10px;
- color: var(--color-fg-default);
+ line-height: 1;
+ color: var(--color-text-primary);
vertical-align: middle;
- background-color: var(--color-canvas-subtle);
- border: solid 1px var(--color-neutral-muted);
- border-bottom-color: var(--color-neutral-muted);
+ background-color: var(--color-components-input-bg-normal);
border-radius: 6px;
- box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
}
.markdown-body h1,
@@ -327,17 +289,25 @@
line-height: 1.25;
}
-.markdown-body blockquote {
- margin: 0;
- padding: 0 8px;
- border-left: 2px solid #2970FF;
+.markdown-body h1 {
+ font-size: 18px;
}
-.markdown-body ul,
-.markdown-body ol {
- margin-top: 0;
- margin-bottom: 0;
- padding-left: 2em;
+.markdown-body h2 {
+ font-size: 16px;
+}
+
+.markdown-body h3,
+.markdown-body h4,
+.markdown-body h5,
+.markdown-body h6 {
+ font-size: 14px;
+}
+
+.markdown-body blockquote {
+ margin: 0;
+ padding: 0 12px;
+ border-left: 3px solid var(--color-text-accent-secondary);
}
.markdown-body ol {
@@ -348,6 +318,11 @@
list-style: disc;
}
+.markdown-body>ol,
+.markdown-body>ul {
+ padding: 0;
+}
+
.markdown-body ol ol,
.markdown-body ul ol {
list-style-type: lower-roman;
@@ -446,6 +421,11 @@
margin-bottom: 12px;
}
+.markdown-body ul,
+.markdown-body ol {
+ padding-left: 2em;
+}
+
.markdown-body blockquote> :first-child {
margin-top: 0;
}
@@ -587,23 +567,35 @@
}
.markdown-body table th {
- font-weight: var(--base-text-weight-semibold, 600);
+ color: var(--color-text-tertiary);
+ font-size: 12px;
+ font-weight: var(--base-text-weight-medium, 500);
+ white-space: nowrap;
+}
+
+.markdown-body table td {
+ color: var(--color-text-secondary);
+ font-size: 13px;
+ font-weight: var(--base-text-weight-normal, 400);
white-space: nowrap;
}
.markdown-body table th,
.markdown-body table td {
padding: 6px 13px;
- border: 1px solid var(--color-border-default);
}
-.markdown-body table tr {
- background-color: var(--color-canvas-default);
- border-top: 1px solid var(--color-border-muted);
+.markdown-body table tr>th:not(:last-child),
+.markdown-body table tr>td:not(:last-child) {
+ border-right: 1px solid var(--color-divider-subtle);
}
-.markdown-body table tr:nth-child(2n) {
- background-color: var(--color-canvas-subtle);
+.markdown-body table tbody tr:first-child td {
+ border-top: 1px solid var(--color-divider-regular);
+}
+
+.markdown-body table tbody tr:not(:last-child) td {
+ border-bottom: 1px solid var(--color-divider-subtle);
}
.markdown-body table img {
@@ -761,11 +753,10 @@
.markdown-body .highlight pre,
.markdown-body pre {
padding: 16px;
- background: #fff;
+ background-color: transparent;
overflow: auto;
font-size: 85%;
line-height: 1.45;
- border-radius: 6px;
}
.markdown-body pre {
@@ -1043,5 +1034,5 @@
}
.markdown-body .react-syntax-highlighter-line-number {
- color: #D0D5DD;
+ color: var(--color-text-quaternary);
}
\ No newline at end of file
diff --git a/web/context/share-page-context.tsx b/web/context/share-page-context.tsx
new file mode 100644
index 0000000000..a071743abe
--- /dev/null
+++ b/web/context/share-page-context.tsx
@@ -0,0 +1,47 @@
+'use client'
+import { useCallback, useEffect, useState } from 'react'
+import { createContext, useContextSelector } from 'use-context-selector'
+import type { FC, ReactNode } from 'react'
+import { Theme } from '@/types/app'
+
+export type SharePageContextValue = {
+ theme: Theme
+ setTheme: (theme: Theme) => void
+}
+
+const SharePageContext = createContext({
+ theme: Theme.light,
+ setTheme: () => { },
+})
+
+export function useSelector(selector: (value: SharePageContextValue) => T): T {
+ return useContextSelector(SharePageContext, selector)
+}
+
+export type SharePageContextProviderProps = {
+ children: ReactNode
+}
+
+export const SharePageContextProvider: FC = ({ children }) => {
+ const [theme, setTheme] = useState(Theme.light)
+ const handleSetTheme = useCallback((theme: Theme) => {
+ setTheme(theme)
+ globalThis.document.documentElement.setAttribute('data-theme', theme)
+ }, [])
+
+ useEffect(() => {
+ globalThis.document.documentElement.setAttribute('data-theme', theme)
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [])
+
+ return (
+
+ {children}
+
+ )
+}
+
+export default SharePageContextProvider
diff --git a/web/i18n/en-US/share-app.ts b/web/i18n/en-US/share-app.ts
index 5d47fd31cf..b700225621 100644
--- a/web/i18n/en-US/share-app.ts
+++ b/web/i18n/en-US/share-app.ts
@@ -5,11 +5,14 @@ const translation = {
appUnknownError: 'App is unavailable',
},
chat: {
- newChat: 'New chat',
+ newChat: 'Start New chat',
+ chatSettingsTitle: 'New chat setup',
+ chatFormTip: 'Chat settings cannot be modified after the chat has started.',
pinnedTitle: 'Pinned',
- unpinnedTitle: 'Chats',
+ unpinnedTitle: 'Recent',
newChatDefaultName: 'New conversation',
resetChat: 'Reset conversation',
+ viewChatSettings: 'View chat settings',
poweredBy: 'Powered by',
prompt: 'Prompt',
privatePromptConfigTitle: 'Conversation settings',
@@ -47,6 +50,8 @@ const translation = {
completionResult: 'Completion result',
queryPlaceholder: 'Write your query content...',
run: 'Execute',
+ execution: 'EXECUTION',
+ executions: '{{num}} EXECUTIONS',
copy: 'Copy',
resultTitle: 'AI Completion',
noData: 'AI will give you what you want here.',
diff --git a/web/i18n/zh-Hans/share-app.ts b/web/i18n/zh-Hans/share-app.ts
index 968381bb37..0f1f14e363 100644
--- a/web/i18n/zh-Hans/share-app.ts
+++ b/web/i18n/zh-Hans/share-app.ts
@@ -5,11 +5,14 @@ const translation = {
appUnknownError: '应用不可用',
},
chat: {
- newChat: '新对话',
+ newChat: '开启新对话',
+ chatSettingsTitle: '新对话设置',
+ chatFormTip: '对话开始后,对话设置将无法修改。',
pinnedTitle: '已置顶',
unpinnedTitle: '对话列表',
newChatDefaultName: '新的对话',
resetChat: '重置对话',
+ viewChatSettings: '查看对话设置',
poweredBy: 'Powered by',
prompt: '提示词',
privatePromptConfigTitle: '对话设置',
@@ -43,6 +46,8 @@ const translation = {
completionResult: '生成结果',
queryPlaceholder: '请输入文本内容',
run: '运行',
+ execution: '运行',
+ executions: '{{num}} 次运行',
copy: '拷贝',
resultTitle: 'AI 书写',
noData: 'AI 会在这里给你惊喜。',
diff --git a/web/public/embed.js b/web/public/embed.js
index 3c2735b6fc..304409ded6 100644
--- a/web/public/embed.js
+++ b/web/public/embed.js
@@ -69,11 +69,21 @@
iframe.id = iframeId;
iframe.src = iframeUrl;
iframe.style.cssText = `
- border: none; position: absolute; flex-direction: column; justify-content: space-between;
- box-shadow: rgba(150, 150, 150, 0.2) 0px 10px 30px 0px, rgba(150, 150, 150, 0.2) 0px 0px 0px 1px;
- bottom: 55px; right: 0; width: 24rem; max-width: calc(100vw - 2rem); height: 40rem;
- max-height: calc(100vh - 6rem); border-radius: 0.75rem; display: flex; z-index: 2147483647;
- overflow: hidden; left: unset; background-color: #F3F4F6;user-select: none;
+ position: absolute;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ left: unset;
+ right: 0;
+ bottom: 0;
+ width: 24rem;
+ max-width: calc(100vw - 2rem);
+ height: 43.75rem;
+ max-height: calc(100vh - 6rem);
+ border: none;
+ z-index: 2147483640;
+ overflow: hidden;
+ user-select: none;
`;
return iframe;
@@ -92,12 +102,12 @@
const buttonInBottom = buttonRect.top - 5 > targetIframe.clientHeight
if (buttonInBottom) {
- targetIframe.style.bottom = `${buttonRect.height + 5}px`;
+ targetIframe.style.bottom = '0px';
targetIframe.style.top = 'unset';
}
else {
targetIframe.style.bottom = 'unset';
- targetIframe.style.top = `${buttonRect.height + 5}px`;
+ targetIframe.style.top = '0px';
}
const buttonInRight = buttonRect.right > targetIframe.clientWidth;
@@ -148,8 +158,8 @@
right: var(--${containerDiv.id}-right, 1rem);
left: var(--${containerDiv.id}-left, unset);
top: var(--${containerDiv.id}-top, unset);
- width: var(--${containerDiv.id}-width, 50px);
- height: var(--${containerDiv.id}-height, 50px);
+ width: var(--${containerDiv.id}-width, 48px);
+ height: var(--${containerDiv.id}-height, 48px);
border-radius: var(--${containerDiv.id}-border-radius, 25px);
background-color: var(--${containerDiv.id}-bg-color, #155EEF);
box-shadow: var(--${containerDiv.id}-box-shadow, rgba(0, 0, 0, 0.2) 0px 4px 8px 0px);
@@ -161,7 +171,7 @@
// Create display div for the button icon
const displayDiv = document.createElement("div");
displayDiv.style.cssText =
- "display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; z-index: 2147483647;";
+ "position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; z-index: 2147483647;";
displayDiv.innerHTML = svgIcons.open;
containerDiv.appendChild(displayDiv);
document.body.appendChild(containerDiv);
@@ -170,7 +180,7 @@
containerDiv.addEventListener("click", function () {
const targetIframe = document.getElementById(iframeId);
if (!targetIframe) {
- containerDiv.appendChild(createIframe());
+ containerDiv.prepend(createIframe());
resetIframePosition();
this.title = "Exit (ESC)";
displayDiv.innerHTML = svgIcons.close;
diff --git a/web/tailwind-common-config.ts b/web/tailwind-common-config.ts
index 2bc7343a45..1d0c8a768b 100644
--- a/web/tailwind-common-config.ts
+++ b/web/tailwind-common-config.ts
@@ -94,6 +94,8 @@ const config = {
'chat-bubble-bg': 'var(--color-chat-bubble-bg)',
'chat-input-mask': 'var(--color-chat-input-mask)',
'workflow-process-bg': 'var(--color-workflow-process-bg)',
+ 'workflow-run-failed-bg': 'var(--color-workflow-run-failed-bg)',
+ 'workflow-batch-failed-bg': 'var(--color-workflow-batch-failed-bg)',
'mask-top2bottom-gray-50-to-transparent': 'var(--mask-top2bottom-gray-50-to-transparent)',
'marketplace-divider-bg': 'var(--color-marketplace-divider-bg)',
'marketplace-plugin-empty': 'var(--color-marketplace-plugin-empty)',
diff --git a/web/themes/manual-dark.css b/web/themes/manual-dark.css
index beaad7df48..479408c897 100644
--- a/web/themes/manual-dark.css
+++ b/web/themes/manual-dark.css
@@ -11,6 +11,12 @@ html[data-theme="dark"] {
--color-workflow-process-bg: linear-gradient(90deg,
rgba(24, 24, 27, 0.25) 0%,
rgba(24, 24, 27, 0.04) 100%);
+ --color-workflow-run-failed-bg: linear-gradient(98deg,
+ rgba(240, 68, 56, 0.12) 0%,
+ rgba(0, 0, 0, 0) 26.01%);
+ --color-workflow-batch-failed-bg: linear-gradient(92deg,
+ rgba(240, 68, 56, 0.3) 0%,
+ rgba(0, 0, 0, 0) 100%);
--color-marketplace-divider-bg: linear-gradient(90deg,
rgba(200, 206, 218, 0.14) 0%,
rgba(0, 0, 0, 0) 100%);
diff --git a/web/themes/manual-light.css b/web/themes/manual-light.css
index b4317d521b..119dee5af6 100644
--- a/web/themes/manual-light.css
+++ b/web/themes/manual-light.css
@@ -11,6 +11,12 @@ html[data-theme="light"] {
--color-workflow-process-bg: linear-gradient(90deg,
rgba(200, 206, 218, 0.2) 0%,
rgba(200, 206, 218, 0.04) 100%);
+ --color-workflow-run-failed-bg: linear-gradient(98deg,
+ rgba(240, 68, 56, 0.10) 0%,
+ rgba(255, 255, 255, 0) 26.01%);
+ --color-workflow-batch-failed-bg: linear-gradient(92deg,
+ rgba(240, 68, 56, 0.25) 0%,
+ rgba(255, 255, 255, 0) 100%);
--color-marketplace-divider-bg: linear-gradient(90deg,
rgba(16, 24, 40, 0.08) 0%,
rgba(255, 255, 255, 0) 100%);
diff --git a/web/themes/markdown-dark.css b/web/themes/markdown-dark.css
new file mode 100644
index 0000000000..7207b3e648
--- /dev/null
+++ b/web/themes/markdown-dark.css
@@ -0,0 +1,44 @@
+html[data-theme="dark"] {
+ --color-prettylights-syntax-comment: #6e7781;
+ --color-prettylights-syntax-constant: #0550ae;
+ --color-prettylights-syntax-entity: #8250df;
+ --color-prettylights-syntax-storage-modifier-import: #24292f;
+ --color-prettylights-syntax-entity-tag: #116329;
+ --color-prettylights-syntax-keyword: #cf222e;
+ --color-prettylights-syntax-string: #0a3069;
+ --color-prettylights-syntax-variable: #953800;
+ --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;
+ --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;
+ --color-prettylights-syntax-invalid-illegal-bg: #82071e;
+ --color-prettylights-syntax-carriage-return-text: #f6f8fa;
+ --color-prettylights-syntax-carriage-return-bg: #cf222e;
+ --color-prettylights-syntax-string-regexp: #116329;
+ --color-prettylights-syntax-markup-list: #3b2300;
+ --color-prettylights-syntax-markup-heading: #0550ae;
+ --color-prettylights-syntax-markup-italic: #24292f;
+ --color-prettylights-syntax-markup-bold: #24292f;
+ --color-prettylights-syntax-markup-deleted-text: #82071e;
+ --color-prettylights-syntax-markup-deleted-bg: #ffebe9;
+ --color-prettylights-syntax-markup-inserted-text: #116329;
+ --color-prettylights-syntax-markup-inserted-bg: #dafbe1;
+ --color-prettylights-syntax-markup-changed-text: #953800;
+ --color-prettylights-syntax-markup-changed-bg: #ffd8b5;
+ --color-prettylights-syntax-markup-ignored-text: #eaeef2;
+ --color-prettylights-syntax-markup-ignored-bg: #0550ae;
+ --color-prettylights-syntax-meta-diff-range: #8250df;
+ --color-prettylights-syntax-brackethighlighter-angle: #57606a;
+ --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;
+ --color-prettylights-syntax-constant-other-reference-link: #0a3069;
+ --color-fg-default: #24292f;
+ --color-fg-muted: #57606a;
+ --color-fg-subtle: #6e7781;
+ --color-canvas-default: transparent;
+ --color-canvas-subtle: #f6f8fa;
+ --color-border-default: #d0d7de;
+ --color-border-muted: hsla(210, 18%, 87%, 1);
+ --color-neutral-muted: rgba(175, 184, 193, 0.2);
+ --color-accent-fg: #0969da;
+ --color-accent-emphasis: #0969da;
+ --color-attention-subtle: #fff8c5;
+ --color-danger-fg: #cf222e;
+ }
\ No newline at end of file
diff --git a/web/themes/markdown-light.css b/web/themes/markdown-light.css
new file mode 100644
index 0000000000..8f991b8920
--- /dev/null
+++ b/web/themes/markdown-light.css
@@ -0,0 +1,44 @@
+html[data-theme="light"] {
+ --color-prettylights-syntax-comment: #6e7781;
+ --color-prettylights-syntax-constant: #0550ae;
+ --color-prettylights-syntax-entity: #8250df;
+ --color-prettylights-syntax-storage-modifier-import: #24292f;
+ --color-prettylights-syntax-entity-tag: #116329;
+ --color-prettylights-syntax-keyword: #cf222e;
+ --color-prettylights-syntax-string: #0a3069;
+ --color-prettylights-syntax-variable: #953800;
+ --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;
+ --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;
+ --color-prettylights-syntax-invalid-illegal-bg: #82071e;
+ --color-prettylights-syntax-carriage-return-text: #f6f8fa;
+ --color-prettylights-syntax-carriage-return-bg: #cf222e;
+ --color-prettylights-syntax-string-regexp: #116329;
+ --color-prettylights-syntax-markup-list: #3b2300;
+ --color-prettylights-syntax-markup-heading: #0550ae;
+ --color-prettylights-syntax-markup-italic: #24292f;
+ --color-prettylights-syntax-markup-bold: #24292f;
+ --color-prettylights-syntax-markup-deleted-text: #82071e;
+ --color-prettylights-syntax-markup-deleted-bg: #ffebe9;
+ --color-prettylights-syntax-markup-inserted-text: #116329;
+ --color-prettylights-syntax-markup-inserted-bg: #dafbe1;
+ --color-prettylights-syntax-markup-changed-text: #953800;
+ --color-prettylights-syntax-markup-changed-bg: #ffd8b5;
+ --color-prettylights-syntax-markup-ignored-text: #eaeef2;
+ --color-prettylights-syntax-markup-ignored-bg: #0550ae;
+ --color-prettylights-syntax-meta-diff-range: #8250df;
+ --color-prettylights-syntax-brackethighlighter-angle: #57606a;
+ --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;
+ --color-prettylights-syntax-constant-other-reference-link: #0a3069;
+ --color-fg-default: #24292f;
+ --color-fg-muted: #57606a;
+ --color-fg-subtle: #6e7781;
+ --color-canvas-default: transparent;
+ --color-canvas-subtle: #f6f8fa;
+ --color-border-default: #d0d7de;
+ --color-border-muted: hsla(210, 18%, 87%, 1);
+ --color-neutral-muted: rgba(175, 184, 193, 0.2);
+ --color-accent-fg: #0969da;
+ --color-accent-emphasis: #0969da;
+ --color-attention-subtle: #fff8c5;
+ --color-danger-fg: #cf222e;
+ }
\ No newline at end of file