@wizlit/editor 0.1.9
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.
- package/README.md +212 -0
- package/dist/index.css +2 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.mts +52 -0
- package/dist/index.d.ts +52 -0
- package/dist/index.js +1848 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +1848 -0
- package/dist/index.mjs.map +1 -0
- package/dist/styles/index.css +2 -0
- package/package.json +141 -0
package/README.md
ADDED
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
# Wizlit Editor
|
|
2
|
+
|
|
3
|
+
[](https://github.com/Wizlit-Org/editor) [](https://www.npmjs.com/package/@wizlit/editor) [](https://www.npmjs.com/package/@wizlit/editor)
|
|
4
|
+
|
|
5
|
+
Based on Tiptap editor, a modern editor component library for Next.js and React for Wizlit
|
|
6
|
+
|
|
7
|
+
## Features
|
|
8
|
+
|
|
9
|
+
- Built with Next.js 15.3 and React 19
|
|
10
|
+
- TypeScript support
|
|
11
|
+
- Storybook documentation
|
|
12
|
+
- Fully customizable
|
|
13
|
+
- Modern and clean design
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
### 1. Install Dependencies
|
|
18
|
+
|
|
19
|
+
First, install the required dependencies:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install -D tailwindcss @tailwindcss/postcss postcss @tailwindcss/typography tailwindcss-animate
|
|
23
|
+
npm install @fontsource/inter cal-sans
|
|
24
|
+
npm install @wizlit/editor
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 2. Configure Tailwind CSS
|
|
28
|
+
|
|
29
|
+
Create a `tailwind.config.js` file in your project root:
|
|
30
|
+
|
|
31
|
+
```javascript
|
|
32
|
+
const defaultTheme = require('tailwindcss/defaultTheme')
|
|
33
|
+
|
|
34
|
+
/** @type {import('tailwindcss').Config} */
|
|
35
|
+
module.exports = {
|
|
36
|
+
darkMode: ['class'],
|
|
37
|
+
content: [
|
|
38
|
+
'./src/**/*.{ts,tsx}',
|
|
39
|
+
],
|
|
40
|
+
safelist: ['ProseMirror'],
|
|
41
|
+
theme: {
|
|
42
|
+
extend: {
|
|
43
|
+
fontFamily: {
|
|
44
|
+
sans: ['Inter', ...defaultTheme.fontFamily.sans],
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
plugins: [require('tailwindcss-animate'), require('@tailwindcss/typography')],
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 3. Configure PostCSS
|
|
53
|
+
|
|
54
|
+
Create a `postcss.config.mjs` file in your project root:
|
|
55
|
+
|
|
56
|
+
```javascript
|
|
57
|
+
const config = {
|
|
58
|
+
plugins: {
|
|
59
|
+
"@tailwindcss/postcss": {},
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
export default config;
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 4. Set Up Fonts
|
|
66
|
+
|
|
67
|
+
In your `src/app/layout.tsx` file, import the required fonts:
|
|
68
|
+
|
|
69
|
+
```tsx
|
|
70
|
+
import 'cal-sans'
|
|
71
|
+
import '@fontsource/inter/100.css'
|
|
72
|
+
import '@fontsource/inter/200.css'
|
|
73
|
+
import '@fontsource/inter/300.css'
|
|
74
|
+
import '@fontsource/inter/400.css'
|
|
75
|
+
import '@fontsource/inter/500.css'
|
|
76
|
+
import '@fontsource/inter/600.css'
|
|
77
|
+
import '@fontsource/inter/700.css'
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### 5. Configure Global Styles
|
|
81
|
+
|
|
82
|
+
Add the following to your `globals.css` file:
|
|
83
|
+
|
|
84
|
+
```css
|
|
85
|
+
@tailwind base;
|
|
86
|
+
@tailwind components;
|
|
87
|
+
@tailwind utilities;
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### 6. Using the Editor
|
|
91
|
+
|
|
92
|
+
Here's an example of how to use the editor in your component:
|
|
93
|
+
|
|
94
|
+
```tsx
|
|
95
|
+
import { BlockEditor } from "@wizlit/editor";
|
|
96
|
+
import '@wizlit/editor/dist/styles/index.css'
|
|
97
|
+
import { useState } from 'react';
|
|
98
|
+
import { UploadListDialog, UploadListDialogProps } from '@wizlit/editor';
|
|
99
|
+
|
|
100
|
+
function MyComponent() {
|
|
101
|
+
const [content, setContent] = useState('<p>Initial content</p>');
|
|
102
|
+
const [uploadDialogProps, setUploadDialogProps] = useState<UploadListDialogProps>({} as UploadListDialogProps);
|
|
103
|
+
|
|
104
|
+
const handleContentChange = (newContent: string, isChanged: { isChanged: boolean, isStrictChanged: boolean }, stats: EditorStats) => {
|
|
105
|
+
console.log('Content changed:', newContent);
|
|
106
|
+
console.log('Change status:', isChanged);
|
|
107
|
+
console.log('Stats:', stats);
|
|
108
|
+
setContent(newContent);
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
const handleImageUpload = async (file: File) => {
|
|
112
|
+
// Implement your image upload logic here
|
|
113
|
+
const formData = new FormData();
|
|
114
|
+
formData.append('image', file);
|
|
115
|
+
|
|
116
|
+
const response = await fetch('/api/upload', {
|
|
117
|
+
method: 'POST',
|
|
118
|
+
body: formData,
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
const data = await response.json();
|
|
122
|
+
return data.url;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
return (
|
|
126
|
+
<div className="flex flex-col gap-4 p-4 h-screen relative">
|
|
127
|
+
<div className="flex justify-end">
|
|
128
|
+
<button
|
|
129
|
+
onClick={() => setContent('<p>New content after button click! 🎉</p>')}
|
|
130
|
+
className="bg-blue-500 text-white px-4 py-2 rounded hover:bg-blue-600 transition-colors"
|
|
131
|
+
>
|
|
132
|
+
Change Content
|
|
133
|
+
</button>
|
|
134
|
+
</div>
|
|
135
|
+
|
|
136
|
+
<BlockEditor
|
|
137
|
+
content={content}
|
|
138
|
+
onChange={handleContentChange}
|
|
139
|
+
className="pr-8 pl-20 py-16 lg:pl-8 lg:pr-8"
|
|
140
|
+
readOnly={false}
|
|
141
|
+
onUploadImage={handleImageUpload}
|
|
142
|
+
maxSize={10 * 1024 * 1024} // 10MB
|
|
143
|
+
maxEmbeddings={5}
|
|
144
|
+
maxCharacters={1000}
|
|
145
|
+
showDebug={true}
|
|
146
|
+
altCharacterCounter={true}
|
|
147
|
+
disableBuiltInUploadDialog={true}
|
|
148
|
+
getUploadDialogProps={props => {
|
|
149
|
+
setUploadDialogProps(props)
|
|
150
|
+
}}
|
|
151
|
+
/>
|
|
152
|
+
|
|
153
|
+
<UploadListDialog
|
|
154
|
+
{...uploadDialogProps}
|
|
155
|
+
className="fixed bottom-4 left-4"
|
|
156
|
+
/>
|
|
157
|
+
</div>
|
|
158
|
+
);
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## BlockEditor Props
|
|
163
|
+
|
|
164
|
+
The `BlockEditor` component accepts the following props:
|
|
165
|
+
|
|
166
|
+
| Prop | Type | Required | Default | Description |
|
|
167
|
+
|------|------|----------|---------|-------------|
|
|
168
|
+
| `content` | `string` | No | `''` | Initial HTML content for the editor |
|
|
169
|
+
| `onChange` | `(content: string, isChanged: { isChanged: boolean, isStrictChanged: boolean }, stats: EditorStats) => void` | No | - | Callback function called when editor content changes, includes change status and statistics |
|
|
170
|
+
| `className` | `string` | No | `''` | Additional CSS classes to apply to the editor |
|
|
171
|
+
| `readOnly` | `boolean` | No | `false` | Whether the editor is in read-only mode |
|
|
172
|
+
| `onUploadImage` | `(file: File) => Promise<string>` | No | - | Function to handle image uploads. Must return a Promise that resolves to the image URL |
|
|
173
|
+
| `maxSize` | `number` | No | `5 * 1024 * 1024` (5MB) | Maximum file size in bytes for image uploads |
|
|
174
|
+
| `maxEmbeddings` | `number` | No | `3` | Maximum number of images allowed in the editor |
|
|
175
|
+
| `maxCharacters` | `number` | No | - | Maximum number of characters allowed in the editor |
|
|
176
|
+
| `showDebug` | `boolean \| { altCharacterCounter?: boolean }` | No | `false` | Whether to show debug information including character count, word count, and editor state |
|
|
177
|
+
| `key` | `string` | No | - | Unique key for multiple editor instances |
|
|
178
|
+
| `altCharacterCounter` | `boolean` | No | `false` | Use alternative character counting method |
|
|
179
|
+
| `getUploadDialogProps` | `(props: UploadListDialogProps) => void` | No | - | Callback to get upload dialog props for custom implementation |
|
|
180
|
+
| `disableBuiltInUploadDialog` | `boolean` | No | `false` | Whether to disable the built-in upload dialog |
|
|
181
|
+
|
|
182
|
+
### EditorStats Interface
|
|
183
|
+
|
|
184
|
+
The `EditorStats` interface returned in the `onChange` callback includes:
|
|
185
|
+
|
|
186
|
+
| Property | Type | Description |
|
|
187
|
+
|----------|------|-------------|
|
|
188
|
+
| `characters` | `number` | Number of characters in the editor |
|
|
189
|
+
| `words` | `number` | Number of words in the editor |
|
|
190
|
+
| `percentage` | `number` | Completion percentage if maxCharacters is set |
|
|
191
|
+
| `embedCount` | `number` | Number of embedded elements |
|
|
192
|
+
| `embedList` | `string[]` | List of embedded element URLs |
|
|
193
|
+
| `plainText` | `string` | Plain text content of the editor |
|
|
194
|
+
|
|
195
|
+
### UploadListDialogProps Interface
|
|
196
|
+
|
|
197
|
+
The `UploadListDialogProps` interface includes:
|
|
198
|
+
|
|
199
|
+
| Property | Type | Description |
|
|
200
|
+
|----------|------|-------------|
|
|
201
|
+
| `items` | `UploadListItem[]` | List of upload items |
|
|
202
|
+
| `onRetry` | `(id: string) => void` | Function to retry failed uploads |
|
|
203
|
+
| `className` | `string` | Additional CSS classes for the dialog |
|
|
204
|
+
| `pillClassName` | `string` | Additional CSS classes for the pill component |
|
|
205
|
+
| `dialogClassName` | `string` | Additional CSS classes for the dialog container |
|
|
206
|
+
|
|
207
|
+
## Development
|
|
208
|
+
For detailed development instructions, please refer to [DEVELOPMENT.md](DEVELOPMENT.md).
|
|
209
|
+
|
|
210
|
+
## License
|
|
211
|
+
|
|
212
|
+
MIT
|
package/dist/index.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
.ProseMirror input::-moz-placeholder,.ProseMirror textarea::-moz-placeholder{color:#00000080}.ProseMirror input::placeholder,.ProseMirror textarea::placeholder{color:#00000080}.ProseMirror input:is(.dark *)::placeholder,.ProseMirror textarea:is(.dark *)::placeholder{color:#fff6}.ProseMirror input::-webkit-input-placeholder,.ProseMirror textarea::-webkit-input-placeholder{color:#00000080}.ProseMirror input:is(.dark *)::-webkit-input-placeholder,.ProseMirror textarea:is(.dark *)::-webkit-input-placeholder{color:#fff6}.ProseMirror input::-moz-placeholder,.ProseMirror textarea::-moz-placeholder{color:#0006}.ProseMirror input:is(.dark *)::-moz-placeholder,.ProseMirror textarea:is(.dark *)::-moz-placeholder{color:#fff6}.ProseMirror .react-colorful{width:100%!important}.ProseMirror [data-reference-hidden]{opacity:0;pointer-events:none}.ProseMirror ::-webkit-scrollbar{height:.25rem;width:.25rem;background-color:#73737333}.ProseMirror ::-webkit-scrollbar-thumb{border-radius:9999px;background-color:#73737380}.ProseMirror ::-webkit-scrollbar-thumb:hover{cursor:pointer}.ProseMirror input[type=range]{height:.625rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;border-width:0px;--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ProseMirror input[type=range]:active{--tw-bg-opacity: 1;background-color:rgb(212 212 212 / var(--tw-bg-opacity, 1))}.ProseMirror input[type=range]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.ProseMirror input[type=range]:active:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(82 82 82 / var(--tw-bg-opacity, 1))}.ProseMirror input[type=range]::-webkit-slider-thumb{height:1.25rem;width:.75rem;-webkit-appearance:none;appearance:none;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1));-webkit-transition-property:all;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ProseMirror input[type=range]::-webkit-slider-thumb:active{height:1.5rem;width:1rem;--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.ProseMirror input[type=range]:is(.dark *)::-webkit-slider-thumb{--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.ProseMirror input[type=range]:is(.dark *)::-webkit-slider-thumb:active{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.ProseMirror .is-empty:before{--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.ProseMirror .is-empty:is(.dark *):before{--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.ProseMirror>*:first-child:first-child,.ProseMirror [data-type=column]>*:first-child{margin-top:0}.ProseMirror>*:first-child:last-child,.ProseMirror [data-type=column]>*:last-child{margin-bottom:0}.ProseMirror>*+*{margin-top:.75em}.ProseMirror .node-imageUpload{border-radius:.25rem;border-width:2px;border-style:dotted;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1));--tw-border-opacity: .1;padding:.5rem}.ProseMirror .node-imageUpload:is(.dark *){--tw-border-opacity: 1;border-color:rgb(115 115 115 / var(--tw-border-opacity, 1))}.ProseMirror .node-imageUpload{transition:border .16s cubic-bezier(.45,.05,.55,.95)}.ProseMirror .node-imageUpload:hover{--tw-border-opacity: .3}.ProseMirror .node-imageUpload:has(.is-active),.ProseMirror .node-imageUpload.has-focus{--tw-border-opacity: .4}.ProseMirror [data-type=columns].has-focus [data-type=column],.ProseMirror [data-type=columns]:hover [data-type=column]{--tw-border-opacity: 1;border-color:rgb(212 212 212 / var(--tw-border-opacity, 1))}.ProseMirror [data-type=columns].has-focus [data-type=column]:is(.dark *),.ProseMirror [data-type=columns]:hover [data-type=column]:is(.dark *){--tw-border-opacity: 1;border-color:rgb(64 64 64 / var(--tw-border-opacity, 1))}.ProseMirror [data-type=columns] [data-type=column].has-focus{--tw-border-opacity: 1;border-color:rgb(163 163 163 / var(--tw-border-opacity, 1))}.ProseMirror [data-type=columns] [data-type=column].has-focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(82 82 82 / var(--tw-border-opacity, 1))}.ProseMirror [data-type=column]{border-radius:.25rem;border-width:2px;border-style:dotted;border-color:transparent;padding:.25rem;transition:border .16s cubic-bezier(.45,.05,.55,.95)}.ProseMirror [data-type=column]:hover{--tw-border-opacity: 1;border-color:rgb(245 245 245 / var(--tw-border-opacity, 1))}.ProseMirror [data-type=column]:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(23 23 23 / var(--tw-border-opacity, 1))}.ProseMirror [data-type=column]:has(.is-active),.ProseMirror [data-type=column].has-focus{--tw-border-opacity: 1;border-color:rgb(245 245 245 / var(--tw-border-opacity, 1))}.ProseMirror [data-type=column]:has(.is-active):is(.dark *),.ProseMirror [data-type=column].has-focus:is(.dark *){--tw-border-opacity: 1;border-color:rgb(23 23 23 / var(--tw-border-opacity, 1))}.ProseMirror .node-imageBlock .wrapper{border-radius:.75rem;outline-style:solid;outline-width:2px;outline-offset:4px;outline-color:transparent;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ProseMirror .node-imageBlock img{overflow:hidden;border-radius:.75rem}.ProseMirror .node-imageBlock:hover .wrapper{outline-color:#d4d4d4}.ProseMirror .node-imageBlock:hover .wrapper:is(.dark *){outline-color:#171717}.ProseMirror .node-imageBlock:has(.is-active) .wrapper,.ProseMirror .node-imageBlock.has-focus .wrapper{outline-color:#262626}.ProseMirror .node-imageBlock:has(.is-active) .wrapper:is(.dark *),.ProseMirror .node-imageBlock.has-focus .wrapper:is(.dark *){outline-color:#e5e5e5}.ProseMirror:not([contenteditable=true]) .node-imageBlock:hover .wrapper{outline:2px solid transparent;outline-offset:2px}.ProseMirror .node-aiWriter.has-focus [data-node-view-wrapper]>*,.ProseMirror .node-aiImage.has-focus [data-node-view-wrapper]>*,.ProseMirror .node-tableOfContentsNode.has-focus [data-node-view-wrapper]>*{border-radius:.5rem;--tw-shadow: 0 0 0 2px;--tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: rgb(0 0 0 / .3);--tw-shadow: var(--tw-shadow-colored);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ProseMirror .node-aiWriter.has-focus [data-node-view-wrapper]>*:is(.dark *),.ProseMirror .node-aiImage.has-focus [data-node-view-wrapper]>*:is(.dark *),.ProseMirror .node-tableOfContentsNode.has-focus [data-node-view-wrapper]>*:is(.dark *){--tw-shadow-color: rgb(255 255 255 / .3);--tw-shadow: var(--tw-shadow-colored)}.ProseMirror .ProseMirror-gapcursor+.node-imageBlock,.ProseMirror .ProseMirror-gapcursor+.node-imageUpload,.ProseMirror .ProseMirror-gapcursor+[data-type=blockquoteFigure]{outline-color:#404040}.ProseMirror .ProseMirror-gapcursor+.node-imageBlock:hover,.ProseMirror .ProseMirror-gapcursor+.node-imageUpload:hover,.ProseMirror .ProseMirror-gapcursor+[data-type=blockquoteFigure]:hover{outline-color:#525252}.ProseMirror .ProseMirror-gapcursor+.node-imageBlock:is(.dark *),.ProseMirror .ProseMirror-gapcursor+.node-imageUpload:is(.dark *),.ProseMirror .ProseMirror-gapcursor+[data-type=blockquoteFigure]:is(.dark *){outline-color:#d4d4d4}.ProseMirror .ProseMirror-gapcursor+.node-imageBlock:hover:is(.dark *),.ProseMirror .ProseMirror-gapcursor+.node-imageUpload:hover:is(.dark *),.ProseMirror .ProseMirror-gapcursor+[data-type=blockquoteFigure]:hover:is(.dark *){outline-color:#a3a3a3}.ProseMirror [data-type=blockquoteFigure]>div{border-radius:.5rem;border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgb(64 64 64 / var(--tw-border-opacity, 1));--tw-bg-opacity: .8;padding:.5rem 1rem}.ProseMirror [data-type=blockquoteFigure]>div:is(.dark *){--tw-border-opacity: 1;border-left-color:rgb(212 212 212 / var(--tw-border-opacity, 1))}.ProseMirror [data-type=blockquoteFigure]>blockquote{font-size:1.125rem;line-height:1.75rem;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.ProseMirror [data-type=blockquoteFigure]>blockquote:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.ProseMirror [data-type=blockquoteFigure] figcaption{margin-top:1rem;overflow:hidden;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ProseMirror [data-type=blockquoteFigure] figcaption:is(.dark *){--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.bottom-4{bottom:1rem}.left-0{left:0}.left-2{left:.5rem}.left-4{left:1rem}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-10{top:2.5rem}.top-2{top:.5rem}.z-10{z-index:10}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.col-\[1\/-1\]{grid-column:1/-1}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[1px\]{height:1px}.h-\[4\.5rem\]{height:4.5rem}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-72{max-height:18rem}.max-h-80,.max-h-\[20rem\]{max-height:20rem}.max-h-\[300px\]{max-height:300px}.max-h-\[min\(80vh\,24rem\)\]{max-height:min(80vh,24rem)}.min-h-\[1\.5rem\]{min-height:1.5rem}.min-h-full{min-height:100%}.w-2{width:.5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[1px\]{width:1px}.w-\[200px\]{width:200px}.w-auto{width:auto}.w-full{width:100%}.min-w-\[1\.5rem\]{min-width:1.5rem}.min-w-\[10rem\]{min-width:10rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[15rem\]{min-width:15rem}.min-w-\[16rem\]{min-width:16rem}.min-w-\[2rem\]{min-width:2rem}.max-w-\[15rem\]{max-width:15rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-3{--tw-translate-x: .75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-4{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-black\/10{border-color:#0000001a}.border-current{border-color:currentColor}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-neutral-100{--tw-border-opacity: 1;border-color:rgb(245 245 245 / var(--tw-border-opacity, 1))}.border-neutral-200{--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1))}.border-neutral-600{--tw-border-opacity: 1;border-color:rgb(82 82 82 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-b-black\/10{border-bottom-color:#0000001a}.border-t-transparent{border-top-color:transparent}.bg-\[\#FF746C\]{--tw-bg-opacity: 1;background-color:rgb(255 116 108 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/10{background-color:#0000001a}.bg-black\/5{background-color:#0000000d}.bg-black\/60{background-color:#0009}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-neutral-100{--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.bg-neutral-200{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.bg-neutral-50{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.bg-neutral-900{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/5{background-color:#ffffff0d}.bg-white\/80{background-color:#fffc}.bg-opacity-10{--tw-bg-opacity: .1}.fill-neutral-300{fill:#d4d4d4}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[0\.2rem\]{padding:.2rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-2{padding-bottom:.5rem}.pl-20{padding-left:5rem}.pr-8{padding-right:2rem}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-\[\.65rem\]{font-size:.65rem}.text-\[0\.625rem\]{font-size:.625rem}.text-\[0\.65rem\]{font-size:.65rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-black\/80{color:#000c}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-neutral-400{--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.text-neutral-500{--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.text-neutral-800{--tw-text-opacity: 1;color:rgb(38 38 38 / var(--tw-text-opacity, 1))}.text-neutral-900{--tw-text-opacity: 1;color:rgb(23 23 23 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.caret-black{caret-color:#000}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-current{--tw-ring-color: currentColor}.ring-offset-2{--tw-ring-offset-width: 2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}@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))}}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.first\:ml-0:first-child{margin-left:0}.first\:mt-0:first-child{margin-top:0}.first\:mt-0\.5:first-child{margin-top:.125rem}.first\:mt-1:first-child{margin-top:.25rem}.first\:mt-1\.5:first-child{margin-top:.375rem}.last\:mr-0:last-child{margin-right:0}.last\:mt-0:last-child{margin-top:0}.hover\:border-white\/10:hover{border-color:#ffffff1a}.hover\:bg-black\/10:hover{background-color:#0000001a}.hover\:bg-black\/5:hover{background-color:#0000000d}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-neutral-100:hover{--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.hover\:bg-neutral-300:hover{--tw-bg-opacity: 1;background-color:rgb(212 212 212 / var(--tw-bg-opacity, 1))}.hover\:bg-neutral-50:hover{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.hover\:bg-neutral-800:hover{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-opacity-20:hover{--tw-bg-opacity: .2}.hover\:text-black:hover{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.hover\:text-neutral-700:hover{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.hover\:text-neutral-800:hover{--tw-text-opacity: 1;color:rgb(38 38 38 / var(--tw-text-opacity, 1))}.hover\:text-purple-600:hover{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:ring-1:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:bg-transparent:focus{background-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline:focus{outline-style:solid}.focus\:outline-1:focus{outline-width:1px}.focus\:outline-black:focus{outline-color:#000}.focus\:outline-neutral-300:focus{outline-color:#d4d4d4}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.active\:bg-black\/10:active{background-color:#0000001a}.active\:bg-neutral-200:active{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.active\:bg-neutral-900:active{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.active\:bg-transparent:active{background-color:transparent}.active\:text-neutral-800:active{--tw-text-opacity: 1;color:rgb(38 38 38 / var(--tw-text-opacity, 1))}.active\:text-purple-600:active{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.active\:outline:active{outline-style:solid}.active\:outline-black:active{outline-color:#000}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:border-neutral-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1))}.dark\:border-neutral-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(23 23 23 / var(--tw-border-opacity, 1))}.dark\:border-white:is(.dark *){--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.dark\:bg-black:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.dark\:bg-neutral-300:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(212 212 212 / var(--tw-bg-opacity, 1))}.dark\:bg-neutral-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.dark\:bg-neutral-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.dark\:bg-white:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.dark\:bg-white\/10:is(.dark *){background-color:#ffffff1a}.dark\:bg-white\/20:is(.dark *){background-color:#fff3}.dark\:text-black:is(.dark *){--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:text-green-200:is(.dark *){--tw-text-opacity: 1;color:rgb(187 247 208 / var(--tw-text-opacity, 1))}.dark\:text-neutral-200:is(.dark *){--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity, 1))}.dark\:text-neutral-400:is(.dark *){--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.dark\:text-neutral-500:is(.dark *){--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.dark\:text-neutral-600:is(.dark *){--tw-text-opacity: 1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.dark\:text-purple-400:is(.dark *){--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.dark\:text-red-500:is(.dark *){--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:text-white\/80:is(.dark *){color:#fffc}.dark\:caret-white:is(.dark *){caret-color:#fff}.dark\:hover\:border-neutral-600:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(82 82 82 / var(--tw-border-opacity, 1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-neutral-200:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-neutral-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-neutral-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-neutral-900:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-500:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-white\/10:hover:is(.dark *){background-color:#ffffff1a}.dark\:hover\:bg-white\/20:hover:is(.dark *){background-color:#fff3}.dark\:hover\:bg-opacity-20:hover:is(.dark *){--tw-bg-opacity: .2}.dark\:hover\:text-neutral-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity, 1))}.dark\:hover\:text-neutral-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(212 212 212 / var(--tw-text-opacity, 1))}.dark\:hover\:text-neutral-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.dark\:hover\:text-purple-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(233 213 255 / var(--tw-text-opacity, 1))}.dark\:hover\:text-purple-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.dark\:hover\:text-red-500:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.dark\:focus\:outline-neutral-700:focus:is(.dark *){outline-color:#404040}.dark\:focus\:outline-white:focus:is(.dark *){outline-color:#fff}.dark\:active\:bg-neutral-300:active:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(212 212 212 / var(--tw-bg-opacity, 1))}.dark\:active\:bg-neutral-700:active:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.dark\:active\:bg-neutral-800:active:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.dark\:active\:text-neutral-200:active:is(.dark *){--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity, 1))}.dark\:active\:text-purple-400:active:is(.dark *){--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.dark\:active\:outline-white:active:is(.dark *){outline-color:#fff}@media (min-width: 1024px){.lg\:pl-8{padding-left:2rem}.lg\:pr-8{padding-right:2rem}}.spinner-animation{animation:spinner 1.6s linear infinite;animation-delay:-1.6s}.spinner-animation-secondary{animation-delay:-1s}@keyframes spinner{12.5%{x:13px;y:1px}25%{x:13px;y:1px}37.5%{x:13px;y:13px}50%{x:13px;y:13px}62.5%{x:1px;y:13px}75%{x:1px;y:13px}87.5%{x:1px;y:1px}}.ProseMirror figure[data-type=imageBlock]{margin:0}.ProseMirror figure[data-type=imageBlock] img{display:block;width:100%;border-radius:.25rem}.ProseMirror figure[data-type=blockquoteFigure]{margin-top:3.5rem;margin-bottom:3.5rem;overflow:hidden;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));padding:.5rem;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.ProseMirror figure[data-type=blockquoteFigure]:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.ProseMirror>blockquote blockquote,.ProseMirror [data-type=blockquoteFigure] blockquote{margin:0}.ProseMirror>blockquote blockquote>*:first-child,.ProseMirror [data-type=blockquoteFigure] blockquote>*:first-child{margin-top:0}.ProseMirror>blockquote blockquote>*:last-child,.ProseMirror [data-type=blockquoteFigure] blockquote>*:last-child{margin-bottom:0}.ProseMirror:not([contenteditable=true]) [data-type=blockquoteFigure] figcaption.empty-content{display:none}.ProseMirror [data-type=columns]{margin-top:3.5rem;margin-bottom:3rem;display:grid;gap:1rem}.ProseMirror [data-type=columns].layout-sidebar-left{grid-template-columns:40fr 60fr}.ProseMirror [data-type=columns].layout-sidebar-right{grid-template-columns:60fr 40fr}.ProseMirror [data-type=columns].layout-two-column{grid-template-columns:1fr 1fr}.ProseMirror [data-type=column]{overflow:auto}.ProseMirror [data-type=details]{margin-top:1.5rem;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;display:flex;gap:.25rem;border-radius:.25rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));padding:.5rem}.ProseMirror [data-type=details] summary{display:block;font-weight:700}.ProseMirror [data-type=details]>button{display:flex;height:1.25rem;width:1.25rem;cursor:pointer;align-items:center;justify-content:center;border-radius:.25rem;border-style:none;background-color:transparent;font-size:.75rem;line-height:1rem}.ProseMirror [data-type=details]>button:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.ProseMirror [data-type=details]>button:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.ProseMirror [data-type=details]>button:before{content:"\25b6"}.ProseMirror [data-type=details].is-open>button:before{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ProseMirror [data-type=details]>div{display:flex;width:100%;flex-direction:column;gap:1rem}.ProseMirror [data-type=details]>div>[data-type=detailsContent]>:last-child{margin-bottom:.5rem}.ProseMirror [data-type=details] [data-type=details]{margin-top:.5rem;margin-bottom:.5rem;margin-left:0;margin-right:0}.ProseMirror code{border-radius:4px;background-color:#87837826;padding:.2em .4em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:85%;--tw-text-opacity: 1;color:rgb(235 87 87 / var(--tw-text-opacity, 1));font-family:SFMono-Regular,Menlo,Consolas,PT Mono,Liberation Mono,Courier,monospace}.ProseMirror code::-moz-selection{background-color:#0003}.ProseMirror code::selection{background-color:#0003}.ProseMirror pre{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1));padding:2.5rem 1rem 1rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));caret-color:#fff}.ProseMirror pre:is(.dark *){--tw-border-opacity: 1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.ProseMirror pre{line-height:1.5;overflow-x:auto;width:100%;min-width:100%}.ProseMirror pre *::-moz-selection{background-color:#fff3}.ProseMirror pre *::selection{background-color:#fff3}.ProseMirror pre code{background-color:inherit;padding:0;color:inherit;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);white-space:pre!important}.ProseMirror pre code.wrap{white-space:pre-wrap!important}.ProseMirror pre code.nowrap{white-space:pre!important}.ProseMirror pre .hljs-comment,.ProseMirror pre .hljs-quote{--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.ProseMirror pre .hljs-variable,.ProseMirror pre .hljs-template-variable,.ProseMirror pre .hljs-attribute,.ProseMirror pre .hljs-tag,.ProseMirror pre .hljs-name,.ProseMirror pre .hljs-regexp,.ProseMirror pre .hljs-link,.ProseMirror pre .hljs-selector-id,.ProseMirror pre .hljs-selector-class{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.ProseMirror pre .hljs-number,.ProseMirror pre .hljs-meta,.ProseMirror pre .hljs-built_in,.ProseMirror pre .hljs-builtin-name,.ProseMirror pre .hljs-literal,.ProseMirror pre .hljs-type,.ProseMirror pre .hljs-params{--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.ProseMirror pre .hljs-string,.ProseMirror pre .hljs-symbol,.ProseMirror pre .hljs-bullet{--tw-text-opacity: 1;color:rgb(190 242 100 / var(--tw-text-opacity, 1))}.ProseMirror pre .hljs-title,.ProseMirror pre .hljs-section{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.ProseMirror pre .hljs-keyword,.ProseMirror pre .hljs-selector-tag{--tw-text-opacity: 1;color:rgb(94 234 212 / var(--tw-text-opacity, 1))}.ProseMirror pre .hljs-emphasis{font-style:italic}.ProseMirror pre .hljs-strong{font-weight:700}.ProseMirror ol{list-style-type:decimal}.ProseMirror ul{list-style-type:disc}.ProseMirror ul,.ProseMirror ol{margin-top:1.5rem;margin-bottom:1.5rem;padding-top:0;padding-bottom:0;padding-left:2rem;padding-right:2rem}.ProseMirror ul:first-child,.ProseMirror ol:first-child{margin-top:0}.ProseMirror ul:last-child,.ProseMirror ol:last-child{margin-bottom:0}.ProseMirror ul ul,.ProseMirror ul ol,.ProseMirror ul li,.ProseMirror ol ul,.ProseMirror ol ol,.ProseMirror ol li{margin-top:.25rem;margin-bottom:.25rem}.ProseMirror ul p,.ProseMirror ol p{margin-top:0;margin-bottom:.25rem}.ProseMirror>ul,.ProseMirror>ol{margin-top:2rem;margin-bottom:2rem}.ProseMirror>ul:first-child,.ProseMirror>ol:first-child{margin-top:0}.ProseMirror>ul:last-child,.ProseMirror>ol:last-child{margin-bottom:0}.ProseMirror ul[data-type=taskList]{list-style-type:none;padding:0}.ProseMirror ul[data-type=taskList] p{margin:0}.ProseMirror ul[data-type=taskList] li{display:flex}.ProseMirror ul[data-type=taskList] li>label{margin-top:.25rem;margin-right:.5rem;flex:1 1 auto;flex-shrink:0;flex-grow:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ProseMirror ul[data-type=taskList] li>div{flex:1 1 auto}.ProseMirror ul[data-type=taskList] li[data-checked=true]{text-decoration-line:line-through}.ProseMirror .is-empty:before{pointer-events:none;float:left;height:0px;width:100%;color:#0006}.ProseMirror .is-empty:is(.dark *):before{color:#fff6}.ProseMirror.ProseMirror-focused>p.has-focus.is-empty:before{content:"Type / to browse options"}.ProseMirror.ProseMirror-focused>[data-type=columns]>[data-type=column]>p.is-empty.has-focus:before{content:"Type / to browse options"}.ProseMirror>.is-editor-empty:first-child:last-child:before{content:"Click here to start writing \2026"}.ProseMirror blockquote .is-empty:not(.is-editor-empty):first-child:last-child:before{content:"Enter a quote"}.ProseMirror blockquote+figcaption.is-empty:not(.is-editor-empty):before{content:"Author"}.ProseMirror [data-placeholder][data-suggestion]:before,.ProseMirror [data-placeholder][data-suggestion] *:before{content:none!important}.ProseMirror [data-type=details].is-editor-empty:before{content:none!important}.ProseMirror [data-type=details] summary.is-empty:before{content:"Enter a summary"}.ProseMirror [data-type=detailsContent] .is-empty:before{content:"Enter details"}.ProseMirror .tableWrapper{margin-top:3rem;margin-bottom:3rem}.ProseMirror table{box-sizing:border-box;width:100%;border-collapse:collapse;border-radius:.25rem;border-color:#0000001a}.ProseMirror table:is(.dark *){border-color:#fff3}.ProseMirror table td,.ProseMirror table th{position:relative;min-width:100px;border-width:1px;border-color:#0000001a;padding:.5rem;text-align:left;vertical-align:top}.ProseMirror table td:is(.dark *),.ProseMirror table th:is(.dark *){border-color:#fff3}.ProseMirror table td:first-of-type:not(a),.ProseMirror table th:first-of-type:not(a){margin-top:0}.ProseMirror table td p,.ProseMirror table th p{margin:0}.ProseMirror table td p+p,.ProseMirror table th p+p{margin-top:.75rem}.ProseMirror table th{font-weight:700}.ProseMirror table .column-resize-handle{pointer-events:none;position:absolute;bottom:-2px;right:-.25rem;top:0;display:flex;width:.5rem}.ProseMirror table .column-resize-handle:before{margin-left:.5rem;height:100%;width:1px;background-color:#0003}.ProseMirror table .column-resize-handle:is(.dark *):before{background-color:#fff3}.ProseMirror table .column-resize-handle:before{content:""}.ProseMirror table .selectedCell{border-style:double;border-color:#0003;background-color:#0000000d}.ProseMirror table .selectedCell:is(.dark *){border-color:#fff3;background-color:#ffffff1a}.ProseMirror table .grip-column,.ProseMirror table .grip-row{position:absolute;z-index:10;display:flex;cursor:pointer;align-items:center;justify-content:center;background-color:#0000000d}.ProseMirror table .grip-column:is(.dark *),.ProseMirror table .grip-row:is(.dark *){background-color:#ffffff1a}.ProseMirror table .grip-column{left:0;top:-.75rem;margin-left:-1px;height:.75rem;width:calc(100% + 1px);border-left-width:1px;border-color:#0003}.ProseMirror table .grip-column:is(.dark *){border-color:#fff3}.ProseMirror table .grip-column:hover:before,.ProseMirror table .grip-column.selected:before{content:"";width:.625rem}.ProseMirror table .grip-column:hover{background-color:#0000001a}.ProseMirror table .grip-column:hover:is(.dark *){background-color:#fff3}.ProseMirror table .grip-column:hover:before{border-bottom-width:2px;border-style:dotted;border-color:#0009}.ProseMirror table .grip-column:hover:is(.dark *):before{border-color:#fff9}.ProseMirror table .grip-column.first{border-top-left-radius:.125rem;border-color:transparent}.ProseMirror table .grip-column.last{border-top-right-radius:.125rem}.ProseMirror table .grip-column.selected{border-color:#0000004d;background-color:#0000004d;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ProseMirror table .grip-column.selected:is(.dark *){border-color:#ffffff4d;background-color:#ffffff4d}.ProseMirror table .grip-column.selected:before{border-bottom-width:2px;border-style:dotted}.ProseMirror table .grip-row{left:-.75rem;top:0;margin-top:-1px;height:calc(100% + 1px);width:.75rem;border-top-width:1px;border-color:#0003}.ProseMirror table .grip-row:is(.dark *){border-color:#fff3}.ProseMirror table .grip-row:hover:before,.ProseMirror table .grip-row.selected:before{height:.625rem;content:""}.ProseMirror table .grip-row:hover{background-color:#0000001a}.ProseMirror table .grip-row:hover:is(.dark *){background-color:#fff3}.ProseMirror table .grip-row:hover:before{border-left-width:2px;border-style:dotted;border-color:#0009}.ProseMirror table .grip-row:hover:is(.dark *):before{border-color:#fff9}.ProseMirror table .grip-row.first{border-top-left-radius:.125rem;border-color:transparent}.ProseMirror table .grip-row.last{border-bottom-left-radius:.125rem}.ProseMirror table .grip-row.selected{border-color:#0000004d;background-color:#0000004d;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ProseMirror table .grip-row.selected:is(.dark *){border-color:#ffffff4d;background-color:#ffffff4d}.ProseMirror table .grip-row.selected:before{border-left-width:2px;border-style:dotted}.ProseMirror p{margin-top:.75rem;margin-bottom:.75rem;line-height:1.625}.ProseMirror p:first-child{margin-top:0}.ProseMirror p:last-child{margin-bottom:0}.ProseMirror>p{margin-top:1.5rem;margin-bottom:1.5rem}.ProseMirror>p:first-child{margin-top:0}.ProseMirror>p:last-child{margin-bottom:0}.ProseMirror h1{font-size:1.875rem;line-height:2.25rem}.ProseMirror h2{font-size:1.5rem;line-height:2rem}.ProseMirror h3{font-size:1.25rem;line-height:1.75rem}.ProseMirror h4{font-size:1.125rem;line-height:1.75rem}.ProseMirror h5{font-size:1rem;line-height:1.5rem}.ProseMirror h6{font-size:.875rem;line-height:1.25rem}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3,.ProseMirror h4,.ProseMirror h5,.ProseMirror h6{font-weight:700}.ProseMirror h1:first-child,.ProseMirror h2:first-child,.ProseMirror h3:first-child,.ProseMirror h4:first-child,.ProseMirror h5:first-child,.ProseMirror h6:first-child{margin-top:0}.ProseMirror h1:last-child,.ProseMirror h2:last-child,.ProseMirror h3:last-child,.ProseMirror h4:last-child,.ProseMirror h5:last-child,.ProseMirror h6:last-child{margin-bottom:0}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3{margin-top:3rem}.ProseMirror h4,.ProseMirror h5,.ProseMirror h6{margin-top:2rem}.ProseMirror a.link{font-weight:800;--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.ProseMirror a.link:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.ProseMirror mark{border-radius:.125rem;--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1));-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:.25rem;padding-bottom:.25rem;padding-left:0;padding-right:0;color:inherit}.ProseMirror mark:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.ProseMirror img{height:auto;width:100%;max-width:100%}.ProseMirror [data-type=horizontalRule]{margin-top:2rem;margin-bottom:2rem;cursor:pointer;padding-top:1rem;padding-bottom:1rem;transition-property:all;transition-duration:.1s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.1s;animation-timing-function:cubic-bezier(.4,0,.2,1)}.ProseMirror [data-type=horizontalRule].ProseMirror-selectednode{background-color:#0000000d}.ProseMirror [data-type=horizontalRule].ProseMirror-selectednode:is(.dark *){background-color:#ffffff1a}.ProseMirror [data-type=horizontalRule].ProseMirror-selectednode hr{border-top-color:#0000004d}.ProseMirror [data-type=horizontalRule].ProseMirror-selectednode hr:is(.dark *){border-top-color:#ffffff4d}.ProseMirror [data-type=horizontalRule]:hover:not(.ProseMirror [data-type=horizontalRule].ProseMirror-selectednode){background-color:#0000000d}.ProseMirror [data-type=horizontalRule]:hover:not(.ProseMirror [data-type=horizontalRule].ProseMirror-selectednode):is(.dark *){background-color:#ffffff1a}.ProseMirror [data-type=horizontalRule] hr{border-width:0px;border-top-width:1px;border-color:#0003;background-color:#000c}.ProseMirror [data-type=horizontalRule] hr:is(.dark *){border-color:#fff3;background-color:#fffc}.ProseMirror [data-type=emoji]{display:inline-block}.ProseMirror [data-type=emoji] img{width:1em;height:1em;-o-object-fit:cover;object-fit:cover;display:block}.ProseMirror .color{white-space:nowrap}.ProseMirror .color:before{background-color:var(--color);border:1px solid rgba(128,128,128,.3);border-radius:2px;content:" ";display:inline-block;height:1em;margin-bottom:.15em;margin-right:.1em;vertical-align:middle;width:1em}.ProseMirror div[data-youtube-video]{position:relative;margin-bottom:2rem;aspect-ratio:16 / 9;width:100%;cursor:move}.ProseMirror div[data-youtube-video] iframe{outline-style:solid;outline-width:2px;outline-offset:4px;outline-color:transparent;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;pointer-events:none;margin-bottom:2rem;height:100%;width:100%;border-radius:.75rem;--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.ProseMirror div[data-youtube-video] iframe:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.ProseMirror div[data-youtube-video]:hover iframe{outline-color:#d4d4d4}.ProseMirror div[data-youtube-video]:hover iframe:is(.dark *){outline-color:#171717}.ProseMirror div[data-youtube-video]:has(.is-active) iframe,.ProseMirror div[data-youtube-video].has-focus iframe{outline-color:#262626}.ProseMirror div[data-youtube-video]:has(.is-active) iframe:is(.dark *),.ProseMirror div[data-youtube-video].has-focus iframe:is(.dark *){outline-color:#e5e5e5}.ProseMirror:not([contenteditable=true]) div[data-youtube-video]{cursor:default}.ProseMirror:not([contenteditable=true]) div[data-youtube-video] iframe{pointer-events:auto}.ProseMirror:not([contenteditable=true]) div[data-youtube-video]:hover iframe{outline:2px solid transparent;outline-offset:2px}.ProseMirror{z-index:0;margin-left:auto;margin-right:auto;max-width:42rem;caret-color:#000;outline-width:0px}.ProseMirror:is(.dark *){caret-color:#fff}.ProseMirror .selection{display:inline}.ProseMirror *::-moz-selection{display:inline;background-color:#0000001a}.ProseMirror .selection,.ProseMirror *::selection{display:inline;background-color:#0000001a}.ProseMirror *:is(.dark *)::-moz-selection{background-color:#fff3}.ProseMirror .selection:is(.dark *),.ProseMirror *:is(.dark *)::selection{background-color:#fff3}.ProseMirror>.react-renderer{margin-top:3rem;margin-bottom:3rem}.ProseMirror>.react-renderer:first-child{margin-top:0}.ProseMirror>.react-renderer:last-child{margin-bottom:0}.ProseMirror.resize-cursor{cursor:col-resize}.ProseMirror .ProseMirror-gapcursor{position:relative;margin-left:auto;margin-right:auto;width:100%;max-width:42rem}.ProseMirror .ProseMirror-gapcursor:after{top:-1.5em;left:0;right:0;margin-left:auto;margin-right:auto;width:100%;max-width:42rem;border-top-color:#0006}.ProseMirror .ProseMirror-gapcursor:is(.dark *):after{border-top-color:#fff6}[data-theme=slash-command]{width:1000vw}
|
|
2
|
+
/*# sourceMappingURL=index.css.map */
|