dsh-code-server-app 0.3.21 → 0.3.23

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 (42) hide show
  1. package/README.en.md +85 -18
  2. package/README.md +74 -20
  3. package/assets/extensions/dshcs-editor-bridge/extension.js +94 -50
  4. package/assets/extensions/dshcs-editor-bridge/lib/ask-panel.js +353 -174
  5. package/assets/extensions/dshcs-editor-bridge/lib/bridge-client.js +30 -4
  6. package/assets/extensions/dshcs-editor-bridge/package.json +2 -2
  7. package/assets/extensions/dshcs-editor-bridge/webview/THIRD-PARTY.md +21 -0
  8. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_AMS-Regular-U6PRYMIZ.woff2 +0 -0
  9. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_Caligraphic-Bold-5QL5CMTE.woff2 +0 -0
  10. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_Caligraphic-Regular-KX5MEWCF.woff2 +0 -0
  11. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_Fraktur-Bold-2QVFK6NQ.woff2 +0 -0
  12. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_Fraktur-Regular-2PEIFJSJ.woff2 +0 -0
  13. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_Main-Bold-YP5VVQRP.woff2 +0 -0
  14. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_Main-BoldItalic-N4V3DX7S.woff2 +0 -0
  15. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_Main-Italic-RELBIK7M.woff2 +0 -0
  16. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_Main-Regular-ARRPAO67.woff2 +0 -0
  17. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_Math-BoldItalic-K4WTGH3J.woff2 +0 -0
  18. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_Math-Italic-6KGCHLFN.woff2 +0 -0
  19. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_SansSerif-Bold-RRNVJFFW.woff2 +0 -0
  20. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_SansSerif-Italic-HMPFTM52.woff2 +0 -0
  21. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_SansSerif-Regular-XIQ62X4E.woff2 +0 -0
  22. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_Script-Regular-APUWIHLP.woff2 +0 -0
  23. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_Size1-Regular-5LRUTBFT.woff2 +0 -0
  24. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_Size2-Regular-LELKET5D.woff2 +0 -0
  25. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_Size3-Regular-WQRQ47UD.woff2 +0 -0
  26. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_Size4-Regular-CDMV7U5C.woff2 +0 -0
  27. package/assets/extensions/dshcs-editor-bridge/webview/fonts/KaTeX_Typewriter-Regular-VBYJ4NRC.woff2 +0 -0
  28. package/assets/extensions/dshcs-editor-bridge/webview/src/app.jsx +199 -0
  29. package/assets/extensions/dshcs-editor-bridge/webview/src/approval.jsx +61 -0
  30. package/assets/extensions/dshcs-editor-bridge/webview/src/official-tokens.css +8 -0
  31. package/assets/extensions/dshcs-editor-bridge/webview/src/panel.css +346 -0
  32. package/assets/extensions/dshcs-editor-bridge/webview/src/thread.jsx +115 -0
  33. package/assets/extensions/dshcs-editor-bridge/webview/thread.css +1 -0
  34. package/assets/extensions/dshcs-editor-bridge/webview/thread.js +464 -0
  35. package/lib/bridge-approval.mjs +215 -0
  36. package/lib/bridge-session.mjs +3 -1
  37. package/lib/bridge-thread.mjs +374 -0
  38. package/lib/bridge.mjs +15 -6
  39. package/lib/index.js +142 -17
  40. package/package.json +29 -6
  41. package/vendor/VENDOR.json +1 -1
  42. package/lib/bridge-answer.mjs +0 -155
@@ -0,0 +1,346 @@
1
+ /* dshcs-editor-bridge / webview/src/panel.css —— 「问 DSH」面板自己的样式(0.2.3)
2
+ *
3
+ * 面板的外壳(标题 / 状态 / 输入框 / 授权卡片)用 VS Code 主题变量,跟编辑器原生面板一致;
4
+ * 消息正文**不在这里排版** —— 交给 DSH 官方渲染器的 CSS(MarkdownText.module.css /
5
+ * CodeBlock.module.css),它依赖一套设计令牌(--dsw-* / --dsl-* / --shiki-*),
6
+ * 由下面这行提供:构建脚本从官方发布物
7
+ * (`@deepseek-ai/dsh-client-ui-theme` 的 lib/client.js 里内联的 CSS)原样抽出来,
8
+ * 所以与 DSH 界面用的是同一套令牌(见 scripts/build-webview.mjs)。
9
+ *
10
+ * 顺序要紧:@import 必须在最前(官方令牌先落地),后面的覆盖规则才生效。
11
+ */
12
+
13
+ @import "./official-tokens.css";
14
+
15
+ :root {
16
+ color-scheme: light dark;
17
+ }
18
+
19
+ html,
20
+ body,
21
+ #root {
22
+ height: 100%;
23
+ }
24
+
25
+ body {
26
+ margin: 0;
27
+ /* 官方令牌表会设 body 的背景与前景(DSH 的颜色);面板跟随编辑器主题,所以覆盖掉。 */
28
+ background: var(--vscode-editor-background);
29
+ color: var(--vscode-foreground);
30
+ font-family: var(--vscode-font-family);
31
+ font-size: var(--vscode-font-size, 13px);
32
+ overflow: hidden;
33
+ }
34
+
35
+ .dshcs-app {
36
+ display: flex;
37
+ flex-direction: column;
38
+ height: 100%;
39
+ /* 对话框形状(0.2.4):面板开在编辑器区、占满工作台宽度,内容居中限宽。 */
40
+ width: 100%;
41
+ max-width: 900px;
42
+ margin: 0 auto;
43
+ }
44
+
45
+ .dshcs-header {
46
+ display: flex;
47
+ align-items: baseline;
48
+ gap: 8px;
49
+ padding: 8px 12px;
50
+ border-bottom: 1px solid var(--vscode-panel-border, rgba(128, 128, 128, 0.35));
51
+ font-size: 12px;
52
+ opacity: 0.9;
53
+ }
54
+
55
+ .dshcs-header .dshcs-title {
56
+ font-weight: 600;
57
+ letter-spacing: 0.04em;
58
+ }
59
+
60
+ .dshcs-header .dshcs-where {
61
+ flex: 1;
62
+ overflow: hidden;
63
+ text-overflow: ellipsis;
64
+ white-space: nowrap;
65
+ }
66
+
67
+ .dshcs-header .dshcs-version {
68
+ opacity: 0.7;
69
+ font-family: var(--vscode-editor-font-family, monospace);
70
+ font-size: 11px;
71
+ }
72
+
73
+ .dshcs-header .dshcs-close {
74
+ border: none;
75
+ background: transparent;
76
+ color: inherit;
77
+ cursor: pointer;
78
+ font-size: 13px;
79
+ line-height: 1;
80
+ padding: 2px 6px;
81
+ border-radius: 4px;
82
+ opacity: 0.75;
83
+ }
84
+
85
+ .dshcs-header .dshcs-close:hover {
86
+ background: var(--vscode-toolbar-hoverBackground, rgba(128, 128, 128, 0.2));
87
+ opacity: 1;
88
+ }
89
+
90
+ /* ---- 思考行(默认收起;外形照抄官方 ReasoningRow 的排版语言) ---- */
91
+
92
+ .dshcs-think {
93
+ display: flex;
94
+ flex-direction: column;
95
+ margin: 2px 0 6px;
96
+ }
97
+
98
+ .dshcs-think .dshcs-think-separator {
99
+ flex: none;
100
+ width: 2px;
101
+ height: 2px;
102
+ margin: 0 8px;
103
+ border-radius: 1px;
104
+ background: var(--dsw-alias-label-caption, currentColor);
105
+ display: inline-block;
106
+ }
107
+
108
+ .dshcs-think .dshcs-think-summary {
109
+ min-width: 0;
110
+ overflow: hidden;
111
+ flex: 1 1 auto;
112
+ color: var(--dsw-alias-label-tertiary, var(--vscode-descriptionForeground));
113
+ font-size: var(--dsh-content-font-size-secondary, 13px);
114
+ white-space: nowrap;
115
+ text-overflow: ellipsis;
116
+ }
117
+
118
+ .dshcs-think .dshcs-think-body {
119
+ padding: 4px 0 4px calc(22px + var(--dsh-content-font-delta, 0px));
120
+ color: var(--dsw-alias-label-tertiary, var(--vscode-descriptionForeground));
121
+ font-size: var(--dsh-content-font-size-secondary, 13px);
122
+ line-height: 1.55;
123
+ white-space: pre-wrap;
124
+ word-break: break-word;
125
+ }
126
+
127
+ .dshcs-warn {
128
+ margin: 8px 12px 0;
129
+ padding: 6px 8px;
130
+ border: 1px solid var(--vscode-inputValidation-warningBorder, #b89500);
131
+ background: var(--vscode-inputValidation-warningBackground, rgba(184, 149, 0, 0.15));
132
+ border-radius: 4px;
133
+ font-size: 12px;
134
+ white-space: pre-wrap;
135
+ }
136
+
137
+ .dshcs-log {
138
+ flex: 1;
139
+ overflow-y: auto;
140
+ padding: 12px 14px 4px;
141
+ }
142
+
143
+ .dshcs-empty {
144
+ opacity: 0.6;
145
+ font-size: 12px;
146
+ padding: 4px 0;
147
+ }
148
+
149
+ /* ---- 消息条目:排版交给官方渲染器,这里只管气泡与间距 ---- */
150
+
151
+ .dshcs-msg {
152
+ margin-bottom: 14px;
153
+ }
154
+
155
+ .dshcs-user {
156
+ display: flex;
157
+ justify-content: flex-end;
158
+ }
159
+
160
+ .dshcs-bubble {
161
+ max-width: 88%;
162
+ padding: 6px 10px;
163
+ border-radius: 8px;
164
+ background: var(--vscode-input-background, rgba(128, 128, 128, 0.12));
165
+ border: 1px solid var(--vscode-input-border, rgba(128, 128, 128, 0.25));
166
+ white-space: pre-wrap;
167
+ word-break: break-word;
168
+ }
169
+
170
+ .dshcs-bubble[data-status="sending"] {
171
+ opacity: 0.6;
172
+ }
173
+
174
+ .dshcs-bubble[data-status="error"] {
175
+ border-color: var(--vscode-inputValidation-errorBorder, #be1100);
176
+ }
177
+
178
+ .dshcs-assistant {
179
+ word-break: break-word;
180
+ }
181
+
182
+ .dshcs-tool {
183
+ display: flex;
184
+ align-items: baseline;
185
+ gap: 8px;
186
+ margin: 4px 0 10px;
187
+ padding: 4px 8px;
188
+ border-left: 2px solid var(--vscode-panel-border, rgba(128, 128, 128, 0.4));
189
+ font-size: 12px;
190
+ opacity: 0.85;
191
+ }
192
+
193
+ .dshcs-tool .dshcs-tool-name {
194
+ font-family: var(--vscode-editor-font-family, monospace);
195
+ }
196
+
197
+ .dshcs-tool .dshcs-tool-summary {
198
+ flex: 1;
199
+ overflow: hidden;
200
+ text-overflow: ellipsis;
201
+ white-space: nowrap;
202
+ opacity: 0.8;
203
+ }
204
+
205
+ .dshcs-tool .dshcs-tool-state[data-state="error"] {
206
+ color: var(--vscode-errorForeground, #f48771);
207
+ }
208
+
209
+ /* ---- 授权卡片:桥里唯一的"非只读"操作,必须一眼看清 ---- */
210
+
211
+ .dshcs-approval {
212
+ margin: 8px 12px;
213
+ padding: 8px 10px;
214
+ border: 1px solid var(--vscode-inputValidation-warningBorder, #b89500);
215
+ background: var(--vscode-inputValidation-warningBackground, rgba(184, 149, 0, 0.12));
216
+ border-radius: 6px;
217
+ }
218
+
219
+ .dshcs-approval[data-decided] {
220
+ opacity: 0.75;
221
+ }
222
+
223
+ .dshcs-approval-head {
224
+ display: flex;
225
+ align-items: baseline;
226
+ gap: 8px;
227
+ font-size: 12px;
228
+ margin-bottom: 4px;
229
+ }
230
+
231
+ .dshcs-approval-title {
232
+ font-weight: 600;
233
+ }
234
+
235
+ .dshcs-approval-timer {
236
+ flex: 1;
237
+ text-align: right;
238
+ opacity: 0.8;
239
+ }
240
+
241
+ .dshcs-approval-body {
242
+ font-size: 12px;
243
+ margin-bottom: 6px;
244
+ word-break: break-word;
245
+ }
246
+
247
+ .dshcs-approval-tool {
248
+ font-family: var(--vscode-editor-font-family, monospace);
249
+ }
250
+
251
+ .dshcs-approval-reason {
252
+ margin-top: 2px;
253
+ opacity: 0.9;
254
+ white-space: pre-wrap;
255
+ }
256
+
257
+ .dshcs-approval-actions {
258
+ display: flex;
259
+ align-items: center;
260
+ gap: 8px;
261
+ flex-wrap: wrap;
262
+ }
263
+
264
+ .dshcs-approval-actions button {
265
+ padding: 3px 10px;
266
+ border: 1px solid var(--vscode-button-border, transparent);
267
+ border-radius: 4px;
268
+ cursor: pointer;
269
+ color: var(--vscode-button-foreground);
270
+ background: var(--vscode-button-background);
271
+ font-family: inherit;
272
+ font-size: 12px;
273
+ }
274
+
275
+ .dshcs-approval-actions button + button {
276
+ color: var(--vscode-button-secondaryForeground, var(--vscode-foreground));
277
+ background: var(--vscode-button-secondaryBackground, rgba(128, 128, 128, 0.2));
278
+ }
279
+
280
+ .dshcs-approval-actions button:disabled {
281
+ opacity: 0.5;
282
+ cursor: default;
283
+ }
284
+
285
+ .dshcs-approval-note {
286
+ font-size: 12px;
287
+ opacity: 0.85;
288
+ }
289
+
290
+ /* ---- 状态行 + 输入框 ---- */
291
+
292
+ .dshcs-status {
293
+ padding: 0 12px 6px;
294
+ font-size: 12px;
295
+ min-height: 16px;
296
+ opacity: 0.85;
297
+ }
298
+
299
+ .dshcs-status[data-status="error"] {
300
+ color: var(--vscode-errorForeground, #f48771);
301
+ opacity: 1;
302
+ }
303
+
304
+ .dshcs-footer {
305
+ display: flex;
306
+ align-items: flex-end;
307
+ gap: 8px;
308
+ padding: 8px 12px;
309
+ border-top: 1px solid var(--vscode-panel-border, rgba(128, 128, 128, 0.35));
310
+ }
311
+
312
+ .dshcs-footer textarea {
313
+ flex: 1;
314
+ min-height: 46px;
315
+ max-height: 40vh;
316
+ resize: vertical;
317
+ box-sizing: border-box;
318
+ padding: 6px 8px;
319
+ border: 1px solid var(--vscode-input-border, rgba(128, 128, 128, 0.35));
320
+ border-radius: 4px;
321
+ color: var(--vscode-input-foreground);
322
+ background: var(--vscode-input-background);
323
+ font-family: inherit;
324
+ font-size: inherit;
325
+ }
326
+
327
+ .dshcs-footer textarea:focus {
328
+ outline: 1px solid var(--vscode-focusBorder);
329
+ outline-offset: -1px;
330
+ }
331
+
332
+ .dshcs-footer button {
333
+ padding: 6px 14px;
334
+ border: none;
335
+ border-radius: 4px;
336
+ cursor: pointer;
337
+ color: var(--vscode-button-foreground);
338
+ background: var(--vscode-button-background);
339
+ font-family: inherit;
340
+ font-size: inherit;
341
+ }
342
+
343
+ .dshcs-footer button:disabled {
344
+ opacity: 0.5;
345
+ cursor: default;
346
+ }
@@ -0,0 +1,115 @@
1
+ // dshcs-editor-bridge / webview/src/thread.jsx —— 一个对话条目的渲染(0.2.3 起;0.2.4 加思考行)
2
+ //
3
+ // 助手正文**不再自己排版**:直接调用 DSH 官方渲染器
4
+ // (`@deepseek-ai/dsh-client-ui-primitives` 的 `MarkdownText` —— 与 DSH 界面同一份代码,
5
+ // 同一套 mdast 管线、KaTeX、shiki 高亮、增量流式解析),面板只负责"外壳"。
6
+ //
7
+ // 思考过程(0.2.4):DSH 界面把它渲染成一行可折叠的「思考」(官方 `ReasoningRow` 用的就是
8
+ // `DisclosureRow` + `IconThinkOutline14`,**默认收起**,收起时显示首行 / 流式时的最新一行)。
9
+ // 面板用同一套官方部件重现它,差别只在文案与类名。
10
+ //
11
+ // 用户消息:DSH 界面里用户消息是纯文本气泡,这里保持一致(不渲染 markdown)。
12
+ // 工具 / 授权:面板只给一行紧凑摘要(不做逐工具的自定义卡片)。
13
+
14
+ import { memo, useState } from 'react';
15
+ import { DisclosureRow, IconThinkOutline14, MarkdownText } from '@deepseek-ai/dsh-client-ui-primitives';
16
+
17
+ /** 官方渲染器的界面文案(面板自己给中文;DSH 界面走它自己的 locale)。 */
18
+ const LABELS = { code: { copyLabel: '复制', copiedLabel: '已复制' }, footnotes: '脚注' };
19
+
20
+ /** 工具状态 → 中文。 */
21
+ const TOOL_STATE = { running: '运行中', ok: '完成', error: '失败' };
22
+
23
+ /** 授权审计行状态 → 中文。 */
24
+ const APPROVAL_STATE = {
25
+ asked: '等待授权',
26
+ 'allowed-once': '已允许一次',
27
+ rejected: '已拒绝',
28
+ cancelled: '已取消',
29
+ unavailable: '无人处理',
30
+ };
31
+
32
+ /** 折叠摘要取首行(还在流式时取最新一行)—— 与官方 ReasoningRow 同一规则。 */
33
+ function summaryLine(text, running) {
34
+ const source = running ? text.trimEnd() : text;
35
+ if (source === '') return '';
36
+ const index = running ? source.lastIndexOf('\n') : source.indexOf('\n');
37
+ const line = index === -1 ? source : (running ? source.slice(index + 1) : source.slice(0, index));
38
+ return line.replaceAll('**', '');
39
+ }
40
+
41
+ /**
42
+ * 一行「思考」(默认收起,点行即展开)—— 外形与交互照抄官方 `ReasoningRow`。
43
+ * @param {{text: string, running: boolean}} props running = 这一轮的正文还没开始落
44
+ */
45
+ function ThinkingRow({ text, running }) {
46
+ const [expanded, setExpanded] = useState(false);
47
+ return (
48
+ <div className="dshcs-think" data-state={running ? 'running' : 'ok'} data-expanded={expanded || undefined}>
49
+ <DisclosureRow
50
+ icon={<IconThinkOutline14 size={14} />}
51
+ title={running ? '思考中' : '思考'}
52
+ open={expanded}
53
+ expandable
54
+ expandOnRowClick
55
+ onToggle={() => setExpanded((value) => !value)}
56
+ collapsedContent={(
57
+ <>
58
+ <span className="dshcs-think-separator" aria-hidden />
59
+ <span className="dshcs-think-summary">{summaryLine(text, running)}</span>
60
+ </>
61
+ )}
62
+ >
63
+ <div className="dshcs-think-body">{text}</div>
64
+ </DisclosureRow>
65
+ </div>
66
+ );
67
+ }
68
+
69
+ export const ThreadEntry = memo(function ThreadEntry({ entry }) {
70
+ if (entry.role === 'user') {
71
+ return (
72
+ <div className="dshcs-msg dshcs-user">
73
+ <div className="dshcs-bubble" data-status={entry.status ?? undefined}>{entry.text}</div>
74
+ </div>
75
+ );
76
+ }
77
+
78
+ if (entry.role === 'assistant') {
79
+ const thinking = typeof entry.thinking === 'string' ? entry.thinking : '';
80
+ // 正文还没到(整轮都是思考)→ 思考行标"思考中";正文到了就标"思考"(官方同一判据)。
81
+ const running = entry.streaming === true && entry.text === '';
82
+ return (
83
+ <div className="dshcs-msg dshcs-assistant">
84
+ {thinking === '' ? null : <ThinkingRow text={thinking} running={running} />}
85
+ {entry.text === ''
86
+ ? null
87
+ : <MarkdownText text={entry.text} streaming={entry.streaming === true} labels={LABELS} />}
88
+ </div>
89
+ );
90
+ }
91
+
92
+ if (entry.role === 'tool') {
93
+ return (
94
+ <div className="dshcs-tool" data-state={entry.status ?? 'running'}>
95
+ <span className="dshcs-tool-name">{entry.name ?? 'tool'}</span>
96
+ <span className="dshcs-tool-summary">{entry.summary ?? ''}</span>
97
+ <span className="dshcs-tool-state" data-state={entry.status ?? 'running'}>
98
+ {TOOL_STATE[entry.status] ?? entry.status ?? ''}
99
+ </span>
100
+ </div>
101
+ );
102
+ }
103
+
104
+ if (entry.role === 'approval') {
105
+ return (
106
+ <div className="dshcs-tool dshcs-approval-row" data-state={entry.status ?? 'asked'}>
107
+ <span className="dshcs-tool-name">{entry.toolName ?? entry.name ?? 'tool'}</span>
108
+ <span className="dshcs-tool-summary">{entry.summary ?? ''}</span>
109
+ <span className="dshcs-tool-state">{APPROVAL_STATE[entry.status] ?? entry.status ?? ''}</span>
110
+ </div>
111
+ );
112
+ }
113
+
114
+ return null;
115
+ });
@@ -0,0 +1 @@
1
+ .s,.C{--dsh-state-ongoing: var(--dsw-static-deepseek-450)}.s{position:relative;display:inline-block;flex:none}.s:before{content:"";position:absolute;inset:0;border-radius:50%;corner-shape:round;background:currentColor;opacity:.1}.s:after{content:"";position:absolute;inset:20%;border-radius:50%;corner-shape:round;background:currentColor}.s[data-state=done]{color:var(--dsw-alias-state-success-primary)}.s[data-state=warning]{color:var(--dsw-alias-state-warn-primary)}.s[data-state=error]{color:var(--dsw-alias-state-error-primary)}.s[data-state=idle]{color:var(--dsw-alias-label-tertiary)}.C{flex:none;color:var(--dsh-state-ongoing)}.ke{fill:currentColor;opacity:.15;animation:q 1s infinite}@keyframes q{0%,12.4%{opacity:1}12.5%,24.9%{opacity:.6}25%,37.4%{opacity:.35}37.5%,to{opacity:.15}}.ve{display:flex;flex-direction:column;width:100%;min-width:0}.w{position:relative;overflow:hidden;display:flex;align-items:center;height:calc(24px + var(--dsh-content-font-delta, 0px));min-width:0}.w[data-expandable]{cursor:pointer}.u{position:relative;flex:none;width:calc(16px + var(--dsh-content-font-delta, 0px));height:calc(16px + var(--dsh-content-font-delta, 0px));display:inline-flex;align-items:center;justify-content:center;margin-right:6px;padding:0;border:none;background:none;color:var(--dsw-alias-label-tertiary)}.u svg:not([data-state]){width:calc(14px + var(--dsh-content-font-delta, 0px));height:calc(14px + var(--dsh-content-font-delta, 0px))}button.u{cursor:pointer}.B{display:inline-flex;opacity:1;transition:opacity .1s ease}.N{position:absolute;inset:0;margin:auto;opacity:0;transition:opacity .1s ease}.w:hover .B{opacity:0}.w:hover .N{opacity:1}.ye{flex:none;font-size:var(--dsh-content-font-size-secondary, 13px);line-height:calc(24px + var(--dsh-content-font-delta, 0px));color:var(--dsw-alias-label-secondary)}.E{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:none;border-radius:18px;cursor:pointer;font-size:14px;line-height:22px;color:var(--dsw-alias-label-primary);background:transparent;padding:0 14px}.E:disabled{cursor:not-allowed;opacity:.4}.je{height:36px}.Te{height:28px;font-size:12px;line-height:18px;padding:0 10px;border-radius:14px}.H{background:var(--dsw-alias-button-primary-fill);color:var(--dsw-alias-label-primary-foreground)}.H:hover:not(:disabled){background:var(--dsw-alias-button-primary-hover)}.V:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.V:active:not(:disabled){background:var(--dsw-alias-interactive-bg-active)}.Y{border:.5px solid var(--dsw-alias-border-l3);background:transparent}.Y:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.A{background:var(--dsw-alias-button-tool-bar-fill)}.A:hover:not(:disabled){background:var(--dsw-alias-button-tool-bar-hover)}.Xe{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center}.Ke{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border:none;border-radius:12px;font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-2)}.P{cursor:pointer}.P:hover{background:var(--dsw-alias-interactive-bg-hover)}._e{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-button-ghost-active-fill);box-shadow:inset 0 0 0 1px var(--dsw-alias-button-ghost-active-border)}.a{display:inline-flex;align-items:center;border-radius:999px;corner-shape:round;padding:1px 8px;font-size:11px;line-height:17px;font-weight:500;white-space:nowrap}.a[data-tone=outline]{border:.5px solid var(--dsw-alias-border-l4);color:var(--dsw-alias-label-tertiary)}.a[data-tone=solid]{background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3)}.a[data-tone=neutral]{background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary)}.a[data-tone=quiet]{color:var(--dsw-alias-label-tertiary)}.a[data-tone=success]{background:color-mix(in srgb,var(--dsw-alias-state-success-primary) 10%,transparent);color:var(--dsw-alias-state-success-primary)}.a[data-tone=info]{background:color-mix(in srgb,var(--dsw-alias-state-business-primary) 10%,transparent);color:var(--dsw-alias-state-business-primary)}.a[data-tone=warning]{background:color-mix(in srgb,var(--dsw-alias-state-warn-primary) 12%,transparent);color:var(--dsw-alias-state-warn-primary)}.a[data-tone=danger]{background:color-mix(in srgb,var(--dsw-alias-state-error-primary) 10%,transparent);color:var(--dsw-alias-state-error-primary)}.n{box-sizing:border-box;position:relative;flex:0 0 auto;width:36px;height:20px;padding:2px;border:0;border-radius:10px;corner-shape:round;background:var(--dsw-alias-border-l3);cursor:pointer}.n[aria-checked=true]{background:var(--dsw-alias-brand-primary)}.n:disabled{cursor:default;opacity:.5}.n:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.G{display:block;width:16px;height:16px;border-radius:50%;corner-shape:round;background:var(--dsw-alias-label-primary-foreground);transition:transform .12s ease}.n[aria-checked=true] .G{transform:translate(16px)}.I{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 8px;border:.5px solid var(--dsw-alias-border-l4);border-radius:8px;background:var(--dsw-alias-bg-layer-1)}.I:focus-within{border-color:var(--dsw-alias-brand-primary)}.Se{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;color:var(--dsw-alias-label-tertiary)}.J{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:14px;line-height:22px;color:var(--dsw-alias-label-primary)}.J::placeholder{color:var(--dsw-alias-label-dimmed)}.Me{position:relative;display:inline-flex}.g,.x{box-sizing:border-box;padding:4px;display:flex;flex-direction:column;gap:0;border:0;border-radius:20px;background:var(--dsw-specific-menu);--dsw-elevation-stroke-color: var(--dsw-alias-border-l1);box-shadow:var(--dsw-elevation-prominent);--dsh-scrollbar-thumb: var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover: var(--dsw-alias-scrollbar-hover-l2)}.g{position:absolute;top:calc(100% + 4px);left:0;z-index:100;min-width:218px;max-width:360px}.Fe{position:fixed;top:auto;left:auto;z-index:1100}.Ce{top:auto;bottom:calc(100% + 4px)}.qe{left:auto;right:0}.L{max-height:calc(100vh - 24px)}.R{display:flex;flex-direction:column;min-height:0}.L .R{overflow-y:auto}.Be{flex:none;display:flex;flex-direction:column;margin-top:4px;padding-top:4px;border-top:.5px solid var(--dsw-alias-border-l2)}.Ne{position:relative}.l{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:8px 10px;border:none;border-radius:10px;background:transparent;cursor:pointer;font-size:14px;line-height:22px;color:var(--dsw-alias-label-primary);text-align:left}.l:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.U .l{min-height:34px;padding-block:5px}.U .z{padding-block:4px}.g.r,.x.r{min-width:164px;padding:2px;border-radius:7px}.r .l{min-height:26px;gap:6px;padding:3px 7px;border-radius:5px;font-size:12px;line-height:18px}.r .k{width:14px;height:14px}.r .D{margin:2px}.r .z{padding:4px 7px;font-size:11px;line-height:16px}.l:disabled{opacity:.4;cursor:not-allowed}.k{display:inline-flex;flex:none;width:16px;height:16px;align-items:center;justify-content:center;color:var(--dsw-alias-label-tertiary)}.Ee{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.He{flex:none;color:var(--dsw-alias-label-primary)}.Ve{background:transparent}.Ye{background:var(--dsw-alias-interactive-bg-hover)}.v,.v .k{color:var(--dsw-alias-state-error-primary)}.v:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover-danger)}.z{padding:8px 10px;font-size:12px;line-height:16px;color:var(--dsw-alias-label-tertiary)}.D{height:.5px;margin:4px 2px;background:var(--dsw-alias-border-l1)}.x{position:absolute;top:auto;bottom:-4px;left:calc(100% + 10px);z-index:101;min-width:163px}.x:before{content:"";position:absolute;top:0;bottom:0;left:-10px;width:10px}.Ae{position:relative;display:block}.Pe{--dsw-hovercard-bg: #2C2C2E;position:fixed;z-index:100;box-sizing:border-box;width:244px;padding:12px 16px;border-radius:12px;background:var(--dsw-hovercard-bg);box-shadow:var(--dsw-shadow-lv3)}.O{cursor:pointer}.O:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.Ge{display:flex;align-items:center;justify-content:center}.Ie{color:#fff;font-size:14px;line-height:20px;text-align:center}.Je{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.Le{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.Re{position:absolute;inset:0;background:var(--dsw-alias-bg-mask-1);backdrop-filter:var(--dsw-mask-blur)}.Ue{position:relative;z-index:1;display:flex;flex-direction:column;gap:20px;width:min(380px,100%);padding:0 0 24px;overflow:hidden;border:0;border-radius:24px;background:var(--dsw-alias-bg-layer-2);box-shadow:var(--dsw-elevation-prominent)}.De{display:flex;flex-direction:column;width:100%}.Oe{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:22px 14px 12px 24px}.Qe{margin:0;font-size:16px;line-height:24px;font-weight:500;color:var(--dsw-alias-label-primary)}.Q{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:8px;background:transparent;cursor:pointer;color:var(--dsw-alias-label-secondary)}.Q:hover{background:var(--dsw-alias-interactive-bg-hover)}.We{margin:0;padding:0 24px;font-size:14px;line-height:22px;font-weight:400;color:var(--dsw-alias-label-primary)}.Ze{display:flex;flex-direction:column;min-width:0;margin-top:20px;padding:0 24px}.et{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 24px}.tt{position:fixed;inset:0;z-index:1100}.at{position:absolute;inset:80px 0 0;background:#0000003d;backdrop-filter:blur(2px)}.st{position:absolute;z-index:1;inset:0;display:flex;justify-content:center;overflow:hidden;background:var(--dsw-alias-bg-layer-1)}.W{width:min(440px,100%);max-height:calc(100vh - 48px);overflow:hidden}.it{min-height:0;overflow-y:auto;overscroll-behavior:contain}@supports (height: 100dvh){.W{max-height:calc(100dvh - 48px)}}.Z{display:flex;align-items:flex-start;gap:10px;color:var(--dsw-alias-label-secondary);font-size:14px;line-height:22px}.Z p{margin:0}.rt{flex:none;margin-top:2px;color:var(--dsw-alias-state-error-primary)}.b{display:flex;align-items:flex-start;gap:10px;margin-top:20px;color:var(--dsw-alias-label-primary);font-size:14px;line-height:22px;cursor:pointer}.b input{flex:none;width:16px;height:16px;margin:3px 0 0;accent-color:var(--dsw-alias-button-primary-fill);cursor:pointer}.b input:focus-visible{outline:2px solid var(--dsw-alias-border-l4);outline-offset:2px}.b input:disabled{cursor:default}.ot{min-width:72px}.nt{min-width:136px}.lt{flex:none;display:inline-grid;grid-template-columns:14px max-content;align-items:center;column-gap:4px;height:32px;padding:0 10px;box-sizing:border-box;border:none;border-radius:8px;font-family:inherit;font-size:12px;font-weight:500;line-height:18px;white-space:nowrap;transition:background-color .16s ease-out,color .16s ease-out}.d{background:var(--dsw-alias-state-warn-tertiary);color:var(--dsw-alias-state-warn-label);cursor:pointer}.d:active{background:color-mix(in srgb,var(--dsw-alias-state-warn-tertiary),var(--dsw-alias-state-warn-primary) 10%)}.d:focus-visible{outline:2px solid var(--dsw-alias-state-warn-label);outline-offset:2px}.dt{background:var(--dsw-alias-state-success-tertiary);color:var(--dsw-alias-state-success-primary)}.ft{display:grid;place-items:center;width:14px;height:14px}.ct{display:grid;text-align:left}.ee,.y,.te{grid-area:1 / 1}.te{visibility:hidden}.d:is(:hover,:focus-visible) .ee{visibility:hidden}.y{visibility:hidden}.d:is(:hover,:focus-visible) .y{visibility:visible}.pt{display:inline-block;width:1.5em;text-align:left}.ae{animation:se 1.5s step-end infinite}.ie{animation:re 1.5s step-end infinite}@keyframes se{0%,33.32%{opacity:0}33.33%,to{opacity:1}}@keyframes re{0%,66.65%{opacity:0}66.66%,to{opacity:1}}@media(prefers-reduced-motion:reduce){.ae,.ie{animation:none}}.wt{--dsh-file-type-violet: rgb(139, 118, 246);color:var(--dsh-file-type-icon-color, var(--dsh-file-type-default-color))}.xt{--dsh-file-type-default-color: var(--dsw-static-deepseek-500)}.bt{--dsh-file-type-default-color: var(--dsw-static-green-500)}.mt{--dsh-file-type-default-color: var(--dsw-static-amber-400)}.ht{--dsh-file-type-default-color: var(--dsw-static-deepseek-500)}.ut{--dsh-file-type-default-color: var(--dsh-file-type-violet)}.gt{--dsh-file-type-default-color: var(--dsw-static-deepseek-500)}.zt{--dsh-file-type-default-color: var(--dsw-static-neutral-bluish-300)}.kt{--dsh-file-type-default-color: var(--dsw-static-red-600)}.vt{--dsh-file-type-default-color: var(--dsw-static-amber-500)}.yt{--dsh-file-type-default-color: var(--dsh-file-type-violet)}.jt{--dsh-file-type-default-color: var(--dsw-static-deepseek-450)}.Tt{font-size:inherit;line-height:inherit}.Xt{display:inline;margin:0 2px;color:var(--dsw-alias-state-business-primary);font-weight:500;white-space:nowrap}.Kt{font-family:var(--dsw-font-markdown-code-font-family)}._t{width:1em;height:1em;margin-right:4px;vertical-align:-.125em}.f{position:fixed;z-index:100;width:max-content;max-width:50vw;padding:3px 7px;border-radius:8px;background:var(--dsw-alias-tooltip-bg);color:var(--dsw-static-neutral-bluish-00);font-size:13px;line-height:20px;white-space:pre-line;overflow-wrap:break-word;pointer-events:none;animation:oe .15s var(--ds-ease-in-out)}.f[data-side=right]{transform:translateY(-50%)}.f[data-side=bottom]{transform:translate(-50%)}.f[data-side=top]{transform:translate(-50%,-100%)}@keyframes oe{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.f{animation:none}}.ne{position:fixed;top:40px;left:50%;z-index:1100;pointer-events:none;display:flex;align-items:center;gap:10px;width:max-content;max-width:min(640px,calc(100vw - 48px));padding:12px 16px;border-radius:14px;background:var(--dsw-alias-button-contrast-fill);color:var(--dsw-alias-label-primary-inverted);font-size:14px;line-height:22px;box-shadow:var(--dsw-shadow-lv3);transform:translate(-50%);animation:le .16s ease-out,j 1s ease var(--dsh-toast-hold, 3s) forwards}.St{display:grid;place-items:center;flex:none;color:var(--dsw-alias-state-warn-label)}.Mt{min-width:0}@keyframes le{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}@keyframes j{to{opacity:0}}@media(prefers-reduced-motion:reduce){.ne{animation:j 1s ease var(--dsh-toast-hold, 3s) forwards}}.de{--json-tree-property: #881391;--json-tree-string: #c41a16;--json-tree-number: #1c00cf;--json-tree-keyword: #1c00cf;--json-tree-punctuation: #202124;--json-tree-icon: #5f6368;--json-tree-hover: rgb(60 64 67 / 4%);min-width:0;overflow:auto;position:relative;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);font:12px/16px var(--ds-font-family-code);overscroll-behavior-x:contain;overscroll-behavior-y:auto}body[data-ds-dark-theme] .de{--json-tree-property: #5db0d7;--json-tree-string: #f28b82;--json-tree-number: #99c8ff;--json-tree-keyword: #99c8ff;--json-tree-punctuation: #e8eaed;--json-tree-icon: #9aa0a6;--json-tree-hover: rgb(232 234 237 / 5%)}.Ft{box-sizing:border-box;width:max-content;min-width:100%;margin:0;padding:6px 8px 8px;white-space:pre}.T{box-sizing:border-box;width:max-content;min-width:100%;padding:6px 8px 8px 14px}.T:has(>.c[data-json-root-row]:hover),.T:has(>.c[data-json-root-row][data-json-copy-active]){background:var(--json-tree-hover)}.Ct{padding:0}.i.c{margin-left:0;padding-left:0}.qt{margin:0;padding:0;list-style:none}.i{position:relative;box-sizing:border-box;min-width:100%;min-height:16px;margin:0;padding:0 0 0 10px;list-style:none}.i:not(.c):hover:not(:has(.i:hover)):after,.i:not(.c)[data-json-copy-active]:after,.i:has(>.o:focus-visible):after{position:absolute;z-index:0;top:0;right:0;left:0;height:16px;background:var(--json-tree-hover);content:"";pointer-events:none}.i>span:not(.o){position:relative;z-index:1}.Bt{margin-right:3px;color:var(--json-tree-property);font-weight:400}.Nt{cursor:pointer}.Et{color:var(--json-tree-string)}.Ht{color:var(--json-tree-number)}.Vt{color:var(--json-tree-keyword)}.Yt{color:var(--dsw-alias-label-secondary)}.At,.Pt,.Gt{color:var(--json-tree-punctuation)}.It{color:var(--dsw-alias-label-tertiary)}.Jt{position:fixed;z-index:3;display:inline-flex}.m{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:20px;height:16px;margin:0;padding:0;border:0;border-radius:3px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);box-shadow:-5px 0 5px var(--dsw-alias-bg-layer-1);cursor:pointer}.m:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.m:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.m[data-state=failed]{color:var(--dsw-alias-state-error-primary)}.o{position:absolute;z-index:2;top:0;left:0;display:inline-flex;align-items:center;justify-content:flex-start;box-sizing:border-box;width:8px;height:16px;margin:0;color:var(--json-tree-icon);cursor:pointer;user-select:none}.o:before{width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid currentColor;content:"";transform:scale(.75);transform-origin:33.333% center}.Lt:before{transform:rotate(90deg) scale(.75)}.o:hover{color:var(--dsw-alias-label-primary)}.o:focus-visible{outline:none}.fe{margin:0 1px;color:var(--json-tree-punctuation);cursor:pointer}.fe:after{content:"\2026"}.ce{--dsl-terminal-radius: 12px;--dsl-terminal-line-height: 22px;--dsl-terminal-font: var(--dsw-font-markdown-code-block);--dsl-terminal-gutter: 30px;position:relative;margin:16px 0;padding-left:var(--dsl-terminal-gutter);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-markdown-code-block);border-radius:var(--dsl-terminal-radius);overflow:hidden}.h{display:flex;align-items:flex-start;gap:12px;margin-left:calc(-1 * var(--dsl-terminal-gutter));padding:9px 14px 9px var(--dsl-terminal-gutter);border-top-left-radius:var(--dsl-terminal-radius);border-top-right-radius:var(--dsl-terminal-radius);max-height:150px;overflow-y:auto}.h::-webkit-scrollbar-thumb{border:2px solid transparent;background-clip:padding-box;border-radius:6px}.h::-webkit-scrollbar-track{margin:6px}.ce:not([data-running]) .h{border-bottom:.5px solid var(--dsw-alias-border-l2)}.Rt{display:flex;flex-direction:column;min-width:0;flex:1;font:var(--dsl-terminal-font)}.Ut{position:relative;display:flex;align-items:baseline;gap:8px;min-width:0;line-height:var(--dsl-terminal-line-height)}.Dt{position:absolute;left:calc(-1 * var(--dsl-terminal-gutter) + 8px);top:50%;transform:translateY(-50%)}.Ot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.Qt{flex:none;color:var(--dsw-alias-label-tertiary)}.Wt{min-width:0;color:var(--dsw-alias-label-primary);overflow:hidden;text-overflow:ellipsis;white-space:pre}.Zt{flex:none;position:sticky;top:0;height:var(--dsl-terminal-line-height);color:var(--dsw-alias-state-error-primary)}.ea{flex:none;position:sticky;top:0;background-color:var(--dsw-alias-markdown-code-block);border:none;padding:0;margin:0;color:var(--dsw-alias-label-secondary);cursor:pointer;font:var(--dsw-font-xs-13);line-height:var(--dsl-terminal-line-height)}.X{max-height:var(--dsl-terminal-output-max-height, none);padding:12px 14px 12px 0;font:var(--dsl-terminal-font);overflow-x:auto;overflow-y:auto}.X::-webkit-scrollbar-thumb{border:2px solid transparent;background-clip:padding-box;border-radius:6px}.X::-webkit-scrollbar-track{margin:6px}.ta{min-height:var(--dsl-terminal-line-height);white-space:pre}.pe{display:block;width:100%;padding:0;border:none;background-color:transparent;color:var(--dsw-alias-label-tertiary);cursor:pointer;font:inherit;text-align:left}.pe:hover{color:var(--dsw-alias-label-secondary)}.aa{padding:12px 14px 12px 0;font:var(--dsl-terminal-font);color:var(--dsw-alias-label-tertiary)}.sa{--dsl-read-radius: 12px;--dsl-read-line-height: 22px;--dsl-read-gutter: 48px;position:relative;margin:16px 0;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-markdown-code-block);border-radius:var(--dsl-read-radius)}.ia{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;background:var(--dsw-alias-markdown-code-block-banner);border-top-left-radius:var(--dsl-read-radius);border-top-right-radius:var(--dsl-read-radius)}.ra{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-primary);font-family:var(--ds-font-family-code);font-size:12px;line-height:18px}.oa{display:flex;align-items:center;flex-shrink:0;gap:12px}.na{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xs-13)}.la{color:var(--dsw-alias-label-tertiary);font-family:var(--ds-font-family-code);font-size:12px;line-height:18px}.da{background-color:transparent;border:none;padding:0;margin:0;color:var(--dsw-alias-label-secondary);cursor:pointer;font:var(--dsw-font-xs-13)}.fa{padding:12px 0;font:var(--dsw-font-markdown-code-block);overflow-x:auto;overflow-y:hidden}.ca{display:flex;min-height:var(--dsl-read-line-height);line-height:var(--dsl-read-line-height);white-space:pre}.pa{flex:none;width:var(--dsl-read-gutter);padding-right:14px;text-align:right;color:var(--dsw-alias-label-tertiary);user-select:none}.wa{color:var(--dsw-alias-label-primary)}.we{display:block;width:100%;padding:0 0 0 var(--dsl-read-gutter);border:none;background-color:transparent;color:var(--dsw-alias-label-tertiary);cursor:pointer;font:inherit;text-align:left}.we:hover{color:var(--dsw-alias-label-secondary)}.xa{--dsl-diff-radius: 12px;--dsl-diff-line-height: 22px;position:relative;margin:16px 0;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-markdown-code-block);border-radius:var(--dsl-diff-radius)}.ba{position:absolute;top:8px;right:12px;z-index:1;background-color:transparent;border:none;padding:0;margin:0;color:var(--dsw-alias-label-secondary);cursor:pointer;font:var(--dsw-font-xs-13)}.ma{padding:12px 14px;font:var(--dsw-font-markdown-code-block);overflow-x:auto;overflow-y:hidden}.ha{min-height:var(--dsl-diff-line-height);white-space:pre}.ua{color:var(--dsw-alias-label-primary);font-weight:600;padding-right:56px}.ga{color:var(--dsw-alias-label-tertiary)}.xe:before{content:"- ";color:var(--dsw-alias-state-error-primary)}.xe{color:var(--dsw-alias-state-error-primary)}.be:before{content:"+ ";color:var(--dsw-alias-state-success-primary)}.be{color:var(--dsw-alias-state-success-primary)}.me{display:block;width:100%;padding:0;border:none;background-color:transparent;color:var(--dsw-alias-label-tertiary);cursor:pointer;font:inherit;text-align:left}.me:hover{color:var(--dsw-alias-label-secondary)}.za{padding:0 14px 12px;font:var(--dsw-font-markdown-code-block);color:var(--dsw-alias-label-tertiary)}.ka{--dsl-search-radius: 12px;--dsl-search-line-height: 22px;position:relative;margin:16px 0;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-markdown-code-block);border-radius:var(--dsl-search-radius)}.va{display:flex;align-items:center;gap:12px;padding:9px 14px;background:var(--dsw-alias-markdown-code-block-banner);border-top-left-radius:var(--dsl-search-radius);border-top-right-radius:var(--dsl-search-radius)}.ya{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--dsw-font-xs-13);color:var(--dsw-alias-label-secondary)}.ja{flex:none;background-color:transparent;border:none;padding:0;margin:0;color:var(--dsw-alias-label-secondary);cursor:pointer;font:var(--dsw-font-xs-13)}.Ta{padding:8px 14px 12px 0;font:var(--dsw-font-markdown-code-block);overflow-x:auto;overflow-y:hidden}.Xa{min-height:var(--dsl-search-line-height);padding-left:14px;white-space:pre}.Ka{color:var(--dsw-alias-label-tertiary)}._a{display:flex;align-items:baseline;gap:8px;width:100%;min-height:var(--dsl-search-line-height);padding:0 14px;border:none;background-color:transparent;cursor:pointer;font:inherit;text-align:left}.Sa{min-width:0;font-weight:600;color:var(--dsw-alias-label-primary);white-space:pre}.Ma{flex:none;color:var(--dsw-alias-label-tertiary)}.he{display:block;width:100%;padding:0 14px;border:none;background-color:transparent;color:var(--dsw-alias-label-tertiary);cursor:pointer;font:inherit;text-align:left}.he:hover{color:var(--dsw-alias-label-secondary)}.Fa{padding:12px 14px;font:var(--dsw-font-markdown-code-block);color:var(--dsw-alias-label-tertiary)}.p{--dsl-code-block-banner-background-color: var(--dsw-alias-markdown-code-block-banner);--dsl-code-block-border-radius: 12px;--dsl-code-block-banner-font: 11px/18px var(--dsw-font-family);--dsl-code-block-content-font: var(--dsw-font-markdown-code-block);--dsl-code-block-background: var(--dsw-alias-markdown-code-block);position:relative;margin:16px 0;color:var(--dsw-alias-label-primary);background:var(--dsl-code-block-background);border-radius:var(--dsl-code-block-border-radius)}.p:not(:last-child){margin-bottom:11px}.Ca{position:sticky;top:0;z-index:6;background-color:var(--dsw-alias-bg-base);border-top-left-radius:var(--dsl-code-block-border-radius);border-top-right-radius:var(--dsl-code-block-border-radius)}.qa{background:var(--dsl-code-block-banner-background-color);padding:9px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;font:var(--dsl-code-block-banner-font);border-top-left-radius:var(--dsl-code-block-border-radius);border-top-right-radius:var(--dsl-code-block-border-radius)}.Ba{color:var(--dsw-alias-label-primary);font-family:var(--ds-font-family-code);font-size:11px;line-height:18px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Na{display:flex;align-items:center;flex-shrink:0}.Ea{background-color:#fff0;border:none;padding:0;margin:0;color:inherit;cursor:pointer;font:inherit}.Ha{display:contents}.p :where(pre){font:var(--dsl-code-block-content-font);padding:16px;margin:0!important;overflow-x:auto;white-space:pre-wrap;word-break:break-all;background:var(--dsl-code-block-background);border-bottom-left-radius:var(--dsl-code-block-border-radius);border-bottom-right-radius:var(--dsl-code-block-border-radius)}.p :where(pre.Va){background:var(--dsl-code-block-background)!important}.p :where(pre) code{font:inherit;background:none;padding:0}.Ya{color:var(--dsw-alias-label-primary)}.K :where(pre) code{display:block;counter-reset:source-line;white-space:normal}.K :where(pre) code>.line{position:relative;display:block;min-height:1lh;padding-inline-start:calc(var(--dsl-code-block-line-number-width) + 12px);counter-increment:source-line;white-space:var(--dsl-code-block-line-white-space, pre-wrap)}.K :where(pre) code>.line:before{position:absolute;inset-inline-start:0;width:var(--dsl-code-block-line-number-width);color:var(--dsw-alias-label-tertiary);text-align:end;content:counter(source-line);user-select:none}.e{min-width:0;overflow-wrap:anywhere;font:var(--dsw-font-markdown-base);color:var(--dsw-alias-label-primary)}.e strong{font-weight:600}.e h1{font:var(--dsw-font-markdown-h1);margin:32px 0 16px}.e h2{font:var(--dsw-font-markdown-h2);margin:32px 0 16px}.e h3{font:var(--dsw-font-markdown-h3);margin:32px 0 16px}.e h4{font:var(--dsw-font-markdown-h4);margin:16px 0}.e :where(h5,h6){font:var(--dsw-font-markdown-base-strong);margin:16px 0}.e :where(h1,h2,h3,h4,h5,h6) strong{font-weight:inherit}.e p{margin:16px 0}.e :where(h4,h5,h6)+:where(ul,ol){margin-top:8px}.e :where(h4,h5,h6):has(+:where(ul,ol)){margin-bottom:8px}.e a{color:var(--dsw-alias-link);font-weight:500;transition:box-shadow var(--ds-transition-duration) var(--ds-ease-in-out);position:relative;text-decoration:none;border-left:3px solid rgb(255 255 255 / 0);border-right:3px solid rgb(255 255 255 / 0);border-top:2px solid rgb(255 255 255 / 0);border-bottom:2px solid rgb(255 255 255 / 0);margin-left:-3px;margin-right:-3px}.e a:hover,.e a:focus{outline:none;text-decoration:underline dotted var(--dsw-alias-link);text-underline-offset:3px}.e a:focus-visible{box-shadow:0 0 0 2px var(--dsw-alias-state-business-primary)}.Aa{flex:none;width:1.1em;height:1.1em;vertical-align:-.25em;margin-right:5px}.e :where(ul,ol){margin:16px 0;padding-left:18px}.e li:not(:first-child){margin-top:6px}.e li>:where(ul,ol){margin-top:4px}.e li::marker{line-height:24px;color:var(--dsw-alias-label-secondary)}.e :where(ul,ol) ol{list-style-position:inside;padding-left:0}.e :where(ul,ol) ol li p{display:inline}.e li>p{margin:8px 0}.e li>*:first-child{margin-top:0}.e li>*:last-child:not(.md-code-block){margin-bottom:0}.e hr{display:block;border:none;height:.5px;margin:32px 0;background:var(--dsw-alias-border-l2)}.e blockquote{border-left:2px solid var(--dsw-alias-label-caption);margin:16px 0 0;padding-left:14px}.e pre{margin:16px 0;font-family:var(--ds-font-family-code);overflow:auto}.e :not(pre)>code{display:inline-flex;align-items:center;box-sizing:border-box;font:var(--dsw-font-markdown-code);font-family:var(--ds-font-family-code);font-size:.875em!important;background-color:var(--dsw-alias-markdown-inline-code);border:.5px solid var(--dsw-alias-border-l1);border-radius:6px;padding:0 5px}.e :where(h1,h2,h3,h4,h5,h6) code{font:inherit;font-family:var(--ds-font-family-code)}.e .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden}.e input[type=checkbox]{margin:0 8px 0 0;accent-color:var(--dsw-alias-label-secondary)}.t{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.t.md-table-wide{overflow-x:hidden;padding-bottom:var(--dsh-scrollbar-width, 8px)}.t.md-table-wide:hover,.t.md-table-wide:focus-visible{overflow-x:auto;padding-bottom:0}.t:focus-visible{outline:none;box-shadow:0 0 0 2px var(--dsw-alias-state-business-primary)}.t table{border-collapse:collapse;width:max-content;max-width:max-content}.Pa table{width:100%;max-width:none}.t th{text-align:start;padding:10px 16px;border-bottom:.5px solid var(--dsw-alias-border-l3);border-top:none;font:var(--dsw-font-markdown-table-head);max-width:320px;max-width:min(30vw,320px);min-width:100px}.t td{padding:10px 16px;border-bottom:.5px solid var(--dsw-alias-border-l2);font:var(--dsw-font-markdown-table);max-width:320px;max-width:min(30vw,320px);min-width:100px}.t th:first-child,.t td:first-child{padding-left:0}.t td:last-child{padding-right:0}.t table code{font-size:11px}.e>*:first-child,.e p:first-child{margin-top:0!important}.e>*:last-child,.e p:last-child{margin-bottom:0!important}.Ga{color:var(--dsw-alias-label-tertiary);font-style:italic}.Ia{display:block;width:auto;max-width:100%;height:auto;margin:0;border-radius:8px;background:var(--dsw-alias-bg-base);object-fit:contain}._{margin:0;padding:0;border:none;background:none;font:inherit;font-weight:500;color:var(--dsw-alias-link);text-decoration:none;cursor:pointer}._:hover,._:focus{outline:none;text-decoration:underline dotted var(--dsw-alias-link);text-underline-offset:3px}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_AMS-Regular-U6PRYMIZ.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url("./fonts/KaTeX_Caligraphic-Bold-5QL5CMTE.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Caligraphic-Regular-KX5MEWCF.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url("./fonts/KaTeX_Fraktur-Bold-2QVFK6NQ.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Fraktur-Regular-2PEIFJSJ.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url("./fonts/KaTeX_Main-Bold-YP5VVQRP.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url("./fonts/KaTeX_Main-BoldItalic-N4V3DX7S.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url("./fonts/KaTeX_Main-Italic-RELBIK7M.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Main-Regular-ARRPAO67.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url("./fonts/KaTeX_Math-BoldItalic-K4WTGH3J.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url("./fonts/KaTeX_Math-Italic-6KGCHLFN.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url("./fonts/KaTeX_SansSerif-Bold-RRNVJFFW.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url("./fonts/KaTeX_SansSerif-Italic-HMPFTM52.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_SansSerif-Regular-XIQ62X4E.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Script-Regular-APUWIHLP.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Size1-Regular-5LRUTBFT.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Size2-Regular-LELKET5D.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Size3-Regular-WQRQ47UD.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Size4-Regular-CDMV7U5C.woff2") format("woff2"),url() format("woff"),url() format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Typewriter-Regular-VBYJ4NRC.woff2") format("woff2"),url() format("woff"),url() format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.Ja{--dsl-web-radius: 12px;margin:16px 0;padding:12px 14px;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-markdown-code-block);border-radius:var(--dsl-web-radius)}.S{margin-bottom:8px}.S>div>:first-child{margin-top:0}.S>div>:last-child{margin-bottom:0}.La{margin:0;padding-left:2.5em;display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto}.Ra{min-width:0}.M{color:var(--dsw-alias-link);font-size:14px;font-weight:500;line-height:20px;word-break:break-word;text-decoration:none}.Ua{width:1.1em;height:1.1em;vertical-align:-.25em;margin-right:5px}.M:hover,.M:focus-visible{text-decoration:underline dotted;text-underline-offset:3px}.Da{margin-top:2px;color:var(--dsw-alias-label-secondary);font-size:13px;line-height:19px;word-break:break-word}.Oa{margin-top:2px;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xs-13)}.ue{margin-top:8px;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xs-13)}.Qa{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-13)}.ge{display:flex;flex-direction:column;gap:6px}.F{color:var(--dsw-alias-link);font-family:var(--ds-font-family-code);font-size:13px;font-weight:500;line-height:19px;word-break:break-all;text-decoration:none}.F:hover,.F:focus-visible{text-decoration:underline dotted;text-underline-offset:3px}.Wa{display:flex;align-items:baseline;gap:12px}.Za{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-13)}.ge .ue{margin-top:0}.es{margin:4px 0}.ze{font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary);padding:2px 6px;border:none;background:transparent;cursor:pointer;border-radius:6px}.ze:hover{background:var(--dsw-alias-interactive-bg-hover)}.ts{margin:4px 0 0;padding:8px;max-height:200px;overflow:auto;background:var(--dsw-alias-markdown-code-block);border:.5px solid var(--dsw-alias-border-l1);border-radius:6px;font-family:var(--ds-font-family-code);font-size:11px;line-height:16px;color:var(--dsw-alias-label-primary)}:root{--dsw-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--ds-font-family-code:"SF Mono", "JetBrains Mono", "Fira Code", Consolas, "Liberation Mono", Menlo, Courier, "PingFang SC", "Microsoft YaHei";--ds-ease-in-out:cubic-bezier(.4, 0, .2, 1);--ds-transition-duration:.2s;--ds-transition-duration-fast:.1s;--ds-transition-duration-slow:.3s}body{--dsw-static-amber-100:#fef5e7;--dsw-static-amber-400:#f7ad31;--dsw-static-amber-500:#f59e0b;--dsw-static-amber-600:#dd8629;--dsw-static-amber-900:#27241f;--dsw-static-blue-100:#dbeafe;--dsw-static-blue-300:#93c5fd;--dsw-static-blue-400:#60a5fa;--dsw-static-blue-450:#4d93f8;--dsw-static-blue-500:#3b82f6;--dsw-static-blue-50:#eff6ff;--dsw-static-blue-50p:#eaf3ff;--dsw-static-blue-600:#2563eb;--dsw-static-blue-75:#e5f0ff;--dsw-static-blue-800:#1e40af;--dsw-static-blue-900:#0e3074;--dsw-static-blue-950:#172554;--dsw-static-deepseek-100:#e4edfd;--dsw-static-deepseek-200:#d3e2ff;--dsw-static-deepseek-300:#b7c8fe;--dsw-static-deepseek-400:#679efe;--dsw-static-deepseek-450:#5686fe;--dsw-static-deepseek-500:#4176e6;--dsw-static-deepseek-50:#edf3fe;--dsw-static-deepseek-600:#4868b2;--dsw-static-deepseek-700-delete:#2f4c8f;--dsw-static-deepseek-800:#34415b;--dsw-static-deepseek-900:#283142;--dsw-static-green-100:#e6faed;--dsw-static-green-400:#4ed17e;--dsw-static-green-500:#22c55e;--dsw-static-green-900:#233c2c;--dsw-static-neutral-00:#fff;--dsw-static-neutral-1000:#000;--dsw-static-neutral-100:#f5f5f5;--dsw-static-neutral-150:#ededed;--dsw-static-neutral-200:#e5e5e5;--dsw-static-neutral-250:#dcdcdc;--dsw-static-neutral-300:#d4d4d4;--dsw-static-neutral-400:#a2a4a6;--dsw-static-neutral-500:#7f8287;--dsw-static-neutral-50:#fafafa;--dsw-static-neutral-550:#65676b;--dsw-static-neutral-600:#545557;--dsw-static-neutral-700:#3c3c3d;--dsw-static-neutral-800:#292929;--dsw-static-neutral-850:#212123;--dsw-static-neutral-900:#0f0f0f;--dsw-static-neutral-bluish-00:#fff;--dsw-static-neutral-bluish-1000:#0f1115;--dsw-static-neutral-bluish-100:#ebeef2;--dsw-static-neutral-bluish-150:#e9ecf2;--dsw-static-neutral-bluish-200:#e1e5ee;--dsw-static-neutral-bluish-300:#cfd3d6;--dsw-static-neutral-bluish-400:#adb2b8;--dsw-static-neutral-bluish-500:#979da6;--dsw-static-neutral-bluish-50:#f9fafb;--dsw-static-neutral-bluish-600:#81858c;--dsw-static-neutral-bluish-60:#f5f6f7;--dsw-static-neutral-bluish-700:#61666b;--dsw-static-neutral-bluish-750:#43454a;--dsw-static-neutral-bluish-75:#f1f3f5;--dsw-static-neutral-bluish-800:#353638;--dsw-static-neutral-bluish-850:#2c2c2e;--dsw-static-neutral-bluish-875:#232324;--dsw-static-neutral-bluish-900:#1b1b1c;--dsw-static-neutral-bluish-950:#151517;--dsw-static-red-100:#fee2e2;--dsw-static-red-400:#f25a5a;--dsw-static-red-500:#ef4444;--dsw-static-red-50:#fef2f2;--dsw-static-red-600:#ec1313;--dsw-static-red-900:#570c0c}body[data-ds-dark-theme]{--dsw-static-amber-100:#fef5e7;--dsw-static-amber-400:#f7ad31;--dsw-static-amber-500:#f59e0b;--dsw-static-amber-600:#dd8629;--dsw-static-amber-900:#27241f;--dsw-static-blue-100:#dbeafe;--dsw-static-blue-300:#93c5fd;--dsw-static-blue-400:#60a5fa;--dsw-static-blue-450:#4d93f8;--dsw-static-blue-500:#3b82f6;--dsw-static-blue-50:#eff6ff;--dsw-static-blue-50p:#eaf3ff;--dsw-static-blue-600:#2563eb;--dsw-static-blue-75:#e5f0ff;--dsw-static-blue-800:#1e40af;--dsw-static-blue-900:#0e3074;--dsw-static-blue-950:#172554;--dsw-static-deepseek-100:#e4edfd;--dsw-static-deepseek-200:#d3e2ff;--dsw-static-deepseek-300:#b7c8fe;--dsw-static-deepseek-400:#679efe;--dsw-static-deepseek-450:#5686fe;--dsw-static-deepseek-500:#4176e6;--dsw-static-deepseek-50:#edf3fe;--dsw-static-deepseek-600:#4868b2;--dsw-static-deepseek-700-delete:#2f4c8f;--dsw-static-deepseek-800:#34415b;--dsw-static-deepseek-900:#283142;--dsw-static-green-100:#e6faed;--dsw-static-green-400:#4ed17e;--dsw-static-green-500:#22c55e;--dsw-static-green-900:#233c2c;--dsw-static-neutral-00:#fff;--dsw-static-neutral-1000:#000;--dsw-static-neutral-100:#f5f5f5;--dsw-static-neutral-150:#ededed;--dsw-static-neutral-200:#e5e5e5;--dsw-static-neutral-250:#dcdcdc;--dsw-static-neutral-300:#d4d4d4;--dsw-static-neutral-400:#a2a4a6;--dsw-static-neutral-500:#7f8287;--dsw-static-neutral-50:#fafafa;--dsw-static-neutral-550:#65676b;--dsw-static-neutral-600:#545557;--dsw-static-neutral-700:#3c3c3d;--dsw-static-neutral-800:#292929;--dsw-static-neutral-850:#212123;--dsw-static-neutral-900:#0f0f0f;--dsw-static-neutral-bluish-00:#fff;--dsw-static-neutral-bluish-1000:#0f1115;--dsw-static-neutral-bluish-100:#ebeef2;--dsw-static-neutral-bluish-150:#e9ecf2;--dsw-static-neutral-bluish-200:#e1e5ee;--dsw-static-neutral-bluish-300:#cfd3d6;--dsw-static-neutral-bluish-400:#adb2b8;--dsw-static-neutral-bluish-500:#979da6;--dsw-static-neutral-bluish-50:#f9fafb;--dsw-static-neutral-bluish-600:#81858c;--dsw-static-neutral-bluish-60:#f9fafb;--dsw-static-neutral-bluish-700:#61666b;--dsw-static-neutral-bluish-750:#43454a;--dsw-static-neutral-bluish-75:#f1f3f5;--dsw-static-neutral-bluish-800:#353638;--dsw-static-neutral-bluish-850:#2c2c2e;--dsw-static-neutral-bluish-875:#232324;--dsw-static-neutral-bluish-900:#1b1b1c;--dsw-static-neutral-bluish-950:#151517;--dsw-static-red-100:#fee2e2;--dsw-static-red-400:#f25a5a;--dsw-static-red-500:#ef4444;--dsw-static-red-50:#fef2f2;--dsw-static-red-600:#ec1313;--dsw-static-red-900:#570c0c}body{--dsw-alias-bg-base:var(--dsw-static-neutral-bluish-00);--dsw-alias-bg-layer-1:var(--dsw-static-neutral-bluish-00);--dsw-alias-bg-layer-2:var(--dsw-static-neutral-bluish-00);--dsw-alias-bg-layer-3:var(--dsw-static-neutral-bluish-00);--dsw-alias-bg-mask-1:#0000003d;--dsw-alias-bg-mask-2:#0000001f;--dsw-alias-bg-mask-3:#0000007a;--dsw-alias-bg-mask-photo:#000000e0;--dsw-alias-bg-mask-drop:#ffffffb3;--dsw-alias-bg-module-platform:var(--dsw-static-neutral-bluish-60);--dsw-alias-bg-multi-select:var(--dsw-static-neutral-bluish-60);--dsw-alias-bg-overlay:var(--dsw-static-neutral-bluish-150);--dsw-alias-bg-skeleton:#0000000a;--dsw-alias-border-inverted2:#0000;--dsw-alias-border-inverted:#0000;--dsw-alias-border-l1:#0000000a;--dsw-alias-border-l2-darkmode-thin:#0000001a;--dsw-alias-border-l2:#0000001a;--dsw-alias-border-l3:#0000001f;--dsw-alias-border-l4:#00000029;--dsw-alias-brand-primary-invert:var(--dsw-static-neutral-bluish-1000);--dsw-alias-brand-primary-new-colorprimary-new-color:#4176e6;--dsw-alias-brand-primary:var(--dsw-static-neutral-bluish-1000);--dsw-alias-brand-text:var(--dsw-static-neutral-bluish-1000);--dsw-alias-button-contrast-fill:var(--dsw-static-neutral-bluish-700);--dsw-alias-button-elevated-fill:var(--dsw-static-neutral-bluish-00);--dsw-alias-button-floating-fill:var(--dsw-static-neutral-bluish-00);--dsw-alias-button-floating-hover:var(--dsw-static-neutral-bluish-75);--dsw-alias-button-ghost-active-border:var(--dsw-static-neutral-bluish-500);--dsw-alias-button-ghost-active-fill:var(--dsw-static-neutral-bluish-100);--dsw-alias-button-ghost-active-hover:var(--dsw-static-neutral-bluish-150);--dsw-alias-button-info-fill:var(--dsw-static-deepseek-500);--dsw-alias-button-info-hover:var(--dsw-static-deepseek-400);--dsw-alias-button-primary-dimmed:var(--dsw-static-neutral-bluish-100);--dsw-alias-button-primary-fill:var(--dsw-alias-brand-primary);--dsw-alias-button-primary-hover:var(--dsw-static-neutral-bluish-750);--dsw-alias-button-tool-bar-fill-invisible:#1f1f1f5c;--dsw-alias-button-tool-bar-fill:#54555780;--dsw-alias-button-tool-bar-hover:#54555799;--dsw-alias-interactive-bg-active:#2631481a;--dsw-alias-interactive-bg-hover-accent:#26314824;--dsw-alias-interactive-bg-hover-danger:#ec13130d;--dsw-alias-interactive-bg-hover-solid:var(--dsw-static-neutral-bluish-75);--dsw-alias-interactive-bg-hover:#2631480f;--dsw-alias-label-caption:var(--dsw-static-neutral-bluish-400);--dsw-alias-label-dimmed:var(--dsw-static-neutral-bluish-200);--dsw-alias-label-primary-bluish:var(--dsw-static-blue-900);--dsw-alias-label-primary-dimmed:var(--dsw-static-neutral-bluish-950);--dsw-alias-label-primary-foreground:var(--dsw-static-neutral-bluish-00);--dsw-alias-label-primary-inverted:var(--dsw-static-neutral-bluish-00);--dsw-alias-label-primary:var(--dsw-static-neutral-bluish-1000);--dsw-alias-label-secondary:var(--dsw-static-neutral-bluish-700);--dsw-alias-label-tertiary:var(--dsw-static-neutral-bluish-600);--dsw-alias-link:var(--dsw-static-deepseek-500);--dsw-alias-markdown-citation:var(--dsw-static-neutral-bluish-100);--dsw-alias-markdown-code-block-banner:var(--dsw-static-neutral-bluish-50);--dsw-alias-markdown-code-block:var(--dsw-static-neutral-bluish-50);--dsw-alias-markdown-code-segment-selected:var(--dsw-static-neutral-bluish-00);--dsw-alias-markdown-code-segment-unselected:var(--dsw-static-neutral-bluish-75);--dsw-alias-markdown-inline-code:var(--dsw-static-neutral-50);--dsw-alias-markdown-placeholder:var(--dsw-static-neutral-bluish-60);--dsw-alias-markdown-tag:var(--dsw-static-neutral-bluish-75);--dsw-alias-scrollbar-bg-l1:var(--dsw-static-neutral-200);--dsw-alias-scrollbar-bg-l2:var(--dsw-static-neutral-200);--dsw-alias-scrollbar-hover-l1:var(--dsw-static-neutral-300);--dsw-alias-scrollbar-hover-l2:var(--dsw-static-neutral-300);--dsw-alias-state-business-primary:var(--dsw-static-deepseek-500);--dsw-alias-state-business-tertiary:var(--dsw-static-deepseek-100);--dsw-alias-state-error-primary:var(--dsw-static-red-600);--dsw-alias-state-error-secondary:var(--dsw-static-red-400);--dsw-alias-state-success-primary:var(--dsw-static-green-500);--dsw-alias-state-success-secondary:var(--dsw-static-green-400);--dsw-alias-state-success-tertiary:var(--dsw-static-green-100);--dsw-alias-state-warn-label:var(--dsw-static-amber-600);--dsw-alias-state-warn-primary:var(--dsw-static-amber-500);--dsw-alias-state-warn-secondary:var(--dsw-static-amber-400);--dsw-alias-state-warn-tertiary:var(--dsw-static-amber-100);--dsw-alias-toast-bg:var(--dsw-static-neutral-bluish-800);--dsw-alias-tooltip-bg:var(--dsw-static-neutral-bluish-850);--dsw-specific-bubble-highlight:var(--dsw-static-deepseek-200);--dsw-specific-bubble:var(--dsw-static-deepseek-50);--dsw-specific-input-major:var(--dsw-static-neutral-bluish-00);--dsw-specific-login-input:var(--dsw-static-neutral-bluish-50);--dsw-specific-menu:var(--dsw-alias-bg-layer-3);--dsw-specific-selector:var(--dsw-static-neutral-bluish-60);--dsw-specific-sidebar-fill:var(--dsw-static-neutral-bluish-50);--dsw-specific-sidebar-nav-item-active-accent:var(--dsw-static-deepseek-100);--dsw-specific-sidebar-nav-item-active:var(--dsw-static-neutral-bluish-100);--dsw-specific-sidebar-nav-item-hover:var(--dsw-static-neutral-bluish-75);--dsw-specific-tip:var(--dsw-static-neutral-bluish-60)}body[data-ds-dark-theme]{--dsw-alias-bg-base:var(--dsw-static-neutral-bluish-950);--dsw-alias-bg-layer-1:var(--dsw-static-neutral-bluish-875);--dsw-alias-bg-layer-2:var(--dsw-static-neutral-bluish-850);--dsw-alias-bg-layer-3:var(--dsw-static-neutral-bluish-800);--dsw-alias-bg-mask-1:#00000080;--dsw-alias-bg-mask-2:#0003;--dsw-alias-bg-mask-3:#0000007a;--dsw-alias-bg-mask-photo:#000000e0;--dsw-alias-bg-mask-drop:#272730b3;--dsw-alias-bg-module-platform:var(--dsw-static-neutral-bluish-800);--dsw-alias-bg-multi-select:var(--dsw-static-neutral-850);--dsw-alias-bg-overlay:var(--dsw-static-neutral-bluish-700);--dsw-alias-bg-skeleton:#ffffff14;--dsw-alias-border-inverted2:#ffffff14;--dsw-alias-border-inverted:#ffffff0f;--dsw-alias-border-l1:#ffffff0f;--dsw-alias-border-l2-darkmode-thin:#ffffff0f;--dsw-alias-border-l2:#ffffff1f;--dsw-alias-border-l3:#ffffff29;--dsw-alias-border-l4:#fff3;--dsw-alias-brand-primary-invert:var(--dsw-static-neutral-bluish-50);--dsw-alias-brand-primary-new-colorprimary-new-color:var(--dsw-static-deepseek-450);--dsw-alias-brand-primary:var(--dsw-static-neutral-bluish-50);--dsw-alias-brand-text:var(--dsw-static-neutral-bluish-50);--dsw-alias-button-contrast-fill:var(--dsw-static-neutral-bluish-50);--dsw-alias-button-elevated-fill:var(--dsw-static-neutral-bluish-750);--dsw-alias-button-floating-fill:var(--dsw-static-neutral-bluish-850);--dsw-alias-button-floating-hover:var(--dsw-static-neutral-bluish-800);--dsw-alias-button-ghost-active-border:var(--dsw-static-neutral-bluish-600);--dsw-alias-button-ghost-active-fill:var(--dsw-static-neutral-bluish-750);--dsw-alias-button-ghost-active-hover:var(--dsw-static-neutral-bluish-700);--dsw-alias-button-info-fill:var(--dsw-static-deepseek-400);--dsw-alias-button-info-hover:var(--dsw-static-deepseek-500);--dsw-alias-button-primary-dimmed:var(--dsw-static-neutral-bluish-750);--dsw-alias-button-primary-fill:var(--dsw-alias-brand-primary);--dsw-alias-button-primary-hover:var(--dsw-static-neutral-bluish-100);--dsw-alias-button-tool-bar-fill-invisible:#1f1f1f5c;--dsw-alias-button-tool-bar-fill:#54555780;--dsw-alias-button-tool-bar-hover:#54555799;--dsw-alias-interactive-bg-active:#ffffff24;--dsw-alias-interactive-bg-hover-accent:#ffffff3d;--dsw-alias-interactive-bg-hover-danger:#f25a5a26;--dsw-alias-interactive-bg-hover-solid:var(--dsw-static-neutral-bluish-800);--dsw-alias-interactive-bg-hover:#ffffff14;--dsw-alias-label-caption:var(--dsw-static-neutral-bluish-600);--dsw-alias-label-dimmed:var(--dsw-static-neutral-bluish-750);--dsw-alias-label-primary-bluish:var(--dsw-static-neutral-bluish-50);--dsw-alias-label-primary-dimmed:var(--dsw-static-neutral-bluish-100);--dsw-alias-label-primary-foreground:var(--dsw-static-neutral-bluish-1000);--dsw-alias-label-primary-inverted:var(--dsw-static-neutral-bluish-800);--dsw-alias-label-primary:var(--dsw-static-neutral-bluish-50);--dsw-alias-label-secondary:var(--dsw-static-neutral-bluish-300);--dsw-alias-label-tertiary:var(--dsw-static-neutral-bluish-400);--dsw-alias-link:var(--dsw-static-deepseek-400);--dsw-alias-markdown-citation:var(--dsw-static-neutral-bluish-800);--dsw-alias-markdown-code-block-banner:var(--dsw-static-neutral-bluish-850);--dsw-alias-markdown-code-block:var(--dsw-static-neutral-bluish-900);--dsw-alias-markdown-code-segment-selected:var(--dsw-static-neutral-bluish-800);--dsw-alias-markdown-code-segment-unselected:var(--dsw-static-neutral-bluish-900);--dsw-alias-markdown-inline-code:var(--dsw-static-neutral-800);--dsw-alias-markdown-placeholder:var(--dsw-static-neutral-bluish-850);--dsw-alias-markdown-tag:var(--dsw-static-neutral-bluish-850);--dsw-alias-scrollbar-bg-l1:var(--dsw-static-neutral-700);--dsw-alias-scrollbar-bg-l2:var(--dsw-static-neutral-600);--dsw-alias-scrollbar-hover-l1:var(--dsw-static-neutral-600);--dsw-alias-scrollbar-hover-l2:var(--dsw-static-neutral-550);--dsw-alias-state-business-primary:var(--dsw-static-deepseek-400);--dsw-alias-state-business-tertiary:var(--dsw-static-deepseek-800);--dsw-alias-state-error-primary:var(--dsw-static-red-400);--dsw-alias-state-error-secondary:var(--dsw-static-red-400);--dsw-alias-state-success-primary:var(--dsw-static-green-500);--dsw-alias-state-success-secondary:var(--dsw-static-green-400);--dsw-alias-state-success-tertiary:var(--dsw-static-green-900);--dsw-alias-state-warn-label:var(--dsw-static-amber-600);--dsw-alias-state-warn-primary:var(--dsw-static-amber-500);--dsw-alias-state-warn-secondary:var(--dsw-static-amber-400);--dsw-alias-state-warn-tertiary:var(--dsw-static-amber-900);--dsw-alias-toast-bg:var(--dsw-static-neutral-bluish-750);--dsw-alias-tooltip-bg:var(--dsw-static-neutral-bluish-750);--dsw-specific-bubble-highlight:var(--dsw-static-neutral-bluish-750);--dsw-specific-bubble:var(--dsw-static-neutral-bluish-850);--dsw-specific-input-major:var(--dsw-static-neutral-bluish-850);--dsw-specific-login-input:var(--dsw-static-neutral-bluish-900);--dsw-specific-menu:var(--dsw-alias-bg-layer-3);--dsw-specific-selector:var(--dsw-static-neutral-bluish-800);--dsw-specific-sidebar-fill:var(--dsw-static-neutral-bluish-900);--dsw-specific-sidebar-nav-item-active-accent:var(--dsw-static-neutral-bluish-800);--dsw-specific-sidebar-nav-item-active:var(--dsw-static-neutral-bluish-750);--dsw-specific-sidebar-nav-item-hover:var(--dsw-static-neutral-bluish-850);--dsw-specific-tip:var(--dsw-static-neutral-bluish-800)}body{--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l1);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l1);--dsh-scrollbar-width:8px}@supports not selector(::-webkit-scrollbar){body,body *{scrollbar-width:thin;scrollbar-color:var(--dsh-scrollbar-thumb) transparent}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--dsh-scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--dsh-scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:0 0}body{--dsw-linear-gradient-think:linear-gradient(180deg, #fff 20.19%, #fff0 100%);--dsw-linear-think-select:linear-gradient(180deg, #f5f6f7 20.19%, #f5f6f700 100%);--dsw-shadow-lv1:0 2px 4px 0 #0000000d;--dsw-shadow-lv1-blur:0 4px 12px 0 #00000005;--dsw-shadow-lv2:0 4px 12px 0 #00000005, 0 2px 8px 0 #0000000a;--dsw-shadow-lv3:0 0 1px 0 #0003, 0 0 4px 0 #00000005, 0 12px 32px 0 #00000014;--dsw-elevation-stroke-color:var(--dsw-alias-border-l4);--dsw-mask-blur:blur(2px)}body,body *{--dsw-elevation-stroke:0 0 0 .5px var(--dsw-elevation-stroke-color);--dsw-elevation-panel:var(--dsw-elevation-stroke), 0 3px 8px 0 #00000008, 0 0 16px 0 #00000005;--dsw-elevation-prominent:var(--dsw-elevation-stroke), 0 3px 8px 0 #0000000a, 0 0 20px 0 #0000000d;--dsw-elevation-soft:var(--dsw-elevation-stroke), 0 4px 16px 0 #00000008, 0 0 24px 0 #00000008}body[data-ds-dark-theme]{--dsw-linear-gradient-think:linear-gradient(180deg, #151517 20.19%, #15151700 100%);--dsw-linear-think-select:linear-gradient(180deg, #232325 20.19%, #23232500 100%)}body{--dsh-content-font-delta:calc(var(--dsh-content-font-size,14px) - 14px);--dsh-content-font-size-secondary:min(calc(var(--dsh-content-font-size,14px) - 1px), max(13px, calc(var(--dsh-content-font-size,14px) - 2px)));--dsh-content-font-delta-secondary:calc(var(--dsh-content-font-size-secondary) - 13px);--dsw-font-markdown-h1:700 calc(21px + var(--dsh-content-font-delta)) / calc(30px + var(--dsh-content-font-delta)) var(--dsw-font-family);--dsw-font-markdown-h1-font-family:var(--dsw-font-family);--dsw-font-markdown-h1-font-weight:700;--dsw-font-markdown-h1-line-height:calc(30px + var(--dsh-content-font-delta));--dsw-font-markdown-h1-font-size:calc(21px + var(--dsh-content-font-delta));--dsw-font-markdown-h1-font-style:normal;--dsw-font-markdown-h2:700 calc(19px + var(--dsh-content-font-delta)) / calc(28px + var(--dsh-content-font-delta)) var(--dsw-font-family);--dsw-font-markdown-h2-font-family:var(--dsw-font-family);--dsw-font-markdown-h2-font-weight:700;--dsw-font-markdown-h2-line-height:calc(28px + var(--dsh-content-font-delta));--dsw-font-markdown-h2-font-size:calc(19px + var(--dsh-content-font-delta));--dsw-font-markdown-h2-font-style:normal;--dsw-font-markdown-h3:700 calc(18px + var(--dsh-content-font-delta)) / calc(26px + var(--dsh-content-font-delta)) var(--dsw-font-family);--dsw-font-markdown-h3-font-family:var(--dsw-font-family);--dsw-font-markdown-h3-font-weight:700;--dsw-font-markdown-h3-line-height:calc(26px + var(--dsh-content-font-delta));--dsw-font-markdown-h3-font-size:calc(18px + var(--dsh-content-font-delta));--dsw-font-markdown-h3-font-style:normal;--dsw-font-markdown-h4:600 var(--dsh-content-font-size,14px) / calc(24px + var(--dsh-content-font-delta)) var(--dsw-font-family);--dsw-font-markdown-h4-font-family:var(--dsw-font-family);--dsw-font-markdown-h4-font-weight:600;--dsw-font-markdown-h4-line-height:calc(24px + var(--dsh-content-font-delta));--dsw-font-markdown-h4-font-size:var(--dsh-content-font-size,14px);--dsw-font-markdown-h4-font-style:normal;--dsw-font-markdown-base:var(--dsh-content-font-size,14px) / calc(24px + var(--dsh-content-font-delta)) var(--dsw-font-family);--dsw-font-markdown-base-font-family:var(--dsw-font-family);--dsw-font-markdown-base-font-weight:400;--dsw-font-markdown-base-line-height:calc(24px + var(--dsh-content-font-delta));--dsw-font-markdown-base-font-size:var(--dsh-content-font-size,14px);--dsw-font-markdown-base-font-style:normal;--dsw-font-markdown-base-strong:600 var(--dsh-content-font-size,14px) / calc(24px + var(--dsh-content-font-delta)) var(--dsw-font-family);--dsw-font-markdown-base-strong-font-family:var(--dsw-font-family);--dsw-font-markdown-base-strong-font-weight:600;--dsw-font-markdown-base-strong-line-height:calc(24px + var(--dsh-content-font-delta));--dsw-font-markdown-base-strong-font-size:var(--dsh-content-font-size,14px);--dsw-font-markdown-base-strong-font-style:normal;--dsw-font-markdown-base-italic:italic var(--dsh-content-font-size,14px) / calc(24px + var(--dsh-content-font-delta)) var(--dsw-font-family);--dsw-font-markdown-base-italic-font-family:var(--dsw-font-family);--dsw-font-markdown-base-italic-font-weight:400;--dsw-font-markdown-base-italic-line-height:calc(24px + var(--dsh-content-font-delta));--dsw-font-markdown-base-italic-font-size:var(--dsh-content-font-size,14px);--dsw-font-markdown-base-italic-font-style:italic;--dsw-font-markdown-base-strong-italic:italic 600 var(--dsh-content-font-size,14px) / calc(24px + var(--dsh-content-font-delta)) var(--dsw-font-family);--dsw-font-markdown-base-strong-italic-font-family:var(--dsw-font-family);--dsw-font-markdown-base-strong-italic-font-weight:600;--dsw-font-markdown-base-strong-italic-line-height:calc(24px + var(--dsh-content-font-delta));--dsw-font-markdown-base-strong-italic-font-size:var(--dsh-content-font-size,14px);--dsw-font-markdown-base-strong-italic-font-style:italic;--dsw-font-markdown-table:var(--dsh-content-font-size-secondary,13px)/calc(22px + var(--dsh-content-font-delta-secondary,0px)) var(--dsw-font-family);--dsw-font-markdown-table-font-family:var(--dsw-font-family);--dsw-font-markdown-table-font-weight:400;--dsw-font-markdown-table-line-height:calc(22px + var(--dsh-content-font-delta-secondary,0px));--dsw-font-markdown-table-font-size:var(--dsh-content-font-size-secondary,13px);--dsw-font-markdown-table-font-style:normal;--dsw-font-markdown-table-head:500 var(--dsh-content-font-size-secondary,13px)/calc(22px + var(--dsh-content-font-delta-secondary,0px)) var(--dsw-font-family);--dsw-font-markdown-table-head-font-family:var(--dsw-font-family);--dsw-font-markdown-table-head-font-weight:500;--dsw-font-markdown-table-head-line-height:calc(22px + var(--dsh-content-font-delta-secondary,0px));--dsw-font-markdown-table-head-font-size:var(--dsh-content-font-size-secondary,13px);--dsw-font-markdown-table-head-font-style:normal;--dsw-font-markdown-small:12px/20px var(--dsw-font-family);--dsw-font-markdown-small-font-family:var(--dsw-font-family);--dsw-font-markdown-small-font-weight:400;--dsw-font-markdown-small-line-height:20px;--dsw-font-markdown-small-font-size:12px;--dsw-font-markdown-small-font-style:normal;--dsw-font-markdown-small-strong:600 12px/20px var(--dsw-font-family);--dsw-font-markdown-small-strong-font-family:var(--dsw-font-family);--dsw-font-markdown-small-strong-font-weight:600;--dsw-font-markdown-small-strong-line-height:20px;--dsw-font-markdown-small-strong-font-size:12px;--dsw-font-markdown-small-strong-font-style:normal;--dsw-font-markdown-small-italic:italic 12px/20px var(--dsw-font-family);--dsw-font-markdown-small-italic-font-family:var(--dsw-font-family);--dsw-font-markdown-small-italic-font-weight:400;--dsw-font-markdown-small-italic-line-height:20px;--dsw-font-markdown-small-italic-font-size:12px;--dsw-font-markdown-small-italic-font-style:italic;--dsw-font-markdown-small-strong-italic:italic 600 12px/20px var(--dsw-font-family);--dsw-font-markdown-small-strong-italic-font-family:var(--dsw-font-family);--dsw-font-markdown-small-strong-italic-font-weight:600;--dsw-font-markdown-small-strong-italic-line-height:20px;--dsw-font-markdown-small-strong-italic-font-size:12px;--dsw-font-markdown-small-strong-italic-font-style:italic;--dsw-font-markdown-code:12px/19px var(--ds-font-family-code);--dsw-font-markdown-code-font-family:var(--ds-font-family-code);--dsw-font-markdown-code-font-weight:400;--dsw-font-markdown-code-line-height:19px;--dsw-font-markdown-code-font-size:12px;--dsw-font-markdown-code-font-style:normal;--dsw-font-markdown-code-block:11px/19px var(--ds-font-family-code);--dsw-font-markdown-code-block-font-family:var(--ds-font-family-code);--dsw-font-markdown-code-block-font-weight:400;--dsw-font-markdown-code-block-line-height:19px;--dsw-font-markdown-code-block-font-size:11px;--dsw-font-markdown-code-block-font-style:normal;--dsw-font-markdown-code-block-small:11px/16px var(--ds-font-family-code);--dsw-font-markdown-code-block-small-font-family:var(--ds-font-family-code);--dsw-font-markdown-code-block-small-font-weight:400;--dsw-font-markdown-code-block-small-line-height:16px;--dsw-font-markdown-code-block-small-font-size:11px;--dsw-font-markdown-code-block-small-font-style:normal;--dsw-font-xl-24:600 24px/32px var(--dsw-font-family);--dsw-font-xl-24-font-family:var(--dsw-font-family);--dsw-font-xl-24-font-weight:600;--dsw-font-xl-24-line-height:32px;--dsw-font-xl-24-font-size:24px;--dsw-font-xl-24-font-style:normal;--dsw-font-l-20:500 20px/28px var(--dsw-font-family);--dsw-font-l-20-font-family:var(--dsw-font-family);--dsw-font-l-20-font-weight:500;--dsw-font-l-20-line-height:28px;--dsw-font-l-20-font-size:20px;--dsw-font-l-20-font-style:normal;--dsw-font-m-18:500 16px/28px var(--dsw-font-family);--dsw-font-m-18-font-family:var(--dsw-font-family);--dsw-font-m-18-font-weight:500;--dsw-font-m-18-line-height:28px;--dsw-font-m-18-font-size:16px;--dsw-font-m-18-font-style:normal;--dsw-font-base-16:16px/24px var(--dsw-font-family);--dsw-font-base-16-font-family:var(--dsw-font-family);--dsw-font-base-16-font-weight:400;--dsw-font-base-16-line-height:24px;--dsw-font-base-16-font-size:16px;--dsw-font-base-16-font-style:normal;--dsw-font-base-strong-16:500 16px/24px var(--dsw-font-family);--dsw-font-base-strong-16-font-family:var(--dsw-font-family);--dsw-font-base-strong-16-font-weight:500;--dsw-font-base-strong-16-line-height:24px;--dsw-font-base-strong-16-font-size:16px;--dsw-font-base-strong-16-font-style:normal;--dsw-font-s-14:14px/22px var(--dsw-font-family);--dsw-font-s-14-font-family:var(--dsw-font-family);--dsw-font-s-14-font-weight:400;--dsw-font-s-14-line-height:22px;--dsw-font-s-14-font-size:14px;--dsw-font-s-14-font-style:normal;--dsw-font-s-strong-14:500 14px/22px var(--dsw-font-family);--dsw-font-s-strong-14-font-family:var(--dsw-font-family);--dsw-font-s-strong-14-font-weight:500;--dsw-font-s-strong-14-line-height:22px;--dsw-font-s-strong-14-font-size:14px;--dsw-font-s-strong-14-font-style:normal;--dsw-font-xs-13:13px/20px var(--dsw-font-family);--dsw-font-xs-13-font-family:var(--dsw-font-family);--dsw-font-xs-13-font-weight:400;--dsw-font-xs-13-line-height:20px;--dsw-font-xs-13-font-size:13px;--dsw-font-xs-13-font-style:normal;--dsw-font-xs-strong-13:500 13px/20px var(--dsw-font-family);--dsw-font-xs-strong-13-font-family:var(--dsw-font-family);--dsw-font-xs-strong-13-font-weight:500;--dsw-font-xs-strong-13-line-height:20px;--dsw-font-xs-strong-13-font-size:13px;--dsw-font-xs-strong-13-font-style:normal;--dsw-font-xxs-12:12px/18px var(--dsw-font-family);--dsw-font-xxs-12-font-family:var(--dsw-font-family);--dsw-font-xxs-12-font-weight:400;--dsw-font-xxs-12-line-height:18px;--dsw-font-xxs-12-font-size:12px;--dsw-font-xxs-12-font-style:normal;--dsw-font-xxs-strong-12:500 12px/18px var(--dsw-font-family);--dsw-font-xxs-strong-12-font-family:var(--dsw-font-family);--dsw-font-xxs-strong-12-font-weight:500;--dsw-font-xxs-strong-12-line-height:18px;--dsw-font-xxs-strong-12-font-size:12px;--dsw-font-xxs-strong-12-font-style:normal;--dsw-font-xxxs-11:11px/14px var(--dsw-font-family);--dsw-font-xxxs-11-font-family:var(--dsw-font-family);--dsw-font-xxxs-11-font-weight:400;--dsw-font-xxxs-11-line-height:14px;--dsw-font-xxxs-11-font-size:11px;--dsw-font-xxxs-11-font-style:normal;--dsw-font-xxxs-strong-11:500 11px/14px var(--dsw-font-family);--dsw-font-xxxs-strong-11-font-family:var(--dsw-font-family);--dsw-font-xxxs-strong-11-font-weight:500;--dsw-font-xxxs-strong-11-line-height:14px;--dsw-font-xxxs-strong-11-font-size:11px;--dsw-font-xxxs-strong-11-font-style:normal}:root{--shiki-foreground:var(--dsw-alias-label-primary);--shiki-background:var(--dsw-alias-markdown-code-block);--shiki-token-constant:#1c7ed6;--shiki-token-string:#2f9e44;--shiki-token-comment:#868e96;--shiki-token-keyword:#d6336c;--shiki-token-parameter:#e8590c;--shiki-token-function:#6741d9;--shiki-token-string-expression:#2b8a3e;--shiki-token-punctuation:#495057;--shiki-token-link:#1971c2}body[data-ds-dark-theme]{--shiki-token-constant:#4dabf7;--shiki-token-string:#69db7c;--shiki-token-comment:#adb5bd;--shiki-token-keyword:#faa2c1;--shiki-token-parameter:#ffa94d;--shiki-token-function:#b197fc;--shiki-token-string-expression:#8ce99a;--shiki-token-punctuation:#ced4da;--shiki-token-link:#74c0fc}:root{color-scheme:light dark}html,body,#root{height:100%}body{margin:0;background:var(--vscode-editor-background);color:var(--vscode-foreground);font-family:var(--vscode-font-family);font-size:var(--vscode-font-size, 13px);overflow:hidden}.dshcs-app{display:flex;flex-direction:column;height:100%;width:100%;max-width:900px;margin:0 auto}.dshcs-header{display:flex;align-items:baseline;gap:8px;padding:8px 12px;border-bottom:1px solid var(--vscode-panel-border, rgba(128, 128, 128, .35));font-size:12px;opacity:.9}.dshcs-header .dshcs-title{font-weight:600;letter-spacing:.04em}.dshcs-header .dshcs-where{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dshcs-header .dshcs-version{opacity:.7;font-family:var(--vscode-editor-font-family, monospace);font-size:11px}.dshcs-header .dshcs-close{border:none;background:transparent;color:inherit;cursor:pointer;font-size:13px;line-height:1;padding:2px 6px;border-radius:4px;opacity:.75}.dshcs-header .dshcs-close:hover{background:var(--vscode-toolbar-hoverBackground, rgba(128, 128, 128, .2));opacity:1}.dshcs-think{display:flex;flex-direction:column;margin:2px 0 6px}.dshcs-think .dshcs-think-separator{flex:none;width:2px;height:2px;margin:0 8px;border-radius:1px;background:var(--dsw-alias-label-caption, currentColor);display:inline-block}.dshcs-think .dshcs-think-summary{min-width:0;overflow:hidden;flex:1 1 auto;color:var(--dsw-alias-label-tertiary, var(--vscode-descriptionForeground));font-size:var(--dsh-content-font-size-secondary, 13px);white-space:nowrap;text-overflow:ellipsis}.dshcs-think .dshcs-think-body{padding:4px 0 4px calc(22px + var(--dsh-content-font-delta, 0px));color:var(--dsw-alias-label-tertiary, var(--vscode-descriptionForeground));font-size:var(--dsh-content-font-size-secondary, 13px);line-height:1.55;white-space:pre-wrap;word-break:break-word}.dshcs-warn{margin:8px 12px 0;padding:6px 8px;border:1px solid var(--vscode-inputValidation-warningBorder, #b89500);background:var(--vscode-inputValidation-warningBackground, rgba(184, 149, 0, .15));border-radius:4px;font-size:12px;white-space:pre-wrap}.dshcs-log{flex:1;overflow-y:auto;padding:12px 14px 4px}.dshcs-empty{opacity:.6;font-size:12px;padding:4px 0}.dshcs-msg{margin-bottom:14px}.dshcs-user{display:flex;justify-content:flex-end}.dshcs-bubble{max-width:88%;padding:6px 10px;border-radius:8px;background:var(--vscode-input-background, rgba(128, 128, 128, .12));border:1px solid var(--vscode-input-border, rgba(128, 128, 128, .25));white-space:pre-wrap;word-break:break-word}.dshcs-bubble[data-status=sending]{opacity:.6}.dshcs-bubble[data-status=error]{border-color:var(--vscode-inputValidation-errorBorder, #be1100)}.dshcs-assistant{word-break:break-word}.dshcs-tool{display:flex;align-items:baseline;gap:8px;margin:4px 0 10px;padding:4px 8px;border-left:2px solid var(--vscode-panel-border, rgba(128, 128, 128, .4));font-size:12px;opacity:.85}.dshcs-tool .dshcs-tool-name{font-family:var(--vscode-editor-font-family, monospace)}.dshcs-tool .dshcs-tool-summary{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.8}.dshcs-tool .dshcs-tool-state[data-state=error]{color:var(--vscode-errorForeground, #f48771)}.dshcs-approval{margin:8px 12px;padding:8px 10px;border:1px solid var(--vscode-inputValidation-warningBorder, #b89500);background:var(--vscode-inputValidation-warningBackground, rgba(184, 149, 0, .12));border-radius:6px}.dshcs-approval[data-decided]{opacity:.75}.dshcs-approval-head{display:flex;align-items:baseline;gap:8px;font-size:12px;margin-bottom:4px}.dshcs-approval-title{font-weight:600}.dshcs-approval-timer{flex:1;text-align:right;opacity:.8}.dshcs-approval-body{font-size:12px;margin-bottom:6px;word-break:break-word}.dshcs-approval-tool{font-family:var(--vscode-editor-font-family, monospace)}.dshcs-approval-reason{margin-top:2px;opacity:.9;white-space:pre-wrap}.dshcs-approval-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dshcs-approval-actions button{padding:3px 10px;border:1px solid var(--vscode-button-border, transparent);border-radius:4px;cursor:pointer;color:var(--vscode-button-foreground);background:var(--vscode-button-background);font-family:inherit;font-size:12px}.dshcs-approval-actions button+button{color:var(--vscode-button-secondaryForeground, var(--vscode-foreground));background:var(--vscode-button-secondaryBackground, rgba(128, 128, 128, .2))}.dshcs-approval-actions button:disabled{opacity:.5;cursor:default}.dshcs-approval-note{font-size:12px;opacity:.85}.dshcs-status{padding:0 12px 6px;font-size:12px;min-height:16px;opacity:.85}.dshcs-status[data-status=error]{color:var(--vscode-errorForeground, #f48771);opacity:1}.dshcs-footer{display:flex;align-items:flex-end;gap:8px;padding:8px 12px;border-top:1px solid var(--vscode-panel-border, rgba(128, 128, 128, .35))}.dshcs-footer textarea{flex:1;min-height:46px;max-height:40vh;resize:vertical;box-sizing:border-box;padding:6px 8px;border:1px solid var(--vscode-input-border, rgba(128, 128, 128, .35));border-radius:4px;color:var(--vscode-input-foreground);background:var(--vscode-input-background);font-family:inherit;font-size:inherit}.dshcs-footer textarea:focus{outline:1px solid var(--vscode-focusBorder);outline-offset:-1px}.dshcs-footer button{padding:6px 14px;border:none;border-radius:4px;cursor:pointer;color:var(--vscode-button-foreground);background:var(--vscode-button-background);font-family:inherit;font-size:inherit}.dshcs-footer button:disabled{opacity:.5;cursor:default}