@marlinjai/email-editor 0.3.0 → 0.4.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.
- package/README.md +3 -3
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +6 -0
- package/dist/index.mjs +6 -0
- package/dist/react.d.mts +4 -2
- package/dist/react.d.ts +4 -2
- package/dist/react.js +3 -1
- package/dist/react.mjs +3 -1
- package/dist/styles.css +1 -1
- package/dist/{types-G7Ak2dWQ.d.mts → types-BVSyfGwc.d.mts} +10 -0
- package/dist/{types-G7Ak2dWQ.d.ts → types-BVSyfGwc.d.ts} +10 -0
- package/package.json +4 -4
- package/dist/types-BoNyjNFe.d.mts +0 -42
- package/dist/types-BoNyjNFe.d.ts +0 -42
package/README.md
CHANGED
|
@@ -116,7 +116,7 @@ export async function POST(request: Request) {
|
|
|
116
116
|
// { webFonts: false } leaves out MJML's automatic Google Fonts imports
|
|
117
117
|
// (for fonts such as Roboto or Lato), when your mails must load nothing
|
|
118
118
|
// from third parties.
|
|
119
|
-
const { html, mjml, errors } = createMJMLCompiler().compile(doc);
|
|
119
|
+
const { html, mjml, errors } = await createMJMLCompiler().compile(doc);
|
|
120
120
|
return Response.json({ html, mjml, errors });
|
|
121
121
|
} catch (error) {
|
|
122
122
|
if (isTemplateMigrationError(error)) {
|
|
@@ -143,7 +143,7 @@ import { createMJMLCompiler } from '@marlinjai/email-editor-core/server';
|
|
|
143
143
|
|
|
144
144
|
export async function POST(request: Request) {
|
|
145
145
|
const format = new URL(request.url).searchParams.get('format') === 'mjml' ? 'mjml' : 'html';
|
|
146
|
-
const { html, mjml, errors } = createMJMLCompiler().compile(migrateTemplate(await request.json()));
|
|
146
|
+
const { html, mjml, errors } = await createMJMLCompiler().compile(migrateTemplate(await request.json()));
|
|
147
147
|
return new Response(format === 'mjml' ? mjml : html, {
|
|
148
148
|
headers: {
|
|
149
149
|
'content-type': format === 'mjml' ? 'text/plain; charset=utf-8' : 'text/html; charset=utf-8',
|
|
@@ -162,7 +162,7 @@ The editor's `getHTML()` and `getMJML()` cannot compile in the browser; call you
|
|
|
162
162
|
import { importMjml, isMjmlImportError } from '@marlinjai/email-editor-core/server';
|
|
163
163
|
|
|
164
164
|
try {
|
|
165
|
-
const { document, warnings } = importMjml(mjmlSource);
|
|
165
|
+
const { document, warnings } = await importMjml(mjmlSource);
|
|
166
166
|
// `document` passed migrateTemplate: open it in the editor, or store it.
|
|
167
167
|
// `warnings`: what could not become an editable block, with where and why.
|
|
168
168
|
} catch (error) {
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as EditorOptions, a as EditorInstance } from './types-
|
|
2
|
-
export { b as EditorTheme, S as SavedSectionInput } from './types-
|
|
1
|
+
import { E as EditorOptions, a as EditorInstance } from './types-BVSyfGwc.mjs';
|
|
2
|
+
export { b as EditorTheme, S as SavedSectionInput } from './types-BVSyfGwc.mjs';
|
|
3
3
|
export { ImageRequest, OnRequestImage, OnSaveSection, RequestedImage } from '@marlinjai/email-editor-ui';
|
|
4
4
|
export { Block, BlockDefinition, Column, EmailTemplate, Section } from '@marlinjai/email-editor-core';
|
|
5
5
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as EditorOptions, a as EditorInstance } from './types-
|
|
2
|
-
export { b as EditorTheme, S as SavedSectionInput } from './types-
|
|
1
|
+
import { E as EditorOptions, a as EditorInstance } from './types-BVSyfGwc.js';
|
|
2
|
+
export { b as EditorTheme, S as SavedSectionInput } from './types-BVSyfGwc.js';
|
|
3
3
|
export { ImageRequest, OnRequestImage, OnSaveSection, RequestedImage } from '@marlinjai/email-editor-ui';
|
|
4
4
|
export { Block, BlockDefinition, Column, EmailTemplate, Section } from '@marlinjai/email-editor-core';
|
|
5
5
|
|
package/dist/index.js
CHANGED
|
@@ -98,6 +98,7 @@ function createEditor(options) {
|
|
|
98
98
|
builtInSections = true,
|
|
99
99
|
placeholderBase
|
|
100
100
|
} = options;
|
|
101
|
+
let policyErrors = options.policyErrors;
|
|
101
102
|
assertSupportedBlocks(blocks);
|
|
102
103
|
const registry = (0, import_email_editor_blocks.createStandardBlockRegistry)({ placeholderBase });
|
|
103
104
|
blocks.forEach((block) => {
|
|
@@ -131,6 +132,7 @@ function createEditor(options) {
|
|
|
131
132
|
onRequestImage,
|
|
132
133
|
onSaveSection,
|
|
133
134
|
savedSectionNames: savedSections.map((s) => s.name),
|
|
135
|
+
policyErrors,
|
|
134
136
|
style: themeToStyle(theme)
|
|
135
137
|
})
|
|
136
138
|
);
|
|
@@ -164,6 +166,10 @@ function createEditor(options) {
|
|
|
164
166
|
root.unmount();
|
|
165
167
|
root = null;
|
|
166
168
|
}
|
|
169
|
+
},
|
|
170
|
+
setPolicyErrors(errors) {
|
|
171
|
+
policyErrors = errors;
|
|
172
|
+
if (root) render();
|
|
167
173
|
}
|
|
168
174
|
};
|
|
169
175
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -38,6 +38,7 @@ function createEditor(options) {
|
|
|
38
38
|
builtInSections = true,
|
|
39
39
|
placeholderBase
|
|
40
40
|
} = options;
|
|
41
|
+
let policyErrors = options.policyErrors;
|
|
41
42
|
assertSupportedBlocks(blocks);
|
|
42
43
|
const registry = createStandardBlockRegistry({ placeholderBase });
|
|
43
44
|
blocks.forEach((block) => {
|
|
@@ -71,6 +72,7 @@ function createEditor(options) {
|
|
|
71
72
|
onRequestImage,
|
|
72
73
|
onSaveSection,
|
|
73
74
|
savedSectionNames: savedSections.map((s) => s.name),
|
|
75
|
+
policyErrors,
|
|
74
76
|
style: themeToStyle(theme)
|
|
75
77
|
})
|
|
76
78
|
);
|
|
@@ -104,6 +106,10 @@ function createEditor(options) {
|
|
|
104
106
|
root.unmount();
|
|
105
107
|
root = null;
|
|
106
108
|
}
|
|
109
|
+
},
|
|
110
|
+
setPolicyErrors(errors) {
|
|
111
|
+
policyErrors = errors;
|
|
112
|
+
if (root) render();
|
|
107
113
|
}
|
|
108
114
|
};
|
|
109
115
|
}
|
package/dist/react.d.mts
CHANGED
|
@@ -4,7 +4,7 @@ import { TemplateSnapshotOut, TemplateSnapshotIn, BlockDefinition } from '@marli
|
|
|
4
4
|
export { BlockDefinition, TemplateSnapshotIn, TemplateSnapshotOut } from '@marlinjai/email-editor-core';
|
|
5
5
|
import { OnRequestImage, OnSaveSection } from '@marlinjai/email-editor-ui';
|
|
6
6
|
export { ImageRequest, OnRequestImage, OnSaveSection, RequestedImage } from '@marlinjai/email-editor-ui';
|
|
7
|
-
import { b as EditorTheme, S as SavedSectionInput } from './types-
|
|
7
|
+
import { b as EditorTheme, S as SavedSectionInput } from './types-BVSyfGwc.mjs';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Two things about the editor are easy to get wrong, and getting either wrong
|
|
@@ -88,11 +88,13 @@ interface EmailEditorReactProps {
|
|
|
88
88
|
* section" action. Without it no action appears, rather than one that fails.
|
|
89
89
|
*/
|
|
90
90
|
onSaveSection?: OnSaveSection;
|
|
91
|
+
/** The messages of the host's most recent server compile, when it refused something; a badge in the toolbar. See `EditorOptions.policyErrors`. */
|
|
92
|
+
policyErrors?: string[];
|
|
91
93
|
}
|
|
92
94
|
/**
|
|
93
95
|
* React wrapper for email editor
|
|
94
96
|
* Convenience component for React applications
|
|
95
97
|
*/
|
|
96
|
-
declare function EmailEditorReact({ initialTemplate, onChange, theme, blocks, onSave, onExport, onNavigateBack, onRequestImage, savedSections, onSaveSection, builtInSections, placeholderBase, }: EmailEditorReactProps): react.JSX.Element;
|
|
98
|
+
declare function EmailEditorReact({ initialTemplate, onChange, theme, blocks, onSave, onExport, onNavigateBack, onRequestImage, savedSections, onSaveSection, builtInSections, placeholderBase, policyErrors, }: EmailEditorReactProps): react.JSX.Element;
|
|
97
99
|
|
|
98
100
|
export { EDITOR_CHANGE_DEBOUNCE_MS, type EditorDocument, EditorTheme, EmailEditorReact, type EmailEditorReactProps, SavedSectionInput, themeToStyle, toStoredDocument, useEditorDocument };
|
package/dist/react.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { TemplateSnapshotOut, TemplateSnapshotIn, BlockDefinition } from '@marli
|
|
|
4
4
|
export { BlockDefinition, TemplateSnapshotIn, TemplateSnapshotOut } from '@marlinjai/email-editor-core';
|
|
5
5
|
import { OnRequestImage, OnSaveSection } from '@marlinjai/email-editor-ui';
|
|
6
6
|
export { ImageRequest, OnRequestImage, OnSaveSection, RequestedImage } from '@marlinjai/email-editor-ui';
|
|
7
|
-
import { b as EditorTheme, S as SavedSectionInput } from './types-
|
|
7
|
+
import { b as EditorTheme, S as SavedSectionInput } from './types-BVSyfGwc.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Two things about the editor are easy to get wrong, and getting either wrong
|
|
@@ -88,11 +88,13 @@ interface EmailEditorReactProps {
|
|
|
88
88
|
* section" action. Without it no action appears, rather than one that fails.
|
|
89
89
|
*/
|
|
90
90
|
onSaveSection?: OnSaveSection;
|
|
91
|
+
/** The messages of the host's most recent server compile, when it refused something; a badge in the toolbar. See `EditorOptions.policyErrors`. */
|
|
92
|
+
policyErrors?: string[];
|
|
91
93
|
}
|
|
92
94
|
/**
|
|
93
95
|
* React wrapper for email editor
|
|
94
96
|
* Convenience component for React applications
|
|
95
97
|
*/
|
|
96
|
-
declare function EmailEditorReact({ initialTemplate, onChange, theme, blocks, onSave, onExport, onNavigateBack, onRequestImage, savedSections, onSaveSection, builtInSections, placeholderBase, }: EmailEditorReactProps): react.JSX.Element;
|
|
98
|
+
declare function EmailEditorReact({ initialTemplate, onChange, theme, blocks, onSave, onExport, onNavigateBack, onRequestImage, savedSections, onSaveSection, builtInSections, placeholderBase, policyErrors, }: EmailEditorReactProps): react.JSX.Element;
|
|
97
99
|
|
|
98
100
|
export { EDITOR_CHANGE_DEBOUNCE_MS, type EditorDocument, EditorTheme, EmailEditorReact, type EmailEditorReactProps, SavedSectionInput, themeToStyle, toStoredDocument, useEditorDocument };
|
package/dist/react.js
CHANGED
|
@@ -129,7 +129,8 @@ function EmailEditorReact({
|
|
|
129
129
|
savedSections,
|
|
130
130
|
onSaveSection,
|
|
131
131
|
builtInSections = true,
|
|
132
|
-
placeholderBase
|
|
132
|
+
placeholderBase,
|
|
133
|
+
policyErrors
|
|
133
134
|
}) {
|
|
134
135
|
const [registry] = (0, import_react2.useState)(() => {
|
|
135
136
|
assertSupportedBlocks(blocks);
|
|
@@ -160,6 +161,7 @@ function EmailEditorReact({
|
|
|
160
161
|
onRequestImage,
|
|
161
162
|
onSaveSection,
|
|
162
163
|
savedSectionNames,
|
|
164
|
+
policyErrors,
|
|
163
165
|
style
|
|
164
166
|
}
|
|
165
167
|
);
|
package/dist/react.mjs
CHANGED
|
@@ -65,7 +65,8 @@ function EmailEditorReact({
|
|
|
65
65
|
savedSections,
|
|
66
66
|
onSaveSection,
|
|
67
67
|
builtInSections = true,
|
|
68
|
-
placeholderBase
|
|
68
|
+
placeholderBase,
|
|
69
|
+
policyErrors
|
|
69
70
|
}) {
|
|
70
71
|
const [registry] = useState2(() => {
|
|
71
72
|
assertSupportedBlocks(blocks);
|
|
@@ -96,6 +97,7 @@ function EmailEditorReact({
|
|
|
96
97
|
onRequestImage,
|
|
97
98
|
onSaveSection,
|
|
98
99
|
savedSectionNames,
|
|
100
|
+
policyErrors,
|
|
99
101
|
style
|
|
100
102
|
}
|
|
101
103
|
);
|
package/dist/styles.css
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
.ee-root *,.ee-root :after,.ee-root :before{--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:rgba(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: }.ee-root ::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:rgba(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: }
|
|
2
2
|
|
|
3
|
-
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.ee-root *,.ee-root :after,.ee-root :before{box-sizing:border-box;border:0 solid #e5e7eb}.ee-root :after,.ee-root :before{--tw-content:""}.ee-root{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--ee-font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}.ee-root{margin:0;line-height:inherit}.ee-root hr{height:0;color:inherit;border-top-width:1px}.ee-root abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.ee-root h1,.ee-root h2,.ee-root h3,.ee-root h4,.ee-root h5,.ee-root h6{font-size:inherit;font-weight:inherit}.ee-root a{color:inherit;text-decoration:inherit}.ee-root b,.ee-root strong{font-weight:bolder}.ee-root code,.ee-root kbd,.ee-root pre,.ee-root samp{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}.ee-root small{font-size:80%}.ee-root sub,.ee-root sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.ee-root sub{bottom:-.25em}.ee-root sup{top:-.5em}.ee-root table{text-indent:0;border-color:inherit;border-collapse:collapse}.ee-root button,.ee-root input,.ee-root optgroup,.ee-root select,.ee-root 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}.ee-root button,.ee-root select{text-transform:none}.ee-root button,.ee-root input:where([type=button]),.ee-root input:where([type=reset]),.ee-root input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}.ee-root :-moz-focusring{outline:auto}.ee-root :-moz-ui-invalid{box-shadow:none}.ee-root progress{vertical-align:baseline}.ee-root ::-webkit-inner-spin-button,.ee-root ::-webkit-outer-spin-button{height:auto}.ee-root [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.ee-root ::-webkit-search-decoration{-webkit-appearance:none}.ee-root ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.ee-root summary{display:list-item}.ee-root blockquote,.ee-root dd,.ee-root dl,.ee-root figure,.ee-root h1,.ee-root h2,.ee-root h3,.ee-root h4,.ee-root h5,.ee-root h6,.ee-root hr,.ee-root p,.ee-root pre{margin:0}.ee-root fieldset{margin:0;padding:0}.ee-root legend{padding:0}.ee-root menu,.ee-root ol,.ee-root ul{list-style:none;margin:0;padding:0}.ee-root dialog{padding:0}.ee-root textarea{resize:vertical}.ee-root input::-moz-placeholder,.ee-root textarea::-moz-placeholder{opacity:1;color:#9ca3af}.ee-root input::placeholder,.ee-root textarea::placeholder{opacity:1;color:#9ca3af}.ee-root [role=button],.ee-root button{cursor:pointer}.ee-root :disabled{cursor:default}.ee-root audio,.ee-root canvas,.ee-root embed,.ee-root iframe,.ee-root img,.ee-root object,.ee-root svg,.ee-root video{display:block;vertical-align:middle}.ee-root img,.ee-root video{max-width:100%;height:auto}.ee-root [hidden]:where(:not([hidden=until-found])){display:none}.ee-root *{border-color:var(--ee-border-light)}.ee-root{font-family:var(--ee-font-sans);color:var(--ee-text-dark)}.ee-root .container{width:100%}@media (min-width:640px){.ee-root .container{max-width:640px}}@media (min-width:768px){.ee-root .container{max-width:768px}}@media (min-width:1024px){.ee-root .container{max-width:1024px}}@media (min-width:1280px){.ee-root .container{max-width:1280px}}@media (min-width:1536px){.ee-root .container{max-width:1536px}}.ee-root .pointer-events-none{pointer-events:none}.ee-root .visible{visibility:visible}.ee-root .collapse{visibility:collapse}.ee-root .fixed{position:fixed}.ee-root .absolute{position:absolute}.ee-root .relative{position:relative}.ee-root .inset-0{inset:0}.ee-root .inset-x-0{left:0;right:0}.ee-root .-top-5{top:-1.25rem}.ee-root .bottom-0{bottom:0}.ee-root .bottom-3{bottom:.75rem}.ee-root .left-0{left:0}.ee-root .left-1\/2{left:50%}.ee-root .right-0{right:0}.ee-root .right-1{right:.25rem}.ee-root .right-3{right:.75rem}.ee-root .top-0{top:0}.ee-root .top-1{top:.25rem}.ee-root .top-1\/2{top:50%}.ee-root .z-10{z-index:10}.ee-root .z-20{z-index:20}.ee-root .z-30{z-index:30}.ee-root .z-50{z-index:50}.ee-root .z-\[5\]{z-index:5}.ee-root .m-4{margin:1rem}.ee-root .mx-1{margin-left:.25rem;margin-right:.25rem}.ee-root .mx-4{margin-left:1rem;margin-right:1rem}.ee-root .my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.ee-root .my-1{margin-top:.25rem;margin-bottom:.25rem}.ee-root .my-2{margin-top:.5rem;margin-bottom:.5rem}.ee-root .my-4{margin-top:1rem;margin-bottom:1rem}.ee-root .mb-1{margin-bottom:.25rem}.ee-root .mb-1\.5{margin-bottom:.375rem}.ee-root .mb-2{margin-bottom:.5rem}.ee-root .mb-3{margin-bottom:.75rem}.ee-root .mb-4{margin-bottom:1rem}.ee-root .ml-1{margin-left:.25rem}.ee-root .ml-2{margin-left:.5rem}.ee-root .ml-3{margin-left:.75rem}.ee-root .ml-4{margin-left:1rem}.ee-root .ml-6{margin-left:1.5rem}.ee-root .ml-auto{margin-left:auto}.ee-root .mt-0\.5{margin-top:.125rem}.ee-root .mt-1{margin-top:.25rem}.ee-root .mt-2{margin-top:.5rem}.ee-root .mt-3{margin-top:.75rem}.ee-root .mt-4{margin-top:1rem}.ee-root .mt-6{margin-top:1.5rem}.ee-root .\!block{display:block!important}.ee-root .block{display:block}.ee-root .inline-block{display:inline-block}.ee-root .inline{display:inline}.ee-root .flex{display:flex}.ee-root .inline-flex{display:inline-flex}.ee-root .table{display:table}.ee-root .grid{display:grid}.ee-root .contents{display:contents}.ee-root .hidden{display:none}.ee-root .h-1{height:.25rem}.ee-root .h-16{height:4rem}.ee-root .h-2{height:.5rem}.ee-root .h-6{height:1.5rem}.ee-root .h-7{height:1.75rem}.ee-root .h-8{height:2rem}.ee-root .h-\[min\(880px\2c 92vh\)\]{height:min(880px,92vh)}.ee-root .h-full{height:100%}.ee-root .min-h-\[20px\]{min-height:20px}.ee-root .min-h-\[400px\]{min-height:400px}.ee-root .min-h-\[80px\]{min-height:80px}.ee-root .w-10{width:2.5rem}.ee-root .w-12{width:3rem}.ee-root .w-16{width:4rem}.ee-root .w-4{width:1rem}.ee-root .w-6{width:1.5rem}.ee-root .w-64{width:16rem}.ee-root .w-7{width:1.75rem}.ee-root .w-72{width:18rem}.ee-root .w-8{width:2rem}.ee-root .w-\[min\(1280px\2c 95vw\)\]{width:min(1280px,95vw)}.ee-root .w-\[min\(440px\2c 92vw\)\]{width:min(440px,92vw)}.ee-root .w-full{width:100%}.ee-root .w-px{width:1px}.ee-root .min-w-0{min-width:0}.ee-root .min-w-\[140px\]{min-width:140px}.ee-root .max-w-md{max-width:28rem}.ee-root .flex-1{flex:1 1 0%}.ee-root .flex-shrink-0,.ee-root .shrink-0{flex-shrink:0}.ee-root .-translate-x-1\/2{--tw-translate-x:-50%}.ee-root .-translate-x-1\/2,.ee-root .-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ee-root .-translate-y-1\/2{--tw-translate-y:-50%}.ee-root .translate-y-1{--tw-translate-y:0.25rem}.ee-root .rotate-90,.ee-root .translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ee-root .rotate-90{--tw-rotate:90deg}.ee-root .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ee-spin{to{transform:rotate(1turn)}}.ee-root .animate-spin{animation:ee-spin 1s linear infinite}.ee-root .cursor-grab{cursor:grab}.ee-root .cursor-not-allowed{cursor:not-allowed}.ee-root .cursor-pointer{cursor:pointer}.ee-root .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.ee-root .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ee-root .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ee-root .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ee-root .flex-col{flex-direction:column}.ee-root .flex-wrap{flex-wrap:wrap}.ee-root .items-start{align-items:flex-start}.ee-root .items-center{align-items:center}.ee-root .items-baseline{align-items:baseline}.ee-root .justify-end{justify-content:flex-end}.ee-root .justify-center{justify-content:center}.ee-root .justify-between{justify-content:space-between}.ee-root .gap-1{gap:.25rem}.ee-root .gap-1\.5{gap:.375rem}.ee-root .gap-2{gap:.5rem}.ee-root .gap-3{gap:.75rem}.ee-root .gap-4{gap:1rem}.ee-root .gap-6{gap:1.5rem}.ee-root .space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.ee-root .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.ee-root .space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.ee-root .space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.ee-root .overflow-auto{overflow:auto}.ee-root .overflow-hidden{overflow:hidden}.ee-root .overflow-y-auto{overflow-y:auto}.ee-root .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ee-root .rounded{border-radius:.25rem}.ee-root .rounded-2xl{border-radius:1rem}.ee-root .rounded-full{border-radius:9999px}.ee-root .rounded-lg{border-radius:.5rem}.ee-root .rounded-md{border-radius:.375rem}.ee-root .rounded-sm{border-radius:.125rem}.ee-root .rounded-xl{border-radius:.75rem}.ee-root .rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.ee-root .rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.ee-root .rounded-bl{border-bottom-left-radius:.25rem}.ee-root .rounded-br{border-bottom-right-radius:.25rem}.ee-root .border{border-width:1px}.ee-root .border-2{border-width:2px}.ee-root .border-b{border-bottom-width:1px}.ee-root .border-b-2{border-bottom-width:2px}.ee-root .border-l{border-left-width:1px}.ee-root .border-l-2{border-left-width:2px}.ee-root .border-r{border-right-width:1px}.ee-root .border-t{border-top-width:1px}.ee-root .border-dashed{border-style:dashed}.ee-root .border-accent{border-color:var(--ee-accent)}.ee-root .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.ee-root .border-black\/\[0\.04\]{border-color:rgba(0,0,0,.04)}.ee-root .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.ee-root .border-border-default{border-color:var(--ee-border-default)}.ee-root .border-border-light,.ee-root .border-brand-border{border-color:var(--ee-border-light)}.ee-root .border-brand-primary{border-color:var(--ee-accent)}.ee-root .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.ee-root .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.ee-root .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.ee-root .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.ee-root .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.ee-root .border-violet-200{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.ee-root .border-violet-300{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.ee-root .border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.ee-root .bg-\[\#fafaf7\]{--tw-bg-opacity:1;background-color:rgb(250 250 247/var(--tw-bg-opacity,1))}.ee-root .bg-accent{background-color:var(--ee-accent)}.ee-root .bg-accent-muted{background-color:var(--ee-accent-muted)}.ee-root .bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.ee-root .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.ee-root .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.ee-root .bg-black\/50{background-color:rgba(0,0,0,.5)}.ee-root .bg-black\/60{background-color:rgba(0,0,0,.6)}.ee-root .bg-black\/\[0\.04\]{background-color:rgba(0,0,0,.04)}.ee-root .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.ee-root .bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.ee-root .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.ee-root .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.ee-root .bg-canvas-1{background-color:var(--ee-canvas-1)}.ee-root .bg-canvas-2{background-color:var(--ee-canvas-2)}.ee-root .bg-canvas-3{background-color:var(--ee-canvas-3)}.ee-root .bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.ee-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.ee-root .bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.ee-root .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.ee-root .bg-midnight-2{background-color:var(--ee-midnight-2)}.ee-root .bg-midnight-3{background-color:var(--ee-midnight-3)}.ee-root .bg-midnight-4{background-color:var(--ee-midnight-4)}.ee-root .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.ee-root .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.ee-root .bg-transparent{background-color:transparent}.ee-root .bg-violet-100{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.ee-root .bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.ee-root .bg-violet-600{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.ee-root .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.ee-root .bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.ee-root .bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.ee-root .from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.ee-root .to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.ee-root .p-0\.5{padding:.125rem}.ee-root .p-1{padding:.25rem}.ee-root .p-1\.5{padding:.375rem}.ee-root .p-12{padding:3rem}.ee-root .p-2{padding:.5rem}.ee-root .p-3{padding:.75rem}.ee-root .p-4{padding:1rem}.ee-root .p-6{padding:1.5rem}.ee-root .p-8{padding:2rem}.ee-root .px-1{padding-left:.25rem;padding-right:.25rem}.ee-root .px-1\.5{padding-left:.375rem;padding-right:.375rem}.ee-root .px-2{padding-left:.5rem;padding-right:.5rem}.ee-root .px-3{padding-left:.75rem;padding-right:.75rem}.ee-root .px-4{padding-left:1rem;padding-right:1rem}.ee-root .px-8{padding-left:2rem;padding-right:2rem}.ee-root .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.ee-root .py-1{padding-top:.25rem;padding-bottom:.25rem}.ee-root .py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.ee-root .py-16{padding-top:4rem;padding-bottom:4rem}.ee-root .py-2{padding-top:.5rem;padding-bottom:.5rem}.ee-root .py-3{padding-top:.75rem;padding-bottom:.75rem}.ee-root .py-8{padding-top:2rem;padding-bottom:2rem}.ee-root .pb-1{padding-bottom:.25rem}.ee-root .pb-5{padding-bottom:1.25rem}.ee-root .pb-8{padding-bottom:2rem}.ee-root .pl-1{padding-left:.25rem}.ee-root .pt-3{padding-top:.75rem}.ee-root .pt-7{padding-top:1.75rem}.ee-root .text-left{text-align:left}.ee-root .text-center{text-align:center}.ee-root .text-right{text-align:right}.ee-root .align-top{vertical-align:top}.ee-root .align-middle{vertical-align:middle}.ee-root .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.ee-root .font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.ee-root .text-4xl{font-size:2.25rem;line-height:2.5rem}.ee-root .text-\[10px\]{font-size:10px}.ee-root .text-\[11px\]{font-size:11px}.ee-root .text-\[15px\]{font-size:15px}.ee-root .text-\[28px\]{font-size:28px}.ee-root .text-base{font-size:1rem;line-height:1.5rem}.ee-root .text-lg{font-size:1.125rem;line-height:1.75rem}.ee-root .text-sm{font-size:.875rem;line-height:1.25rem}.ee-root .text-xs{font-size:.75rem;line-height:1rem}.ee-root .font-medium{font-weight:500}.ee-root .font-semibold{font-weight:600}.ee-root .uppercase{text-transform:uppercase}.ee-root .capitalize{text-transform:capitalize}.ee-root .italic{font-style:italic}.ee-root .tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.ee-root .leading-none{line-height:1}.ee-root .leading-snug{line-height:1.375}.ee-root .tracking-\[0\.12em\]{letter-spacing:.12em}.ee-root .tracking-\[0\.18em\]{letter-spacing:.18em}.ee-root .tracking-wide{letter-spacing:.025em}.ee-root .tracking-wider{letter-spacing:.05em}.ee-root .text-accent{color:var(--ee-accent)}.ee-root .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.ee-root .text-amber-700\/80{color:rgba(180,83,9,.8)}.ee-root .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.ee-root .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.ee-root .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.ee-root .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.ee-root .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.ee-root .text-danger{color:var(--ee-danger)}.ee-root .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.ee-root .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.ee-root .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.ee-root .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.ee-root .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.ee-root .text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.ee-root .text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.ee-root .text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.ee-root .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.ee-root .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.ee-root .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.ee-root .text-text-dark{color:var(--ee-text-dark)}.ee-root .text-text-dark-muted{color:var(--ee-text-dark-muted)}.ee-root .text-text-primary{color:var(--ee-text-primary)}.ee-root .text-text-secondary{color:var(--ee-text-secondary)}.ee-root .text-violet-800{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity,1))}.ee-root .text-violet-900{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity,1))}.ee-root .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.ee-root .text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.ee-root .underline{text-decoration-line:underline}.ee-root .opacity-0{opacity:0}.ee-root .opacity-100{opacity:1}.ee-root .opacity-30{opacity:.3}.ee-root .opacity-50{opacity:.5}.ee-root .opacity-60{opacity:.6}.ee-root .opacity-75{opacity:.75}.ee-root .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.ee-root .shadow-2xl,.ee-root .shadow-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.04\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ee-root .shadow-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.04\)\]{--tw-shadow:0 1px 2px rgba(0,0,0,.04);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color)}.ee-root .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.ee-root .shadow-lg,.ee-root .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ee-root .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.ee-root .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.ee-root .shadow-sm,.ee-root .shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ee-root .shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.ee-root .outline-none{outline:2px solid transparent;outline-offset:2px}.ee-root .outline{outline-style:solid}.ee-root .outline-1{outline-width:1px}.ee-root .outline-2{outline-width:2px}.ee-root .-outline-offset-1{outline-offset:-1px}.ee-root .-outline-offset-2{outline-offset:-2px}.ee-root .outline-violet-300{outline-color:#c4b5fd}.ee-root .outline-violet-500{outline-color:#8b5cf6}.ee-root .ring{--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(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ee-root .ring,.ee-root .ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ee-root .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)}.ee-root .ring-2{--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(2px + 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)}.ee-root .ring-inset{--tw-ring-inset:inset}.ee-root .ring-amber-300{--tw-ring-opacity:1;--tw-ring-color:rgb(252 211 77/var(--tw-ring-opacity,1))}.ee-root .ring-amber-500{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.ee-root .ring-black\/10{--tw-ring-color:rgba(0,0,0,.1)}.ee-root .ring-black\/\[0\.04\]{--tw-ring-color:rgba(0,0,0,.04)}.ee-root .ring-black\/\[0\.06\]{--tw-ring-color:rgba(0,0,0,.06)}.ee-root .ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}.ee-root .ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.ee-root .ring-violet-500{--tw-ring-opacity:1;--tw-ring-color:rgb(139 92 246/var(--tw-ring-opacity,1))}.ee-root .ring-offset-1{--tw-ring-offset-width:1px}.ee-root .blur{--tw-blur:blur(8px)}.ee-root .blur,.ee-root .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)}.ee-root .backdrop-blur-sm{--tw-backdrop-blur:blur(4px);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)}.ee-root .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ee-root .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ee-root .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}.ee-root .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ee-root .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ee-root .duration-150{transition-duration:.15s}.ee-root .duration-200{transition-duration:.2s}.ee-root .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ee-root{--ee-midnight-1:#0b0b10;--ee-midnight-2:#111118;--ee-midnight-3:#171720;--ee-midnight-4:#1e1e2a;--ee-canvas-1:#f8f8fa;--ee-canvas-2:#fff;--ee-canvas-3:#f1f1f5;--ee-border-default:#252530;--ee-border-subtle:#1c1c28;--ee-border-light:#e2e2ea;--ee-text-primary:#e8e6f0;--ee-text-secondary:#8886a0;--ee-text-tertiary:#5c5a72;--ee-text-dark:#1a1a2e;--ee-text-dark-muted:#6b6b80;--ee-accent:#6366f1;--ee-accent-hover:#818cf8;--ee-accent-muted:rgba(99,102,241,.12);--ee-success:#34d399;--ee-success-muted:rgba(52,211,153,.12);--ee-danger:#ef4444;--ee-danger-muted:rgba(239,68,68,.12);--ee-font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}.ee-root .placeholder\:text-text-secondary::-moz-placeholder{color:var(--ee-text-secondary)}.ee-root .placeholder\:text-text-secondary::placeholder{color:var(--ee-text-secondary)}.ee-root .hover\:h-2:hover{height:.5rem}.ee-root .hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.ee-root .hover\:-translate-y-0\.5:hover,.ee-root .hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ee-root .hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.ee-root .hover\:border-accent:hover,.ee-root .hover\:border-brand-primary:hover{border-color:var(--ee-accent)}.ee-root .hover\:border-violet-400:hover{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity,1))}.ee-root .hover\:bg-accent-hover:hover{background-color:var(--ee-accent-hover)}.ee-root .hover\:bg-accent-muted:hover{background-color:var(--ee-accent-muted)}.ee-root .hover\:bg-amber-600:hover{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-black\/5:hover{background-color:rgba(0,0,0,.05)}.ee-root .hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-canvas-1:hover{background-color:var(--ee-canvas-1)}.ee-root .hover\:bg-canvas-3:hover{background-color:var(--ee-canvas-3)}.ee-root .hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-midnight-3:hover{background-color:var(--ee-midnight-3)}.ee-root .hover\:bg-midnight-4:hover{background-color:var(--ee-midnight-4)}.ee-root .hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-violet-50:hover{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-violet-700:hover{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity,1))}.ee-root .hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.ee-root .hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.ee-root .hover\:text-neutral-700:hover{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.ee-root .hover\:text-neutral-800:hover{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}.ee-root .hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.ee-root .hover\:text-text-dark:hover{color:var(--ee-text-dark)}.ee-root .hover\:text-text-primary:hover{color:var(--ee-text-primary)}.ee-root .hover\:underline:hover{text-decoration-line:underline}.ee-root .hover\:opacity-100:hover{opacity:1}.ee-root .hover\:shadow-\[0_8px_24px_-4px_rgba\(0\2c 0\2c 0\2c 0\.12\)\]:hover{--tw-shadow:0 8px 24px -4px rgba(0,0,0,.12);--tw-shadow-colored:0 8px 24px -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)}.ee-root .hover\:ring-amber-400\/40:hover{--tw-ring-color:rgba(251,191,36,.4)}.ee-root .focus\:opacity-100:focus{opacity:1}.ee-root .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.ee-root .focus\:ring-1: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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ee-root .focus\:ring-1:focus,.ee-root .focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ee-root .focus\:ring-2: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(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ee-root .focus\:ring-accent:focus{--tw-ring-color:var(--ee-accent)}.ee-root .focus\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.ee-root .focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.ee-root .active\:cursor-grabbing:active{cursor:grabbing}.ee-root .disabled\:cursor-wait:disabled{cursor:wait}.ee-root .disabled\:opacity-30:disabled{opacity:.3}.ee-root .disabled\:opacity-50:disabled{opacity:.5}.ee-root .disabled\:opacity-60:disabled{opacity:.6}.ee-root .group:hover .group-hover\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ee-root .group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.ee-root .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.ee-root .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
|
|
3
|
+
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/.ee-root *,.ee-root :after,.ee-root :before{border:0 solid #e5e7eb;box-sizing:border-box}.ee-root :after,.ee-root :before{--tw-content:""}.ee-root{line-height:1.5;-webkit-text-size-adjust:100%;font-family:var(--ee-font-sans);font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}.ee-root{line-height:inherit;margin:0}.ee-root hr{border-top-width:1px;color:inherit;height:0}.ee-root abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.ee-root h1,.ee-root h2,.ee-root h3,.ee-root h4,.ee-root h5,.ee-root h6{font-size:inherit;font-weight:inherit}.ee-root a{color:inherit;text-decoration:inherit}.ee-root b,.ee-root strong{font-weight:bolder}.ee-root code,.ee-root kbd,.ee-root pre,.ee-root samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}.ee-root small{font-size:80%}.ee-root sub,.ee-root sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.ee-root sub{bottom:-.25em}.ee-root sup{top:-.5em}.ee-root table{border-collapse:collapse;border-color:inherit;text-indent:0}.ee-root button,.ee-root input,.ee-root optgroup,.ee-root select,.ee-root textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}.ee-root button,.ee-root select{text-transform:none}.ee-root button,.ee-root input:where([type=button]),.ee-root input:where([type=reset]),.ee-root input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}.ee-root :-moz-focusring{outline:auto}.ee-root :-moz-ui-invalid{box-shadow:none}.ee-root progress{vertical-align:baseline}.ee-root ::-webkit-inner-spin-button,.ee-root ::-webkit-outer-spin-button{height:auto}.ee-root [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.ee-root ::-webkit-search-decoration{-webkit-appearance:none}.ee-root ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.ee-root summary{display:list-item}.ee-root blockquote,.ee-root dd,.ee-root dl,.ee-root figure,.ee-root h1,.ee-root h2,.ee-root h3,.ee-root h4,.ee-root h5,.ee-root h6,.ee-root hr,.ee-root p,.ee-root pre{margin:0}.ee-root fieldset{margin:0;padding:0}.ee-root legend{padding:0}.ee-root menu,.ee-root ol,.ee-root ul{list-style:none;margin:0;padding:0}.ee-root dialog{padding:0}.ee-root textarea{resize:vertical}.ee-root input::-moz-placeholder,.ee-root textarea::-moz-placeholder{color:#9ca3af;opacity:1}.ee-root input::placeholder,.ee-root textarea::placeholder{color:#9ca3af;opacity:1}.ee-root [role=button],.ee-root button{cursor:pointer}.ee-root :disabled{cursor:default}.ee-root audio,.ee-root canvas,.ee-root embed,.ee-root iframe,.ee-root img,.ee-root object,.ee-root svg,.ee-root video{display:block;vertical-align:middle}.ee-root img,.ee-root video{height:auto;max-width:100%}.ee-root [hidden]:where(:not([hidden=until-found])){display:none}.ee-root *{border-color:var(--ee-border-light)}.ee-root{color:var(--ee-text-dark);font-family:var(--ee-font-sans)}.ee-root .container{width:100%}@media (min-width:640px){.ee-root .container{max-width:640px}}@media (min-width:768px){.ee-root .container{max-width:768px}}@media (min-width:1024px){.ee-root .container{max-width:1024px}}@media (min-width:1280px){.ee-root .container{max-width:1280px}}@media (min-width:1536px){.ee-root .container{max-width:1536px}}.ee-root .pointer-events-none{pointer-events:none}.ee-root .pointer-events-auto{pointer-events:auto}.ee-root .collapse{visibility:collapse}.ee-root .fixed{position:fixed}.ee-root .absolute{position:absolute}.ee-root .relative{position:relative}.ee-root .inset-0{inset:0}.ee-root .inset-x-0{left:0;right:0}.ee-root .bottom-0{bottom:0}.ee-root .bottom-3{bottom:.75rem}.ee-root .left-0{left:0}.ee-root .left-1\/2{left:50%}.ee-root .right-0{right:0}.ee-root .right-3{right:.75rem}.ee-root .top-0{top:0}.ee-root .top-1\/2{top:50%}.ee-root .top-full{top:100%}.ee-root .z-20{z-index:20}.ee-root .z-30{z-index:30}.ee-root .z-40{z-index:40}.ee-root .z-50{z-index:50}.ee-root .mx-1{margin-left:.25rem;margin-right:.25rem}.ee-root .mx-auto{margin-left:auto;margin-right:auto}.ee-root .my-4{margin-bottom:1rem;margin-top:1rem}.ee-root .mb-1{margin-bottom:.25rem}.ee-root .mb-1\.5{margin-bottom:.375rem}.ee-root .mb-2{margin-bottom:.5rem}.ee-root .mb-3{margin-bottom:.75rem}.ee-root .mb-4{margin-bottom:1rem}.ee-root .ml-1{margin-left:.25rem}.ee-root .ml-2{margin-left:.5rem}.ee-root .ml-3{margin-left:.75rem}.ee-root .ml-4{margin-left:1rem}.ee-root .ml-6{margin-left:1.5rem}.ee-root .ml-auto{margin-left:auto}.ee-root .mt-0\.5{margin-top:.125rem}.ee-root .mt-1{margin-top:.25rem}.ee-root .mt-2{margin-top:.5rem}.ee-root .mt-3{margin-top:.75rem}.ee-root .mt-4{margin-top:1rem}.ee-root .mt-6{margin-top:1.5rem}.ee-root .\!block{display:block!important}.ee-root .block{display:block}.ee-root .inline{display:inline}.ee-root .flex{display:flex}.ee-root .inline-flex{display:inline-flex}.ee-root .table{display:table}.ee-root .grid{display:grid}.ee-root .contents{display:contents}.ee-root .hidden{display:none}.ee-root .h-0\.5{height:.125rem}.ee-root .h-1\.5{height:.375rem}.ee-root .h-16{height:4rem}.ee-root .h-2{height:.5rem}.ee-root .h-6{height:1.5rem}.ee-root .h-7{height:1.75rem}.ee-root .h-8{height:2rem}.ee-root .h-\[min\(880px\2c 92vh\)\]{height:min(880px,92vh)}.ee-root .h-full{height:100%}.ee-root .min-h-\[20px\]{min-height:20px}.ee-root .min-h-\[400px\]{min-height:400px}.ee-root .w-10{width:2.5rem}.ee-root .w-16{width:4rem}.ee-root .w-4{width:1rem}.ee-root .w-6{width:1.5rem}.ee-root .w-64{width:16rem}.ee-root .w-7{width:1.75rem}.ee-root .w-72{width:18rem}.ee-root .w-8{width:2rem}.ee-root .w-80{width:20rem}.ee-root .w-\[min\(1280px\2c 95vw\)\]{width:min(1280px,95vw)}.ee-root .w-\[min\(440px\2c 92vw\)\]{width:min(440px,92vw)}.ee-root .w-full{width:100%}.ee-root .w-px{width:1px}.ee-root .min-w-0{min-width:0}.ee-root .min-w-\[140px\]{min-width:140px}.ee-root .max-w-\[60\%\]{max-width:60%}.ee-root .max-w-md{max-width:28rem}.ee-root .flex-1{flex:1 1 0%}.ee-root .flex-shrink-0,.ee-root .shrink-0{flex-shrink:0}.ee-root .-translate-x-1\/2{--tw-translate-x:-50%}.ee-root .-translate-x-1\/2,.ee-root .-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ee-root .-translate-y-1\/2{--tw-translate-y:-50%}.ee-root .translate-y-1{--tw-translate-y:0.25rem}.ee-root .rotate-90,.ee-root .translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ee-root .rotate-90{--tw-rotate:90deg}.ee-root .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ee-spin{to{transform:rotate(1turn)}}.ee-root .animate-spin{animation:ee-spin 1s linear infinite}.ee-root .cursor-grab{cursor:grab}.ee-root .cursor-not-allowed{cursor:not-allowed}.ee-root .cursor-pointer{cursor:pointer}.ee-root .resize{resize:both}.ee-root .list-disc{list-style-type:disc}.ee-root .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.ee-root .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ee-root .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ee-root .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ee-root .flex-col{flex-direction:column}.ee-root .flex-wrap{flex-wrap:wrap}.ee-root .items-start{align-items:flex-start}.ee-root .items-center{align-items:center}.ee-root .items-baseline{align-items:baseline}.ee-root .justify-end{justify-content:flex-end}.ee-root .justify-center{justify-content:center}.ee-root .justify-between{justify-content:space-between}.ee-root .gap-1{gap:.25rem}.ee-root .gap-1\.5{gap:.375rem}.ee-root .gap-2{gap:.5rem}.ee-root .gap-3{gap:.75rem}.ee-root .gap-4{gap:1rem}.ee-root .gap-6{gap:1.5rem}.ee-root .space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.ee-root .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.ee-root .space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.ee-root .space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.ee-root .overflow-auto{overflow:auto}.ee-root .overflow-hidden{overflow:hidden}.ee-root .overflow-y-auto{overflow-y:auto}.ee-root .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ee-root .break-words{overflow-wrap:break-word}.ee-root .rounded{border-radius:.25rem}.ee-root .rounded-2xl{border-radius:1rem}.ee-root .rounded-full{border-radius:9999px}.ee-root .rounded-lg{border-radius:.5rem}.ee-root .rounded-md{border-radius:.375rem}.ee-root .rounded-sm{border-radius:.125rem}.ee-root .rounded-xl{border-radius:.75rem}.ee-root .rounded-bl{border-bottom-left-radius:.25rem}.ee-root .rounded-br{border-bottom-right-radius:.25rem}.ee-root .border{border-width:1px}.ee-root .border-0{border-width:0}.ee-root .border-2{border-width:2px}.ee-root .border-b{border-bottom-width:1px}.ee-root .border-b-2{border-bottom-width:2px}.ee-root .border-l{border-left-width:1px}.ee-root .border-l-2{border-left-width:2px}.ee-root .border-r{border-right-width:1px}.ee-root .border-t{border-top-width:1px}.ee-root .border-dashed{border-style:dashed}.ee-root .border-accent{border-color:var(--ee-accent)}.ee-root .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.ee-root .border-black\/\[0\.04\]{border-color:rgba(0,0,0,.04)}.ee-root .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.ee-root .border-border-default{border-color:var(--ee-border-default)}.ee-root .border-border-light,.ee-root .border-brand-border{border-color:var(--ee-border-light)}.ee-root .border-brand-primary{border-color:var(--ee-accent)}.ee-root .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.ee-root .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.ee-root .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.ee-root .border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.ee-root .border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.ee-root .border-violet-200{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity,1))}.ee-root .border-violet-300{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity,1))}.ee-root .bg-\[\#fafaf7\]{--tw-bg-opacity:1;background-color:rgb(250 250 247/var(--tw-bg-opacity,1))}.ee-root .bg-accent{background-color:var(--ee-accent)}.ee-root .bg-accent-muted{background-color:var(--ee-accent-muted)}.ee-root .bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.ee-root .bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.ee-root .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.ee-root .bg-amber-500\/20{background-color:rgba(245,158,11,.2)}.ee-root .bg-black\/50{background-color:rgba(0,0,0,.5)}.ee-root .bg-black\/60{background-color:rgba(0,0,0,.6)}.ee-root .bg-black\/\[0\.04\]{background-color:rgba(0,0,0,.04)}.ee-root .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.ee-root .bg-blue-300\/60{background-color:rgba(147,197,253,.6)}.ee-root .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.ee-root .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.ee-root .bg-canvas-1{background-color:var(--ee-canvas-1)}.ee-root .bg-canvas-2{background-color:var(--ee-canvas-2)}.ee-root .bg-canvas-3{background-color:var(--ee-canvas-3)}.ee-root .bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.ee-root .bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.ee-root .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.ee-root .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.ee-root .bg-midnight-2{background-color:var(--ee-midnight-2)}.ee-root .bg-midnight-3{background-color:var(--ee-midnight-3)}.ee-root .bg-midnight-4{background-color:var(--ee-midnight-4)}.ee-root .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.ee-root .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.ee-root .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.ee-root .bg-violet-100{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity,1))}.ee-root .bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.ee-root .bg-violet-600{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity,1))}.ee-root .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.ee-root .bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.ee-root .from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.ee-root .to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.ee-root .p-0\.5{padding:.125rem}.ee-root .p-1{padding:.25rem}.ee-root .p-1\.5{padding:.375rem}.ee-root .p-12{padding:3rem}.ee-root .p-2{padding:.5rem}.ee-root .p-3{padding:.75rem}.ee-root .p-4{padding:1rem}.ee-root .p-6{padding:1.5rem}.ee-root .p-8{padding:2rem}.ee-root .px-1{padding-left:.25rem;padding-right:.25rem}.ee-root .px-1\.5{padding-left:.375rem;padding-right:.375rem}.ee-root .px-2{padding-left:.5rem;padding-right:.5rem}.ee-root .px-3{padding-left:.75rem;padding-right:.75rem}.ee-root .px-4{padding-left:1rem;padding-right:1rem}.ee-root .px-8{padding-left:2rem;padding-right:2rem}.ee-root .py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.ee-root .py-1{padding-bottom:.25rem;padding-top:.25rem}.ee-root .py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.ee-root .py-16{padding-bottom:4rem;padding-top:4rem}.ee-root .py-2{padding-bottom:.5rem;padding-top:.5rem}.ee-root .py-3{padding-bottom:.75rem;padding-top:.75rem}.ee-root .py-8{padding-bottom:2rem;padding-top:2rem}.ee-root .pb-1{padding-bottom:.25rem}.ee-root .pb-5{padding-bottom:1.25rem}.ee-root .pb-8{padding-bottom:2rem}.ee-root .pl-1{padding-left:.25rem}.ee-root .pl-4{padding-left:1rem}.ee-root .pt-3{padding-top:.75rem}.ee-root .pt-7{padding-top:1.75rem}.ee-root .text-left{text-align:left}.ee-root .text-center{text-align:center}.ee-root .text-right{text-align:right}.ee-root .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.ee-root .font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.ee-root .text-4xl{font-size:2.25rem;line-height:2.5rem}.ee-root .text-\[10px\]{font-size:10px}.ee-root .text-\[11px\]{font-size:11px}.ee-root .text-\[15px\]{font-size:15px}.ee-root .text-\[28px\]{font-size:28px}.ee-root .text-base{font-size:1rem;line-height:1.5rem}.ee-root .text-lg{font-size:1.125rem;line-height:1.75rem}.ee-root .text-sm{font-size:.875rem;line-height:1.25rem}.ee-root .text-xs{font-size:.75rem;line-height:1rem}.ee-root .font-medium{font-weight:500}.ee-root .font-semibold{font-weight:600}.ee-root .uppercase{text-transform:uppercase}.ee-root .capitalize{text-transform:capitalize}.ee-root .italic{font-style:italic}.ee-root .tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.ee-root .leading-none{line-height:1}.ee-root .leading-snug{line-height:1.375}.ee-root .tracking-\[0\.12em\]{letter-spacing:.12em}.ee-root .tracking-\[0\.18em\]{letter-spacing:.18em}.ee-root .tracking-wide{letter-spacing:.025em}.ee-root .tracking-wider{letter-spacing:.05em}.ee-root .text-accent{color:var(--ee-accent)}.ee-root .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.ee-root .text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.ee-root .text-amber-700\/80{color:rgba(180,83,9,.8)}.ee-root .text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.ee-root .text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.ee-root .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.ee-root .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.ee-root .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.ee-root .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.ee-root .text-danger{color:var(--ee-danger)}.ee-root .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.ee-root .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.ee-root .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.ee-root .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.ee-root .text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.ee-root .text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.ee-root .text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.ee-root .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.ee-root .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.ee-root .text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.ee-root .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.ee-root .text-text-dark{color:var(--ee-text-dark)}.ee-root .text-text-dark-muted{color:var(--ee-text-dark-muted)}.ee-root .text-text-primary{color:var(--ee-text-primary)}.ee-root .text-text-secondary{color:var(--ee-text-secondary)}.ee-root .text-violet-700{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity,1))}.ee-root .text-violet-800{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity,1))}.ee-root .text-violet-900{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity,1))}.ee-root .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.ee-root .underline{text-decoration-line:underline}.ee-root .opacity-0{opacity:0}.ee-root .opacity-30{opacity:.3}.ee-root .opacity-50{opacity:.5}.ee-root .opacity-60{opacity:.6}.ee-root .shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.ee-root .shadow-2xl,.ee-root .shadow-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.04\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ee-root .shadow-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.04\)\]{--tw-shadow:0 1px 2px rgba(0,0,0,.04);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color)}.ee-root .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.ee-root .shadow-lg,.ee-root .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ee-root .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.ee-root .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.ee-root .shadow-sm,.ee-root .shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ee-root .shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.ee-root .outline{outline-style:solid}.ee-root .ring{--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(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ee-root .ring,.ee-root .ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ee-root .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)}.ee-root .ring-2{--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(2px + 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)}.ee-root .ring-inset{--tw-ring-inset:inset}.ee-root .ring-amber-300{--tw-ring-opacity:1;--tw-ring-color:rgb(252 211 77/var(--tw-ring-opacity,1))}.ee-root .ring-amber-500{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.ee-root .ring-black\/10{--tw-ring-color:rgba(0,0,0,.1)}.ee-root .ring-black\/\[0\.04\]{--tw-ring-color:rgba(0,0,0,.04)}.ee-root .ring-black\/\[0\.06\]{--tw-ring-color:rgba(0,0,0,.06)}.ee-root .ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}.ee-root .ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.ee-root .ring-violet-300{--tw-ring-opacity:1;--tw-ring-color:rgb(196 181 253/var(--tw-ring-opacity,1))}.ee-root .ring-violet-500{--tw-ring-opacity:1;--tw-ring-color:rgb(139 92 246/var(--tw-ring-opacity,1))}.ee-root .blur{--tw-blur:blur(8px)}.ee-root .blur,.ee-root .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)}.ee-root .backdrop-blur-sm{--tw-backdrop-blur:blur(4px);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)}.ee-root .transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ee-root .transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ee-root .transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ee-root .transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ee-root .duration-150{transition-duration:.15s}.ee-root .duration-200{transition-duration:.2s}.ee-root .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ee-root.ee-fullscreen{background:var(--ee-canvas-1);height:100vh!important;height:100dvh!important;inset:0;min-height:0;position:fixed;z-index:2147483000}.ee-root{--ee-midnight-1:#0b0b10;--ee-midnight-2:#111118;--ee-midnight-3:#171720;--ee-midnight-4:#1e1e2a;--ee-canvas-1:#f8f8fa;--ee-canvas-2:#fff;--ee-canvas-3:#f1f1f5;--ee-border-default:#252530;--ee-border-subtle:#1c1c28;--ee-border-light:#e2e2ea;--ee-text-primary:#e8e6f0;--ee-text-secondary:#8886a0;--ee-text-tertiary:#5c5a72;--ee-text-dark:#1a1a2e;--ee-text-dark-muted:#6b6b80;--ee-accent:#6366f1;--ee-accent-hover:#818cf8;--ee-accent-muted:rgba(99,102,241,.12);--ee-success:#34d399;--ee-success-muted:rgba(52,211,153,.12);--ee-danger:#ef4444;--ee-danger-muted:rgba(239,68,68,.12);--ee-font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}.ee-root .placeholder\:text-text-secondary::-moz-placeholder{color:var(--ee-text-secondary)}.ee-root .placeholder\:text-text-secondary::placeholder{color:var(--ee-text-secondary)}.ee-root .hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ee-root .hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ee-root .hover\:border-accent:hover{border-color:var(--ee-accent)}.ee-root .hover\:border-brand-primary:hover{border-color:var(--ee-accent)}.ee-root .hover\:border-violet-400:hover{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity,1))}.ee-root .hover\:bg-accent-hover:hover{background-color:var(--ee-accent-hover)}.ee-root .hover\:bg-accent-muted:hover{background-color:var(--ee-accent-muted)}.ee-root .hover\:bg-amber-500\/30:hover{background-color:rgba(245,158,11,.3)}.ee-root .hover\:bg-amber-600:hover{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-black\/5:hover{background-color:rgba(0,0,0,.05)}.ee-root .hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-canvas-1:hover{background-color:var(--ee-canvas-1)}.ee-root .hover\:bg-canvas-3:hover{background-color:var(--ee-canvas-3)}.ee-root .hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-midnight-3:hover{background-color:var(--ee-midnight-3)}.ee-root .hover\:bg-midnight-4:hover{background-color:var(--ee-midnight-4)}.ee-root .hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-violet-50:hover{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity,1))}.ee-root .hover\:bg-violet-700:hover{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity,1))}.ee-root .hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.ee-root .hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.ee-root .hover\:text-neutral-700:hover{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.ee-root .hover\:text-neutral-800:hover{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}.ee-root .hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.ee-root .hover\:text-text-dark:hover{color:var(--ee-text-dark)}.ee-root .hover\:text-text-primary:hover{color:var(--ee-text-primary)}.ee-root .hover\:underline:hover{text-decoration-line:underline}.ee-root .hover\:opacity-100:hover{opacity:1}.ee-root .hover\:shadow-\[0_8px_24px_-4px_rgba\(0\2c 0\2c 0\2c 0\.12\)\]:hover{--tw-shadow:0 8px 24px -4px rgba(0,0,0,.12);--tw-shadow-colored:0 8px 24px -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)}.ee-root .hover\:ring-amber-400\/40:hover{--tw-ring-color:rgba(251,191,36,.4)}.ee-root .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.ee-root .focus\:ring-1: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(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)}.ee-root .focus\:ring-2: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(2px + 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)}.ee-root .focus\:ring-accent:focus{--tw-ring-color:var(--ee-accent)}.ee-root .focus\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.ee-root .focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.ee-root .active\:cursor-grabbing:active{cursor:grabbing}.ee-root .disabled\:cursor-wait:disabled{cursor:wait}.ee-root .disabled\:opacity-30:disabled{opacity:.3}.ee-root .disabled\:opacity-40:disabled{opacity:.4}.ee-root .disabled\:opacity-50:disabled{opacity:.5}.ee-root .disabled\:opacity-60:disabled{opacity:.6}.ee-root .group:hover .group-hover\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.ee-root .group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.ee-root .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.ee-root .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
|
|
@@ -89,6 +89,14 @@ interface EditorOptions {
|
|
|
89
89
|
* list and passes a new one when it has stored the section.
|
|
90
90
|
*/
|
|
91
91
|
onSaveSection?: (section: Record<string, unknown>, name: string) => Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* The messages of the host's most recent server compile, when it refused
|
|
94
|
+
* something (an image host outside the asset policy, a missing unsubscribe
|
|
95
|
+
* link). Shown as a badge in the editor's toolbar. The canvas is compiled in
|
|
96
|
+
* the browser, which cannot run the service's policy, so the host feeds the
|
|
97
|
+
* server's verdict in; `setPolicyErrors` updates it on a running editor.
|
|
98
|
+
*/
|
|
99
|
+
policyErrors?: string[];
|
|
92
100
|
}
|
|
93
101
|
/**
|
|
94
102
|
* One saved section as the host holds it. The `section` is a snapshot of a
|
|
@@ -112,6 +120,8 @@ interface EditorInstance {
|
|
|
112
120
|
undo(): void;
|
|
113
121
|
redo(): void;
|
|
114
122
|
destroy(): void;
|
|
123
|
+
/** Replace the policy messages shown in the toolbar (see `EditorOptions.policyErrors`). */
|
|
124
|
+
setPolicyErrors(errors: string[] | undefined): void;
|
|
115
125
|
}
|
|
116
126
|
|
|
117
127
|
export type { EditorOptions as E, SavedSectionInput as S, EditorInstance as a, EditorTheme as b };
|
|
@@ -89,6 +89,14 @@ interface EditorOptions {
|
|
|
89
89
|
* list and passes a new one when it has stored the section.
|
|
90
90
|
*/
|
|
91
91
|
onSaveSection?: (section: Record<string, unknown>, name: string) => Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* The messages of the host's most recent server compile, when it refused
|
|
94
|
+
* something (an image host outside the asset policy, a missing unsubscribe
|
|
95
|
+
* link). Shown as a badge in the editor's toolbar. The canvas is compiled in
|
|
96
|
+
* the browser, which cannot run the service's policy, so the host feeds the
|
|
97
|
+
* server's verdict in; `setPolicyErrors` updates it on a running editor.
|
|
98
|
+
*/
|
|
99
|
+
policyErrors?: string[];
|
|
92
100
|
}
|
|
93
101
|
/**
|
|
94
102
|
* One saved section as the host holds it. The `section` is a snapshot of a
|
|
@@ -112,6 +120,8 @@ interface EditorInstance {
|
|
|
112
120
|
undo(): void;
|
|
113
121
|
redo(): void;
|
|
114
122
|
destroy(): void;
|
|
123
|
+
/** Replace the policy messages shown in the toolbar (see `EditorOptions.policyErrors`). */
|
|
124
|
+
setPolicyErrors(errors: string[] | undefined): void;
|
|
115
125
|
}
|
|
116
126
|
|
|
117
127
|
export type { EditorOptions as E, SavedSectionInput as S, EditorInstance as a, EditorTheme as b };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marlinjai/email-editor",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Embeddable visual email editor (React component and vanilla factory) that produces an MJML-compilable document",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
"./styles.css": "./dist/styles.css"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@marlinjai/email-editor-blocks": "^0.
|
|
51
|
-
"@marlinjai/email-editor-ui": "^0.
|
|
52
|
-
"@marlinjai/email-editor-core": "^0.
|
|
50
|
+
"@marlinjai/email-editor-blocks": "^0.4.0",
|
|
51
|
+
"@marlinjai/email-editor-ui": "^0.4.0",
|
|
52
|
+
"@marlinjai/email-editor-core": "^0.4.0"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
55
|
"react": "^18.2.0 || ^19.0.0",
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { EmailTemplate, BlockDefinition } from '@marlinjai/email-editor-core';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Editor theme configuration
|
|
5
|
-
*/
|
|
6
|
-
interface EditorTheme {
|
|
7
|
-
colors?: {
|
|
8
|
-
primary?: string;
|
|
9
|
-
surface?: string;
|
|
10
|
-
text?: string;
|
|
11
|
-
border?: string;
|
|
12
|
-
};
|
|
13
|
-
fonts?: {
|
|
14
|
-
heading?: string;
|
|
15
|
-
body?: string;
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Editor configuration options
|
|
20
|
-
*/
|
|
21
|
-
interface EditorOptions {
|
|
22
|
-
container: HTMLElement;
|
|
23
|
-
initialValue?: EmailTemplate;
|
|
24
|
-
theme?: EditorTheme;
|
|
25
|
-
blocks?: BlockDefinition[];
|
|
26
|
-
onChange?: (template: EmailTemplate) => void;
|
|
27
|
-
onSave?: (template: EmailTemplate) => void;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Editor instance API
|
|
31
|
-
*/
|
|
32
|
-
interface EditorInstance {
|
|
33
|
-
getValue(): EmailTemplate;
|
|
34
|
-
setValue(template: EmailTemplate): void;
|
|
35
|
-
getHTML(): string;
|
|
36
|
-
getMJML(): string;
|
|
37
|
-
undo(): void;
|
|
38
|
-
redo(): void;
|
|
39
|
-
destroy(): void;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export type { EditorOptions as E, EditorInstance as a, EditorTheme as b };
|
package/dist/types-BoNyjNFe.d.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { EmailTemplate, BlockDefinition } from '@marlinjai/email-editor-core';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Editor theme configuration
|
|
5
|
-
*/
|
|
6
|
-
interface EditorTheme {
|
|
7
|
-
colors?: {
|
|
8
|
-
primary?: string;
|
|
9
|
-
surface?: string;
|
|
10
|
-
text?: string;
|
|
11
|
-
border?: string;
|
|
12
|
-
};
|
|
13
|
-
fonts?: {
|
|
14
|
-
heading?: string;
|
|
15
|
-
body?: string;
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Editor configuration options
|
|
20
|
-
*/
|
|
21
|
-
interface EditorOptions {
|
|
22
|
-
container: HTMLElement;
|
|
23
|
-
initialValue?: EmailTemplate;
|
|
24
|
-
theme?: EditorTheme;
|
|
25
|
-
blocks?: BlockDefinition[];
|
|
26
|
-
onChange?: (template: EmailTemplate) => void;
|
|
27
|
-
onSave?: (template: EmailTemplate) => void;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Editor instance API
|
|
31
|
-
*/
|
|
32
|
-
interface EditorInstance {
|
|
33
|
-
getValue(): EmailTemplate;
|
|
34
|
-
setValue(template: EmailTemplate): void;
|
|
35
|
-
getHTML(): string;
|
|
36
|
-
getMJML(): string;
|
|
37
|
-
undo(): void;
|
|
38
|
-
redo(): void;
|
|
39
|
-
destroy(): void;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export type { EditorOptions as E, EditorInstance as a, EditorTheme as b };
|