@examplary/ui 1.48.0 → 1.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/components/rich-text/index.d.ts +2 -1
  2. package/dist/components/rich-text/index.js +2 -1
  3. package/dist/components/rich-text/minimal-rich-text-field.d.ts +5 -3
  4. package/dist/components/rich-text/minimal-rich-text-field.js +40 -46
  5. package/dist/components/rich-text/tiptap/content-reference.d.ts +3 -0
  6. package/dist/components/rich-text/tiptap/content-reference.js +25 -0
  7. package/dist/components/rich-text/tiptap/extensions.d.ts +2 -0
  8. package/dist/components/rich-text/tiptap/extensions.js +43 -0
  9. package/dist/components/rich-text/tiptap/file-attachment.js +38 -14
  10. package/dist/components/rich-text/tiptap/image.d.ts +0 -19
  11. package/dist/components/rich-text/tiptap/mathematics-component.js +2 -2
  12. package/dist/components/rich-text/tiptap/mathematics.js +1 -1
  13. package/dist/components/rich-text/tiptap/page-clipping.js +0 -26
  14. package/dist/components/rich-text/tiptap/rich-text-formatting-menu.js +35 -27
  15. package/dist/components/ui/badge.d.ts +1 -1
  16. package/dist/components/ui/badge.js +1 -0
  17. package/dist/components/ui/button.js +1 -1
  18. package/dist/components/ui/popover.js +1 -1
  19. package/dist/components/web-components/content-reference.d.ts +11 -0
  20. package/dist/components/web-components/content-reference.js +111 -0
  21. package/dist/components/web-components/file-attachment.d.ts +0 -9
  22. package/dist/components/web-components/file-attachment.js +20 -11
  23. package/dist/components/web-components/index.d.ts +1 -0
  24. package/dist/components/web-components/index.js +6 -0
  25. package/dist/components/web-components/page-clipping.d.ts +0 -1
  26. package/dist/components/web-components/page-clipping.js +5 -9
  27. package/dist/src/global.css +1 -1
  28. package/package.json +3 -2
  29. package/src/global.css +32 -0
@@ -1,5 +1,6 @@
1
1
  export { RichTextDisplay } from "./rich-text-display";
2
2
  export { RichTextField } from "./rich-text-field";
3
3
  export { RichTextToolbar } from "./rich-text-toolbar";
4
- export { MinimalRichTextField } from "./minimal-rich-text-field";
4
+ export { MinimalRichTextField, getEditorById } from "./minimal-rich-text-field";
5
5
  export { processFilesAsString } from "./tiptap/file-handler";
6
+ export * from "./tiptap/extensions";
@@ -1,5 +1,6 @@
1
1
  export { RichTextDisplay } from "./rich-text-display";
2
2
  export { RichTextField } from "./rich-text-field";
3
3
  export { RichTextToolbar } from "./rich-text-toolbar";
4
- export { MinimalRichTextField } from "./minimal-rich-text-field";
4
+ export { MinimalRichTextField, getEditorById } from "./minimal-rich-text-field";
5
5
  export { processFilesAsString } from "./tiptap/file-handler";
6
+ export * from "./tiptap/extensions";
@@ -1,5 +1,6 @@
1
- import { EditorContentProps } from "@tiptap/react";
2
- import type { XmlFragment } from "yjs";
1
+ import { Editor, EditorContentProps } from "@tiptap/react";
2
+ import { XmlFragment } from "yjs";
3
+ export declare const getEditorById: (id: string) => Editor;
3
4
  export type MinimalRichTextFieldProps = {
4
5
  className?: string;
5
6
  value?: string;
@@ -10,6 +11,7 @@ export type MinimalRichTextFieldProps = {
10
11
  onBlur?: (value: string) => void;
11
12
  slotBefore?: (editor: any) => React.ReactNode;
12
13
  singleLine?: boolean;
14
+ id?: string;
13
15
  autoFocus?: boolean;
14
16
  showFormattingMenu?: boolean;
15
17
  uploadFile?: (file: File) => Promise<{
@@ -19,4 +21,4 @@ export type MinimalRichTextFieldProps = {
19
21
  fragment?: XmlFragment;
20
22
  awareness?: any;
21
23
  } & Omit<EditorContentProps, "editor">;
22
- export declare const MinimalRichTextField: ({ className, value, defaultValue, placeholder, onChange, onBlur, slotBefore, style, singleLine, autoFocus, showFormattingMenu, uploadFile, fragment, awareness, ...props }: MinimalRichTextFieldProps) => import("react/jsx-runtime").JSX.Element;
24
+ export declare const MinimalRichTextField: ({ className, value, defaultValue, placeholder, onChange, onBlur, slotBefore, style, singleLine, autoFocus, showFormattingMenu, uploadFile, fragment, awareness, id, ...props }: MinimalRichTextFieldProps) => import("react/jsx-runtime").JSX.Element;
@@ -34,23 +34,36 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
34
34
  import { useEffect, useMemo, useState } from "react";
35
35
  import Collaboration from "@tiptap/extension-collaboration";
36
36
  import Document from "@tiptap/extension-document";
37
- import Highlight from "@tiptap/extension-highlight";
38
- import Link from "@tiptap/extension-link";
39
37
  import Placeholder from "@tiptap/extension-placeholder";
40
- import { TableKit } from "@tiptap/extension-table";
41
- import Typography from "@tiptap/extension-typography";
38
+ import { UndoRedo } from "@tiptap/extensions";
42
39
  import { EditorContent, useEditor, } from "@tiptap/react";
43
- import StarterKit from "@tiptap/starter-kit";
44
40
  import { CollaborationCaret } from "./tiptap/collaboration-caret";
45
41
  import { cn } from "../../utils";
46
42
  import { registerWebComponents } from "../web-components";
47
- import FileAttachment from "./tiptap/file-attachment";
43
+ import { defaultRichTextExtensions } from "./tiptap/extensions";
48
44
  import { fileHandler } from "./tiptap/file-handler";
49
45
  import Image from "./tiptap/image";
50
- import { Mathematics } from "./tiptap/mathematics";
51
- import PageClipping from "./tiptap/page-clipping";
52
46
  import { RichTextFormattingMenu } from "./tiptap/rich-text-formatting-menu";
53
47
  registerWebComponents();
48
+ var textEditors = new Map();
49
+ export var getEditorById = function (id) {
50
+ return textEditors.get(id);
51
+ };
52
+ var CustomCollaboration = Collaboration.extend({
53
+ addCommands: function () {
54
+ return {
55
+ undo: function () { return function () {
56
+ return false;
57
+ }; },
58
+ redo: function () { return function () {
59
+ return false;
60
+ }; },
61
+ };
62
+ },
63
+ addKeyboardShortcuts: function () {
64
+ return {};
65
+ },
66
+ });
54
67
  var isEmpty = function (value) {
55
68
  var _a;
56
69
  if (!value) {
@@ -68,41 +81,23 @@ var isEmpty = function (value) {
68
81
  return false;
69
82
  };
70
83
  export var MinimalRichTextField = function (_a) {
71
- var _b = _a.className, className = _b === void 0 ? "" : _b, _c = _a.value, value = _c === void 0 ? "" : _c, defaultValue = _a.defaultValue, _d = _a.placeholder, placeholder = _d === void 0 ? "" : _d, onChange = _a.onChange, onBlur = _a.onBlur, slotBefore = _a.slotBefore, style = _a.style, _e = _a.singleLine, singleLine = _e === void 0 ? false : _e, _f = _a.autoFocus, autoFocus = _f === void 0 ? false : _f, _g = _a.showFormattingMenu, showFormattingMenu = _g === void 0 ? false : _g, _h = _a.uploadFile, uploadFile = _h === void 0 ? undefined : _h, fragment = _a.fragment, awareness = _a.awareness, props = __rest(_a, ["className", "value", "defaultValue", "placeholder", "onChange", "onBlur", "slotBefore", "style", "singleLine", "autoFocus", "showFormattingMenu", "uploadFile", "fragment", "awareness"]);
84
+ var _b = _a.className, className = _b === void 0 ? "" : _b, _c = _a.value, value = _c === void 0 ? "" : _c, defaultValue = _a.defaultValue, _d = _a.placeholder, placeholder = _d === void 0 ? "" : _d, onChange = _a.onChange, onBlur = _a.onBlur, slotBefore = _a.slotBefore, style = _a.style, _e = _a.singleLine, singleLine = _e === void 0 ? false : _e, _f = _a.autoFocus, autoFocus = _f === void 0 ? false : _f, _g = _a.showFormattingMenu, showFormattingMenu = _g === void 0 ? false : _g, _h = _a.uploadFile, uploadFile = _h === void 0 ? undefined : _h, fragment = _a.fragment, awareness = _a.awareness, id = _a.id, props = __rest(_a, ["className", "value", "defaultValue", "placeholder", "onChange", "onBlur", "slotBefore", "style", "singleLine", "autoFocus", "showFormattingMenu", "uploadFile", "fragment", "awareness", "id"]);
72
85
  var _j = useState(value), content = _j[0], setContent = _j[1];
73
86
  var extensions = useMemo(function () {
74
- return __spreadArray(__spreadArray([], (singleLine
75
- ? [
76
- StarterKit.configure({
77
- document: false,
78
- link: false,
79
- undoRedo: fragment ? false : undefined,
80
- }),
81
- Document.extend({
87
+ return __spreadArray(__spreadArray([], defaultRichTextExtensions, true), [
88
+ singleLine
89
+ ? Document.extend({
82
90
  content: "block",
91
+ })
92
+ : Document,
93
+ Image,
94
+ !fragment && UndoRedo,
95
+ fragment &&
96
+ CustomCollaboration.configure({
97
+ fragment: fragment,
83
98
  }),
84
- ]
85
- : [
86
- StarterKit.configure({
87
- link: false,
88
- undoRedo: fragment ? false : undefined,
89
- }),
90
- ]), true), [
91
- fragment && Collaboration.configure({ fragment: fragment }),
92
99
  awareness && CollaborationCaret.configure({ awareness: awareness }),
93
- Link.configure({
94
- openOnClick: false,
95
- }),
96
- Typography,
97
- Image,
98
100
  placeholder && Placeholder.configure({ placeholder: placeholder }),
99
- FileAttachment,
100
- PageClipping,
101
- Mathematics,
102
- Highlight,
103
- TableKit.configure({
104
- table: { resizable: true },
105
- }),
106
101
  uploadFile && fileHandler(uploadFile),
107
102
  ], false).filter(Boolean);
108
103
  }, [singleLine, placeholder, uploadFile, fragment, awareness]);
@@ -156,16 +151,15 @@ export var MinimalRichTextField = function (_a) {
156
151
  });
157
152
  }
158
153
  }, [defaultValue, fragment]);
159
- // Initialize the collaborative fragment from defaultValue on first mount
160
154
  useEffect(function () {
161
- if (!fragment || !editor || !defaultValue)
162
- return;
163
- if (fragment.length > 0)
155
+ if (!editor || !id)
164
156
  return;
165
- editor.commands.setContent(defaultValue, {
166
- emitUpdate: false,
167
- parseOptions: { preserveWhitespace: "full" },
168
- });
169
- }, [fragment, editor, defaultValue]);
157
+ textEditors.set(id, editor);
158
+ return function () {
159
+ if (textEditors.get(id) === editor) {
160
+ textEditors.delete(id);
161
+ }
162
+ };
163
+ }, [editor, id]);
170
164
  return (_jsxs(_Fragment, { children: [slotBefore ? slotBefore(editor) : null, showFormattingMenu && _jsx(RichTextFormattingMenu, { editor: editor }), _jsx(EditorContent, __assign({ editor: editor }, props))] }));
171
165
  };
@@ -0,0 +1,3 @@
1
+ import { Mark } from "@tiptap/core";
2
+ declare const ContentReference: Mark<any, any>;
3
+ export default ContentReference;
@@ -0,0 +1,25 @@
1
+ import { Mark, mergeAttributes } from "@tiptap/core";
2
+ var ContentReference = Mark.create({
3
+ name: "content-reference",
4
+ addAttributes: function () {
5
+ return {
6
+ quote: {
7
+ default: null,
8
+ parseHTML: function (element) { return element.getAttribute("quote"); },
9
+ renderHTML: function (attributes) {
10
+ if (!attributes.quote)
11
+ return {};
12
+ return { quote: attributes.quote };
13
+ },
14
+ },
15
+ };
16
+ },
17
+ parseHTML: function () {
18
+ return [{ tag: "content-reference" }];
19
+ },
20
+ renderHTML: function (_a) {
21
+ var HTMLAttributes = _a.HTMLAttributes;
22
+ return ["content-reference", mergeAttributes(HTMLAttributes), 0];
23
+ },
24
+ });
25
+ export default ContentReference;
@@ -0,0 +1,2 @@
1
+ export declare const defaultRichTextExtensions: (import("@tiptap/core").Mark<any, any> | import("@tiptap/core").Node<any, any> | import("@tiptap/core").Extension<import("@tiptap/starter-kit").StarterKitOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-typography").TypographyOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-table").TableKitOptions, any>)[];
2
+ export declare const htmlRenderingRichTextExtensions: (import("@tiptap/core").Mark<any, any> | import("@tiptap/core").Node<any, any> | import("@tiptap/core").Extension<import("@tiptap/starter-kit").StarterKitOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-typography").TypographyOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-table").TableKitOptions, any>)[];
@@ -0,0 +1,43 @@
1
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
2
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
3
+ if (ar || !(i in from)) {
4
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
5
+ ar[i] = from[i];
6
+ }
7
+ }
8
+ return to.concat(ar || Array.prototype.slice.call(from));
9
+ };
10
+ import Document from "@tiptap/extension-document";
11
+ import Highlight from "@tiptap/extension-highlight";
12
+ import Image from "@tiptap/extension-image";
13
+ import Link from "@tiptap/extension-link";
14
+ import { TableKit } from "@tiptap/extension-table";
15
+ import Typography from "@tiptap/extension-typography";
16
+ import StarterKit from "@tiptap/starter-kit";
17
+ import ContentReference from "./content-reference.js";
18
+ import FileAttachment from "./file-attachment.js";
19
+ import { Mathematics } from "./mathematics.js";
20
+ import PageClipping from "./page-clipping.js";
21
+ export var defaultRichTextExtensions = [
22
+ StarterKit.configure({
23
+ document: false,
24
+ link: false,
25
+ undoRedo: false,
26
+ }),
27
+ Link.configure({
28
+ openOnClick: false,
29
+ }),
30
+ Typography,
31
+ FileAttachment,
32
+ PageClipping,
33
+ ContentReference,
34
+ Mathematics,
35
+ Highlight,
36
+ TableKit.configure({
37
+ table: { resizable: true },
38
+ }),
39
+ ];
40
+ export var htmlRenderingRichTextExtensions = __spreadArray([
41
+ Document,
42
+ Image
43
+ ], defaultRichTextExtensions, true);
@@ -1,7 +1,5 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
1
  import { mergeAttributes, Node } from "@tiptap/core";
3
- import { createRoot } from "react-dom/client";
4
- import { FileAttachmentView } from "../../web-components/file-attachment";
2
+ import { Plugin, PluginKey } from "@tiptap/pm/state";
5
3
  export default Node.create({
6
4
  name: "file-attachment",
7
5
  group: "block",
@@ -25,16 +23,42 @@ export default Node.create({
25
23
  var HTMLAttributes = _a.HTMLAttributes;
26
24
  return ["file-attachment", mergeAttributes(HTMLAttributes)];
27
25
  },
28
- addNodeView: function () {
29
- return function (_a) {
30
- var node = _a.node;
31
- var dom = document.createElement("div");
32
- dom.classList.add("file-attachment");
33
- var root = createRoot(dom);
34
- root.render(_jsx(FileAttachmentView, { title: node.attrs.title, type: node.attrs.type, href: node.attrs.href, className: "pointer-events-none" }));
35
- return {
36
- dom: dom,
37
- };
38
- };
26
+ addProseMirrorPlugins: function () {
27
+ var _this = this;
28
+ // Similar to the TipTap Link extension, we disable clicking on these
29
+ // links in the editor, since that is annoying. We don't want to change
30
+ // the HTML tag though!
31
+ return [
32
+ new Plugin({
33
+ key: new PluginKey("handleClickFileAttachment"),
34
+ props: {
35
+ handleClick: function (view, pos, event) {
36
+ if (event.button !== 0) {
37
+ return false;
38
+ }
39
+ if (!view.editable) {
40
+ return false;
41
+ }
42
+ var link = null;
43
+ var target = event.target;
44
+ if (!target) {
45
+ return false;
46
+ }
47
+ var root = _this.editor.view.dom;
48
+ link = target.closest("file-attachment");
49
+ if (link && !root.contains(link)) {
50
+ link = null;
51
+ }
52
+ if (!link) {
53
+ return false;
54
+ }
55
+ if (target !== link) {
56
+ _this.editor.commands.selectParentNode();
57
+ }
58
+ return true;
59
+ },
60
+ },
61
+ }),
62
+ ];
39
63
  },
40
64
  });
@@ -20,25 +20,6 @@ export interface ImageOptions {
20
20
  */
21
21
  HTMLAttributes: Record<string, any>;
22
22
  }
23
- declare module "@tiptap/core" {
24
- interface Commands<ReturnType> {
25
- image: {
26
- /**
27
- * Add an image
28
- * @param options The image attributes
29
- * @example
30
- * editor
31
- * .commands
32
- * .setImage({ src: 'https://tiptap.dev/logo.png', alt: 'tiptap', title: 'tiptap logo' })
33
- */
34
- setImage: (options: {
35
- src: string;
36
- alt?: string;
37
- title?: string;
38
- }) => ReturnType;
39
- };
40
- }
41
- }
42
23
  /**
43
24
  * Matches an image to a ![image](src "title") on input.
44
25
  */
@@ -3,8 +3,8 @@ import { useMemo, useState } from "react";
3
3
  import { NodeViewWrapper } from "@tiptap/react";
4
4
  import { EditIcon } from "lucide-react";
5
5
  import { convertLatexToMathMl } from "mathlive";
6
- import { cn } from "../../../utils";
7
- import { Popover, PopoverTrigger, PopoverContent } from "../../ui/popover";
6
+ import { cn } from "../../../utils.js";
7
+ import { Popover, PopoverTrigger, PopoverContent } from "../../ui/popover.js";
8
8
  import "mathlive";
9
9
  export var MathematicsEditComponent = function (_a) {
10
10
  var node = _a.node, editor = _a.editor;
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import { InputRule, Node } from "@tiptap/core";
13
13
  import { ReactNodeViewRenderer } from "@tiptap/react";
14
- import { MathematicsEditComponent } from "./mathematics-component";
14
+ import { MathematicsEditComponent } from "./mathematics-component.js";
15
15
  /**
16
16
  * InlineMath is a Tiptap extension for rendering inline mathematical expressions using LaTeX and MathML.
17
17
  * It allows users to insert LaTeX formatted math expressions inline within text.
@@ -1,18 +1,4 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import { jsx as _jsx } from "react/jsx-runtime";
13
1
  import { mergeAttributes, Node } from "@tiptap/core";
14
- import { createRoot } from "react-dom/client";
15
- import { PageClippingView } from "../../web-components/page-clipping";
16
2
  export default Node.create({
17
3
  name: "page-clipping",
18
4
  group: "block",
@@ -39,16 +25,4 @@ export default Node.create({
39
25
  var HTMLAttributes = _a.HTMLAttributes;
40
26
  return ["page-clipping", mergeAttributes(HTMLAttributes)];
41
27
  },
42
- addNodeView: function () {
43
- return function (_a) {
44
- var node = _a.node;
45
- var dom = document.createElement("div");
46
- dom.classList.add("page-clipping");
47
- var root = createRoot(dom);
48
- root.render(_jsx(PageClippingView, __assign({}, node.attrs)));
49
- return {
50
- dom: dom,
51
- };
52
- };
53
- },
54
28
  });
@@ -3,7 +3,7 @@ import { useCallback, useState } from "react";
3
3
  import { Trans } from "react-i18next";
4
4
  import { useEditorState } from "@tiptap/react";
5
5
  import { BubbleMenu } from "@tiptap/react/menus";
6
- import { BoldIcon, CropIcon, HighlighterIcon, ItalicIcon, LinkIcon, ListIcon, SquareFunctionIcon, TextQuoteIcon, } from "lucide-react";
6
+ import { BoldIcon, CropIcon, HighlighterIcon, ItalicIcon, LinkIcon, ListIcon, SquareFunctionIcon, TextQuoteIcon, TrashIcon, } from "lucide-react";
7
7
  import { CropPageClippingModal } from "./crop-page-clipping-modal";
8
8
  import { cn } from "../../../utils";
9
9
  export var RichTextFormattingMenu = function (_a) {
@@ -47,35 +47,43 @@ export var RichTextFormattingMenu = function (_a) {
47
47
  isBlockquote: ctx.editor.isActive("blockquote"),
48
48
  isInlineMath: ctx.editor.isActive("inlineMath"),
49
49
  isPageClipping: ctx.editor.isActive("page-clipping"),
50
+ isFileAttachment: ctx.editor.isActive("file-attachment"),
51
+ isImage: ctx.editor.isActive("image"),
50
52
  }); },
51
53
  });
52
54
  if (!editor) {
53
55
  return null;
54
56
  }
55
- return (_jsxs(_Fragment, { children: [_jsx(CropPageClippingModal, { pageClipping: pageClipping, onClose: function () { return setPageClipping(null); }, onUpdate: function (newParameters) {
56
- setPageClipping(null);
57
- editor
58
- .chain()
59
- .focus()
60
- .updateAttributes("page-clipping", newParameters)
61
- .run();
62
- } }), _jsx(BubbleMenu, { editor: editor, children: _jsx("div", { className: "border p-0.5 gap-0.5 bg-white rounded-md flex items-center shadow-md text-xs font-medium select-none", children: state.isPageClipping ? (_jsxs("span", { onClick: function () {
63
- return setPageClipping(editor.getAttributes("page-clipping"));
64
- }, className: "p-1 cursor-pointer flex items-center gap-1 pr-2 hover:bg-zinc-100 rounded-base", children: [_jsx(CropIcon, { className: "size-3.5 m-0.5" }), _jsx(Trans, { children: "formatting.crop.crop" })] })) : (_jsxs(_Fragment, { children: [_jsx("span", { onClick: function () {
65
- return editor.chain().focus().toggleBold().run();
66
- }, className: cn("p-1 cursor-pointer", state.isBold ? "bg-zinc-200 rounded-base" : ""), children: _jsx(BoldIcon, { className: "size-3.5 m-0.5", strokeWidth: state.isBold ? 2.75 : 2 }) }), _jsx("span", { onClick: function () {
67
- return editor.chain().focus().toggleItalic().run();
68
- }, className: cn("p-1 cursor-pointer", state.isItalic ? "bg-zinc-200 rounded-base" : ""), children: _jsx(ItalicIcon, { className: "size-3.5 m-0.5", strokeWidth: state.isItalic ? 2.75 : 2 }) }), _jsx("span", { onClick: function () {
69
- return editor.chain().focus().toggleHighlight().run();
70
- }, className: cn("p-1 cursor-pointer", state.isHighlight ? "bg-zinc-200 rounded-base" : ""), children: _jsx(HighlighterIcon, { className: "size-3.5 m-0.5", strokeWidth: state.isHighlight ? 2.75 : 2 }) }), _jsx("span", { onClick: setLink, className: cn("p-1 cursor-pointer", state.isLink ? "bg-zinc-200 rounded-base" : ""), children: _jsx(LinkIcon, { className: "size-3.5 m-0.5", strokeWidth: state.isLink ? 2.75 : 2 }) }), _jsx("span", { onClick: function () {
71
- return editor.chain().focus().toggleBulletList().run();
72
- }, className: cn("p-1 cursor-pointer", state.isBulletList ? "bg-zinc-200 rounded-base" : ""), children: _jsx(ListIcon, { className: "size-3.5 m-0.5", strokeWidth: state.isBulletList ? 2.75 : 2 }) }), _jsx("span", { onClick: function () {
73
- return editor.chain().focus().toggleOrderedList().run();
74
- }, className: cn("p-1 cursor-pointer", state.isOrderedList ? "bg-zinc-200 rounded-base" : ""), children: _jsx(ListIcon, { className: "size-3.5 m-0.5", strokeWidth: state.isOrderedList ? 2.75 : 2 }) }), _jsx("span", { onClick: function () {
75
- return editor.chain().focus().toggleBlockquote().run();
76
- }, className: cn("p-1 cursor-pointer", state.isBlockquote ? "bg-zinc-200 rounded-base" : ""), children: _jsx(TextQuoteIcon, { className: "size-3.5 m-0.5", strokeWidth: state.isBlockquote ? 2.75 : 2 }) }), _jsx("span", { onClick: function () {
77
- return editor.chain().focus()
78
- .insertInlineMath({ latex: "" })
79
- .run();
80
- }, className: cn("p-1 cursor-pointer", state.isInlineMath ? "bg-zinc-200 rounded-base" : ""), children: _jsx(SquareFunctionIcon, { className: "size-3.5 m-0.5", strokeWidth: state.isInlineMath ? 2.75 : 2 }) })] })) }) })] }));
57
+ if (state.isPageClipping) {
58
+ return (_jsxs(_Fragment, { children: [_jsx(CropPageClippingModal, { pageClipping: pageClipping, onClose: function () { return setPageClipping(null); }, onUpdate: function (newParameters) {
59
+ setPageClipping(null);
60
+ editor
61
+ .chain()
62
+ .focus()
63
+ .updateAttributes("page-clipping", newParameters)
64
+ .run();
65
+ } }), _jsx(BubbleMenu, { editor: editor, children: _jsx("div", { className: "border p-0.5 gap-0.5 bg-white rounded-md flex items-center shadow-md text-xs font-medium select-none", children: _jsxs("span", { onClick: function () {
66
+ return setPageClipping(editor.getAttributes("page-clipping"));
67
+ }, className: "p-1 cursor-pointer flex items-center gap-1 pr-2 hover:bg-zinc-100 rounded-base", children: [_jsx(CropIcon, { className: "size-3.5 m-0.5" }), _jsx(Trans, { children: "formatting.crop.crop" })] }) }) })] }));
68
+ }
69
+ if (state.isImage || state.isFileAttachment) {
70
+ return (_jsx(BubbleMenu, { editor: editor, children: _jsx("div", { className: "border p-0.5 gap-0.5 bg-white rounded-md flex items-center shadow-md text-xs font-medium select-none", children: _jsxs("span", { onClick: function () { return editor.commands.deleteSelection(); }, className: "p-1 cursor-pointer flex items-center gap-1 pr-2 hover:bg-zinc-100 rounded-base", children: [_jsx(TrashIcon, { className: "size-3.5 m-0.5" }), _jsx(Trans, { children: "formatting.delete" })] }) }) }));
71
+ }
72
+ return (_jsx(BubbleMenu, { editor: editor, children: _jsxs("div", { className: "border p-0.5 gap-0.5 bg-white rounded-md flex items-center shadow-md text-xs font-medium select-none", children: [_jsx("span", { onClick: function () {
73
+ return editor.chain().focus().toggleBold().run();
74
+ }, className: cn("p-1 cursor-pointer", state.isBold ? "bg-zinc-200 rounded-base" : ""), children: _jsx(BoldIcon, { className: "size-3.5 m-0.5", strokeWidth: state.isBold ? 2.75 : 2 }) }), _jsx("span", { onClick: function () {
75
+ return editor.chain().focus().toggleItalic().run();
76
+ }, className: cn("p-1 cursor-pointer", state.isItalic ? "bg-zinc-200 rounded-base" : ""), children: _jsx(ItalicIcon, { className: "size-3.5 m-0.5", strokeWidth: state.isItalic ? 2.75 : 2 }) }), _jsx("span", { onClick: function () {
77
+ return editor.chain().focus().toggleHighlight().run();
78
+ }, className: cn("p-1 cursor-pointer", state.isHighlight ? "bg-zinc-200 rounded-base" : ""), children: _jsx(HighlighterIcon, { className: "size-3.5 m-0.5", strokeWidth: state.isHighlight ? 2.75 : 2 }) }), _jsx("span", { onClick: setLink, className: cn("p-1 cursor-pointer", state.isLink ? "bg-zinc-200 rounded-base" : ""), children: _jsx(LinkIcon, { className: "size-3.5 m-0.5", strokeWidth: state.isLink ? 2.75 : 2 }) }), _jsx("span", { onClick: function () {
79
+ return editor.chain().focus().toggleBulletList().run();
80
+ }, className: cn("p-1 cursor-pointer", state.isBulletList ? "bg-zinc-200 rounded-base" : ""), children: _jsx(ListIcon, { className: "size-3.5 m-0.5", strokeWidth: state.isBulletList ? 2.75 : 2 }) }), _jsx("span", { onClick: function () {
81
+ return editor.chain().focus().toggleOrderedList().run();
82
+ }, className: cn("p-1 cursor-pointer", state.isOrderedList ? "bg-zinc-200 rounded-base" : ""), children: _jsx(ListIcon, { className: "size-3.5 m-0.5", strokeWidth: state.isOrderedList ? 2.75 : 2 }) }), _jsx("span", { onClick: function () {
83
+ return editor.chain().focus().toggleBlockquote().run();
84
+ }, className: cn("p-1 cursor-pointer", state.isBlockquote ? "bg-zinc-200 rounded-base" : ""), children: _jsx(TextQuoteIcon, { className: "size-3.5 m-0.5", strokeWidth: state.isBlockquote ? 2.75 : 2 }) }), _jsx("span", { onClick: function () {
85
+ return editor.chain().focus()
86
+ .insertInlineMath({ latex: "" })
87
+ .run();
88
+ }, className: cn("p-1 cursor-pointer", state.isInlineMath ? "bg-zinc-200 rounded-base" : ""), children: _jsx(SquareFunctionIcon, { className: "size-3.5 m-0.5", strokeWidth: state.isInlineMath ? 2.75 : 2 }) })] }) }));
81
89
  };
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { type VariantProps } from "class-variance-authority";
3
3
  declare const badgeVariants: (props?: {
4
- variant?: "default" | "secondary" | "blue" | "bright" | "positive" | "orange";
4
+ variant?: "default" | "secondary" | "destructive" | "blue" | "bright" | "positive" | "orange";
5
5
  } & import("class-variance-authority/types").ClassProp) => string;
6
6
  export interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {
7
7
  asChild?: boolean;
@@ -34,6 +34,7 @@ var badgeVariants = cva("font-semibold text-xs rounded-4xl py-0.5 px-2 whitespac
34
34
  positive: "bg-emerald-100 text-emerald-600",
35
35
  orange: "bg-orange-100 text-orange-800/75",
36
36
  secondary: "bg-zinc-200 text-zinc-600",
37
+ destructive: "bg-red-100 text-red-700",
37
38
  },
38
39
  },
39
40
  defaultVariants: {
@@ -25,7 +25,7 @@ import * as React from "react";
25
25
  import { Slot } from "@radix-ui/react-slot";
26
26
  import { cva } from "class-variance-authority";
27
27
  import { cn } from "../../utils";
28
- var buttonVariants = cva("inline-flex items-center text-text dark:text-white cursor-pointer justify-center whitespace-nowrap rounded-full font-base ring-offset-white transition-all gap-1.5 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-black/20 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", {
28
+ var buttonVariants = cva("inline-flex items-center select-none text-text dark:text-white cursor-pointer justify-center whitespace-nowrap rounded-full font-base ring-offset-white transition-all gap-1.5 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-black/20 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", {
29
29
  variants: {
30
30
  variant: {
31
31
  default: "bg-nav border border-black dark:bg-zinc-800 dark:border-white hover:shadow-light",
@@ -24,7 +24,7 @@ var __rest = (this && this.__rest) || function (s, e) {
24
24
  import { jsx as _jsx } from "react/jsx-runtime";
25
25
  import * as React from "react";
26
26
  import * as PopoverPrimitive from "@radix-ui/react-popover";
27
- import { cn } from "../../utils";
27
+ import { cn } from "../../utils.js";
28
28
  export var Popover = PopoverPrimitive.Root;
29
29
  export var PopoverTrigger = PopoverPrimitive.Trigger;
30
30
  export var PopoverContent = React.forwardRef(function (_a, ref) {
@@ -0,0 +1,11 @@
1
+ export declare class ContentReferenceElement extends HTMLElement {
2
+ private targetEl;
3
+ connectedCallback(): void;
4
+ disconnectedCallback(): void;
5
+ private timeout;
6
+ private handleClick;
7
+ private handleKeyDown;
8
+ private handleEnter;
9
+ private handleLeave;
10
+ private restore;
11
+ }
@@ -0,0 +1,111 @@
1
+ "use client";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var ContentReferenceElement = /** @class */ (function (_super) {
18
+ __extends(ContentReferenceElement, _super);
19
+ function ContentReferenceElement() {
20
+ var _this = _super !== null && _super.apply(this, arguments) || this;
21
+ _this.targetEl = null;
22
+ _this.timeout = null;
23
+ _this.handleClick = function () {
24
+ _this.handleEnter();
25
+ if (_this.timeout)
26
+ clearTimeout(_this.timeout);
27
+ _this.timeout = setTimeout(function () {
28
+ _this.timeout = null;
29
+ _this.restore();
30
+ }, 2000);
31
+ };
32
+ _this.handleKeyDown = function (event) {
33
+ if (event.key !== "Enter" && event.key !== " ")
34
+ return;
35
+ event.preventDefault();
36
+ _this.handleClick();
37
+ };
38
+ _this.handleEnter = function () {
39
+ if (_this.targetEl)
40
+ return;
41
+ var parent = _this.closest("[data-content-reference-target]");
42
+ var targetId = parent === null || parent === void 0 ? void 0 : parent.dataset.contentReferenceTarget;
43
+ if (!targetId)
44
+ return;
45
+ var target = document.getElementById(targetId);
46
+ if (!target)
47
+ return;
48
+ var quote = _this.getAttribute("quote");
49
+ if (!quote)
50
+ return;
51
+ var html = target.innerHTML;
52
+ if (!html.includes(quote))
53
+ return;
54
+ _this.targetEl = target;
55
+ target.innerHTML = html.replace(quote, "<mark class=\"content-reference-highlight\">".concat(quote, "</mark>"));
56
+ };
57
+ _this.handleLeave = function () {
58
+ if (_this.timeout)
59
+ return;
60
+ _this.restore();
61
+ };
62
+ return _this;
63
+ }
64
+ ContentReferenceElement.prototype.connectedCallback = function () {
65
+ if (!this.hasAttribute("tabindex"))
66
+ this.tabIndex = 0;
67
+ if (!this.hasAttribute("role"))
68
+ this.setAttribute("role", "button");
69
+ if (!this.hasAttribute("aria-label")) {
70
+ this.setAttribute("aria-label", this.getAttribute("quote") || "Content reference");
71
+ }
72
+ this.addEventListener("mouseenter", this.handleEnter);
73
+ this.addEventListener("mouseleave", this.handleLeave);
74
+ this.addEventListener("click", this.handleClick);
75
+ this.addEventListener("touchstart", this.handleClick);
76
+ this.addEventListener("keydown", this.handleKeyDown);
77
+ this.addEventListener("focus", this.handleEnter);
78
+ this.addEventListener("blur", this.handleLeave);
79
+ };
80
+ ContentReferenceElement.prototype.disconnectedCallback = function () {
81
+ this.removeEventListener("mouseenter", this.handleEnter);
82
+ this.removeEventListener("mouseleave", this.handleLeave);
83
+ this.removeEventListener("click", this.handleClick);
84
+ this.removeEventListener("touchstart", this.handleClick);
85
+ this.removeEventListener("keydown", this.handleKeyDown);
86
+ this.removeEventListener("focus", this.handleEnter);
87
+ this.removeEventListener("blur", this.handleLeave);
88
+ this.restore();
89
+ };
90
+ ContentReferenceElement.prototype.restore = function () {
91
+ if (this.timeout) {
92
+ clearTimeout(this.timeout);
93
+ this.timeout = null;
94
+ }
95
+ if (!this.targetEl)
96
+ return;
97
+ var highlights = this.targetEl.querySelectorAll("mark.content-reference-highlight");
98
+ highlights.forEach(function (highlight) {
99
+ var parent = highlight.parentNode;
100
+ if (!parent)
101
+ return;
102
+ while (highlight.firstChild) {
103
+ parent.insertBefore(highlight.firstChild, highlight);
104
+ }
105
+ parent.removeChild(highlight);
106
+ });
107
+ this.targetEl = null;
108
+ };
109
+ return ContentReferenceElement;
110
+ }(HTMLElement));
111
+ export { ContentReferenceElement };
@@ -1,12 +1,3 @@
1
- import React from "react";
2
- interface FileAttachmentProps {
3
- title: string;
4
- type?: string;
5
- href: string;
6
- className?: string;
7
- }
8
- export declare const FileAttachmentView: React.FC<FileAttachmentProps>;
9
1
  export declare class FileAttachmentElement extends HTMLElement {
10
2
  connectedCallback(): void;
11
3
  }
12
- export {};
@@ -14,15 +14,7 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
- import { FileIcon } from "lucide-react";
19
- import { createRoot } from "react-dom/client";
20
17
  import { cn } from "../../utils";
21
- export var FileAttachmentView = function (_a) {
22
- var title = _a.title, href = _a.href, className = _a.className;
23
- return (_jsxs("a", { href: href, target: "_blank", rel: "noopener noreferrer", className: cn("flex items-center gap-1.5 mt-1.5 py-1 rounded-base text-sm font-medium", className), children: [_jsx(FileIcon, { className: "size-4 flex-shrink-0" }), _jsx("span", { className: "truncate", children: title })] }));
24
- };
25
- // Custom element for use in rich text editors
26
18
  var FileAttachmentElement = /** @class */ (function (_super) {
27
19
  __extends(FileAttachmentElement, _super);
28
20
  function FileAttachmentElement() {
@@ -30,11 +22,28 @@ var FileAttachmentElement = /** @class */ (function (_super) {
30
22
  }
31
23
  FileAttachmentElement.prototype.connectedCallback = function () {
32
24
  var title = this.getAttribute("title") || "File";
33
- var type = this.getAttribute("type") || "";
34
25
  var href = this.getAttribute("href") || "#";
35
26
  // Create React root and render component
36
- var root = createRoot(this);
37
- root.render(_jsx(FileAttachmentView, { title: title, type: type, href: href }));
27
+ var a = document.createElement("a");
28
+ a.href = href;
29
+ a.target = "_blank";
30
+ a.rel = "noopener noreferrer";
31
+ a.className =
32
+ "inline-flex items-center gap-1.5 mt-1.5 py-1 px-2 rounded-lg text-sm no-underline! font-medium max-w-full bg-blue-100/70 hover:bg-blue-100 text-blue-800 transition";
33
+ // If one of the parent elements is .ProseMirror, we want to disable pointer events on the link, since that is annoying in the editor
34
+ if (this.closest(".ProseMirror")) {
35
+ a.className = cn(a.className, "pointer-events-none");
36
+ }
37
+ var icon = document.createElement("span");
38
+ icon.className = "size-4 flex-shrink-0";
39
+ icon.innerHTML =
40
+ '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" class="size-4 flex-shrink-0" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"/><path d="M14 2v5a1 1 0 0 0 1 1h5"/></svg>';
41
+ a.appendChild(icon);
42
+ var text = document.createElement("span");
43
+ text.className = "truncate";
44
+ text.textContent = title;
45
+ a.appendChild(text);
46
+ this.replaceChildren(a);
38
47
  };
39
48
  return FileAttachmentElement;
40
49
  }(HTMLElement));
@@ -1,4 +1,5 @@
1
1
  export * from "./file-attachment";
2
2
  export * from "./page-clipping";
3
3
  export * from "./inline-math";
4
+ export * from "./content-reference";
4
5
  export declare const registerWebComponents: () => void;
@@ -1,10 +1,12 @@
1
1
  "use client";
2
+ import { ContentReferenceElement } from "./content-reference";
2
3
  import { FileAttachmentElement } from "./file-attachment";
3
4
  import { InlineMathElement } from "./inline-math";
4
5
  import { PageClippingElement } from "./page-clipping";
5
6
  export * from "./file-attachment";
6
7
  export * from "./page-clipping";
7
8
  export * from "./inline-math";
9
+ export * from "./content-reference";
8
10
  export var registerWebComponents = function () {
9
11
  if (typeof window !== "undefined" && !customElements.get("page-clipping")) {
10
12
  customElements.define("page-clipping", PageClippingElement);
@@ -15,4 +17,8 @@ export var registerWebComponents = function () {
15
17
  if (typeof window !== "undefined" && !customElements.get("inline-math")) {
16
18
  customElements.define("inline-math", InlineMathElement);
17
19
  }
20
+ if (typeof window !== "undefined" &&
21
+ !customElements.get("content-reference")) {
22
+ customElements.define("content-reference", ContentReferenceElement);
23
+ }
18
24
  };
@@ -1,4 +1,3 @@
1
- export declare const PageClippingView: (props: any) => import("react/jsx-runtime").JSX.Element;
2
1
  export declare class PageClippingElement extends HTMLElement {
3
2
  connectedCallback(): void;
4
3
  }
@@ -14,12 +14,6 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
- import { jsx as _jsx } from "react/jsx-runtime";
18
- import { createRoot } from "react-dom/client";
19
- export var PageClippingView = function (props) {
20
- return (_jsx("img", { src: "https://page-clippings.examplary.ai/?".concat(new URLSearchParams(props)), alt: "Page Clipping" }));
21
- };
22
- // Custom element for use in rich text editors
23
17
  var PageClippingElement = /** @class */ (function (_super) {
24
18
  __extends(PageClippingElement, _super);
25
19
  function PageClippingElement() {
@@ -32,9 +26,11 @@ var PageClippingElement = /** @class */ (function (_super) {
32
26
  var y = this.getAttribute("y") || "";
33
27
  var width = this.getAttribute("width") || "";
34
28
  var height = this.getAttribute("height") || "";
35
- // Create React root and render component
36
- var root = createRoot(this);
37
- root.render(_jsx(PageClippingView, { url: url, page: page, x: x, y: y, width: width, height: height }));
29
+ var params = new URLSearchParams({ url: url, page: page, x: x, y: y, width: width, height: height });
30
+ var img = document.createElement("img");
31
+ img.src = "https://page-clippings.examplary.ai/?".concat(params.toString());
32
+ img.alt = "Page clipping";
33
+ this.replaceChildren(img);
38
34
  };
39
35
  return PageClippingElement;
40
36
  }(HTMLElement));
@@ -1,2 +1,2 @@
1
1
  /*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-space-x-reverse:0}}}@layer theme{:root,:host{--font-sans:"Epunda Sans","Inter","sans-serif";--font-serif:var(--font-serif),"serif";--font-mono:"Inconsolata","SF Mono","Menlo","Monaco","Courier New",monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-600:oklch(57.7% .245 27.325);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-800:oklch(47% .157 37.304);--color-amber-600:oklch(66.6% .179 58.318);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-800:oklch(47.6% .114 61.907);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-900:oklch(37.9% .146 265.522);--color-fuchsia-100:oklch(95.2% .037 318.852);--color-fuchsia-200:oklch(90.3% .076 319.62);--color-fuchsia-300:oklch(83.3% .145 321.434);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-pink-50:oklch(97.1% .014 343.198);--color-pink-200:oklch(89.9% .061 343.231);--color-pink-500:oklch(65.6% .241 354.308);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-500:oklch(55.1% .027 264.364);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-heading:"Epunda Slab","Merriweather","serif";--color-bright:#eaff00;--color-bg:#faf9f5;--color-accent:#f3f2ec;--color-nav:#e1dacd;--color-nav-1:#ebe7dd;--color-nav-2:#e6e1d5;--color-border:#e9e8e5;--color-border-accent:#d9d8d5;--color-chat-background:#d9d8d5;--color-destructive:var(--color-red-600);--color-purplegray-100:#cbcada;--color-purplegray-600:#565478;--radius-base:5px;--animate-shimmer:shimmer 2.5s ease-in-out infinite}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--radius:.5rem;--font-sans:"Epunda Sans","Inter","sans-serif";--font-heading:"Epunda Slab","Merriweather","serif"}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.top-36{top:calc(var(--spacing)*36)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-20{bottom:calc(var(--spacing)*20)}.left-0{left:calc(var(--spacing)*0)}.left-2{left:calc(var(--spacing)*2)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-50{z-index:50}.col-start-2{grid-column-start:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-m-2{margin:calc(var(--spacing)*-2)}.m-0\.5{margin:calc(var(--spacing)*.5)}.m-1\.5{margin:calc(var(--spacing)*1.5)}.m-4{margin:calc(var(--spacing)*4)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-4{margin-inline:calc(var(--spacing)*4)}.my-1{margin-block:calc(var(--spacing)*1)}.\!mt-3{margin-top:calc(var(--spacing)*3)!important}.-mt-0\.5{margin-top:calc(var(--spacing)*-.5)}.-mt-1\.5{margin-top:calc(var(--spacing)*-1.5)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-0\.5{margin-right:calc(var(--spacing)*.5)}.mr-1{margin-right:calc(var(--spacing)*1)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-0{margin-left:calc(var(--spacing)*0)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-1\.75{width:calc(var(--spacing)*1.75);height:calc(var(--spacing)*1.75)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-3\.5\!{width:calc(var(--spacing)*3.5)!important;height:calc(var(--spacing)*3.5)!important}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-4\.5{width:calc(var(--spacing)*4.5);height:calc(var(--spacing)*4.5)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6\!{width:calc(var(--spacing)*6)!important;height:calc(var(--spacing)*6)!important}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-70{height:calc(var(--spacing)*70)}.h-\[1px\]{height:1px}.h-\[3rem\]{height:3rem}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-context-menu-content-available-height\){max-height:var(--radix-context-menu-content-available-height)}.max-h-72{max-height:calc(var(--spacing)*72)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[300px\]{max-height:300px}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-6{min-height:calc(var(--spacing)*6)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-\[80px\]{min-height:80px}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-64{width:calc(var(--spacing)*64)}.w-\[1px\]{width:1px}.w-full{width:100%}.w-full\!{width:100%!important}.max-w-80{max-width:calc(var(--spacing)*80)}.max-w-128{max-width:calc(var(--spacing)*128)}.max-w-\[85\%\]{max-width:85%}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.min-w-32{min-width:calc(var(--spacing)*32)}.min-w-36{min-width:calc(var(--spacing)*36)}.min-w-64{min-width:calc(var(--spacing)*64)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\(--radix-context-menu-content-transform-origin\){transform-origin:var(--radix-context-menu-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-shimmer{animation:var(--animate-shimmer)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.scroll-py-1{scroll-padding-block:calc(var(--spacing)*1)}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-items-start{justify-items:start}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-1\.25{gap:calc(var(--spacing)*1.25)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.gap-y-0\.5{row-gap:calc(var(--spacing)*.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-4xl{border-radius:var(--radius-4xl)}.rounded-\[26px\]\!{border-radius:26px!important}.rounded-base{border-radius:var(--radius-base)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-base{border-top-left-radius:var(--radius-base);border-top-right-radius:var(--radius-base)}.rounded-tl-sm{border-top-left-radius:var(--radius-sm)}.rounded-tr-sm{border-top-right-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-black{border-color:var(--color-black)}.border-border{border-color:var(--color-border)}.border-border-accent{border-color:var(--color-border-accent)}.border-neutral-800{border-color:var(--color-neutral-800)}.border-transparent{border-color:#0000}.border-t-border{border-top-color:var(--color-border)}.bg-accent{background-color:var(--color-accent)}.bg-bg{background-color:var(--color-bg)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-border{background-color:var(--color-border)}.bg-border-accent{background-color:var(--color-border-accent)}.bg-bright{background-color:var(--color-bright)}.bg-chat-background{background-color:var(--color-chat-background)}.bg-current{background-color:currentColor}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-fuchsia-100{background-color:var(--color-fuchsia-100)}.bg-fuchsia-400{background-color:var(--color-fuchsia-400)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-nav{background-color:var(--color-nav)}.bg-nav\/75{background-color:#e1dacdbf}@supports (color:color-mix(in lab, red, red)){.bg-nav\/75{background-color:color-mix(in oklab,var(--color-nav)75%,transparent)}}.bg-neutral-200{background-color:var(--color-neutral-200)}.bg-neutral-950{background-color:var(--color-neutral-950)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-pink-50{background-color:var(--color-pink-50)}.bg-pink-200{background-color:var(--color-pink-200)}.bg-purplegray-100{background-color:var(--color-purplegray-100)}.bg-red-300{background-color:var(--color-red-300)}.bg-red-400{background-color:var(--color-red-400)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-200{background-color:var(--color-yellow-200)}.bg-zinc-200{background-color:var(--color-zinc-200)}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.from-nav-1{--tw-gradient-from:var(--color-nav-1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-nav-2{--tw-gradient-via:var(--color-nav-2);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-nav-1{--tw-gradient-to:var(--color-nav-1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-size-\[200\%_100\%\]{background-size:200% 100%}.fill-bright{fill:var(--color-bright)}.fill-current{fill:currentColor}.fill-white{fill:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-0\!{padding:calc(var(--spacing)*0)!important}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-0\.25{padding-block:calc(var(--spacing)*.25)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-6{padding-block:calc(var(--spacing)*6)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-8{padding-right:calc(var(--spacing)*8)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-1\.5{padding-left:calc(var(--spacing)*1.5)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-5\.5{padding-left:calc(var(--spacing)*5.5)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-heading{font-family:var(--font-heading)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-amber-600{color:var(--color-amber-600)}.text-black{color:var(--color-black)}.text-blue-900{color:var(--color-blue-900)}.text-current{color:currentColor}.text-emerald-600{color:var(--color-emerald-600)}.text-fuchsia-400{color:var(--color-fuchsia-400)}.text-gray-500{color:var(--color-gray-500)}.text-neutral-50{color:var(--color-neutral-50)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-950{color:var(--color-neutral-950)}.text-orange-800\/75{color:#9f2d00bf}@supports (color:color-mix(in lab, red, red)){.text-orange-800\/75{color:color-mix(in oklab,var(--color-orange-800)75%,transparent)}}.text-pink-500{color:var(--color-pink-500)}.text-purplegray-600{color:var(--color-purplegray-600)}.text-slate-800{color:var(--color-slate-800)}.text-white{color:var(--color-white)}.text-yellow-800{color:var(--color-yellow-800)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-600{color:var(--color-zinc-600)}.italic{font-style:italic}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0\!{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-black\/10{--tw-ring-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.ring-black\/10{--tw-ring-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.ring-offset-white{--tw-ring-offset-color:var(--color-white)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-0{outline-style:var(--tw-outline-style);outline-width:0}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.duration-100{animation-duration:.1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.fade-in-0{--tw-enter-opacity:0}.slide-in-from-top{--tw-enter-translate-y:-100%}.zoom-in-95{--tw-enter-scale:.95}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:text-fuchsia-500:is(:where(.group):hover *){color:var(--color-fuchsia-500)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.placeholder\:text-zinc-500::placeholder{color:var(--color-zinc-500)}.placeholder\:opacity-50::placeholder{opacity:.5}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:calc(var(--spacing)*0)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:calc(var(--spacing)*1)}.after\:w-px:after{content:var(--tw-content);width:1px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.after\:bg-border:after{content:var(--tw-content);background-color:var(--color-border)}.empty\:hidden:empty{display:none}.focus-within\:opacity-100:focus-within{opacity:1}@media (hover:hover){.hover\:border-solid:hover{--tw-border-style:solid;border-style:solid}.hover\:border-black:hover{border-color:var(--color-black)}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-border:hover{background-color:var(--color-border)}.hover\:bg-border-accent:hover{background-color:var(--color-border-accent)}.hover\:bg-emerald-600:hover{background-color:var(--color-emerald-600)}.hover\:bg-fuchsia-200:hover{background-color:var(--color-fuchsia-200)}.hover\:bg-fuchsia-400:hover{background-color:var(--color-fuchsia-400)}.hover\:bg-pink-200:hover{background-color:var(--color-pink-200)}.hover\:bg-zinc-100:hover{background-color:var(--color-zinc-100)}.hover\:text-black:hover{color:var(--color-black)}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-light:hover{--tw-shadow:2px 2px 0px 0px var(--tw-shadow-color,#000);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-border:focus{border-color:var(--color-border)}.focus\:border-border-accent:focus{border-color:var(--color-border-accent)}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-black\/10:focus{--tw-ring-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.focus\:ring-black\/10:focus{--tw-ring-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.focus\:ring-neutral-950:focus{--tw-ring-color:var(--color-neutral-950)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-black:focus-visible{--tw-ring-color:var(--color-black)}.focus-visible\:ring-black\/10:focus-visible{--tw-ring-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-black\/10:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.focus-visible\:ring-black\/20:focus-visible{--tw-ring-color:#0003}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-black\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.focus-visible\:ring-neutral-950:focus-visible{--tw-ring-color:var(--color-neutral-950)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-white:focus-visible{--tw-ring-offset-color:var(--color-white)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-border:active{background-color:var(--color-border)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-accent:disabled{border-color:var(--color-accent)}.disabled\:text-accent:disabled{color:var(--color-accent)}.disabled\:text-zinc-400:disabled{color:var(--color-zinc-400)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-100:disabled{opacity:1}.has-\[\.dialog-section\]\:h-screen:has(.dialog-section){height:100vh}.has-\[\.dialog-section\]\:max-h-none:has(.dialog-section){max-height:none}.has-\[\.dialog-section\]\:justify-center:has(.dialog-section){justify-content:center}.has-\[\.dialog-section\]\:overflow-auto:has(.dialog-section){overflow:auto}.has-\[\.dialog-section\]\:rounded-none:has(.dialog-section){border-radius:0}.has-\[\.dialog-section\]\:border-0:has(.dialog-section){border-style:var(--tw-border-style);border-width:0}.has-\[\.dialog-section\]\:bg-transparent:has(.dialog-section){background-color:#0000}.has-\[\.dialog-section\]\:px-1:has(.dialog-section){padding-inline:calc(var(--spacing)*1)}.has-\[\.dialog-section\]\:py-10:has(.dialog-section){padding-block:calc(var(--spacing)*10)}.has-\[\.dialog-section\]\:outline-none:has(.dialog-section){--tw-outline-style:none;outline-style:none}.has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--spacing)*3)}.data-closed\:animate-out[data-closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-closed\:fade-out-0[data-closed]{--tw-exit-opacity:0}.data-closed\:zoom-out-95[data-closed]{--tw-exit-scale:.95}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-dragging\:cursor-grabbing[data-dragging]{cursor:grabbing}.data-inset\:pl-7[data-inset]{padding-left:calc(var(--spacing)*7)}.data-open\:bg-accent[data-open]{background-color:var(--color-accent)}.data-open\:animate-in[data-open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-open\:fade-in-0[data-open]{--tw-enter-opacity:0}.data-open\:zoom-in-95[data-open]{--tw-enter-scale:.95}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal]{height:calc(var(--spacing)*1.5)}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:calc(var(--spacing)*44)}.data-\[orientation\=vertical\]\:w-3[data-orientation=vertical]{width:calc(var(--spacing)*3)}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:h-0\.5[data-panel-group-direction=vertical]{height:calc(var(--spacing)*.5)}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:calc(var(--spacing)*0)}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:calc(var(--spacing)*1)}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placeholder\]\:text-zinc-500[data-placeholder]{color:var(--color-zinc-500)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--color-accent)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing)*12)}.data-\[state\=active\]\:cursor-default[data-state=active]{cursor:default}.data-\[state\=active\]\:border-black[data-state=active]{border-color:var(--color-black)}.data-\[state\=active\]\:bg-white[data-state=active]{background-color:var(--color-white)}.data-\[state\=active\]\:font-medium[data-state=active]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[state\=active\]\:shadow-light[data-state=active]{--tw-shadow:2px 2px 0px 0px var(--tw-shadow-color,#000);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-3[data-state=checked]{--tw-translate-x:calc(var(--spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:translate-x-6[data-state=checked]{--tw-translate-x:calc(var(--spacing)*6);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:border-current[data-state=checked]{border-color:currentColor}.data-\[state\=checked\]\:bg-bright[data-state=checked]{background-color:var(--color-bright)}.data-\[state\=checked\]\:bg-current[data-state=checked]{background-color:currentColor}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:border-black[data-state=open]{border-color:var(--color-black)}.data-\[state\=open\]\:bg-neutral-100[data-state=open]{background-color:var(--color-neutral-100)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-white[data-state=selected]{background-color:var(--color-white)}.data-\[state\=unchecked\]\:translate-x-0\.5[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:translate-x-1[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-white[data-state=unchecked]{background-color:var(--color-white)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--color-destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:#e400141a}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive)10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--color-destructive)}@media (min-width:40rem){.sm\:max-w-\[725px\]{max-width:725px}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:pt-5{padding-top:calc(var(--spacing)*5)}}@media (min-width:64rem){.lg\:top-7{top:calc(var(--spacing)*7)}.lg\:right-7{right:calc(var(--spacing)*7)}.lg\:block{display:block}.lg\:p-8{padding:calc(var(--spacing)*8)}}.dark\:border-white:where(.dark,.dark *){border-color:var(--color-white)}.dark\:bg-neutral-800:where(.dark,.dark *){background-color:var(--color-neutral-800)}.dark\:bg-neutral-950:where(.dark,.dark *){background-color:var(--color-neutral-950)}.dark\:bg-white:where(.dark,.dark *){background-color:var(--color-white)}.dark\:bg-zinc-800:where(.dark,.dark *){background-color:var(--color-zinc-800)}.dark\:text-neutral-50:where(.dark,.dark *){color:var(--color-neutral-50)}.dark\:text-neutral-400:where(.dark,.dark *){color:var(--color-neutral-400)}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\:text-zinc-900:where(.dark,.dark *){color:var(--color-zinc-900)}.dark\:ring-offset-neutral-950:where(.dark,.dark *){--tw-ring-offset-color:var(--color-neutral-950)}.dark\:focus\:ring-neutral-300:where(.dark,.dark *):focus,.dark\:focus-visible\:ring-neutral-300:where(.dark,.dark *):focus-visible{--tw-ring-color:var(--color-neutral-300)}.dark\:data-\[state\=open\]\:bg-neutral-800:where(.dark,.dark *)[data-state=open]{background-color:var(--color-neutral-800)}@media print{.print\:max-h-none{max-height:none}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing)*0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing)*12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing)*3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing)*5)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-3\.5 svg{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:size-5 svg{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.\[\&_svg\]\:h-4 svg{height:calc(var(--spacing)*4)}.\[\&_svg\]\:w-4 svg{width:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--color-destructive)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\]\:text-current>svg{color:currentColor}.\[\&\>svg\]\:text-white\/80\!>svg{color:#fffc!important}@supports (color:color-mix(in lab, red, red)){.\[\&\>svg\]\:text-white\/80\!>svg{color:color-mix(in oklab,var(--color-white)80%,transparent)!important}}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{rotate:90deg}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(calc(-100% - 2rem))}}::selection{background-color:var(--color-fuchsia-200)}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.box{border:1px solid var(--color-border);border-radius:var(--radius-lg)}.ProseMirror:focus-visible{outline:none!important}.flex-shrink-0{flex-shrink:0}.translate-x-boxShadowX{transform:translate(4px)}.translate-y-boxShadowY{transform:translateY(4px)}.hover\:translate-x-boxShadowX:hover{transform:translate(4px)}.hover\:translate-y-boxShadowY:hover{transform:translateY(4px)}.translate-shadow-light:hover{transform:translate(3px,3px)}.translate-shadow-small:hover{transform:translate(2px,2px)}.tiptap a{color:var(--color-blue-500);text-decoration:underline}.tiptap p{min-height:1rem}.tiptap ul{margin-top:0;padding-inline-start:1.25em;list-style-type:disc}.tiptap ol{margin-top:0;padding-inline-start:1.25em;list-style-type:decimal}.tiptap a[target=_blank]{color:var(--color-blue-500);text-decoration:underline}.tiptap img{border-radius:var(--radius-base);max-width:min(100%,600px);margin:1.5rem 0;display:block}.tiptap img.ProseMirror-selectednode{outline:2px solid var(--color-blue-500)}.tiptap .file-attachment.ProseMirror-selectednode a,.tiptap .page-clipping.ProseMirror-selectednode{outline:2px solid var(--color-blue-500);padding-inline:calc(var(--spacing)*1.5)}.tiptap .page-clipping img{-webkit-user-select:none;user-select:none}.tiptap .collaboration-carets__caret{pointer-events:none;word-break:normal;border-left:1px solid #0d0d0d;border-right:1px solid #0d0d0d;margin-left:-1px;margin-right:-1px;position:relative}.tiptap .collaboration-carets__label{color:#fff;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:40px;padding:.1rem .4rem;font-size:11px;font-style:normal;font-weight:500;line-height:normal;position:absolute;top:-1.55em;left:-1px}.tiptap mark{background-color:#eaff00bf}@supports (color:color-mix(in lab, red, red)){.tiptap mark{background-color:color-mix(in oklab,var(--color-bright)75%,transparent)}}.tiptap mark{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.4rem;padding:.1rem .3rem}.tiptap h1{line-height:1.2;font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);margin-top:1.25rem;margin-bottom:.25rem}.tiptap h2,.tiptap h3,.tiptap h4{line-height:1.1;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-zinc-700);margin-top:.75rem;margin-bottom:.25rem}.tiptap blockquote{border-left:2px solid var(--color-gray-300);margin:.5rem 0;padding:0 0 0 1em}.tiptap p.is-editor-empty:first-child:before{color:var(--color-zinc-500);content:attr(data-placeholder);float:left;pointer-events:none;height:0}.tiptap :first-child{margin-top:0}.tiptap table{color:var(--tw-prose-body);max-width:65ch}.tiptap table :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.tiptap table :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.tiptap table :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.tiptap table :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tiptap table :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.tiptap table :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.tiptap table :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.tiptap table :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.tiptap table :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.tiptap table :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.tiptap table :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.tiptap table :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.tiptap table :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.tiptap table :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.tiptap table :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.tiptap table :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.tiptap table :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.tiptap table :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.tiptap table :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.tiptap table :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.tiptap table :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.tiptap table :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.tiptap table :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.tiptap table :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.tiptap table :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.tiptap table :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.tiptap table :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.tiptap table :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.tiptap table :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.tiptap table :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.tiptap table :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.tiptap table :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.tiptap table :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.tiptap table :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tiptap table :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.tiptap table :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tiptap table :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.tiptap table :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.tiptap table :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tiptap table :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.tiptap table :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.tiptap table :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tiptap table :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.tiptap table :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.tiptap table :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.tiptap table :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.tiptap table :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.tiptap table :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.tiptap table :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.tiptap table :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.tiptap table :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.tiptap table :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.tiptap table :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.tiptap table{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.tiptap table :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.tiptap table :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.tiptap table :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.tiptap table :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.tiptap table :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.tiptap table :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tiptap table :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.tiptap table{font-size:.875rem;line-height:1.71429}.tiptap table :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.tiptap table :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.tiptap table :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.tiptap table :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.tiptap table :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.tiptap table :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.tiptap table :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.tiptap table :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tiptap table :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tiptap table :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tiptap table :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.tiptap table :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.tiptap table :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.tiptap table :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.tiptap table :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.tiptap table :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.tiptap table :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.tiptap table :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.tiptap table :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.tiptap table :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tiptap table :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.tiptap table :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tiptap table :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.tiptap table :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.tiptap table :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.tiptap table :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tiptap table :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.tiptap table :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.tiptap table :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tiptap table :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.tiptap table :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.tiptap table :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tiptap table :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tiptap table :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.tiptap table :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tiptap table :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tiptap table :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tiptap table :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tiptap table :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.tiptap table :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tiptap table :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.tiptap table{border-collapse:collapse;table-layout:fixed;width:100%;margin:0;overflow:hidden}.tiptap table td,.tiptap table th{border:1px solid var(--color-gray-100);box-sizing:border-box;vertical-align:top;min-width:1em;padding:6px 8px;position:relative}:is(.tiptap table td,.tiptap table th)>*{margin-bottom:0}.tiptap table th{background-color:var(--color-gray-200);text-align:left;font-weight:700}.tiptap table .selectedCell:after{background-color:#f2a9ff80}@supports (color:color-mix(in lab, red, red)){.tiptap table .selectedCell:after{background-color:color-mix(in oklab,var(--color-fuchsia-300)50%,transparent)}}.tiptap table .selectedCell:after{content:"";pointer-events:none;z-index:2;position:absolute;inset:0}.tiptap table .column-resize-handle{background-color:var(--color-fuchsia-400);pointer-events:none;width:4px;position:absolute;top:0;bottom:-2px;right:-2px}.tiptap .tableWrapper{margin:1.5rem 0;overflow-x:auto}.tiptap.resize-cursor{cursor:ew-resize;cursor:col-resize}.tiptap table th{font-family:var(--font-heading)}.Tiptap-mathematics-editor{font-family:var(--font-mono)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes pulse{50%{opacity:.5}}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-space-x-reverse:0}}}@layer theme{:root,:host{--font-sans:"Epunda Sans","Inter","sans-serif";--font-serif:var(--font-serif),"serif";--font-mono:"Inconsolata","SF Mono","Menlo","Monaco","Courier New",monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-800:oklch(47% .157 37.304);--color-amber-600:oklch(66.6% .179 58.318);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-800:oklch(47.6% .114 61.907);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-fuchsia-100:oklch(95.2% .037 318.852);--color-fuchsia-200:oklch(90.3% .076 319.62);--color-fuchsia-300:oklch(83.3% .145 321.434);--color-fuchsia-400:oklch(74% .238 322.16);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-pink-50:oklch(97.1% .014 343.198);--color-pink-200:oklch(89.9% .061 343.231);--color-pink-500:oklch(65.6% .241 354.308);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-500:oklch(55.1% .027 264.364);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-950:oklch(14.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-heading:"Epunda Slab","Merriweather","serif";--color-bright:#eaff00;--color-bg:#faf9f5;--color-accent:#f3f2ec;--color-nav:#e1dacd;--color-nav-1:#ebe7dd;--color-nav-2:#e6e1d5;--color-border:#e9e8e5;--color-border-accent:#d9d8d5;--color-chat-background:#d9d8d5;--color-destructive:var(--color-red-600);--color-purplegray-100:#cbcada;--color-purplegray-600:#565478;--radius-base:5px;--animate-shimmer:shimmer 2.5s ease-in-out infinite}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--radius:.5rem;--font-sans:"Epunda Sans","Inter","sans-serif";--font-heading:"Epunda Slab","Merriweather","serif"}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.top-36{top:calc(var(--spacing)*36)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-20{bottom:calc(var(--spacing)*20)}.left-0{left:calc(var(--spacing)*0)}.left-2{left:calc(var(--spacing)*2)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-50{z-index:50}.col-start-2{grid-column-start:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-m-2{margin:calc(var(--spacing)*-2)}.m-0\.5{margin:calc(var(--spacing)*.5)}.m-1\.5{margin:calc(var(--spacing)*1.5)}.m-4{margin:calc(var(--spacing)*4)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-4{margin-inline:calc(var(--spacing)*4)}.my-1{margin-block:calc(var(--spacing)*1)}.\!mt-3{margin-top:calc(var(--spacing)*3)!important}.-mt-0\.5{margin-top:calc(var(--spacing)*-.5)}.-mt-1\.5{margin-top:calc(var(--spacing)*-1.5)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-0\.5{margin-right:calc(var(--spacing)*.5)}.mr-1{margin-right:calc(var(--spacing)*1)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-0{margin-left:calc(var(--spacing)*0)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-1\.75{width:calc(var(--spacing)*1.75);height:calc(var(--spacing)*1.75)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-3\.5\!{width:calc(var(--spacing)*3.5)!important;height:calc(var(--spacing)*3.5)!important}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-4\.5{width:calc(var(--spacing)*4.5);height:calc(var(--spacing)*4.5)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6\!{width:calc(var(--spacing)*6)!important;height:calc(var(--spacing)*6)!important}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-70{height:calc(var(--spacing)*70)}.h-\[1px\]{height:1px}.h-\[3rem\]{height:3rem}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-context-menu-content-available-height\){max-height:var(--radix-context-menu-content-available-height)}.max-h-72{max-height:calc(var(--spacing)*72)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[300px\]{max-height:300px}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-6{min-height:calc(var(--spacing)*6)}.min-h-16{min-height:calc(var(--spacing)*16)}.min-h-\[80px\]{min-height:80px}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-64{width:calc(var(--spacing)*64)}.w-\[1px\]{width:1px}.w-full{width:100%}.w-full\!{width:100%!important}.max-w-80{max-width:calc(var(--spacing)*80)}.max-w-128{max-width:calc(var(--spacing)*128)}.max-w-\[85\%\]{max-width:85%}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.min-w-32{min-width:calc(var(--spacing)*32)}.min-w-36{min-width:calc(var(--spacing)*36)}.min-w-64{min-width:calc(var(--spacing)*64)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\(--radix-context-menu-content-transform-origin\){transform-origin:var(--radix-context-menu-content-transform-origin)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-shimmer{animation:var(--animate-shimmer)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.scroll-py-1{scroll-padding-block:calc(var(--spacing)*1)}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-items-start{justify-items:start}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-1\.25{gap:calc(var(--spacing)*1.25)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.gap-y-0\.5{row-gap:calc(var(--spacing)*.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-4xl{border-radius:var(--radius-4xl)}.rounded-\[26px\]\!{border-radius:26px!important}.rounded-base{border-radius:var(--radius-base)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-base{border-top-left-radius:var(--radius-base);border-top-right-radius:var(--radius-base)}.rounded-tl-sm{border-top-left-radius:var(--radius-sm)}.rounded-tr-sm{border-top-right-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-black{border-color:var(--color-black)}.border-border{border-color:var(--color-border)}.border-border-accent{border-color:var(--color-border-accent)}.border-neutral-800{border-color:var(--color-neutral-800)}.border-transparent{border-color:#0000}.border-t-border{border-top-color:var(--color-border)}.bg-accent{background-color:var(--color-accent)}.bg-bg{background-color:var(--color-bg)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-100\/70{background-color:#dbeafeb3}@supports (color:color-mix(in lab, red, red)){.bg-blue-100\/70{background-color:color-mix(in oklab,var(--color-blue-100)70%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-border-accent{background-color:var(--color-border-accent)}.bg-bright{background-color:var(--color-bright)}.bg-chat-background{background-color:var(--color-chat-background)}.bg-current{background-color:currentColor}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-fuchsia-100{background-color:var(--color-fuchsia-100)}.bg-fuchsia-400{background-color:var(--color-fuchsia-400)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-nav{background-color:var(--color-nav)}.bg-nav\/75{background-color:#e1dacdbf}@supports (color:color-mix(in lab, red, red)){.bg-nav\/75{background-color:color-mix(in oklab,var(--color-nav)75%,transparent)}}.bg-neutral-200{background-color:var(--color-neutral-200)}.bg-neutral-950{background-color:var(--color-neutral-950)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-pink-50{background-color:var(--color-pink-50)}.bg-pink-200{background-color:var(--color-pink-200)}.bg-purplegray-100{background-color:var(--color-purplegray-100)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-300{background-color:var(--color-red-300)}.bg-red-400{background-color:var(--color-red-400)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-200{background-color:var(--color-yellow-200)}.bg-zinc-200{background-color:var(--color-zinc-200)}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.from-nav-1{--tw-gradient-from:var(--color-nav-1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-nav-2{--tw-gradient-via:var(--color-nav-2);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-nav-1{--tw-gradient-to:var(--color-nav-1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-size-\[200\%_100\%\]{background-size:200% 100%}.fill-bright{fill:var(--color-bright)}.fill-current{fill:currentColor}.fill-white{fill:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-0\!{padding:calc(var(--spacing)*0)!important}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-0\.25{padding-block:calc(var(--spacing)*.25)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-6{padding-block:calc(var(--spacing)*6)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-8{padding-right:calc(var(--spacing)*8)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-1\.5{padding-left:calc(var(--spacing)*1.5)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-5\.5{padding-left:calc(var(--spacing)*5.5)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-heading{font-family:var(--font-heading)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-amber-600{color:var(--color-amber-600)}.text-black{color:var(--color-black)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-current{color:currentColor}.text-emerald-600{color:var(--color-emerald-600)}.text-fuchsia-400{color:var(--color-fuchsia-400)}.text-gray-500{color:var(--color-gray-500)}.text-neutral-50{color:var(--color-neutral-50)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-950{color:var(--color-neutral-950)}.text-orange-800\/75{color:#9f2d00bf}@supports (color:color-mix(in lab, red, red)){.text-orange-800\/75{color:color-mix(in oklab,var(--color-orange-800)75%,transparent)}}.text-pink-500{color:var(--color-pink-500)}.text-purplegray-600{color:var(--color-purplegray-600)}.text-red-700{color:var(--color-red-700)}.text-slate-800{color:var(--color-slate-800)}.text-white{color:var(--color-white)}.text-yellow-800{color:var(--color-yellow-800)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-600{color:var(--color-zinc-600)}.italic{font-style:italic}.no-underline\!{text-decoration-line:none!important}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0\!{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-black\/10{--tw-ring-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.ring-black\/10{--tw-ring-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.ring-offset-white{--tw-ring-offset-color:var(--color-white)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-0{outline-style:var(--tw-outline-style);outline-width:0}.blur{--tw-blur:blur(8px);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,)}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.duration-100{animation-duration:.1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.fade-in-0{--tw-enter-opacity:0}.slide-in-from-top{--tw-enter-translate-y:-100%}.zoom-in-95{--tw-enter-scale:.95}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:text-fuchsia-500:is(:where(.group):hover *){color:var(--color-fuchsia-500)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.placeholder\:text-zinc-500::placeholder{color:var(--color-zinc-500)}.placeholder\:opacity-50::placeholder{opacity:.5}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:calc(var(--spacing)*0)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:calc(var(--spacing)*1)}.after\:w-px:after{content:var(--tw-content);width:1px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.after\:bg-border:after{content:var(--tw-content);background-color:var(--color-border)}.empty\:hidden:empty{display:none}.focus-within\:opacity-100:focus-within{opacity:1}@media (hover:hover){.hover\:border-solid:hover{--tw-border-style:solid;border-style:solid}.hover\:border-black:hover{border-color:var(--color-black)}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-border:hover{background-color:var(--color-border)}.hover\:bg-border-accent:hover{background-color:var(--color-border-accent)}.hover\:bg-emerald-600:hover{background-color:var(--color-emerald-600)}.hover\:bg-fuchsia-200:hover{background-color:var(--color-fuchsia-200)}.hover\:bg-fuchsia-400:hover{background-color:var(--color-fuchsia-400)}.hover\:bg-pink-200:hover{background-color:var(--color-pink-200)}.hover\:bg-zinc-100:hover{background-color:var(--color-zinc-100)}.hover\:text-black:hover{color:var(--color-black)}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-light:hover{--tw-shadow:2px 2px 0px 0px var(--tw-shadow-color,#000);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-border:focus{border-color:var(--color-border)}.focus\:border-border-accent:focus{border-color:var(--color-border-accent)}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-black\/10:focus{--tw-ring-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.focus\:ring-black\/10:focus{--tw-ring-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.focus\:ring-neutral-950:focus{--tw-ring-color:var(--color-neutral-950)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-black:focus-visible{--tw-ring-color:var(--color-black)}.focus-visible\:ring-black\/10:focus-visible{--tw-ring-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-black\/10:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.focus-visible\:ring-black\/20:focus-visible{--tw-ring-color:#0003}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-black\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.focus-visible\:ring-neutral-950:focus-visible{--tw-ring-color:var(--color-neutral-950)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-white:focus-visible{--tw-ring-offset-color:var(--color-white)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-border:active{background-color:var(--color-border)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-accent:disabled{border-color:var(--color-accent)}.disabled\:text-accent:disabled{color:var(--color-accent)}.disabled\:text-zinc-400:disabled{color:var(--color-zinc-400)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-100:disabled{opacity:1}.has-\[\.dialog-section\]\:h-screen:has(.dialog-section){height:100vh}.has-\[\.dialog-section\]\:max-h-none:has(.dialog-section){max-height:none}.has-\[\.dialog-section\]\:justify-center:has(.dialog-section){justify-content:center}.has-\[\.dialog-section\]\:overflow-auto:has(.dialog-section){overflow:auto}.has-\[\.dialog-section\]\:rounded-none:has(.dialog-section){border-radius:0}.has-\[\.dialog-section\]\:border-0:has(.dialog-section){border-style:var(--tw-border-style);border-width:0}.has-\[\.dialog-section\]\:bg-transparent:has(.dialog-section){background-color:#0000}.has-\[\.dialog-section\]\:px-1:has(.dialog-section){padding-inline:calc(var(--spacing)*1)}.has-\[\.dialog-section\]\:py-10:has(.dialog-section){padding-block:calc(var(--spacing)*10)}.has-\[\.dialog-section\]\:outline-none:has(.dialog-section){--tw-outline-style:none;outline-style:none}.has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--spacing)*3)}.data-closed\:animate-out[data-closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-closed\:fade-out-0[data-closed]{--tw-exit-opacity:0}.data-closed\:zoom-out-95[data-closed]{--tw-exit-scale:.95}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-dragging\:cursor-grabbing[data-dragging]{cursor:grabbing}.data-inset\:pl-7[data-inset]{padding-left:calc(var(--spacing)*7)}.data-open\:bg-accent[data-open]{background-color:var(--color-accent)}.data-open\:animate-in[data-open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-open\:fade-in-0[data-open]{--tw-enter-opacity:0}.data-open\:zoom-in-95[data-open]{--tw-enter-scale:.95}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal]{height:calc(var(--spacing)*1.5)}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:calc(var(--spacing)*44)}.data-\[orientation\=vertical\]\:w-3[data-orientation=vertical]{width:calc(var(--spacing)*3)}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:h-0\.5[data-panel-group-direction=vertical]{height:calc(var(--spacing)*.5)}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:calc(var(--spacing)*0)}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:calc(var(--spacing)*1)}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[placeholder\]\:text-zinc-500[data-placeholder]{color:var(--color-zinc-500)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--color-accent)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing)*12)}.data-\[state\=active\]\:cursor-default[data-state=active]{cursor:default}.data-\[state\=active\]\:border-black[data-state=active]{border-color:var(--color-black)}.data-\[state\=active\]\:bg-white[data-state=active]{background-color:var(--color-white)}.data-\[state\=active\]\:font-medium[data-state=active]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[state\=active\]\:shadow-light[data-state=active]{--tw-shadow:2px 2px 0px 0px var(--tw-shadow-color,#000);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-3[data-state=checked]{--tw-translate-x:calc(var(--spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:translate-x-6[data-state=checked]{--tw-translate-x:calc(var(--spacing)*6);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:border-current[data-state=checked]{border-color:currentColor}.data-\[state\=checked\]\:bg-bright[data-state=checked]{background-color:var(--color-bright)}.data-\[state\=checked\]\:bg-current[data-state=checked]{background-color:currentColor}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:border-black[data-state=open]{border-color:var(--color-black)}.data-\[state\=open\]\:bg-neutral-100[data-state=open]{background-color:var(--color-neutral-100)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=selected\]\:bg-white[data-state=selected]{background-color:var(--color-white)}.data-\[state\=unchecked\]\:translate-x-0\.5[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:translate-x-1[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-white[data-state=unchecked]{background-color:var(--color-white)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--color-destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:#e400141a}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive)10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--color-destructive)}@media (min-width:40rem){.sm\:max-w-\[725px\]{max-width:725px}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:pt-5{padding-top:calc(var(--spacing)*5)}}@media (min-width:64rem){.lg\:top-7{top:calc(var(--spacing)*7)}.lg\:right-7{right:calc(var(--spacing)*7)}.lg\:block{display:block}.lg\:p-8{padding:calc(var(--spacing)*8)}}.dark\:border-white:where(.dark,.dark *){border-color:var(--color-white)}.dark\:bg-neutral-800:where(.dark,.dark *){background-color:var(--color-neutral-800)}.dark\:bg-neutral-950:where(.dark,.dark *){background-color:var(--color-neutral-950)}.dark\:bg-white:where(.dark,.dark *){background-color:var(--color-white)}.dark\:bg-zinc-800:where(.dark,.dark *){background-color:var(--color-zinc-800)}.dark\:text-neutral-50:where(.dark,.dark *){color:var(--color-neutral-50)}.dark\:text-neutral-400:where(.dark,.dark *){color:var(--color-neutral-400)}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\:text-zinc-900:where(.dark,.dark *){color:var(--color-zinc-900)}.dark\:ring-offset-neutral-950:where(.dark,.dark *){--tw-ring-offset-color:var(--color-neutral-950)}.dark\:focus\:ring-neutral-300:where(.dark,.dark *):focus,.dark\:focus-visible\:ring-neutral-300:where(.dark,.dark *):focus-visible{--tw-ring-color:var(--color-neutral-300)}.dark\:data-\[state\=open\]\:bg-neutral-800:where(.dark,.dark *)[data-state=open]{background-color:var(--color-neutral-800)}@media print{.print\:max-h-none{max-height:none}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing)*0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing)*12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing)*3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing)*5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing)*5)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-3\.5 svg{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:size-5 svg{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.\[\&_svg\]\:h-4 svg{height:calc(var(--spacing)*4)}.\[\&_svg\]\:w-4 svg{width:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--color-destructive)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\]\:text-current>svg{color:currentColor}.\[\&\>svg\]\:text-white\/80\!>svg{color:#fffc!important}@supports (color:color-mix(in lab, red, red)){.\[\&\>svg\]\:text-white\/80\!>svg{color:color-mix(in oklab,var(--color-white)80%,transparent)!important}}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{rotate:90deg}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(calc(-100% - 2rem))}}::selection{background-color:var(--color-fuchsia-200)}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.box{border:1px solid var(--color-border);border-radius:var(--radius-lg)}.ProseMirror:focus-visible{outline:none!important}.flex-shrink-0{flex-shrink:0}.translate-x-boxShadowX{transform:translate(4px)}.translate-y-boxShadowY{transform:translateY(4px)}.hover\:translate-x-boxShadowX:hover{transform:translate(4px)}.hover\:translate-y-boxShadowY:hover{transform:translateY(4px)}.translate-shadow-light:hover{transform:translate(3px,3px)}.translate-shadow-small:hover{transform:translate(2px,2px)}.tiptap a{color:var(--color-blue-500);text-decoration:underline}.tiptap p{min-height:1rem}.tiptap ul{margin-top:0;padding-inline-start:1.25em;list-style-type:disc}.tiptap ol{margin-top:0;padding-inline-start:1.25em;list-style-type:decimal}.tiptap a[target=_blank]{color:var(--color-blue-500);text-decoration:underline}.tiptap img{border-radius:var(--radius-base);max-width:min(100%,600px);margin:1.5rem 0;display:block}.tiptap img.ProseMirror-selectednode{outline:2px solid var(--color-blue-500)}.tiptap .file-attachment.ProseMirror-selectednode a,.tiptap .page-clipping.ProseMirror-selectednode{outline:2px solid var(--color-blue-500);padding-inline:calc(var(--spacing)*1.5)}.tiptap .page-clipping img{-webkit-user-select:none;user-select:none}.tiptap .collaboration-carets__caret{pointer-events:none;word-break:normal;border-left:1px solid #0d0d0d;border-right:1px solid #0d0d0d;margin-left:-1px;margin-right:-1px;position:relative}.tiptap .collaboration-carets__label{color:#fff;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:40px;padding:.1rem .4rem;font-size:11px;font-style:normal;font-weight:500;line-height:normal;position:absolute;top:-1.55em;left:-1px}.tiptap mark{background-color:#eaff00bf}@supports (color:color-mix(in lab, red, red)){.tiptap mark{background-color:color-mix(in oklab,var(--color-bright)75%,transparent)}}.tiptap mark{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.4rem;padding:.1rem .3rem}.tiptap h1{line-height:1.2;font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);margin-top:1.25rem;margin-bottom:.25rem}.tiptap h2,.tiptap h3,.tiptap h4{line-height:1.1;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-zinc-700);margin-top:.75rem;margin-bottom:.25rem}.tiptap blockquote{border-left:2px solid var(--color-gray-300);margin:.5rem 0;padding:0 0 0 1em}.tiptap p.is-editor-empty:first-child:before{color:var(--color-zinc-500);content:attr(data-placeholder);float:left;pointer-events:none;height:0}.tiptap :first-child{margin-top:0}.tiptap table{color:var(--tw-prose-body);max-width:65ch}.tiptap table :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.tiptap table :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.tiptap table :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.tiptap table :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tiptap table :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.tiptap table :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.tiptap table :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.tiptap table :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.tiptap table :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.tiptap table :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.tiptap table :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.tiptap table :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.tiptap table :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.tiptap table :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.tiptap table :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.tiptap table :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.tiptap table :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.tiptap table :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.tiptap table :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.tiptap table :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.tiptap table :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.tiptap table :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.tiptap table :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.tiptap table :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.tiptap table :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.tiptap table :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.tiptap table :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.tiptap table :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.tiptap table :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.tiptap table :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.tiptap table :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.tiptap table :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.tiptap table :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.tiptap table :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tiptap table :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.tiptap table :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tiptap table :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.tiptap table :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.tiptap table :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.tiptap table :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.tiptap table :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.tiptap table :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.tiptap table :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.tiptap table :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.tiptap table :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.tiptap table :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.tiptap table :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.tiptap table :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.tiptap table :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.tiptap table :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.tiptap table :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.tiptap table :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.tiptap table :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.tiptap table{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.tiptap table :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.tiptap table :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.tiptap table :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.tiptap table :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.tiptap table :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.tiptap table :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tiptap table :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.tiptap table{font-size:.875rem;line-height:1.71429}.tiptap table :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.tiptap table :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.tiptap table :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.tiptap table :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.tiptap table :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.tiptap table :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.tiptap table :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.tiptap table :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tiptap table :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tiptap table :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tiptap table :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.tiptap table :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.tiptap table :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.tiptap table :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.tiptap table :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.tiptap table :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.tiptap table :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.tiptap table :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.tiptap table :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.tiptap table :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tiptap table :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.tiptap table :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tiptap table :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.tiptap table :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.tiptap table :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.tiptap table :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.tiptap table :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.tiptap table :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.tiptap table :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.tiptap table :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tiptap table :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.tiptap table :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.tiptap table :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tiptap table :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tiptap table :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.tiptap table :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.tiptap table :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.tiptap table :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.tiptap table :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.tiptap table :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.tiptap table :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.tiptap table :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.tiptap table{border-collapse:collapse;table-layout:fixed;width:100%;margin:0;overflow:hidden}.tiptap table td,.tiptap table th{border:1px solid var(--color-gray-100);box-sizing:border-box;vertical-align:top;min-width:1em;padding:6px 8px;position:relative}:is(.tiptap table td,.tiptap table th)>*{margin-bottom:0}.tiptap table th{background-color:var(--color-gray-200);text-align:left;font-weight:700}.tiptap table .selectedCell:after{background-color:#f2a9ff80}@supports (color:color-mix(in lab, red, red)){.tiptap table .selectedCell:after{background-color:color-mix(in oklab,var(--color-fuchsia-300)50%,transparent)}}.tiptap table .selectedCell:after{content:"";pointer-events:none;z-index:2;position:absolute;inset:0}.tiptap table .column-resize-handle{background-color:var(--color-fuchsia-400);pointer-events:none;width:4px;position:absolute;top:0;bottom:-2px;right:-2px}.tiptap .tableWrapper{margin:1.5rem 0;overflow-x:auto}.tiptap.resize-cursor{cursor:ew-resize;cursor:col-resize}.tiptap table th{font-family:var(--font-heading)}.Tiptap-mathematics-editor{font-family:var(--font-mono)}[data-content-reference-target] content-reference{cursor:alias;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:text-decoration-style .2s}[data-content-reference-target] content-reference:focus,[data-content-reference-target] content-reference:hover{text-decoration-style:solid}@keyframes content-reference-highlight{0%{box-shadow:0 0 0 4px var(--color-yellow-200)}to{box-shadow:0 0 #0000}}.tiptap mark.content-reference-highlight{background-color:var(--color-yellow-200);-webkit-box-decoration-break:clone;box-decoration-break:clone;margin-left:-.15rem;margin-right:-.15rem;padding-left:.15rem;padding-right:.15rem;animation:.2s ease-out content-reference-highlight}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes pulse{50%{opacity:.5}}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@examplary/ui",
3
3
  "description": "UI components for the Examplary testing platform.",
4
4
  "packageManager": "yarn@4.5.3",
5
- "version": "1.48.0",
5
+ "version": "1.49.0",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "files": [
@@ -43,7 +43,8 @@
43
43
  "@tiptap/extension-document": "^3.11.1",
44
44
  "@tiptap/extension-file-handler": "^3.11.1",
45
45
  "@tiptap/extension-highlight": "^3.19.0",
46
- "@tiptap/extension-link": "^3.11.1",
46
+ "@tiptap/extension-image": "^3.22.5",
47
+ "@tiptap/extension-link": "^3.22.5",
47
48
  "@tiptap/extension-placeholder": "^3.13.0",
48
49
  "@tiptap/extension-table": "^3.11.1",
49
50
  "@tiptap/extension-typography": "^3.19.0",
package/src/global.css CHANGED
@@ -323,3 +323,35 @@
323
323
  .Tiptap-mathematics-editor {
324
324
  @apply font-mono;
325
325
  }
326
+
327
+ [data-content-reference-target] content-reference {
328
+ text-decoration: underline;
329
+ text-decoration-style: dotted;
330
+ cursor: alias;
331
+ transition: text-decoration-style 0.2s ease;
332
+ }
333
+
334
+ [data-content-reference-target] content-reference:focus,
335
+ [data-content-reference-target] content-reference:hover {
336
+ text-decoration-style: solid;
337
+ }
338
+
339
+ @keyframes content-reference-highlight {
340
+ 0% {
341
+ box-shadow: 0 0 0 4px var(--color-yellow-200);
342
+ }
343
+ 100% {
344
+ box-shadow: 0 0 0 0 transparent;
345
+ }
346
+ }
347
+
348
+ .tiptap mark.content-reference-highlight {
349
+ background-color: var(--color-yellow-200);
350
+ box-decoration-break: clone;
351
+ -webkit-box-decoration-break: clone;
352
+ padding-left: 0.15rem;
353
+ padding-right: 0.15rem;
354
+ margin-left: -0.15rem;
355
+ margin-right: -0.15rem;
356
+ animation: content-reference-highlight 0.2s ease-out;
357
+ }