@epam/ai-dial-chat-shared 1.2.0-dev.99 → 1.3.0-dev.5

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 (51) hide show
  1. package/components/ConfirmationDialog/ConfirmationDialog.js +34 -0
  2. package/components/ConfirmationIdentityCard/ConfirmationIdentityCard.js +21 -0
  3. package/components/ConfirmationIdentityCard/ConfirmationIdentityCard.module.scss.js +6 -0
  4. package/components/ConfirmationIdentityRow/ConfirmationIdentityRow.js +24 -0
  5. package/components/ConfirmationIdentityRow/ConfirmationIdentityRow.module.scss.js +3 -0
  6. package/components/ConfirmationView/ConfirmationFooter.js +42 -0
  7. package/components/ConfirmationView/ConfirmationView.js +39 -0
  8. package/components/ConfirmationView/ConfirmationView.module.scss.js +7 -0
  9. package/components/CopyButton/CopyButton.js +5 -5
  10. package/components/EntityHeader/EntityHeader.js +14 -13
  11. package/components/EntityTypeLabel/EntityTypeLabel.js +2 -2
  12. package/components/FeaturedChip/FeaturedChip.js +9 -14
  13. package/components/InitialsAvatar/InitialsAvatar.js +10 -27
  14. package/components/MarkdownRenderer/CodeBlock/CodeBlock.js +65 -64
  15. package/components/MarkdownRenderer/MDMessageViewer.js +25 -17
  16. package/components/MarkdownRenderer/MarkdownRenderer.js +119 -118
  17. package/components/MarkdownRenderer/MarkdownRenderer.module.scss.js +7 -7
  18. package/components/MarkdownRenderer/Math/MarkdownMathBlock.module.scss.js +2 -2
  19. package/components/MarkdownRenderer/PlainTextRenderer.js +21 -0
  20. package/components/MarkdownRenderer/Table/MarkdownTable.js +62 -65
  21. package/components/MarkdownRenderer/Table/MarkdownTable.module.scss.js +11 -11
  22. package/components/MarkdownRenderer/Table/TableHeader.js +18 -21
  23. package/components/MarkdownRenderer/ThinkingShimmer.js +14 -0
  24. package/components/MarkdownWithPlaceholders/MarkdownWithPlaceholders.js +3 -2
  25. package/components/PanelEmptyState/PanelEmptyState.js +2 -1
  26. package/components/TextRefinementField/TextRefinementField.js +86 -0
  27. package/constants/dial.js +2 -2
  28. package/constants/resizable-fields.js +2 -2
  29. package/file-manager/DialFileManagerShell/DialFileManagerShell.js +248 -236
  30. package/file-manager/FileManagerAttachModal/FileManagerAttachModal.js +17 -14
  31. package/file-manager/OperationLoaderModal/OperationLoaderModal.js +17 -20
  32. package/file-manager/upload-batch.js +2 -2
  33. package/file-manager/upload-queue.js +17 -0
  34. package/file-manager.d.ts +25 -14
  35. package/file-manager.js +4 -3
  36. package/hooks/useTextRefinement.js +66 -0
  37. package/hooks/useUnsavedChangesGuard.js +30 -0
  38. package/index.css +2 -2
  39. package/index.d.ts +510 -46
  40. package/index.js +73 -62
  41. package/markdown.d.ts +64 -8
  42. package/markdown.js +5 -4
  43. package/models/chat.js +4 -2
  44. package/package.json +5 -5
  45. package/utils/entity-field-limits.js +4 -0
  46. package/utils/entity-type.js +15 -0
  47. package/utils/format-price.js +13 -9
  48. package/utils/is-skill-selection-unsupported.js +4 -0
  49. package/utils/syntax-highlighting.js +13 -0
  50. package/components/InitialsAvatar/InitialsAvatar.module.scss.js +0 -6
  51. package/file-manager/UploadProgressModal/UploadProgressModal.js +0 -50
@@ -1,36 +1,33 @@
1
- import { NeutralButton as e, Popup as t, Spinner as n } from "@epam/ai-dial-ui-kit";
2
- import { memo as r } from "react";
3
- import { jsx as i, jsxs as a } from "react/jsx-runtime";
1
+ import { Popup as e, Spinner as t } from "@epam/ai-dial-ui-kit";
2
+ import { memo as n } from "react";
3
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
4
4
  //#region src/file-manager/OperationLoaderModal/OperationLoaderModal.tsx
5
- var o = ({ title: r, text: o, cancelLabel: s, onCancel: c }) => /* @__PURE__ */ i(t, {
5
+ var a = ({ title: n, text: a, cancelLabel: o, onCancel: s }) => /* @__PURE__ */ r(e, {
6
6
  className: "!h-fit !max-h-full !w-[400px]",
7
7
  open: !0,
8
8
  closeOnOutsideClick: !1,
9
9
  hideClose: !0,
10
- onClose: c,
11
- footer: /* @__PURE__ */ i("div", {
12
- className: "flex justify-end gap-2 px-6 py-4",
13
- children: /* @__PURE__ */ i(e, {
14
- label: s,
15
- onClick: c
16
- })
17
- }),
18
- children: /* @__PURE__ */ a("div", {
10
+ onClose: s,
11
+ mainButtons: [{
12
+ label: o,
13
+ onClick: s
14
+ }],
15
+ children: /* @__PURE__ */ i("div", {
19
16
  "aria-live": "polite",
20
17
  className: "flex flex-col items-center gap-4 px-6 py-4 text-center",
21
- children: [/* @__PURE__ */ i(n, {
18
+ children: [/* @__PURE__ */ r(t, {
22
19
  size: 32,
23
20
  fullWidth: !1,
24
- ariaLabel: r
25
- }), /* @__PURE__ */ a("div", {
21
+ ariaLabel: n
22
+ }), /* @__PURE__ */ i("div", {
26
23
  className: "flex flex-col gap-1",
27
- children: [/* @__PURE__ */ i("div", { children: r }), /* @__PURE__ */ i("div", {
24
+ children: [/* @__PURE__ */ r("div", { children: n }), /* @__PURE__ */ r("div", {
28
25
  className: "dial-small-text text-secondary",
29
- children: o
26
+ children: a
30
27
  })]
31
28
  })]
32
29
  })
33
30
  });
34
- r(o);
31
+ n(a);
35
32
  //#endregion
36
- export { o as OperationLoaderModal };
33
+ export { a as OperationLoaderModal };
@@ -1,6 +1,6 @@
1
1
  //#region src/file-manager/upload-batch.ts
2
2
  var e = /* @__PURE__ */ function(e) {
3
3
  return e.Queued = "queued", e.Uploading = "uploading", e.Completed = "completed", e.Failed = "failed", e.Cancelled = "cancelled", e;
4
- }({});
4
+ }({}), t = (e) => e?.files.some((e) => e.status === "queued" || e.status === "uploading") ?? !1;
5
5
  //#endregion
6
- export { e as FileUploadStatus };
6
+ export { e as FileUploadStatus, t as isUploadInProgress };
@@ -0,0 +1,17 @@
1
+ import { FileUploadStatus as e } from "./upload-batch.js";
2
+ import { TransferQueueItemStatus as t } from "@epam/ai-dial-ui-kit";
3
+ //#region src/file-manager/upload-queue.ts
4
+ var n = {
5
+ [e.Queued]: t.InProgress,
6
+ [e.Uploading]: t.InProgress,
7
+ [e.Completed]: t.Success,
8
+ [e.Failed]: t.Failed,
9
+ [e.Cancelled]: t.Canceled
10
+ }, r = (e) => e.map((e) => ({
11
+ id: e.id,
12
+ name: e.name,
13
+ status: n[e.status],
14
+ percent: e.percent
15
+ }));
16
+ //#endregion
17
+ export { r as toUploadQueueItems };
package/file-manager.d.ts CHANGED
@@ -13,6 +13,8 @@ import { FileManagerColumnKey } from '@epam/ai-dial-react-file-manager';
13
13
  import { FileManagerGridRow } from '@epam/ai-dial-react-file-manager';
14
14
  import { FileTreeOptions } from '@epam/ai-dial-react-file-manager';
15
15
  import { ReactNode } from 'react';
16
+ import { TransferQueueItem } from '@epam/ai-dial-ui-kit';
17
+ import { TransferQueueLabels } from '@epam/ai-dial-ui-kit';
16
18
 
17
19
  /** Result returned by the file-manager attach modal when the user confirms a selection. */
18
20
  declare interface AttachResult {
@@ -62,7 +64,7 @@ declare interface DialFileManagerShellLabels {
62
64
  showHiddenFilesLabel: string;
63
65
  /** Label shown when hidden files are currently hidden. */
64
66
  hideHiddenFilesLabel: string;
65
- /** Returns a bulk-selection count label (e.g. "3 selected"). */
67
+ /** Returns the text shown after the selection-count badge; the file manager renders the count itself, so omit it (e.g. "items selected"). */
66
68
  getSelectionLabel: (count: number) => string;
67
69
  /** Label for the "Upload files" action in the New menu. */
68
70
  uploadFilesLabel: string;
@@ -114,20 +116,20 @@ declare interface DialFileManagerShellLabels {
114
116
  operationLoaderMoveTitle: string;
115
117
  /** Cancel-button label in the operation loader modal. */
116
118
  operationLoaderCancelLabel: string;
117
- /** Returns the delete confirmation dialog title for the given item names. */
118
- deleteConfirmTitle: (names: string[]) => ReactNode;
119
+ /** Returns the delete confirmation dialog title for the given item names and items; the items carry `nodeType`, so a folder and a file can be titled differently. */
120
+ deleteConfirmTitle: (names: string[], items: DialFile[]) => ReactNode;
119
121
  /** Returns the delete confirmation dialog body for the given item names. */
120
122
  deleteConfirmBody: (names: string[]) => ReactNode;
121
123
  /** Confirm-button label in the delete confirmation dialog. */
122
124
  deleteConfirmLabel: string;
123
125
  /** Cancel-button label in the delete confirmation dialog. */
124
126
  deleteCancelLabel: string;
125
- /** Title for the upload progress modal. */
126
- uploadProgressTitle: string;
127
- /** Cancel-button label in the upload progress modal. */
128
- cancelLabel: string;
129
- /** Returns upload progress text (e.g. "3 of 5 uploaded"). */
130
- getUploadProgressText: (done: number, total: number) => string;
127
+ /** Accessible name of the delete confirmation dialog's close control. Unset falls back to the file manager's English default. */
128
+ deleteCloseLabel?: string;
129
+ /** Returns the upload queue heading for the number of files in it (e.g. "Uploading 5 files"). */
130
+ getUploadQueueTitle: (count: number) => string;
131
+ /** Translated strings for the upload `TransferQueue`; unset ones fall back to the kit's English defaults. */
132
+ uploadQueueLabels?: Partial<TransferQueueLabels>;
131
133
  /** Empty-state title when a search yields no results. */
132
134
  searchEmptyStateTitle: string;
133
135
  /** Empty-state title for an empty subfolder. */
@@ -138,6 +140,8 @@ declare interface DialFileManagerShellLabels {
138
140
  emptyStateByTab: Record<DialFileManagerTabs, EmptyStateCopy>;
139
141
  /** Per-tab tree header label. */
140
142
  treeHeaderByTab: Record<DialFileManagerTabs, string>;
143
+ /** Search field placeholder per source tab of the browsed folder; a tab without an entry keeps the file manager's default. */
144
+ searchPlaceholderByTab?: Partial<Record<DialFileManagerTabs, string>>;
141
145
  /** Messages for inline rename validation. */
142
146
  renameValidationMessages: RenameValidationMessages;
143
147
  /** Options for the conflict resolution popup. */
@@ -348,7 +352,7 @@ declare interface FileManagerController {
348
352
  onSearchFiles: (folder: string, query: string) => void;
349
353
  /** Search: true while a search request is in flight. */
350
354
  isSearching: boolean;
351
- /** Search: flat list of matching files, or null when search is not active. */
355
+ /** Search: flat, unfiltered recursive listing of the current folder, or null when search is not active. */
352
356
  searchResults: DialFile[] | null;
353
357
  /** Search: clears results and exits search mode. */
354
358
  clearSearchResults: () => void;
@@ -372,7 +376,9 @@ declare interface FileManagerController {
372
376
  uploadBatchState: FileUploadBatchState | null;
373
377
  /** Upload: abort all in-flight and queued uploads. */
374
378
  cancelUpload: () => void;
375
- /** Upload: dismiss the progress modal after the batch has settled. */
379
+ /** Upload: abort one queued or in-flight upload by its entry id. */
380
+ cancelUploadFile: (id: string) => void;
381
+ /** Upload: empty the upload queue. */
376
382
  clearUploadBatch: () => void;
377
383
  /** Folder creation: called when user confirms a new folder name. */
378
384
  onCreateFolder: (file: DialUploadFileItem, folderPath: string, fileId: string) => Promise<void>;
@@ -434,6 +440,8 @@ declare interface FileManagerController {
434
440
  onGetInfo: (file: DialFile) => void;
435
441
  /** Metadata: resets fileMetadata/isFileMetadataLoading; passed to fileMetadataPopupOptions.clearMetadata. */
436
442
  clearMetadata: () => void;
443
+ /** Source tab of the browsed folder, never `All`; omitted by single-source controllers. */
444
+ sectionTab?: DialFileManagerTabs;
437
445
  }
438
446
 
439
447
  /**
@@ -452,11 +460,11 @@ declare interface FileManagerSelectableNode {
452
460
  contentLength?: number;
453
461
  }
454
462
 
455
- /** State of an in-progress or just-settled upload batch, as returned by `useDialFileUploadBatch`. */
463
+ /** State of the upload queue, as returned by `useDialFileUploadBatch`. */
456
464
  declare interface FileUploadBatchState {
457
- /** Individual file entries in this batch. */
465
+ /** Every file uploaded since the queue was last cleared, settled ones included. */
458
466
  files: FileUploadEntry[];
459
- /** Whether the upload progress modal should be visible. */
467
+ /** Whether the upload queue should be visible. */
460
468
  isOpen: boolean;
461
469
  }
462
470
 
@@ -492,4 +500,7 @@ declare interface FileUploadValidationResult {
492
500
  /** Validation messages shown during inline rename editing. */
493
501
  declare type RenameValidationMessages = NonNullable<DialFileManagerComponentProps['renameValidationMessages']>;
494
502
 
503
+ /** Maps upload entries onto the UI kit's `TransferQueue` rows. */
504
+ export declare const toUploadQueueItems: (files: FileUploadEntry[]) => TransferQueueItem[];
505
+
495
506
  export { }
package/file-manager.js CHANGED
@@ -1,3 +1,4 @@
1
- import { DialFileManagerShell as e } from "./file-manager/DialFileManagerShell/DialFileManagerShell.js";
2
- import { FileManagerAttachModal as t } from "./file-manager/FileManagerAttachModal/FileManagerAttachModal.js";
3
- export { e as DialFileManagerShell, t as FileManagerAttachModal };
1
+ import { toUploadQueueItems as e } from "./file-manager/upload-queue.js";
2
+ import { DialFileManagerShell as t } from "./file-manager/DialFileManagerShell/DialFileManagerShell.js";
3
+ import { FileManagerAttachModal as n } from "./file-manager/FileManagerAttachModal/FileManagerAttachModal.js";
4
+ export { t as DialFileManagerShell, n as FileManagerAttachModal, e as toUploadQueueItems };
@@ -0,0 +1,66 @@
1
+ import { useCallback as e, useLayoutEffect as t, useRef as n, useState as r } from "react";
2
+ //#region src/hooks/useTextRefinement.ts
3
+ var i = /* @__PURE__ */ function(e) {
4
+ return e.Idle = "idle", e.Pending = "pending", e.Success = "success", e.Error = "error", e.Restored = "restored", e.Unchanged = "unchanged", e;
5
+ }({}), a = (i) => {
6
+ let [a, o] = r("idle"), [s, c] = r(!1), l = n(i), u = n(!1), d = n({
7
+ value: i.value,
8
+ resetKey: i.resetKey,
9
+ generation: 0,
10
+ controller: void 0,
11
+ baseline: void 0,
12
+ expected: void 0
13
+ }), f = e(() => {
14
+ let e = d.current;
15
+ e.generation++, e.controller?.abort(), e.controller = void 0, e.baseline = void 0, e.expected = void 0;
16
+ }, []), p = e(() => {
17
+ f(), u.current && (o("idle"), c(!1));
18
+ }, [f]);
19
+ t(() => (u.current = !0, () => {
20
+ u.current = !1, f();
21
+ }), [f]), t(() => {
22
+ let e = l.current, t = d.current;
23
+ l.current = i;
24
+ let n = t.value !== i.value, r = n && t.expected === i.value;
25
+ t.resetKey !== i.resetKey || e.onRefine && !i.onRefine || !e.disabled && i.disabled || n && !r ? p() : r && (t.expected = void 0), t.value = i.value, t.resetKey = i.resetKey;
26
+ });
27
+ let m = e(async () => {
28
+ let e = l.current, t = d.current;
29
+ if (!u.current || !e.onRefine || e.disabled || !e.value.trim() || t.controller || t.expected !== void 0) return;
30
+ let n = new AbortController();
31
+ t.controller = n;
32
+ let r = ++t.generation, i = e.value, a = () => u.current && r === t.generation && !n.signal.aborted && l.current.value === i;
33
+ o("pending");
34
+ try {
35
+ let r = await e.onRefine(i, n.signal);
36
+ if (!a()) return;
37
+ if (typeof r != "string" || !r.trim()) throw Error("Empty refinement");
38
+ if (r === i) {
39
+ o("unchanged");
40
+ return;
41
+ }
42
+ t.baseline ??= i, t.expected = r, c(!0), o("success"), l.current.onChange(r);
43
+ } catch (e) {
44
+ if (!a()) return;
45
+ typeof e == "object" && e && "name" in e && e.name === "AbortError" ? o("idle") : o("error");
46
+ } finally {
47
+ r === t.generation && (t.controller = void 0);
48
+ }
49
+ }, []), h = e(() => {
50
+ let e = d.current;
51
+ if (!u.current || l.current.disabled || e.controller || e.baseline === void 0) return;
52
+ let t = e.baseline;
53
+ e.baseline = void 0, e.expected = t, c(!1), o("restored"), l.current.onChange(t);
54
+ }, []);
55
+ return {
56
+ state: a,
57
+ isPending: a === "pending",
58
+ canRefine: !!(i.onRefine && !i.disabled && i.value.trim() && a !== "pending"),
59
+ canUndo: s,
60
+ refine: m,
61
+ undo: h,
62
+ reset: p
63
+ };
64
+ };
65
+ //#endregion
66
+ export { i as TextRefinementState, a as useTextRefinement };
@@ -0,0 +1,30 @@
1
+ import { useCallback as e, useEffect as t, useRef as n, useState as r } from "react";
2
+ //#region src/hooks/useUnsavedChangesGuard.ts
3
+ var i = (i) => {
4
+ let [a, o] = r(!1), s = n(null);
5
+ return t(() => {
6
+ if (!i) return;
7
+ let e = (e) => {
8
+ e.preventDefault();
9
+ };
10
+ return window.addEventListener("beforeunload", e), () => window.removeEventListener("beforeunload", e);
11
+ }, [i]), {
12
+ guard: e((e) => {
13
+ if (!i) {
14
+ e();
15
+ return;
16
+ }
17
+ s.current = e, o(!0);
18
+ }, [i]),
19
+ isConfirmOpen: a,
20
+ confirm: e(() => {
21
+ let e = s.current;
22
+ s.current = null, o(!1), e?.();
23
+ }, []),
24
+ dismiss: e(() => {
25
+ s.current = null, o(!1);
26
+ }, [])
27
+ };
28
+ };
29
+ //#endregion
30
+ export { i as useUnsavedChangesGuard };
package/index.css CHANGED
@@ -1,2 +1,2 @@
1
- ._agentIconBadge_1ger8_1{background:var(--di-icon-bg,var(--bg-layer-sunken,#eef1f7))}._badge_1ko75_1{background:var(--ia-bg,var(--bg-visual-green-1,#cde8e5))}._initials_1ko75_5{color:var(--ia-fg,var(--text-visual-green-2,#0d6e72))}._title_11w3i_1{color:var(--ih-title-color,var(--text-primary,#161b2d))}._count_11w3i_5{color:var(--ih-count-color,var(--text-secondary,#57647a))}._container_sqe5k_1{background:var(--cm-code-block-bg,var(--bg-layer-raised,#fcfcfc));border-color:var(--cm-code-block-border,var(--stroke-secondary,#d1dbea))}._containerLight_sqe5k_6{background:var(--cm-code-block-bg,var(--bg-layer-raised,#fcfcfc))}._header_sqe5k_10{background:var(--cm-code-block-header-bg,var(--bg-layer-raised,#fcfcfc));border-color:var(--cm-code-block-border,var(--stroke-secondary,#d1dbea))}._languageLabel_sqe5k_15{color:var(--cm-code-block-language,var(--text-secondary,#57647a))}._copiedIcon_sqe5k_19{color:var(--cm-code-block-copied,var(--text-success,#007274))}._scrollContainer_sqe5k_23 .token.table,._scrollContainer_sqe5k_23 .token.table-header-row,._scrollContainer_sqe5k_23 .token.table-line,._scrollContainer_sqe5k_23 .token.table-data-rows{display:inline}._scrollContainer_sqe5k_23{scrollbar-width:thin;scrollbar-color:var(--cm-code-block-scrollbar,var(--stroke-primary,#57647a)) transparent}._scrollContainer_sqe5k_23::-webkit-scrollbar{width:4px;height:4px}._scrollContainer_sqe5k_23::-webkit-scrollbar-track{background-color:#0000}._scrollContainer_sqe5k_23::-webkit-scrollbar-thumb{background-color:var(--cm-code-block-scrollbar,var(--stroke-primary,#57647a));border-radius:4px}@keyframes _cm-shimmer_1g29w_1{0%{background-position:200%}to{background-position:-200%}}._thinking_1g29w_9{background:linear-gradient(270deg, var(--cm-thinking-inverted,var(--text-primary,#161b2d)) 0%, var(--cm-thinking-secondary,var(--text-secondary,#57647a)) 40%, var(--cm-thinking-inverted,var(--text-primary,#161b2d)) 80%);color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:2s linear infinite _cm-shimmer_1g29w_1}._h6_1g29w_18{color:var(--cm-h6-text,var(--text-secondary,#57647a))}._codeInline_1g29w_22{background:var(--cm-code-inline-bg,var(--bg-layer-raised,#fcfcfc));color:var(--cm-code-inline-text,var(--text-primary,#161b2d))}._secondaryBorder_1g29w_27{border-color:var(--cm-markdown-border,var(--stroke-secondary,#d1dbea))}._blockquote_1g29w_31{border-color:var(--cm-blockquote-border,var(--stroke-primary,#57647a));color:var(--cm-blockquote-text,var(--text-secondary,#57647a))}._link_1g29w_36{color:var(--cm-link-text,var(--text-accent,#1d4ed8))}._link_1g29w_36:focus-visible{outline-color:var(--cm-link-focus,var(--stroke-focus-black,#161b2d))}._scrollContainer_1f433_1{scrollbar-width:thin;scrollbar-color:var(--cm-math-scrollbar,var(--stroke-primary,#57647a)) transparent}._scrollContainer_1f433_1::-webkit-scrollbar{height:4px}._scrollContainer_1f433_1::-webkit-scrollbar-track{background-color:#0000}._scrollContainer_1f433_1::-webkit-scrollbar-thumb{background-color:var(--cm-math-scrollbar,var(--stroke-primary,#57647a));border-radius:4px}._scrollContainer_1f433_1:focus-visible{outline:1px solid var(--cm-math-focus,var(--stroke-focus-black,#161b2d));outline-offset:2px}._mathContent_1f433_24{width:max-content;min-width:100%;display:block}._tableContainer_1fwnj_1{background:var(--cm-code-block-bg,var(--bg-layer-raised,#fcfcfc));border-color:var(--cm-markdown-border,var(--cm-code-block-border,var(--stroke-secondary,#d1dbea)))}._tableContainerLight_1fwnj_6{background:var(--cm-code-block-bg,var(--bg-layer-base,#f5f7fa))}._copiedIcon_1fwnj_10{color:var(--cm-code-block-copied,var(--text-success,#007274))}._scrollContainer_1fwnj_14{scrollbar-width:thin;scrollbar-color:var(--cm-table-scrollbar,var(--stroke-primary,#57647a)) transparent}._scrollContainer_1fwnj_14::-webkit-scrollbar{width:4px;height:4px}._scrollContainer_1fwnj_14::-webkit-scrollbar-track{background-color:#0000}._scrollContainer_1fwnj_14::-webkit-scrollbar-thumb{background-color:var(--cm-table-scrollbar,var(--stroke-primary,#57647a));border-radius:4px}._tableHeaderCell_1fwnj_30{background:var(--cm-code-block-header-bg,var(--bg-layer-raised,#fcfcfc));height:3rem;color:var(--cm-table-header-text,var(--text-secondary,#57647a))}._sectionRow_1fwnj_37 td{background:var(--cm-code-block-header-bg,var(--bg-layer-raised,#fcfcfc))}._rowDivider_1fwnj_41{border-block-end:.5px solid var(--cm-table-row-divider,var(--stroke-tertiary,#e0e6f0))}tbody ._row_1fwnj_41:hover td{background:var(--cm-table-row-hover-bg,var(--bg-control-accent-alpha-hover,#2764d924))}._tableScrollFadeEnd_1fwnj_51{-webkit-mask-image:linear-gradient(to right, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%);-webkit-mask-image:linear-gradient(to right, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%);mask-image:linear-gradient(to right, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%)}[dir=rtl] ._tableScrollFadeEnd_1fwnj_51{-webkit-mask-image:linear-gradient(to left, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%);-webkit-mask-image:linear-gradient(to left, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%);mask-image:linear-gradient(to left, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%)}._tableScrollFadeStart_1fwnj_59{-webkit-mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%);-webkit-mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%);mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%)}[dir=rtl] ._tableScrollFadeStart_1fwnj_59{-webkit-mask-image:linear-gradient(to left, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%);-webkit-mask-image:linear-gradient(to left, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%);mask-image:linear-gradient(to left, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%)}._tableScrollFadeBoth_1fwnj_67{-webkit-mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%);-webkit-mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%);mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%)}._tableHeader_1qvg8_1{background:var(--cm-code-block-header-bg,var(--bg-layer-raised,#fcfcfc));border-color:var(--cm-markdown-border,var(--cm-code-block-border,var(--stroke-secondary,#d1dbea)))}._label_12p89_1{color:var(--pes-label-color,var(--text-primary,#161b2d))}._row_1csuq_1{border-color:var(--rs-border,var(--stroke-tertiary,#e0e6f0));background:var(--rs-bg,var(--bg-layer-sunken,#eef1f7))}._versionTag_1csuq_7{border-color:var(--rs-version-tag-border,var(--stroke-tertiary,#e0e6f0))!important;background:var(--rs-version-tag-bg,var(--bg-control-accent-alpha,#2764d90f))!important;color:var(--rs-version-tag-text,var(--text-accent,#1d4ed8))!important}
2
- /*$vite$:1*/.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.end-0{inset-inline-end:0}.end-2{inset-inline-end:.5rem}.top-0{top:0}.top-2{top:.5rem}.top-\[-6px\]{top:-6px}.z-10{z-index:10}.z-\[2\]{z-index:2}.z-\[52\]{z-index:52}.mx-0{margin-left:0;margin-right:0}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.my-4{margin-bottom:1rem;margin-top:1rem}.my-5{margin-bottom:1.25rem;margin-top:1.25rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.me-1{margin-inline-end:.25rem}.me-1\.5{margin-inline-end:.375rem}.ms-auto{margin-inline-start:auto}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-full{height:100%;width:100%}.\!h-\[min\(800px\2c 100dvh\)\]{height:min(800px,100dvh)!important}.\!h-fit{height:-moz-fit-content!important;height:fit-content!important}.h-0{height:0}.h-\[24px\]{height:24px}.h-full{height:100%}.\!max-h-full{max-height:100%!important}.max-h-\[344px\]{max-height:344px}.max-h-\[50vh\]{max-height:50vh}.max-h-\[60vh\]{max-height:60vh}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.\!w-\[400px\]{width:400px!important}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-96{max-width:24rem}.max-w-\[30\%\]{max-width:30%}.max-w-\[45\%\]{max-width:45%}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.break-words{overflow-wrap:break-word}.rounded{border-radius:4px}.rounded-2xl{border-radius:1rem}.rounded-\[14px\]{border-radius:14px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-s-2{border-inline-start-width:2px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-tertiary{border-color:var(--stroke-tertiary,#e0e6f0)}.\!bg-layer-sunken{background-color:var(--bg-layer-sunken,#eef1f7)!important}.bg-backdrop{background-color:var(--bg-backdrop,#161b2d4d)}.bg-layer-raised{background-color:var(--bg-layer-raised,#fcfcfc)}.bg-layer-sunken{background-color:var(--bg-layer-sunken,#eef1f7)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-\[7px\]{padding-bottom:7px;padding-top:7px}.ps-4{padding-inline-start:1rem}.ps-\[2em\]{padding-inline-start:2em}.pt-1{padding-top:.25rem}.text-center{text-align:center}.text-start{text-align:start}.text-end{text-align:end}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.uppercase{text-transform:uppercase}.italic{font-style:italic}.text-secondary{color:var(--text-secondary,#57647a)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-chat-button{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-chat-button{--tw-shadow:0 2px 12px 0 var(--shadow-xs-1,#2764d933),0 2px 6px 0 var(--shadow-xs-2,#161b2d08);--tw-shadow-colored:0 2px 12px 0 var(--tw-shadow-color),0 2px 6px 0 var(--tw-shadow-color)}.shadow-xs{--tw-shadow:0 1px 4px 0 var(--shadow-xs-1,#2764d933),0 1px 2px 0 var(--shadow-xs-2,#161b2d08);--tw-shadow-colored:0 1px 4px 0 var(--tw-shadow-color),0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid;outline-width:1px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.\[overflow\:clip\]{overflow:clip}.\[text-wrap\:balance\]{text-wrap:balance}.\[text-wrap\:pretty\]{text-wrap:pretty}.first\:mt-0:first-child{margin-top:0}.last\:mb-0:last-child{margin-bottom:0}.focus-within\:opacity-100:focus-within{opacity:1}.hover\:decoration-current:hover{text-decoration-color:currentColor}.focus-visible\:outline:focus-visible{outline-style:solid;outline-width:1px}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.group\/table:hover .group-hover\/table\:opacity-100{opacity:1}@media (max-width:1279px){.mobile\:\!w-full{width:100%!important}}@media (min-width:1280px){.desktop\:\!max-h-\[693px\]{max-height:693px!important}.desktop\:p-4{padding:1rem}}.\[\&_\.w-md-editor\:not\(\.w-md-editor-fullscreen\)\]\:max-h-\[var\(--resizable-field-max-height\2c 70vh\)\] .w-md-editor:not(.w-md-editor-fullscreen){max-height:var(--resizable-field-max-height,70vh)}.\[\&_\.wmde-markdown\>ol\]\:list-decimal .wmde-markdown>ol{list-style-type:decimal}.\[\&_\.wmde-markdown_ul\]\:list-disc .wmde-markdown ul{list-style-type:disc}.\[\&_\.wmde-markdown_ul_ul\]\:list-\[circle\] .wmde-markdown ul ul{list-style-type:circle}.\[\&_\.wmde-markdown_ul_ul_ul\]\:list-\[square\] .wmde-markdown ul ul ul{list-style-type:square}
1
+ ._message_1iqfi_1{color:var(--cfm-message-text,var(--text-primary,#161b2d))}._consequences_1iqfi_5{color:var(--cfm-consequence-text,var(--text-secondary,#57647a))}._footer_1iqfi_9{border-block-start:1px solid var(--cfm-footer-border,var(--stroke-tertiary,#e0e6f0))}._info_pkxew_1{--rs-bg:var(--bg-info,#e1eaf9)}._danger_pkxew_5{--rs-bg:var(--bg-control-error-alpha-active,#f7646433);--rs-border:var(--stroke-error-alpha,#ae2f2f73)}._agentIconBadge_1ger8_1{background:var(--di-icon-bg,var(--bg-layer-sunken,#eef1f7))}._title_11w3i_1{color:var(--ih-title-color,var(--text-primary,#161b2d))}._count_11w3i_5{color:var(--ih-count-color,var(--text-secondary,#57647a))}._row_1csuq_1{border-color:var(--rs-border,var(--stroke-tertiary,#e0e6f0));background:var(--rs-bg,var(--bg-layer-sunken,#eef1f7))}._versionTag_1csuq_7{border-color:var(--rs-version-tag-border,var(--stroke-tertiary,#e0e6f0))!important;background:var(--rs-version-tag-bg,var(--bg-control-accent-alpha,#2764d90f))!important;color:var(--rs-version-tag-text,var(--text-accent,#1d4ed8))!important}._typeLabel_17nhs_1{color:var(--cir-type-label-text,var(--text-secondary,#57647a))}._container_sqe5k_1{background:var(--cm-code-block-bg,var(--bg-layer-raised,#fcfcfc));border-color:var(--cm-code-block-border,var(--stroke-secondary,#d1dbea))}._containerLight_sqe5k_6{background:var(--cm-code-block-bg,var(--bg-layer-raised,#fcfcfc))}._header_sqe5k_10{background:var(--cm-code-block-header-bg,var(--bg-layer-raised,#fcfcfc));border-color:var(--cm-code-block-border,var(--stroke-secondary,#d1dbea))}._languageLabel_sqe5k_15{color:var(--cm-code-block-language,var(--text-secondary,#57647a))}._copiedIcon_sqe5k_19{color:var(--cm-code-block-copied,var(--text-success,#007274))}._scrollContainer_sqe5k_23 .token.table,._scrollContainer_sqe5k_23 .token.table-header-row,._scrollContainer_sqe5k_23 .token.table-line,._scrollContainer_sqe5k_23 .token.table-data-rows{display:inline}._scrollContainer_sqe5k_23{scrollbar-width:thin;scrollbar-color:var(--cm-code-block-scrollbar,var(--stroke-primary,#57647a)) transparent}._scrollContainer_sqe5k_23::-webkit-scrollbar{width:4px;height:4px}._scrollContainer_sqe5k_23::-webkit-scrollbar-track{background-color:#0000}._scrollContainer_sqe5k_23::-webkit-scrollbar-thumb{background-color:var(--cm-code-block-scrollbar,var(--stroke-primary,#57647a));border-radius:4px}@keyframes _cm-shimmer_1ql91_1{0%{background-position:200%}to{background-position:-200%}}._thinking_1ql91_9{background:linear-gradient(270deg, var(--cm-thinking-inverted,var(--text-primary,#161b2d)) 0%, var(--cm-thinking-secondary,var(--text-secondary,#57647a)) 40%, var(--cm-thinking-inverted,var(--text-primary,#161b2d)) 80%);color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:2s linear infinite _cm-shimmer_1ql91_1}._h6_1ql91_18{color:var(--cm-h6-text,var(--text-secondary,#57647a))}._codeInline_1ql91_22{background:var(--cm-code-inline-bg,var(--bg-layer-raised,#fcfcfc));color:var(--cm-code-inline-text,var(--text-primary,#161b2d))}._secondaryBorder_1ql91_27{border-color:var(--cm-markdown-border,var(--stroke-secondary,#d1dbea))}._blockquote_1ql91_31{border-color:var(--cm-blockquote-border,var(--stroke-primary,#57647a));color:var(--cm-blockquote-text,var(--text-secondary,#57647a))}._link_1ql91_36{color:var(--cm-link-text,var(--text-accent,#1d4ed8))}._link_1ql91_36:focus-visible{outline-color:var(--cm-link-focus,var(--stroke-focus,#161b2d))}._scrollContainer_n2oom_1{scrollbar-width:thin;scrollbar-color:var(--cm-math-scrollbar,var(--stroke-primary,#57647a)) transparent}._scrollContainer_n2oom_1::-webkit-scrollbar{height:4px}._scrollContainer_n2oom_1::-webkit-scrollbar-track{background-color:#0000}._scrollContainer_n2oom_1::-webkit-scrollbar-thumb{background-color:var(--cm-math-scrollbar,var(--stroke-primary,#57647a));border-radius:4px}._scrollContainer_n2oom_1:focus-visible{outline:1px solid var(--cm-math-focus,var(--stroke-focus,#161b2d));outline-offset:2px}._mathContent_n2oom_24{width:max-content;min-width:100%;display:block}._tableContainer_1qw2e_1{background:var(--cm-code-block-bg,var(--bg-layer-raised,#fcfcfc));border-color:var(--cm-markdown-border,var(--cm-code-block-border,var(--stroke-secondary,#d1dbea)))}._tableContainerLight_1qw2e_6{background:var(--cm-code-block-bg,var(--bg-layer-base,#f5f7fa))}._copiedIcon_1qw2e_10{color:var(--cm-code-block-copied,var(--text-success,#007274))}._scrollContainer_1qw2e_14{scrollbar-width:thin;scrollbar-color:var(--cm-table-scrollbar,var(--stroke-primary,#57647a)) transparent}._scrollContainer_1qw2e_14::-webkit-scrollbar{width:4px;height:4px}._scrollContainer_1qw2e_14::-webkit-scrollbar-track{background-color:#0000}._scrollContainer_1qw2e_14::-webkit-scrollbar-thumb{background-color:var(--cm-table-scrollbar,var(--stroke-primary,#57647a));border-radius:4px}._tableHeaderCell_1qw2e_30{background:var(--cm-code-block-header-bg,var(--bg-layer-raised,#fcfcfc));height:3rem;color:var(--cm-table-header-text,var(--text-secondary,#57647a))}._sectionRow_1qw2e_37 td{background:var(--cm-code-block-header-bg,var(--bg-layer-raised,#fcfcfc))}._rowDivider_1qw2e_41{border-block-end:.5px solid var(--cm-table-row-divider,var(--stroke-tertiary,#e0e6f0))}tbody ._row_1qw2e_41:hover td{background:var(--cm-table-row-hover-bg,var(--bg-control-accent-alpha-hover,#2764d924))}._tableScrollFadeEnd_1qw2e_51{-webkit-mask-image:linear-gradient(to right, var(--cm-table-fade,var(--stroke-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-black,#161b2d)) calc(100% - 1rem), transparent 100%);-webkit-mask-image:linear-gradient(to right, var(--cm-table-fade,var(--stroke-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-black,#161b2d)) calc(100% - 1rem), transparent 100%);mask-image:linear-gradient(to right, var(--cm-table-fade,var(--stroke-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-black,#161b2d)) calc(100% - 1rem), transparent 100%)}[dir=rtl] ._tableScrollFadeEnd_1qw2e_51{-webkit-mask-image:linear-gradient(to left, var(--cm-table-fade,var(--stroke-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-black,#161b2d)) calc(100% - 1rem), transparent 100%);-webkit-mask-image:linear-gradient(to left, var(--cm-table-fade,var(--stroke-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-black,#161b2d)) calc(100% - 1rem), transparent 100%);mask-image:linear-gradient(to left, var(--cm-table-fade,var(--stroke-black,#161b2d)) 0, var(--cm-table-fade,var(--stroke-black,#161b2d)) calc(100% - 1rem), transparent 100%)}._tableScrollFadeStart_1qw2e_59{-webkit-mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%);-webkit-mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%);mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%)}[dir=rtl] ._tableScrollFadeStart_1qw2e_59{-webkit-mask-image:linear-gradient(to left, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%);-webkit-mask-image:linear-gradient(to left, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%);mask-image:linear-gradient(to left, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 100%)}._tableScrollFadeBoth_1qw2e_67{-webkit-mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%);-webkit-mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%);mask-image:linear-gradient(to right, transparent 0, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) 1rem, var(--cm-table-fade,var(--stroke-focus-black,#161b2d)) calc(100% - 1rem), transparent 100%)}._tableHeader_1qvg8_1{background:var(--cm-code-block-header-bg,var(--bg-layer-raised,#fcfcfc));border-color:var(--cm-markdown-border,var(--cm-code-block-border,var(--stroke-secondary,#d1dbea)))}._label_12p89_1{color:var(--pes-label-color,var(--text-primary,#161b2d))}
2
+ /*$vite$:1*/.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-4{bottom:1rem}.end-0{inset-inline-end:0}.end-2{inset-inline-end:.5rem}.end-4{inset-inline-end:1rem}.top-0{top:0}.top-2{top:.5rem}.top-\[-6px\]{top:-6px}.z-10{z-index:10}.z-\[2\]{z-index:2}.z-\[52\]{z-index:52}.z-\[70\]{z-index:70}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.my-4{margin-bottom:1rem;margin-top:1rem}.my-5{margin-bottom:1.25rem;margin-top:1.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.me-1\.5{margin-inline-end:.375rem}.ms-auto{margin-inline-start:auto}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-full{height:100%;width:100%}.\!h-\[min\(800px\2c 100dvh\)\]{height:min(800px,100dvh)!important}.\!h-fit{height:-moz-fit-content!important;height:fit-content!important}.h-0{height:0}.h-\[24px\]{height:24px}.h-full{height:100%}.\!max-h-full{max-height:100%!important}.max-h-\[344px\]{max-height:344px}.max-h-\[50vh\]{max-height:50vh}.max-h-\[60vh\]{max-height:60vh}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.\!w-\[400px\]{width:400px!important}.w-\[360px\]{width:360px}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-96{max-width:24rem}.max-w-\[30\%\]{max-width:30%}.max-w-\[45\%\]{max-width:45%}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:4px}.rounded-\[14px\]{border-radius:14px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-s-2{border-inline-start-width:2px}.border-t{border-top-width:1px}.border-tertiary{border-color:var(--stroke-tertiary,#e0e6f0)}.\!bg-layer-sunken{background-color:var(--bg-layer-sunken,#eef1f7)!important}.bg-backdrop{background-color:var(--bg-backdrop,#161b2d4d)}.bg-layer-base{background-color:var(--bg-layer-base,#f5f7fa)}.bg-layer-raised{background-color:var(--bg-layer-raised,#fcfcfc)}.bg-layer-sunken{background-color:var(--bg-layer-sunken,#eef1f7)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-\[7px\]{padding-bottom:7px;padding-top:7px}.pb-0{padding-bottom:0}.ps-4{padding-inline-start:1rem}.ps-5{padding-inline-start:1.25rem}.ps-\[2em\]{padding-inline-start:2em}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.text-center{text-align:center}.text-start{text-align:start}.text-end{text-align:end}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.uppercase{text-transform:uppercase}.italic{font-style:italic}.text-primary{color:var(--text-primary,#161b2d)}.text-secondary{color:var(--text-secondary,#57647a)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-chat-button{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-chat-button{--tw-shadow:0 2px 12px 0 var(--shadow-xs-1,#2764d933),0 2px 6px 0 var(--shadow-xs-2,#161b2d08);--tw-shadow-colored:0 2px 12px 0 var(--tw-shadow-color),0 2px 6px 0 var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 8px 10px 0 var(--shadow-sm,#2764d914);--tw-shadow-colored:0 8px 10px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xs{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 4px 0 var(--shadow-xs-1,#2764d933),0 1px 2px 0 var(--shadow-xs-2,#161b2d08);--tw-shadow-colored:0 1px 4px 0 var(--tw-shadow-color),0 1px 2px 0 var(--tw-shadow-color)}.outline{outline-style:solid;outline-width:1px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.\[overflow\:clip\]{overflow:clip}.\[text-wrap\:balance\]{text-wrap:balance}.\[text-wrap\:pretty\]{text-wrap:pretty}.first\:mt-0:first-child{margin-top:0}.last\:mb-0:last-child{margin-bottom:0}.focus-within\:opacity-100:focus-within{opacity:1}.hover\:decoration-current:hover{text-decoration-color:currentColor}.focus-visible\:outline:focus-visible{outline-style:solid;outline-width:1px}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.group\/table:hover .group-hover\/table\:opacity-100{opacity:1}@media (min-width:1280px){.desktop\:p-4{padding:1rem}}.rtl\:flex-row-reverse:where([dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.rtl\:justify-start:where([dir=rtl],[dir=rtl] *){justify-content:flex-start}.\[\&_\.w-md-editor\:not\(\.w-md-editor-fullscreen\)\]\:\!h-\[var\(--resizable-field-max-height\2c 70vh\)\] .w-md-editor:not(.w-md-editor-fullscreen){height:var(--resizable-field-max-height,70vh)!important}.\[\&_\.w-md-editor\:not\(\.w-md-editor-fullscreen\)\]\:max-h-\[var\(--resizable-field-max-height\2c 70vh\)\] .w-md-editor:not(.w-md-editor-fullscreen){max-height:var(--resizable-field-max-height,70vh)}.\[\&_\.wmde-markdown\>ol\]\:list-decimal .wmde-markdown>ol{list-style-type:decimal}.\[\&_\.wmde-markdown_ul\]\:list-disc .wmde-markdown ul{list-style-type:disc}.\[\&_\.wmde-markdown_ul_ul\]\:list-\[circle\] .wmde-markdown ul ul{list-style-type:circle}.\[\&_\.wmde-markdown_ul_ul_ul\]\:list-\[square\] .wmde-markdown ul ul ul{list-style-type:square}