@stll/folio-react 0.1.0 → 0.2.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/dist/{FindReplaceDialog-CG1VKA_g.js → FindReplaceDialog-EFjmqEbg.js} +1 -1
- package/dist/{FootnotePropertiesDialog-MuW4D3gt.js → FootnotePropertiesDialog-VfF7SQo2.js} +1 -1
- package/dist/{ImagePositionDialog-BQnOnDf4.js → ImagePositionDialog-FGLCOf0Q.js} +1 -1
- package/dist/{ImagePropertiesDialog-Dn4N7qZv.js → ImagePropertiesDialog-Baokui4M.js} +2 -2
- package/dist/{PageSetupDialog-CxJUEkoC.js → PageSetupDialog-Df2HjHiu.js} +1 -1
- package/dist/{TablePropertiesDialog-mQMnGfHu.js → TablePropertiesDialog-ZmzjSqME.js} +1 -1
- package/dist/{TextContextMenu-DzTbp2sn.js → TextContextMenu-CG0V37wi.js} +5 -1
- package/dist/editor.css +1 -1
- package/dist/{folio-ui-o_rftArH.js → folio-ui-CA59webC.js} +13 -6
- package/dist/index.d.ts +59 -3
- package/dist/index.js +223 -48
- package/dist/messages-heGr9XLo.js +2827 -0
- package/dist/messages.d.ts +1 -1
- package/dist/messages.js +1 -2166
- package/dist/standalone.css +1 -0
- package/package.json +6 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as useFolioUI } from "./folio-ui-
|
|
1
|
+
import { r as useFolioUI } from "./folio-ui-CA59webC.js";
|
|
2
2
|
import "./useFindReplace-MZ8wi31A.js";
|
|
3
3
|
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
4
4
|
import { ChevronDownIcon, ChevronUpIcon, SearchIcon, XIcon } from "lucide-react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as useFolioUI } from "./folio-ui-
|
|
1
|
+
import { r as useFolioUI } from "./folio-ui-CA59webC.js";
|
|
2
2
|
import { useId, useState } from "react";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/dialogs/FootnotePropertiesDialog.tsx
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as useFolioUI } from "./folio-ui-
|
|
1
|
+
import { r as useFolioUI } from "./folio-ui-CA59webC.js";
|
|
2
2
|
import { useEffect, useId, useState } from "react";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/dialogs/ImagePositionDialog.tsx
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as useFolioUI } from "./folio-ui-
|
|
1
|
+
import { r as useFolioUI } from "./folio-ui-CA59webC.js";
|
|
2
2
|
import { useEffect, useId, useState } from "react";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/dialogs/ImagePropertiesDialog.tsx
|
|
@@ -62,7 +62,7 @@ function ImagePropertiesDialog({ isOpen, onClose, onApply, currentData }) {
|
|
|
62
62
|
className: sectionLabelCls,
|
|
63
63
|
children: "Alt Text"
|
|
64
64
|
}), /* @__PURE__ */ jsx("textarea", {
|
|
65
|
-
className: "border-input bg-background text-foreground font-inherit min-h-[60px] resize-y rounded border px-1.5 py-1 text-xs outline-none",
|
|
65
|
+
className: "border-input bg-background text-foreground font-[inherit] min-h-[60px] resize-y rounded border px-1.5 py-1 text-xs outline-none",
|
|
66
66
|
value: alt,
|
|
67
67
|
onChange: (e) => setAlt(e.target.value),
|
|
68
68
|
placeholder: "Describe this image for accessibility..."
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as useFolioUI } from "./folio-ui-
|
|
1
|
+
import { r as useFolioUI } from "./folio-ui-CA59webC.js";
|
|
2
2
|
import { useEffect, useId, useState } from "react";
|
|
3
3
|
import { TWIPS_PER_INCH } from "@stll/folio-core/utils/units";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as useFolioUI } from "./folio-ui-
|
|
1
|
+
import { r as useFolioUI } from "./folio-ui-CA59webC.js";
|
|
2
2
|
import { useCallback, useEffect, useId, useState } from "react";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
//#region src/components/dialogs/TablePropertiesDialog.tsx
|
|
@@ -307,7 +307,11 @@ const TextContextMenu = ({ isOpen, position, hasSelection, isEditable, hasClipbo
|
|
|
307
307
|
})
|
|
308
308
|
});
|
|
309
309
|
if (typeof document === "undefined") return menu;
|
|
310
|
-
return createPortal(
|
|
310
|
+
return createPortal(/* @__PURE__ */ jsx("div", {
|
|
311
|
+
className: "folio-root",
|
|
312
|
+
style: { display: "contents" },
|
|
313
|
+
children: menu
|
|
314
|
+
}), document.body);
|
|
311
315
|
};
|
|
312
316
|
//#endregion
|
|
313
317
|
export { TextContextMenu };
|
package/dist/editor.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import "@fontsource/carlito/400.css";@import "@fontsource/carlito/400-italic.css";@import "@fontsource/carlito/700.css";@import "@fontsource/carlito/700-italic.css";@import "@fontsource/caladea/400.css";@import "@fontsource/caladea/400-italic.css";@import "@fontsource/caladea/700.css";@import "@fontsource/caladea/700-italic.css";@import "@fontsource/arimo/400.css";@import "@fontsource/arimo/400-italic.css";@import "@fontsource/arimo/700.css";@import "@fontsource/arimo/700-italic.css";@import "@fontsource/tinos/400.css";@import "@fontsource/tinos/400-italic.css";@import "@fontsource/tinos/700.css";@import "@fontsource/tinos/700-italic.css";@import "@fontsource/cousine/400.css";@import "@fontsource/cousine/400-italic.css";@import "@fontsource/cousine/700.css";@import "@fontsource/cousine/700-italic.css";@import "@fontsource/noto-sans-arabic/400.css";@import "@fontsource/noto-sans-arabic/700.css";.ProseMirror{word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;font-feature-settings:"liga" 0;position:relative}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection ::selection{background:0 0}.ProseMirror-hideselection{caret-color:#0000}.ProseMirror [draggable][contenteditable=false]{user-select:text}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";pointer-events:none;border:2px solid #8cf;position:absolute;inset:-2px -2px -2px -32px}img.ProseMirror-separator{border:none!important;margin:0!important;display:inline!important}.prosemirror-editor-wrapper{min-height:100%}.prosemirror-editor{width:var(--page-width,8.5in)}.prosemirror-editor .ProseMirror{background:var(--doc-canvas);width:var(--page-width,8.5in);min-height:var(--page-height,11in);padding-top:var(--margin-top,72px);padding-bottom:var(--margin-bottom,72px);padding-left:var(--margin-left,72px);padding-right:var(--margin-right,72px);color:var(--doc-text);white-space:pre-wrap;word-wrap:break-word;-moz-tab-size:48;tab-size:48;box-sizing:border-box;outline:none;font-family:Calibri,Arial,sans-serif;font-size:11pt;position:relative;box-shadow:0 2px 8px #00000026}.prosemirror-editor .ProseMirror .docx-page-break{height:40px;margin:0 calc(-1 * var(--margin-left,72px));margin-right:calc(-1 * var(--margin-right,72px));background:var(--doc-bg);pointer-events:none;border:none;display:block;position:relative}.prosemirror-editor .ProseMirror .docx-page-break:before{content:"";background:linear-gradient(#0000,#00000014);height:8px;position:absolute;bottom:0;left:0;right:0}.prosemirror-editor .ProseMirror .docx-page-break:after{content:"";background:linear-gradient(#00000014,#0000);height:8px;position:absolute;top:0;left:0;right:0}.prosemirror-editor .ProseMirror [data-page-break-before=true]{break-before:page}.prosemirror-editor .ProseMirror .docx-page-break-line{height:1px;margin:20px calc(-1 * var(--margin-left,72px));margin-right:calc(-1 * var(--margin-right,72px));border-top:1px dashed var(--doc-border);display:block;position:relative}.prosemirror-editor .ProseMirror .docx-page-break-line:before{content:"Page Break";background:var(--doc-bg);color:var(--doc-text-muted);white-space:nowrap;padding:0 8px;font-size:10px;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.prosemirror-editor .ProseMirror:focus{outline:none}.prosemirror-editor .ProseMirror p{white-space:pre-wrap;word-wrap:break-word;min-height:1em;margin:0;padding:0;line-height:normal;display:block}.prosemirror-editor .ProseMirror p:empty:before{content:" "}.prosemirror-editor .ProseMirror span{white-space:pre-wrap;display:inline}.prosemirror-editor .ProseMirror .docx-list-bullet,.prosemirror-editor .ProseMirror .docx-list-numbered{padding-left:48px;position:relative}.prosemirror-editor .ProseMirror [data-list-marker]:before{content:attr(data-list-marker);text-align:right;white-space:nowrap;width:44px;position:absolute;left:0}.prosemirror-editor .ProseMirror .docx-list-bullet:not([data-list-marker]):before{content:"•";text-align:right;width:44px;position:absolute;left:0}.prosemirror-editor .ProseMirror .docx-list-numbered:not([data-list-marker]){counter-increment:list-counter}.prosemirror-editor .ProseMirror .docx-list-decimal:not([data-list-marker]):before{content:counter(list-counter) ".";text-align:right;width:44px;position:absolute;left:0}.prosemirror-editor .ProseMirror .docx-list-lower-roman:not([data-list-marker]):before{content:counter(list-counter, lower-roman) ".";text-align:right;width:44px;position:absolute;left:0}.prosemirror-editor .ProseMirror .docx-list-upper-roman:not([data-list-marker]):before{content:counter(list-counter, upper-roman) ".";text-align:right;width:44px;position:absolute;left:0}.prosemirror-editor .ProseMirror .docx-list-lower-alpha:not([data-list-marker]):before{content:counter(list-counter, lower-alpha) ".";text-align:right;width:44px;position:absolute;left:0}.prosemirror-editor .ProseMirror .docx-list-upper-alpha:not([data-list-marker]):before{content:counter(list-counter, upper-alpha) ".";text-align:right;width:44px;position:absolute;left:0}.prosemirror-editor .ProseMirror .docx-list-level-0:not([data-list-marker]):first-of-type{counter-reset:list-counter}.prosemirror-editor .ProseMirror .docx-list-level-1{margin-left:.5in}.prosemirror-editor .ProseMirror .docx-list-level-2{margin-left:1in}.prosemirror-editor .ProseMirror .docx-list-level-3{margin-left:1.5in}.prosemirror-editor .ProseMirror .docx-list-level-4{margin-left:2in}.prosemirror-editor .ProseMirror .docx-list-level-5{margin-left:2.5in}.prosemirror-editor .ProseMirror .docx-list-level-6{margin-left:3in}.prosemirror-editor .ProseMirror .docx-list-level-7{margin-left:3.5in}.prosemirror-editor .ProseMirror .docx-list-level-8{margin-left:4in}.prosemirror-editor .ProseMirror ::selection{background:#4285f44d}.prosemirror-editor[data-placeholder]:before{content:attr(data-placeholder);color:var(--doc-text-subtle);pointer-events:none;position:absolute}.prosemirror-editor .ProseMirror img.docx-image{object-fit:contain;vertical-align:baseline;outline:none;max-width:100%;display:inline}.prosemirror-editor .ProseMirror img.docx-image-float-left{clear:left}.prosemirror-editor .ProseMirror img.docx-image-float-right{clear:right}.prosemirror-editor .ProseMirror img.docx-image-block{clear:both}.prosemirror-editor .ProseMirror p:has(>img.docx-image-block:only-child){text-align:center;text-indent:0!important}.prosemirror-editor .ProseMirror p:has(img.docx-image-float):after{content:"";clear:both;display:table}.prosemirror-editor .ProseMirror img.docx-image.ProseMirror-selectednode{outline:2px solid var(--doc-primary,#4285f4);outline-offset:2px;cursor:grab}.prosemirror-editor .ProseMirror.pm-image-dragging img.docx-image.ProseMirror-selectednode{opacity:.4;outline:2px dashed var(--doc-primary,#4285f4);cursor:grabbing}.prosemirror-editor .ProseMirror img:not(.docx-image){max-width:100%;height:auto}.prosemirror-editor .ProseMirror .docx-shape{vertical-align:middle;cursor:pointer;line-height:0;display:inline-block}.prosemirror-editor .ProseMirror .docx-shape.ProseMirror-selectednode{outline:2px solid var(--doc-primary,#4285f4);outline-offset:2px}.prosemirror-editor .ProseMirror .docx-textbox{cursor:text;border-radius:2px;margin:4px 0}.prosemirror-editor .ProseMirror .docx-textbox.ProseMirror-selectednode{outline:2px solid var(--doc-primary,#4285f4);outline-offset:2px}.prosemirror-editor .ProseMirror a{color:var(--doc-link);text-decoration:underline}.prosemirror-editor .ProseMirror a:hover{color:var(--doc-primary-hover)}.prosemirror-editor .ProseMirror .docx-footnote-ref,.prosemirror-editor .ProseMirror .docx-endnote-ref{color:var(--doc-link,#06c);cursor:pointer}.prosemirror-editor .ProseMirror .docx-note-ref-superscript{vertical-align:super;font-size:smaller}.prosemirror-editor .ProseMirror .docx-footnote-ref:hover,.prosemirror-editor .ProseMirror .docx-endnote-ref:hover{text-decoration:underline}.prosemirror-editor .ProseMirror hr{border:none;border-top:1px solid var(--doc-text);height:0;margin:12pt 0}.prosemirror-editor .ProseMirror table.docx-table{border-collapse:collapse;max-width:100%;margin:12pt 0}.prosemirror-editor .ProseMirror td.docx-table-cell,.prosemirror-editor .ProseMirror th.docx-table-header{vertical-align:top;min-width:30px;padding:4px 8px}.prosemirror-editor .ProseMirror th.docx-table-header{font-weight:inherit;text-align:inherit}.prosemirror-editor .ProseMirror td p,.prosemirror-editor .ProseMirror th p{min-height:auto;margin:0;padding:0}.prosemirror-editor .ProseMirror td p:first-child,.prosemirror-editor .ProseMirror th p:first-child{margin-top:0}.prosemirror-editor .ProseMirror td p:last-child,.prosemirror-editor .ProseMirror th p:last-child{margin-bottom:0}.prosemirror-editor .ProseMirror .activeCell{outline-offset:-2px;outline:2px solid #4285f480}.prosemirror-editor .ProseMirror .selectedCell{background-color:#4285f426}.prosemirror-editor .ProseMirror .selectedCell:after{content:"";pointer-events:none;background:#4285f41a;position:absolute;inset:0}.prosemirror-editor .ProseMirror table table{margin:4px 0}.prosemirror-editor .ProseMirror .column-resize-handle{cursor:col-resize;z-index:20;background-color:#4285f480;width:4px;position:absolute;top:0;bottom:0;right:-2px}.prosemirror-editor .ProseMirror td.docx-table-cell,.prosemirror-editor .ProseMirror th.docx-table-header{position:relative}.prosemirror-editor .ProseMirror.resize-cursor{cursor:col-resize}.prosemirror-editor .ProseMirror table:not(:hover) .column-resize-handle{background-color:#0000}.prosemirror-editor .ProseMirror table:hover .column-resize-handle{background-color:#4285f44d}.prosemirror-editor .ProseMirror .column-resize-handle:hover{background-color:#4285f4b3}.prosemirror-editor .ProseMirror span.docx-tab{white-space:pre;background:0 0;min-width:48px;display:inline-block}.prosemirror-editor .ProseMirror span.docx-tab[data-leader=dot]:before{content:"...........";color:inherit;white-space:nowrap;position:absolute;overflow:hidden}.prosemirror-editor .ProseMirror span.docx-tab[data-leader=hyphen]:before{content:"-----------";color:inherit;white-space:nowrap;position:absolute;overflow:hidden}.prosemirror-editor .ProseMirror span.docx-tab[data-leader=underscore]:before{content:"___________";color:inherit;white-space:nowrap;position:absolute;overflow:hidden}.prosemirror-editor .ProseMirror .docx-run-all-caps{text-transform:uppercase}.prosemirror-editor .ProseMirror .docx-run-small-caps{font-variant:small-caps}.prosemirror-editor .ProseMirror .docx-comment{background-color:var(--doc-comment-bg,#ffd40014);border-bottom:1px solid var(--doc-comment-border,#b482003d)}.docx-section-break{position:relative}.prosemirror-editor .ProseMirror .pm-drop-indicator{background:var(--doc-primary,#4285f4);pointer-events:none;z-index:50;width:2px;position:absolute}.prosemirror-editor .ProseMirror .ProseMirror-dropcursor{z-index:50}.layout-page-header>*,.layout-page-footer>*{pointer-events:none}.paged-editor--editing-header .layout-page-header>*,.paged-editor--editing-footer .layout-page-footer>*{pointer-events:auto}.hf-editor-pm.prosemirror-editor{width:100%;max-width:100%}.hf-editor-pm .ProseMirror{outline:none;min-height:40px;padding:0}.hf-editor-pm.prosemirror-editor .ProseMirror{width:100%;max-width:100%;min-height:40px;box-shadow:none;background:0 0;padding:0}.hf-editor-pm .ProseMirror:focus{outline:none}.hf-editor-pm .ProseMirror p{padding-top:var(--docx-space-before,0);padding-right:0;padding-bottom:var(--docx-space-after,0);white-space:pre-wrap;word-wrap:break-word;min-height:1em;padding-left:0;display:block;margin:0!important;line-height:normal!important}.hf-editor-pm .ProseMirror td p,.hf-editor-pm .ProseMirror th p{padding-top:var(--docx-space-before,0);padding-right:0;padding-bottom:var(--docx-space-after,0);min-height:auto;padding-left:0;margin:0!important;line-height:normal!important}.hf-editor-pm .ProseMirror .tableWrapper{overflow:visible}.hf-editor-pm .ProseMirror table{margin:0;border-collapse:collapse!important;border-spacing:0!important;table-layout:fixed!important}.hf-editor-pm .ProseMirror td.docx-table-cell,.hf-editor-pm .ProseMirror th.docx-table-header{box-sizing:border-box!important}.hf-editor-pm .ProseMirror td p:has(>img.docx-image):not(:has(>span)),.hf-editor-pm .ProseMirror th p:has(>img.docx-image):not(:has(>span)){font-size:0!important;line-height:0!important}@font-face{font-family:Calibri;src:local(Carlito),local(Carlito Regular),local(Calibri);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Calibri;src:local(Carlito Italic),local(Calibri Italic);font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Calibri;src:local(Carlito Bold),local(Calibri Bold);font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Calibri;src:local(Carlito Bold Italic),local(Calibri Bold Italic);font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Cambria;src:local(Caladea),local(Caladea Regular),local(Cambria);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cambria;src:local(Caladea Italic),local(Cambria Italic);font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Cambria;src:local(Caladea Bold),local(Cambria Bold);font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Cambria;src:local(Caladea Bold Italic),local(Cambria Bold Italic);font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Arial;src:local(Arimo),local(Arimo Regular),local(Arial);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Arial;src:local(Arimo Italic),local(Arial Italic);font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Arial;src:local(Arimo Bold),local(Arial Bold);font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Arial;src:local(Arimo Bold Italic),local(Arial Bold Italic);font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Times New Roman;src:local(Tinos),local(Tinos Regular),local(Times New Roman);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Times New Roman;src:local(Tinos Italic),local(Times New Roman Italic);font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Times New Roman;src:local(Tinos Bold),local(Times New Roman Bold);font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Times New Roman;src:local(Tinos Bold Italic),local(Times New Roman Bold Italic);font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Courier New;src:local(Cousine),local(Cousine Regular),local(Courier New);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Courier New;src:local(Cousine Italic),local(Courier New Italic);font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Courier New;src:local(Cousine Bold),local(Courier New Bold);font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Courier New;src:local(Cousine Bold Italic),local(Courier New Bold Italic);font-weight:700;font-style:italic;font-display:swap}.folio-autocomplete-ghost{pointer-events:none;user-select:none;white-space:pre-wrap;color:color-mix(in oklch, var(--doc-text,currentColor) 38%, transparent);font:inherit;letter-spacing:inherit}.folio-autocomplete-caret{background:color-mix(in oklch, var(--doc-text,currentColor) 8%, transparent);height:1.1em;color:color-mix(in oklch, var(--doc-text,currentColor) 70%, transparent);letter-spacing:.02em;text-transform:lowercase;vertical-align:baseline;pointer-events:none;user-select:none;border-radius:9999px;align-items:center;margin-inline-start:.4em;padding:0 .45em;font-size:.72em;font-weight:500;display:inline-flex}.folio-autocomplete-caret--streaming{animation:1.2s ease-in-out infinite folio-autocomplete-caret-pulse}@keyframes folio-autocomplete-caret-pulse{0%,to{opacity:.65}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.folio-autocomplete-caret--streaming{animation:none}}.folio-root{--doc-page:var(--background);--doc-canvas:var(--background);--doc-canvas-text:var(--foreground);--doc-bg:var(--muted);--doc-bg-subtle:var(--muted);--doc-bg-muted:var(--muted);--doc-bg-hover:var(--accent);--doc-bg-input:var(--input);--doc-text:var(--foreground);--doc-text-muted:var(--muted-foreground);--doc-text-subtle:var(--muted-foreground);--doc-text-placeholder:var(--muted-foreground);--doc-border:var(--border);--doc-border-input:var(--input);--doc-border-dark:var(--border);--doc-primary:var(--primary);--doc-primary-hover:var(--primary);--doc-primary-light:var(--accent);--doc-error:var(--destructive);--doc-success:var(--success);--doc-link:#2563eb;--doc-selection:#2563eb40;--doc-selection-dark-bg:#60a5fa66;--doc-find-highlight:#facc1580;--doc-find-current:#f9731699;--doc-image-selection:var(--doc-link);--doc-image-selection-muted:color-mix(in srgb, var(--doc-image-selection) 12%, transparent);--doc-handle-border:var(--background);--doc-dimension-bg:color-mix(in srgb, var(--foreground) 75%, transparent);--doc-dimension-text:var(--background);--doc-focus-ring:color-mix(in srgb, var(--doc-link) 18%, transparent);--doc-shadow-sm:color-mix(in srgb, var(--foreground) 15%, transparent);--doc-shadow-md:color-mix(in srgb, var(--foreground) 24%, transparent);--doc-shadow-lg:color-mix(in srgb, var(--foreground) 28%, transparent)}.dark .folio-root,.folio-root.dark{--doc-link:#60a5fa;--doc-selection:#60a5fa4d}.hf-options-button{color:var(--doc-link);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:2px 6px;font-size:11px}.hf-options-button:hover,.hf-options-button:focus-visible{background-color:var(--doc-bg-hover);outline:none}.hf-options-dropdown{z-index:100;border:1px solid var(--doc-border);background:var(--doc-page);min-width:160px;box-shadow:0 2px 6px var(--doc-shadow-sm);border-radius:4px;padding:4px 0;position:absolute;top:100%;right:0}.hf-options-dropdown--up{top:auto;bottom:100%}.hf-options-item{width:100%;color:var(--doc-text);cursor:pointer;text-align:left;background:0 0;border:0;padding:6px 12px;font-size:12px;display:block}.hf-options-item:hover,.hf-options-item:focus-visible{background-color:var(--doc-bg-hover);outline:none}.hf-options-divider{border-top:1px solid var(--doc-border);margin:4px 0}.image-drag-ghost{z-index:10000;border:2px dashed var(--image-drag-ghost-selection);background:var(--image-drag-ghost-selection-muted);opacity:.5;pointer-events:none;border-radius:4px;position:fixed}[contenteditable=true]{caret-color:var(--doc-canvas-text,var(--doc-text));caret-shape:bar;outline:none}.dark [contenteditable=true],.dark .ProseMirror{caret-color:var(--doc-canvas-text)!important}.docx-run-editable[contenteditable=true]{caret-color:var(--doc-canvas-text,var(--doc-text));min-height:1em;display:inline}.docx-paragraph-empty [contenteditable=true]{min-width:1px;min-height:1em;display:inline-block}@keyframes folio-caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.docx-paragraph-editable{cursor:text}.docx-run-editable[contenteditable=true]:focus,.docx-paragraph-editable:focus-within{outline:none}.docx-run-editable::selection,.docx-run-editable ::selection,.docx-run::selection,.docx-run ::selection,[contenteditable=true]::selection,[contenteditable=true] ::selection,.docx-paragraph::selection,.docx-paragraph ::selection,.docx-paragraph-editable::selection,.docx-paragraph-editable ::selection,.docx-hyperlink::selection,.docx-hyperlink ::selection{background-color:var(--doc-selection)!important;color:inherit!important;background-color:var(--doc-selection)!important}.docx-run-highlighted::selection,.docx-run-highlighted ::selection{color:inherit!important;background-color:#2563eb73!important}.docx-run-dark-bg::selection,.docx-run-dark-bg ::selection{background-color:var(--doc-selection-dark-bg)!important;color:inherit!important}.docx-find-highlight{border-radius:2px;background-color:var(--doc-find-highlight)!important}.docx-find-highlight-current{outline:2px solid var(--doc-find-current);border-radius:2px;background-color:var(--doc-find-current)!important}.docx-selection-overlay-container{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.docx-selection-overlay-rect{background-color:var(--doc-selection);pointer-events:none;user-select:none;position:absolute}.docx-run-highlighted[contenteditable=true]{caret-color:var(--doc-text)}.docx-run-dark-bg[contenteditable=true]{caret-color:var(--doc-canvas-text)}.folio-editor{cursor:default}.folio-editor-page{cursor:text}.dark .layout-page,.dark .layout-page-content,.dark .docx-paragraph,.dark .docx-run,.dark .docx-run-editable,.dark .ProseMirror{color:var(--doc-canvas-text)!important}.dark .layout-page [style*=--doc-run-color]:not(.docx-insertion):not(.docx-deletion){color:oklch(from var(--doc-run-color) clamp(0, 1.22 - .95 * l, 1) calc(c * .6) h)!important}.dark .layout-page .docx-insertion,.dark .layout-page .docx-deletion{--tc-inverted:oklch(from var(--tc-color,#c00000) clamp(0, 1.22 - .95 * l, 1) calc(c * .6) h);color:var(--tc-inverted)!important;text-decoration-color:var(--tc-inverted)!important}.folio-editor ::-webkit-scrollbar{width:6px;height:6px}.folio-editor ::-webkit-scrollbar-track{background:0 0}.folio-editor ::-webkit-scrollbar-thumb{background:var(--foreground,#262626);opacity:.2;border-radius:9999px}.folio-editor ::-webkit-scrollbar-thumb:hover{opacity:.4}.folio-editor{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--foreground,#262626) 20%, transparent) transparent}.docx-list-marker,.docx-bookmark-start,.docx-bookmark-end,.docx-field,.docx-drawing-placeholder,.docx-shape-placeholder{cursor:default;user-select:none}.layout-table-cell-selected{outline-offset:-2px;outline:2px solid #2563eb99;position:relative}.layout-table-cell-selected:after{content:"";pointer-events:none;background-color:#2563eb1f;position:absolute;inset:0}.layout-table-resize-handle,.layout-table-row-resize-handle,.layout-table-edge-handle-bottom,.layout-table-edge-handle-right{background-color:#0000;transition:background-color .15s}.layout-table-resize-handle:hover,.layout-table-resize-handle.dragging,.layout-table-row-resize-handle:hover,.layout-table-row-resize-handle.dragging,.layout-table-edge-handle-bottom:hover,.layout-table-edge-handle-bottom.dragging,.layout-table-edge-handle-right:hover,.layout-table-edge-handle-right.dragging{background-color:#2563eb80}.paged-editor{direction:ltr}.paged-editor--readonly .layout-table-resize-handle,.paged-editor--readonly .layout-table-row-resize-handle,.paged-editor--readonly .layout-table-edge-handle-bottom,.paged-editor--readonly .layout-table-edge-handle-right{display:none!important}.paged-editor--readonly .layout-page-header,.paged-editor--readonly .layout-page-footer{cursor:default;pointer-events:none}.paged-editor--readonly .layout-page-content{cursor:text}[data-tc-author-idx="0"]{--tc-color:#c00000}[data-tc-author-idx="1"]{--tc-color:#2f5496}[data-tc-author-idx="2"]{--tc-color:#538135}[data-tc-author-idx="3"]{--tc-color:#7030a0}[data-tc-author-idx="4"]{--tc-color:#bf8f00}.docx-hidden{opacity:.4;text-decoration-line:underline;text-decoration-style:dotted}.docx-insertion{color:var(--tc-color,#c00000);text-decoration:underline;text-decoration-color:var(--tc-color,#c00000);position:relative}.docx-deletion{text-decoration:line-through;text-decoration-color:var(--tc-color,#c00000);color:var(--tc-color,#c00000);position:relative}.docx-insertion[data-change-author]:hover:after,.docx-deletion[data-change-author]:hover:after{content:attr(data-change-author);white-space:nowrap;color:var(--foreground);background:var(--popover,var(--doc-page));pointer-events:none;z-index:100;border-radius:6px;padding:3px 8px;font-size:11px;font-style:normal;font-weight:500;line-height:1.4;text-decoration:none;position:absolute;bottom:calc(100% + 4px);left:0;box-shadow:0 4px 12px #0000001f}.paged-editor__hidden-pm .docx-insertion,.paged-editor__hidden-pm .docx-deletion{opacity:1;color:#0000!important;background:0 0!important;text-decoration-color:#0000!important}.folio-root--no-markup .docx-insertion{color:inherit!important;background:0 0!important;text-decoration:none!important}.folio-root--no-markup .docx-deletion,.folio-root--original .docx-insertion{display:none!important}.folio-root--original .docx-deletion,.folio-root--simple-markup .docx-insertion{color:inherit!important;background:0 0!important;text-decoration:none!important}.folio-root--simple-markup .docx-deletion{display:none!important}.layout-page-content{cursor:text}.layout-page-header,.layout-page-footer{cursor:pointer;transition:background-color .15s}.layout-page-header:hover,.layout-page-footer:hover{background-color:#2563eb0a}.layout-page-header:empty:hover:after{content:"Double-click to add header";text-align:center;color:var(--doc-text-subtle);padding:4px 0;font-size:11px;display:block}.layout-page-footer:empty:hover:after{content:"Double-click to add footer";text-align:center;color:var(--doc-text-subtle);padding:4px 0;font-size:11px;display:block}.folio-no-hf-edit .layout-page-header:hover,.folio-no-hf-edit .layout-page-footer:hover{background-color:#0000}.folio-no-hf-edit .layout-page-header:empty:hover:after,.folio-no-hf-edit .layout-page-footer:empty:hover:after{content:none}.folio-no-hf-edit .paged-editor{background-color:#0000!important}.paged-editor--hf-editing .layout-page-content{opacity:.4;pointer-events:none;transition:opacity .15s}.paged-editor--editing-header .layout-page-header{border-bottom:1px dotted var(--doc-primary)}.paged-editor--editing-footer .layout-page-footer{border-top:1px dotted var(--doc-primary)}.paged-editor--editing-header .layout-page-header,.paged-editor--editing-footer .layout-page-footer{opacity:1!important}.paged-editor--hf-editing .layout-page-header:hover,.paged-editor--hf-editing .layout-page-footer:hover{background-color:#0000}.docx-section-break:after{content:"Section Break (" attr(data-section-break) ")";text-align:center;color:var(--doc-text-muted);border-top:1px dashed var(--doc-border);pointer-events:none;margin-top:4px;padding-top:2px;font-size:9px;display:block}[data-folio-ai-suggestions-overlay] .folio-ai-suggestion{border-bottom:1px dotted var(--folio-ai-underline-color,transparent)}[data-folio-ai-suggestions-overlay] .folio-ai-suggestion--substantive{border-bottom-width:1.5px}[data-folio-ai-suggestions-overlay] .folio-ai-suggestion--focused-original{opacity:1;background:linear-gradient(transparent calc(50% - .5px), var(--folio-ai-strike-color) calc(50% - .5px), var(--folio-ai-strike-color) calc(50% + .5px), transparent calc(50% + .5px)), color-mix(in srgb, var(--doc-canvas,#fff) 45%, transparent)}[data-folio-ai-suggestions-overlay] .folio-ai-suggestion--focused-replacement{background:linear-gradient(var(--folio-ai-replacement-bg), var(--folio-ai-replacement-bg)), var(--doc-canvas,#fff)}.folio-anonymization-term{background-color:#0000;border-radius:2px;transition:background-color .15s,box-shadow .15s;box-shadow:inset 0 -2px #2563ebcc}.folio-anonymization-term:hover{background-color:#2563eb1f}.folio-anonymization-term[data-folio-anonymization-selected=true]{background-color:#2563eb33;box-shadow:inset 0 -2px #2563ebe6,0 0 0 2px #2563eb59}.folio-ai-citation{background-color:color-mix(in oklch, var(--doc-find-highlight,#facc1580) 50%, transparent);border-radius:2px;transition:background-color .2s,box-shadow .2s}.folio-ai-citation--active{background-color:color-mix(in oklch, var(--doc-find-current,#f9731699) 70%, transparent);box-shadow:0 0 0 2px color-mix(in oklch, var(--doc-find-current,#f9731699) 30%, transparent)}@keyframes folio-outline-flash{0%{background-color:color-mix(in oklch, var(--color-primary,oklch(60% .2 24)) 18%, transparent)}to{background-color:#0000}}.layout-page-content [data-folio-outline-flash]{border-radius:2px;animation:1.2s ease-out folio-outline-flash}.layout-page-content [data-sdt-boundary=true]{position:relative}.layout-page-content [data-sdt-boundary=true]:before{content:"";pointer-events:none;border:1px dashed #0000;transition:border-color .12s ease-out;position:absolute;inset:-2px -4px}.layout-page-content [data-sdt-boundary=true][data-sdt-position=first]:before{border-bottom-width:0;border-start-start-radius:2px;border-start-end-radius:2px;border-end-end-radius:0;border-end-start-radius:0}.layout-page-content [data-sdt-boundary=true][data-sdt-position=middle]:before{border-top-width:0;border-bottom-width:0;border-radius:0}.layout-page-content [data-sdt-boundary=true][data-sdt-position=last]:before{border-top-width:0;border-start-start-radius:0;border-start-end-radius:0;border-end-end-radius:2px;border-end-start-radius:2px}.layout-page-content [data-sdt-boundary=true][data-sdt-position=only]:before,.layout-page-content [data-sdt-boundary=true]:not([data-sdt-position]):before{border-radius:2px}.layout-page-content [data-sdt-boundary=true]:hover:before,.layout-page-content [data-sdt-boundary=true]:focus-within:before{border-color:color-mix(in oklch, var(--color-border,oklch(85% 0 0)) 60%, transparent)}.ProseMirror-gapcursor{pointer-events:none;display:none;position:absolute}.ProseMirror-gapcursor:after{content:"";border-top:1px solid var(--doc-text,currentcolor);width:20px;animation:1.1s linear infinite folio-gapcursor-blink;display:block;position:absolute;top:-2px}@keyframes folio-gapcursor-blink{to{visibility:hidden}}.ProseMirror-focused .ProseMirror-gapcursor{display:block}.folio-template-directive{background:#0000ff6b;border-radius:3px;position:absolute}.folio-template-directive--clause,.folio-template-directive--num,.folio-template-directive--ref,.folio-template-directive--if,.folio-template-directive--elseif,.folio-template-directive--else,.folio-template-directive--endif,.folio-template-directive--each,.folio-template-directive--endeach{background:#0000ff3d}.folio-template-band-rail{background:#0000ff80;border-radius:2px;position:absolute}.folio-template-preview-original{display:none}.folio-template-preview-value{white-space:pre-wrap}.folio-template-preview-value--highlighted{--folio-template-preview-accent-bg:#f9731647;background:var(--folio-template-preview-accent-bg);border-radius:3px;padding:0 2px;box-shadow:inset 0 0 0 1px #f9731673}.folio-template-preview-run--highlighted{background:#f9731647;border-radius:3px;box-shadow:inset 0 0 0 1px #f9731673}:where(.folio-default-button){white-space:nowrap;cursor:pointer;border-style:solid;border-width:1px;border-radius:.5rem;justify-content:center;align-items:center;gap:.375rem;font-weight:500;display:inline-flex}:where(.folio-default-button--default){background:var(--doc-primary,#2563eb);color:var(--doc-primary-foreground,#fff);border-color:var(--doc-primary,#2563eb)}:where(.folio-default-button--ghost){color:var(--doc-text,inherit);background:0 0;border-color:#0000}:where(.folio-default-button--sm){height:2rem;padding:0 .625rem;font-size:.8125rem}:where(.folio-default-button--xs){height:1.75rem;padding:0 .5rem;font-size:.75rem}:where(.folio-default-button--icon-xs){width:1.75rem;height:1.75rem;padding:0}.folio-default-color-picker-trigger{display:inline-flex}.folio-default-color-picker-popup{border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);color:var(--doc-text,inherit);border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.5rem;display:flex;box-shadow:0 4px 12px #0000001f}.folio-default-color-picker-clear{cursor:pointer;height:1.5rem;color:var(--doc-text-muted,inherit);background:0 0;border:none;align-items:center;padding:0 .25rem;font-size:.75rem;display:flex}.folio-default-color-picker-swatches{grid-template-columns:repeat(8,1fr);gap:.25rem;display:grid}.folio-default-color-picker-swatch{border:1px solid var(--doc-border,#e5e7eb);cursor:pointer;border-radius:.25rem;width:1.25rem;height:1.25rem;padding:0}.folio-default-color-picker-swatch--selected{outline:2px solid var(--doc-primary,#2563eb);outline-offset:1px}.folio-default-color-picker-custom{color:var(--doc-text-muted,inherit);align-items:center;gap:.375rem;font-size:.75rem;display:flex}.folio-default-date-input{border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);height:1.75rem;color:var(--doc-text,inherit);border-radius:.375rem;padding:0 .375rem;font-size:.8125rem}.folio-default-outline-rail{max-height:100%;padding:.25rem 0;position:absolute;inset-inline-end:0;overflow-y:auto}.folio-default-outline-list{margin:0;padding:0;list-style:none}.folio-default-outline-item{text-align:start;cursor:pointer;width:100%;color:var(--doc-text-muted,inherit);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding-block:.25rem;padding-inline-end:.5rem;font-size:.8125rem;display:block;overflow:hidden}.folio-default-outline-item--active{color:var(--doc-text,inherit);font-weight:500}.folio-default-menu-positioner{z-index:50}.folio-default-menu-popup{border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);min-width:12rem;color:var(--doc-text,inherit);border-radius:.5rem;padding:.25rem;box-shadow:0 4px 12px #0000001f}.folio-default-menu-item,.folio-default-menu-checkbox-item{color:var(--doc-text,inherit);cursor:pointer;user-select:none;border-radius:.375rem;outline:none;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8125rem;display:flex}.folio-default-menu-checkbox-item{padding-inline-start:.375rem}.folio-default-menu-item[data-highlighted],.folio-default-menu-item:hover,.folio-default-menu-checkbox-item[data-highlighted],.folio-default-menu-checkbox-item:hover{background:var(--doc-primary-light,#eff6ff)}.folio-default-menu-checkbox-indicator{flex-shrink:0;justify-content:center;align-items:center;width:1rem;height:1rem;display:inline-flex}.folio-default-menu-group-label{color:var(--doc-text-muted,#6b7280);padding:.375rem .5rem;font-size:.6875rem;font-weight:500}.folio-default-menu-separator{border-top:1px solid var(--doc-border,#e5e7eb);margin:.25rem 0}:where(.folio-default-select-trigger){border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);height:2rem;color:var(--doc-text,inherit);cursor:pointer;border-radius:.375rem;align-items:center;gap:.375rem;padding:0 .625rem;font-size:.8125rem;display:inline-flex}:where(.folio-default-select-trigger[data-size=sm]){height:1.75rem;padding:0 .5rem;font-size:.75rem}:where(.folio-default-select-trigger[data-size=lg]){height:2.5rem;padding:0 .75rem;font-size:.875rem}:where(.folio-default-select-icon){color:var(--doc-text-muted,#6b7280);flex-shrink:0;display:inline-flex}:where(.folio-default-select-value){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:where(.folio-default-select-positioner){z-index:50}:where(.folio-default-select-popup){border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);min-width:8rem;max-height:18rem;color:var(--doc-text,inherit);border-radius:.5rem;padding:.25rem;overflow-y:auto;box-shadow:0 4px 12px #0000001f}:where(.folio-default-select-item){color:var(--doc-text,inherit);cursor:pointer;user-select:none;border-radius:.375rem;outline:none;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8125rem;display:flex}:where(.folio-default-select-item[data-highlighted]){background:var(--doc-primary-light,#eff6ff)}:where(.folio-default-select-item[data-selected]){font-weight:500}.folio-default-popover-positioner{z-index:50}.folio-default-popover-popup{border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);color:var(--doc-text,inherit);border-radius:.5rem;padding:.5rem;box-shadow:0 4px 12px #0000001f}.folio-default-dialog-backdrop{z-index:50;background:#0006;position:fixed;inset:0}.folio-default-dialog-popup{z-index:51;border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);width:100%;max-width:28rem;max-height:85vh;color:var(--doc-text,inherit);border-radius:.5rem;padding:1.25rem;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 12px 32px #0003}.folio-default-dialog-title{margin:0 0 .75rem;font-size:1rem;font-weight:600}:where(.folio-default-dialog-close){cursor:pointer}:where(.folio-default-input){border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);height:2rem;color:var(--doc-text,inherit);border-radius:.375rem;padding:0 .625rem;font-size:.8125rem}:where(.folio-default-input[data-size=sm]){height:1.75rem;font-size:.75rem}:where(.folio-default-input[data-size=lg]){height:2.5rem;font-size:.875rem}:where(.folio-default-input:focus-visible){outline:2px solid var(--doc-primary,#2563eb);outline-offset:-1px}.folio-default-checkbox{border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);width:1rem;height:1rem;color:var(--doc-primary-foreground,#fff);cursor:pointer;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.folio-default-checkbox[data-checked]{background:var(--doc-primary,#2563eb);border-color:var(--doc-primary,#2563eb)}.folio-default-checkbox-indicator{justify-content:center;align-items:center;display:inline-flex}.folio-editor[data-folio-format-painter=armed] [contenteditable=true]{cursor:copy}.folio-ai-host{--folio-ai-mention:#2563eb;--folio-ai-mention-soft:oklch(54.615% .215208 262.881/.12)}.dark .folio-ai-host,.folio-ai-host.dark{--folio-ai-mention:#60a5fa;--folio-ai-mention-soft:oklch(71.374% .143381 254.624/.18)}.folio-ai-suggestion{text-underline-offset:3px;cursor:pointer;background-color:#0000;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;transition:background-color .15s,text-decoration-color .15s}.folio-ai-suggestion--typo{--folio-ai-underline-color:color-mix(in oklch, var(--doc-text-muted) 65%, transparent);text-decoration-color:var(--folio-ai-underline-color)}.folio-ai-suggestion--style{--folio-ai-underline-color:color-mix(in oklch, var(--doc-text) 35%, transparent);text-decoration-color:var(--folio-ai-underline-color)}.folio-ai-suggestion--substantive{--folio-ai-underline-color:color-mix(in oklch, var(--doc-error,currentColor) 60%, transparent);text-decoration-color:var(--folio-ai-underline-color);text-decoration-thickness:1.5px}.folio-ai-suggestion:hover{background-color:color-mix(in oklch, var(--doc-bg-hover) 60%, transparent)}.folio-ai-suggestion--focused{background-color:color-mix(in oklch, var(--doc-bg-hover) 90%, transparent)}.folio-ai-suggestion--focused-original{--folio-ai-strike-color:color-mix(in oklch, var(--doc-text-muted) 75%, transparent);text-decoration-line:line-through;text-decoration-style:solid;text-decoration-thickness:1px;text-decoration-color:var(--folio-ai-strike-color);opacity:.55}.folio-ai-suggestion--focused-replacement{--folio-ai-replacement-bg:color-mix(in oklch, var(--doc-success,var(--doc-text)) 16%, transparent);background-color:var(--folio-ai-replacement-bg);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--doc-success,var(--doc-text)) 30%, transparent);white-space:pre-wrap;border-radius:4px;margin-inline-start:3px;padding:0 3px}.folio-ai-bar{z-index:40;width:min(560px,100% - 32px);color:var(--doc-text);background-color:color-mix(in oklch, var(--doc-page) 78%, transparent);-webkit-backdrop-filter:blur(20px)saturate(160%);border:1px solid color-mix(in oklch, var(--doc-border) 70%, transparent);user-select:none;border-radius:9999px;align-items:center;gap:4px;padding:4px 4px 4px 6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;transition:box-shadow .2s,border-color .2s;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #00000005,0 1px 2px #0000000f,0 12px 32px #0000001a,0 24px 56px #0000000f,inset 0 1px #fff9}.folio-ai-bar:before{content:"";z-index:-1;background:radial-gradient(ellipse at center, color-mix(in oklch, var(--doc-page) 45%, transparent) 0%, transparent 70%);pointer-events:none;border-radius:inherit;position:absolute;inset:-16px}.dark .folio-ai-bar,.folio-ai-bar.dark{background-color:color-mix(in oklch, var(--doc-page) 70%, transparent);box-shadow:0 0 0 1px #ffffff0a,0 1px 2px #0006,0 12px 32px #00000073,0 24px 56px #0000004d,inset 0 1px #ffffff14}.folio-ai-bar:focus-within{border-color:color-mix(in oklch, var(--doc-text) 35%, var(--doc-border));box-shadow:0 0 0 1px #00000008,0 1px 2px #0000000f,0 16px 40px #0000001f,0 32px 64px #00000014,inset 0 1px #fff9}.folio-ai-bar__form{flex:1;align-items:center;gap:6px;min-width:0;height:32px;padding:0 6px 0 4px;display:flex}.folio-ai-bar__leading{width:18px;height:18px;color:var(--doc-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.folio-ai-bar__input{min-width:0;height:100%;color:var(--doc-text);font:inherit;caret-color:var(--doc-text);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:13px}.folio-ai-bar__input::placeholder{color:var(--doc-text-muted)}.folio-ai-bar__input:disabled{color:var(--doc-text-muted);cursor:progress}.folio-ai-bar__input--slash{color:var(--folio-ai-mention);font-weight:500}.folio-ai-bar__input--slash::placeholder{color:color-mix(in oklch, var(--folio-ai-mention) 60%, transparent)}.folio-editor:has(.folio-ai-bar__input:focus) [contenteditable=true]{caret-color:#0000}.folio-ai-bar__paste-chip{border:1px solid color-mix(in oklch, var(--folio-ai-mention) 35%, transparent);background-color:var(--folio-ai-mention-soft);height:22px;color:var(--folio-ai-mention);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;max-width:220px;padding:2px 6px 2px 8px;font-size:11.5px;font-weight:500;transition:background-color .12s,border-color .12s;display:inline-flex;overflow:hidden}.folio-ai-bar__paste-chip:hover{background-color:color-mix(in oklch, var(--folio-ai-mention) 18%, transparent);border-color:color-mix(in oklch, var(--folio-ai-mention) 50%, transparent)}.folio-ai-bar__paste-chip>svg{opacity:.7}.folio-ai-bar__count{background-color:var(--doc-bg-muted);min-width:18px;height:18px;color:var(--doc-text);font-variant-numeric:tabular-nums;border-radius:9999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.folio-ai-bar__divider{background-color:var(--doc-border);flex-shrink:0;width:1px;height:18px}.folio-ai-bar__action{min-width:28px;height:28px;color:var(--doc-text);font:inherit;cursor:pointer;background-color:#0000;border:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;transition:background-color .12s;display:inline-flex}.folio-ai-bar__action:hover{background-color:var(--doc-bg-muted)}.folio-ai-bar__action:disabled{opacity:.5;cursor:default}.folio-ai-bar__icon-button{width:28px;height:28px;color:var(--doc-text-muted);cursor:pointer;background:0 0;border:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:inline-flex}.folio-ai-bar__icon-button:hover{background-color:var(--doc-bg-muted);color:var(--doc-text)}.folio-ai-bar__icon-button:disabled{opacity:.5;cursor:default}.folio-ai-bar__icon-button--primary{background-color:var(--doc-text);color:var(--doc-page)}.folio-ai-bar__icon-button--primary:hover{background-color:color-mix(in oklch, var(--doc-text) 88%, transparent);color:var(--doc-page)}.folio-ai-bar__icon-button--primary:disabled{background-color:var(--doc-bg-muted);color:var(--doc-text-muted)}.folio-ai-bar__spinner{border:1.5px solid var(--doc-border);border-top-color:var(--doc-text);border-radius:9999px;width:14px;height:14px;animation:.72s linear infinite folio-ai-spin}@keyframes folio-ai-spin{to{transform:rotate(360deg)}}.folio-ai-bar__presets{background-color:var(--doc-page);border:1px solid var(--doc-border);border-radius:12px;flex-direction:column;gap:1px;width:min(320px,100%);padding:4px;animation:.16s folio-ai-panel-in;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 1px 2px #0000000a,0 12px 36px #0000001a}.folio-ai-bar__presets-header{text-transform:uppercase;letter-spacing:.04em;color:var(--doc-text-muted);justify-content:space-between;align-items:baseline;gap:8px;padding:6px 10px 4px;font-size:10px;font-weight:600;display:flex}.folio-ai-bar__presets-hint{text-transform:none;letter-spacing:0;color:var(--doc-text-muted);opacity:.85;font-size:10.5px;font-weight:400}.folio-ai-bar__presets-empty{color:var(--doc-text-muted);text-align:center;padding:12px;font-size:12px}.folio-ai-bar__preset{text-align:left;cursor:pointer;font:inherit;color:var(--doc-text);background:0 0;border:none;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:0 8px;padding:8px 10px;transition:background-color .12s;display:grid;position:relative}.folio-ai-bar__preset:hover,.folio-ai-bar__preset:focus-visible,.folio-ai-bar__preset[data-highlighted=true]{background-color:var(--doc-bg-muted);outline:none}.folio-ai-bar__preset-label{grid-area:1/1;font-size:13px;font-weight:500}.folio-ai-bar__preset-description{color:var(--doc-text-muted);text-wrap:pretty;grid-area:2/1/auto/span 2;font-size:11px}.folio-ai-bar__preset-shortcut{font-variant-numeric:tabular-nums;color:var(--folio-ai-mention);background-color:var(--folio-ai-mention-soft);border-radius:4px;grid-area:1/2;align-self:center;padding:1px 6px;font-size:10.5px;font-weight:500}.folio-ai-panel{z-index:41;background-color:var(--doc-page);border:1px solid var(--doc-border);width:min(420px,100% - 32px);max-height:min(60dvh,560px);color:var(--doc-text);border-radius:14px;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;animation:.18s folio-ai-panel-in;display:flex;position:absolute;bottom:68px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 1px 2px #0000000a,0 12px 40px #00000014}@keyframes folio-ai-panel-in{0%{opacity:0;transform:translate(-50%)translateY(4px)scale(.985)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.folio-ai-panel__header{border-bottom:1px solid var(--doc-border);align-items:center;gap:8px;padding:10px 10px 10px 14px;display:flex}.folio-ai-panel__title{flex:1;align-items:center;gap:8px;font-weight:600;display:inline-flex}.folio-ai-panel__count{background-color:var(--doc-bg-muted);min-width:18px;height:18px;color:var(--doc-text-muted);font-variant-numeric:tabular-nums;border-radius:9999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:500;display:inline-flex}.folio-ai-panel__group-tabs{background-color:var(--doc-bg-muted);border-radius:9999px;align-items:center;gap:2px;padding:2px;display:inline-flex}.folio-ai-panel__group-tab{color:var(--doc-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:9999px;padding:4px 10px;font-size:12px;transition:background-color .12s,color .12s}.folio-ai-panel__group-tab:hover{color:var(--doc-text)}.folio-ai-panel__group-tab[aria-selected=true]{background-color:var(--doc-page);color:var(--doc-text);box-shadow:0 1px 2px #0000000d}.folio-ai-panel__close{width:28px;height:28px;color:var(--doc-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:inline-flex}.folio-ai-panel__close:hover{background-color:var(--doc-bg-muted);color:var(--doc-text)}.folio-ai-panel__toolbar{border-bottom:1px solid var(--doc-border);color:var(--doc-text-muted);align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex}.folio-ai-panel__toolbar-spacer{flex:1}.folio-ai-panel__mode-toggle{border:1px solid var(--doc-border);color:var(--doc-text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:9999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;transition:background-color .12s,color .12s;display:inline-flex}.folio-ai-panel__mode-toggle:hover{color:var(--doc-text);background-color:var(--doc-bg-muted)}.folio-ai-panel__mode-toggle[data-active=true]{border-color:var(--doc-text);color:var(--doc-text)}.folio-ai-panel__list{flex:1;padding:4px 0 8px;overflow-y:auto}.folio-ai-panel__group{padding:4px 0}.folio-ai-panel__group-header{color:var(--doc-text-muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;padding:8px 14px 4px;font-size:11px;font-weight:600;display:flex}.folio-ai-panel__group-name{flex:1}.folio-ai-panel__group-actions{text-transform:none;letter-spacing:0;align-items:center;gap:2px;display:inline-flex}.folio-ai-panel__group-action{color:var(--doc-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:500;transition:background-color .12s,color .12s}.folio-ai-panel__group-action:hover{background-color:var(--doc-bg-muted);color:var(--doc-text)}.folio-ai-panel__item{border-top:1px solid color-mix(in oklch, var(--doc-border) 60%, transparent);cursor:pointer;flex-direction:column;gap:6px;padding:10px 14px;transition:background-color .12s;display:flex}.folio-ai-panel__item:first-child{border-top:none}.folio-ai-panel__item:hover{background-color:color-mix(in oklch, var(--doc-bg-muted) 50%, transparent)}.folio-ai-panel__item[data-focused=true]{background-color:color-mix(in oklch, var(--doc-bg-muted) 80%, transparent)}.folio-ai-panel__item-meta{text-align:left;cursor:pointer;width:100%;color:var(--doc-text-muted);font:inherit;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:11px;display:flex}.folio-ai-panel__severity-dot{border-radius:9999px;flex-shrink:0;width:6px;height:6px}.folio-ai-panel__severity-dot--typo{background-color:var(--doc-text-muted)}.folio-ai-panel__severity-dot--style{background-color:color-mix(in oklch, var(--doc-text) 60%, transparent)}.folio-ai-panel__severity-dot--substantive{background-color:var(--doc-error,currentColor)}.folio-ai-panel__item-topic{color:var(--doc-text);font-weight:500}.folio-ai-panel__diff{background-color:var(--doc-bg-muted);text-wrap:pretty;word-break:break-word;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;font-size:12.5px;line-height:1.45;display:flex}.folio-ai-panel__diff-row{gap:6px;display:flex}.folio-ai-panel__diff-marker{color:var(--doc-text-muted);font-variant-numeric:tabular-nums;text-align:center;flex-shrink:0;width:12px}.folio-ai-panel__diff--original .folio-ai-panel__diff-text{color:var(--doc-text-muted);text-decoration:line-through;text-decoration-color:color-mix(in oklch, var(--doc-text-muted) 70%, transparent)}.folio-ai-panel__diff--suggested .folio-ai-panel__diff-text{color:var(--doc-text)}.folio-ai-panel__rationale{color:var(--doc-text-muted);text-wrap:pretty;font-size:12px;line-height:1.45}.folio-ai-panel__item-actions{align-items:center;gap:6px;margin-top:2px;display:flex}.folio-ai-panel__item-button{border:1px solid var(--doc-border);color:var(--doc-text);font:inherit;cursor:pointer;background-color:#0000;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;transition:background-color .12s,border-color .12s;display:inline-flex}.folio-ai-panel__item-button:hover{background-color:var(--doc-bg-muted)}.folio-ai-panel__item-button--accept{background-color:var(--doc-text);color:var(--doc-page);border-color:var(--doc-text)}.folio-ai-panel__item-button--accept:hover{background-color:color-mix(in oklch, var(--doc-text) 88%, transparent)}.folio-ai-panel__item-button--ghost{color:var(--doc-text-muted);border-color:#0000}.folio-ai-panel__item-button--ghost:hover{color:var(--doc-text);background-color:var(--doc-bg-muted)}.folio-ai-panel__stale-pill{background-color:color-mix(in oklch, var(--doc-error,currentColor) 12%, transparent);color:var(--doc-error,var(--doc-text));text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;align-items:center;gap:4px;padding:1px 6px;font-size:10px;font-weight:500;display:inline-flex}.folio-ai-panel__empty{text-align:center;color:var(--doc-text-muted);text-wrap:pretty;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:36px 24px;font-size:12.5px;display:flex}.folio-ai-panel__empty-title{color:var(--doc-text);font-weight:500}.folio-ai-host[data-compact=true] .folio-ai-bar{width:calc(100% - 24px);padding:3px 3px 3px 4px;font-size:12px;bottom:12px}.folio-ai-host[data-compact=true] .folio-ai-bar__form{height:30px}.folio-ai-host[data-compact=true] .folio-ai-bar__input{font-size:12px}.folio-ai-host[data-compact=true] .folio-ai-panel{width:calc(100% - 24px);bottom:56px}.folio-ai-host[data-compact=true] .folio-ai-panel__group-tab{padding:4px 8px}@media (prefers-reduced-motion:reduce){.folio-ai-bar,.folio-ai-panel,.folio-ai-suggestion{transition:none;animation:none}.folio-ai-bar__spinner{border-top-color:var(--doc-text-muted);animation:none}}
|
|
1
|
+
@import "@fontsource/carlito/400.css";@import "@fontsource/carlito/400-italic.css";@import "@fontsource/carlito/700.css";@import "@fontsource/carlito/700-italic.css";@import "@fontsource/caladea/400.css";@import "@fontsource/caladea/400-italic.css";@import "@fontsource/caladea/700.css";@import "@fontsource/caladea/700-italic.css";@import "@fontsource/arimo/400.css";@import "@fontsource/arimo/400-italic.css";@import "@fontsource/arimo/700.css";@import "@fontsource/arimo/700-italic.css";@import "@fontsource/tinos/400.css";@import "@fontsource/tinos/400-italic.css";@import "@fontsource/tinos/700.css";@import "@fontsource/tinos/700-italic.css";@import "@fontsource/cousine/400.css";@import "@fontsource/cousine/400-italic.css";@import "@fontsource/cousine/700.css";@import "@fontsource/cousine/700-italic.css";@import "@fontsource/noto-sans-arabic/400.css";@import "@fontsource/noto-sans-arabic/700.css";.ProseMirror{word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;font-feature-settings:"liga" 0;position:relative}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection ::selection{background:0 0}.ProseMirror-hideselection{caret-color:#0000}.ProseMirror [draggable][contenteditable=false]{user-select:text}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";pointer-events:none;border:2px solid #8cf;position:absolute;inset:-2px -2px -2px -32px}img.ProseMirror-separator{border:none!important;margin:0!important;display:inline!important}.prosemirror-editor-wrapper{min-height:100%}.prosemirror-editor{width:var(--page-width,8.5in)}.prosemirror-editor .ProseMirror{background:var(--doc-canvas);width:var(--page-width,8.5in);min-height:var(--page-height,11in);padding-top:var(--margin-top,72px);padding-bottom:var(--margin-bottom,72px);padding-left:var(--margin-left,72px);padding-right:var(--margin-right,72px);color:var(--doc-text);white-space:pre-wrap;word-wrap:break-word;-moz-tab-size:48;tab-size:48;box-sizing:border-box;outline:none;font-family:Calibri,Arial,sans-serif;font-size:11pt;position:relative;box-shadow:0 2px 8px #00000026}.prosemirror-editor .ProseMirror .docx-page-break{height:40px;margin:0 calc(-1 * var(--margin-left,72px));margin-right:calc(-1 * var(--margin-right,72px));background:var(--doc-bg);pointer-events:none;border:none;display:block;position:relative}.prosemirror-editor .ProseMirror .docx-page-break:before{content:"";background:linear-gradient(#0000,#00000014);height:8px;position:absolute;bottom:0;left:0;right:0}.prosemirror-editor .ProseMirror .docx-page-break:after{content:"";background:linear-gradient(#00000014,#0000);height:8px;position:absolute;top:0;left:0;right:0}.prosemirror-editor .ProseMirror [data-page-break-before=true]{break-before:page}.prosemirror-editor .ProseMirror .docx-page-break-line{height:1px;margin:20px calc(-1 * var(--margin-left,72px));margin-right:calc(-1 * var(--margin-right,72px));border-top:1px dashed var(--doc-border);display:block;position:relative}.prosemirror-editor .ProseMirror .docx-page-break-line:before{content:"Page Break";background:var(--doc-bg);color:var(--doc-text-muted);white-space:nowrap;padding:0 8px;font-size:10px;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.prosemirror-editor .ProseMirror:focus{outline:none}.prosemirror-editor .ProseMirror p{white-space:pre-wrap;word-wrap:break-word;min-height:1em;margin:0;padding:0;line-height:normal;display:block}.prosemirror-editor .ProseMirror p:empty:before{content:" "}.prosemirror-editor .ProseMirror span{white-space:pre-wrap;display:inline}.prosemirror-editor .ProseMirror .docx-list-bullet,.prosemirror-editor .ProseMirror .docx-list-numbered{padding-left:48px;position:relative}.prosemirror-editor .ProseMirror [data-list-marker]:before{content:attr(data-list-marker);text-align:right;white-space:nowrap;width:44px;position:absolute;left:0}.prosemirror-editor .ProseMirror .docx-list-bullet:not([data-list-marker]):before{content:"•";text-align:right;width:44px;position:absolute;left:0}.prosemirror-editor .ProseMirror .docx-list-numbered:not([data-list-marker]){counter-increment:list-counter}.prosemirror-editor .ProseMirror .docx-list-decimal:not([data-list-marker]):before{content:counter(list-counter) ".";text-align:right;width:44px;position:absolute;left:0}.prosemirror-editor .ProseMirror .docx-list-lower-roman:not([data-list-marker]):before{content:counter(list-counter, lower-roman) ".";text-align:right;width:44px;position:absolute;left:0}.prosemirror-editor .ProseMirror .docx-list-upper-roman:not([data-list-marker]):before{content:counter(list-counter, upper-roman) ".";text-align:right;width:44px;position:absolute;left:0}.prosemirror-editor .ProseMirror .docx-list-lower-alpha:not([data-list-marker]):before{content:counter(list-counter, lower-alpha) ".";text-align:right;width:44px;position:absolute;left:0}.prosemirror-editor .ProseMirror .docx-list-upper-alpha:not([data-list-marker]):before{content:counter(list-counter, upper-alpha) ".";text-align:right;width:44px;position:absolute;left:0}.prosemirror-editor .ProseMirror .docx-list-level-0:not([data-list-marker]):first-of-type{counter-reset:list-counter}.prosemirror-editor .ProseMirror .docx-list-level-1{margin-left:.5in}.prosemirror-editor .ProseMirror .docx-list-level-2{margin-left:1in}.prosemirror-editor .ProseMirror .docx-list-level-3{margin-left:1.5in}.prosemirror-editor .ProseMirror .docx-list-level-4{margin-left:2in}.prosemirror-editor .ProseMirror .docx-list-level-5{margin-left:2.5in}.prosemirror-editor .ProseMirror .docx-list-level-6{margin-left:3in}.prosemirror-editor .ProseMirror .docx-list-level-7{margin-left:3.5in}.prosemirror-editor .ProseMirror .docx-list-level-8{margin-left:4in}.prosemirror-editor .ProseMirror ::selection{background:#4285f44d}.prosemirror-editor[data-placeholder]:before{content:attr(data-placeholder);color:var(--doc-text-subtle);pointer-events:none;position:absolute}.prosemirror-editor .ProseMirror img.docx-image{object-fit:contain;vertical-align:baseline;outline:none;max-width:100%;display:inline}.prosemirror-editor .ProseMirror img.docx-image-float-left{clear:left}.prosemirror-editor .ProseMirror img.docx-image-float-right{clear:right}.prosemirror-editor .ProseMirror img.docx-image-block{clear:both}.prosemirror-editor .ProseMirror p:has(>img.docx-image-block:only-child){text-align:center;text-indent:0!important}.prosemirror-editor .ProseMirror p:has(img.docx-image-float):after{content:"";clear:both;display:table}.prosemirror-editor .ProseMirror img.docx-image.ProseMirror-selectednode{outline:2px solid var(--doc-primary,#4285f4);outline-offset:2px;cursor:grab}.prosemirror-editor .ProseMirror.pm-image-dragging img.docx-image.ProseMirror-selectednode{opacity:.4;outline:2px dashed var(--doc-primary,#4285f4);cursor:grabbing}.prosemirror-editor .ProseMirror img:not(.docx-image){max-width:100%;height:auto}.prosemirror-editor .ProseMirror .docx-shape{vertical-align:middle;cursor:pointer;line-height:0;display:inline-block}.prosemirror-editor .ProseMirror .docx-shape.ProseMirror-selectednode{outline:2px solid var(--doc-primary,#4285f4);outline-offset:2px}.prosemirror-editor .ProseMirror .docx-textbox{cursor:text;border-radius:2px;margin:4px 0}.prosemirror-editor .ProseMirror .docx-textbox.ProseMirror-selectednode{outline:2px solid var(--doc-primary,#4285f4);outline-offset:2px}.prosemirror-editor .ProseMirror a{color:var(--doc-link);text-decoration:underline}.prosemirror-editor .ProseMirror a:hover{color:var(--doc-primary-hover)}.prosemirror-editor .ProseMirror .docx-footnote-ref,.prosemirror-editor .ProseMirror .docx-endnote-ref{color:var(--doc-link,#06c);cursor:pointer}.prosemirror-editor .ProseMirror .docx-note-ref-superscript{vertical-align:super;font-size:smaller}.prosemirror-editor .ProseMirror .docx-footnote-ref:hover,.prosemirror-editor .ProseMirror .docx-endnote-ref:hover{text-decoration:underline}.prosemirror-editor .ProseMirror hr{border:none;border-top:1px solid var(--doc-text);height:0;margin:12pt 0}.prosemirror-editor .ProseMirror table.docx-table{border-collapse:collapse;max-width:100%;margin:12pt 0}.prosemirror-editor .ProseMirror td.docx-table-cell,.prosemirror-editor .ProseMirror th.docx-table-header{vertical-align:top;min-width:30px;padding:4px 8px}.prosemirror-editor .ProseMirror th.docx-table-header{font-weight:inherit;text-align:inherit}.prosemirror-editor .ProseMirror td p,.prosemirror-editor .ProseMirror th p{min-height:auto;margin:0;padding:0}.prosemirror-editor .ProseMirror td p:first-child,.prosemirror-editor .ProseMirror th p:first-child{margin-top:0}.prosemirror-editor .ProseMirror td p:last-child,.prosemirror-editor .ProseMirror th p:last-child{margin-bottom:0}.prosemirror-editor .ProseMirror .activeCell{outline-offset:-2px;outline:2px solid #4285f480}.prosemirror-editor .ProseMirror .selectedCell{background-color:#4285f426}.prosemirror-editor .ProseMirror .selectedCell:after{content:"";pointer-events:none;background:#4285f41a;position:absolute;inset:0}.prosemirror-editor .ProseMirror table table{margin:4px 0}.prosemirror-editor .ProseMirror .column-resize-handle{cursor:col-resize;z-index:20;background-color:#4285f480;width:4px;position:absolute;top:0;bottom:0;right:-2px}.prosemirror-editor .ProseMirror td.docx-table-cell,.prosemirror-editor .ProseMirror th.docx-table-header{position:relative}.prosemirror-editor .ProseMirror.resize-cursor{cursor:col-resize}.prosemirror-editor .ProseMirror table:not(:hover) .column-resize-handle{background-color:#0000}.prosemirror-editor .ProseMirror table:hover .column-resize-handle{background-color:#4285f44d}.prosemirror-editor .ProseMirror .column-resize-handle:hover{background-color:#4285f4b3}.prosemirror-editor .ProseMirror span.docx-tab{white-space:pre;background:0 0;min-width:48px;display:inline-block}.prosemirror-editor .ProseMirror span.docx-tab[data-leader=dot]:before{content:"...........";color:inherit;white-space:nowrap;position:absolute;overflow:hidden}.prosemirror-editor .ProseMirror span.docx-tab[data-leader=hyphen]:before{content:"-----------";color:inherit;white-space:nowrap;position:absolute;overflow:hidden}.prosemirror-editor .ProseMirror span.docx-tab[data-leader=underscore]:before{content:"___________";color:inherit;white-space:nowrap;position:absolute;overflow:hidden}.prosemirror-editor .ProseMirror .docx-run-all-caps{text-transform:uppercase}.prosemirror-editor .ProseMirror .docx-run-small-caps{font-variant:small-caps}.prosemirror-editor .ProseMirror .docx-comment{background-color:var(--doc-comment-bg,#ffd40014);border-bottom:1px solid var(--doc-comment-border,#b482003d)}.docx-section-break{position:relative}.prosemirror-editor .ProseMirror .pm-drop-indicator{background:var(--doc-primary,#4285f4);pointer-events:none;z-index:50;width:2px;position:absolute}.prosemirror-editor .ProseMirror .ProseMirror-dropcursor{z-index:50}.layout-paragraph.folio-paragraph-flash{animation:folio-paragraph-flash-fade var(--folio-paragraph-flash-duration,1.2s) ease-out both}@keyframes folio-paragraph-flash-fade{0%{box-shadow:inset 0 0 0 9999px var(--folio-paragraph-flash-color,#ffeb3b8c)}to{box-shadow:inset 0 0 0 9999px #0000}}.layout-page-header>*,.layout-page-footer>*{pointer-events:none}.paged-editor--editing-header .layout-page-header>*,.paged-editor--editing-footer .layout-page-footer>*{pointer-events:auto}.hf-editor-pm.prosemirror-editor{width:100%;max-width:100%}.hf-editor-pm .ProseMirror{outline:none;min-height:40px;padding:0}.hf-editor-pm.prosemirror-editor .ProseMirror{width:100%;max-width:100%;min-height:40px;box-shadow:none;background:0 0;padding:0}.hf-editor-pm .ProseMirror:focus{outline:none}.hf-editor-pm .ProseMirror p{padding-top:var(--docx-space-before,0);padding-right:0;padding-bottom:var(--docx-space-after,0);white-space:pre-wrap;word-wrap:break-word;min-height:1em;padding-left:0;display:block;margin:0!important;line-height:normal!important}.hf-editor-pm .ProseMirror td p,.hf-editor-pm .ProseMirror th p{padding-top:var(--docx-space-before,0);padding-right:0;padding-bottom:var(--docx-space-after,0);min-height:auto;padding-left:0;margin:0!important;line-height:normal!important}.hf-editor-pm .ProseMirror .tableWrapper{overflow:visible}.hf-editor-pm .ProseMirror table{margin:0;border-collapse:collapse!important;border-spacing:0!important;table-layout:fixed!important}.hf-editor-pm .ProseMirror td.docx-table-cell,.hf-editor-pm .ProseMirror th.docx-table-header{box-sizing:border-box!important}.hf-editor-pm .ProseMirror td p:has(>img.docx-image):not(:has(>span)),.hf-editor-pm .ProseMirror th p:has(>img.docx-image):not(:has(>span)){font-size:0!important;line-height:0!important}@font-face{font-family:Calibri;src:local(Carlito),local(Carlito Regular),local(Calibri);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Calibri;src:local(Carlito Italic),local(Calibri Italic);font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Calibri;src:local(Carlito Bold),local(Calibri Bold);font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Calibri;src:local(Carlito Bold Italic),local(Calibri Bold Italic);font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Cambria;src:local(Caladea),local(Caladea Regular),local(Cambria);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cambria;src:local(Caladea Italic),local(Cambria Italic);font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Cambria;src:local(Caladea Bold),local(Cambria Bold);font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Cambria;src:local(Caladea Bold Italic),local(Cambria Bold Italic);font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Arial;src:local(Arimo),local(Arimo Regular),local(Arial);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Arial;src:local(Arimo Italic),local(Arial Italic);font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Arial;src:local(Arimo Bold),local(Arial Bold);font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Arial;src:local(Arimo Bold Italic),local(Arial Bold Italic);font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Times New Roman;src:local(Tinos),local(Tinos Regular),local(Times New Roman);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Times New Roman;src:local(Tinos Italic),local(Times New Roman Italic);font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Times New Roman;src:local(Tinos Bold),local(Times New Roman Bold);font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Times New Roman;src:local(Tinos Bold Italic),local(Times New Roman Bold Italic);font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Courier New;src:local(Cousine),local(Cousine Regular),local(Courier New);font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Courier New;src:local(Cousine Italic),local(Courier New Italic);font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Courier New;src:local(Cousine Bold),local(Courier New Bold);font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Courier New;src:local(Cousine Bold Italic),local(Courier New Bold Italic);font-weight:700;font-style:italic;font-display:swap}.folio-autocomplete-ghost{pointer-events:none;user-select:none;white-space:pre-wrap;overflow-wrap:anywhere;color:color-mix(in oklch, var(--doc-text,currentColor) 38%, transparent);font:inherit;letter-spacing:inherit}.folio-autocomplete-caret{background:color-mix(in oklch, var(--doc-text,currentColor) 8%, transparent);height:1.1em;color:color-mix(in oklch, var(--doc-text,currentColor) 70%, transparent);letter-spacing:.02em;text-transform:lowercase;vertical-align:baseline;pointer-events:none;user-select:none;border-radius:9999px;align-items:center;margin-inline-start:.4em;padding:0 .45em;font-size:.72em;font-weight:500;display:inline-flex}.folio-autocomplete-caret--streaming{animation:1.2s ease-in-out infinite folio-autocomplete-caret-pulse}@keyframes folio-autocomplete-caret-pulse{0%,to{opacity:.65}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.folio-autocomplete-caret--streaming{animation:none}}.folio-root{--doc-page:var(--background);--doc-canvas:var(--background);--doc-canvas-text:var(--foreground);--doc-bg:var(--muted);--doc-bg-subtle:var(--muted);--doc-bg-muted:var(--muted);--doc-bg-hover:var(--accent);--doc-bg-input:var(--input);--doc-text:var(--foreground);--doc-text-muted:var(--muted-foreground);--doc-text-subtle:var(--muted-foreground);--doc-text-placeholder:var(--muted-foreground);--doc-border:var(--border);--doc-border-input:var(--input);--doc-border-dark:var(--border);--doc-primary:var(--primary);--doc-primary-hover:var(--primary);--doc-primary-light:var(--accent);--doc-error:var(--destructive);--doc-success:var(--success);--doc-link:#2563eb;--doc-selection:#2563eb40;--doc-selection-dark-bg:#60a5fa66;--doc-find-highlight:#facc1580;--doc-find-current:#f9731699;--doc-image-selection:var(--doc-link);--doc-image-selection-muted:color-mix(in srgb, var(--doc-image-selection) 12%, transparent);--doc-handle-border:var(--background);--doc-dimension-bg:color-mix(in srgb, var(--foreground) 75%, transparent);--doc-dimension-text:var(--background);--doc-focus-ring:color-mix(in srgb, var(--doc-link) 18%, transparent);--doc-shadow-sm:color-mix(in srgb, var(--foreground) 15%, transparent);--doc-shadow-md:color-mix(in srgb, var(--foreground) 24%, transparent);--doc-shadow-lg:color-mix(in srgb, var(--foreground) 28%, transparent)}.dark .folio-root,.folio-root.dark{--doc-link:#60a5fa;--doc-selection:#60a5fa4d}.hf-options-button{color:var(--doc-link);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:2px 6px;font-size:11px}.hf-options-button:hover,.hf-options-button:focus-visible{background-color:var(--doc-bg-hover);outline:none}.hf-options-dropdown{z-index:100;border:1px solid var(--doc-border);background:var(--doc-page);min-width:160px;box-shadow:0 2px 6px var(--doc-shadow-sm);border-radius:4px;padding:4px 0;position:absolute;top:100%;right:0}.hf-options-dropdown--up{top:auto;bottom:100%}.hf-options-item{width:100%;color:var(--doc-text);cursor:pointer;text-align:left;background:0 0;border:0;padding:6px 12px;font-size:12px;display:block}.hf-options-item:hover,.hf-options-item:focus-visible{background-color:var(--doc-bg-hover);outline:none}.hf-options-divider{border-top:1px solid var(--doc-border);margin:4px 0}.image-drag-ghost{z-index:10000;border:2px dashed var(--image-drag-ghost-selection);background:var(--image-drag-ghost-selection-muted);opacity:.5;pointer-events:none;border-radius:4px;position:fixed}[contenteditable=true]{caret-color:var(--doc-canvas-text,var(--doc-text));caret-shape:bar;outline:none}.dark [contenteditable=true],.dark .ProseMirror{caret-color:var(--doc-canvas-text)!important}.docx-run-editable[contenteditable=true]{caret-color:var(--doc-canvas-text,var(--doc-text));min-height:1em;display:inline}.docx-paragraph-empty [contenteditable=true]{min-width:1px;min-height:1em;display:inline-block}@keyframes folio-caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.docx-paragraph-editable{cursor:text}.docx-run-editable[contenteditable=true]:focus,.docx-paragraph-editable:focus-within{outline:none}.docx-run-editable::selection,.docx-run-editable ::selection,.docx-run::selection,.docx-run ::selection,[contenteditable=true]::selection,[contenteditable=true] ::selection,.docx-paragraph::selection,.docx-paragraph ::selection,.docx-paragraph-editable::selection,.docx-paragraph-editable ::selection,.docx-hyperlink::selection,.docx-hyperlink ::selection{background-color:var(--doc-selection)!important;color:inherit!important;background-color:var(--doc-selection)!important}.docx-run-highlighted::selection,.docx-run-highlighted ::selection{color:inherit!important;background-color:#2563eb73!important}.docx-run-dark-bg::selection,.docx-run-dark-bg ::selection{background-color:var(--doc-selection-dark-bg)!important;color:inherit!important}.docx-find-highlight{border-radius:2px;background-color:var(--doc-find-highlight)!important}.docx-find-highlight-current{outline:2px solid var(--doc-find-current);border-radius:2px;background-color:var(--doc-find-current)!important}.docx-selection-overlay-container{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.docx-selection-overlay-rect{background-color:var(--doc-selection);pointer-events:none;user-select:none;position:absolute}.docx-run-highlighted[contenteditable=true]{caret-color:var(--doc-text)}.docx-run-dark-bg[contenteditable=true]{caret-color:var(--doc-canvas-text)}.folio-editor{cursor:default}.folio-editor-page{cursor:text}.dark .layout-page,.dark .layout-page-content,.dark .docx-paragraph,.dark .docx-run,.dark .docx-run-editable,.dark .ProseMirror{color:var(--doc-canvas-text)!important}.dark .layout-page [style*=--doc-run-color]:not(.docx-insertion):not(.docx-deletion){color:oklch(from var(--doc-run-color) clamp(0, 1.22 - .95 * l, 1) calc(c * .6) h)!important}.dark .layout-page .docx-insertion,.dark .layout-page .docx-deletion{--tc-inverted:oklch(from var(--tc-color,#c00000) clamp(0, 1.22 - .95 * l, 1) calc(c * .6) h);color:var(--tc-inverted)!important;text-decoration-color:var(--tc-inverted)!important}.folio-editor ::-webkit-scrollbar{width:6px;height:6px}.folio-editor ::-webkit-scrollbar-track{background:0 0}.folio-editor ::-webkit-scrollbar-thumb{background:var(--foreground,#262626);opacity:.2;border-radius:9999px}.folio-editor ::-webkit-scrollbar-thumb:hover{opacity:.4}.folio-editor{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--foreground,#262626) 20%, transparent) transparent}.docx-list-marker,.docx-bookmark-start,.docx-bookmark-end,.docx-field,.docx-drawing-placeholder,.docx-shape-placeholder{cursor:default;user-select:none}.layout-table-cell-selected{outline-offset:-2px;outline:2px solid #2563eb99;position:relative}.layout-table-cell-selected:after{content:"";pointer-events:none;background-color:#2563eb1f;position:absolute;inset:0}.layout-table-resize-handle,.layout-table-row-resize-handle,.layout-table-edge-handle-bottom,.layout-table-edge-handle-right{background-color:#0000;transition:background-color .15s}.layout-table-resize-handle:hover,.layout-table-resize-handle.dragging,.layout-table-row-resize-handle:hover,.layout-table-row-resize-handle.dragging,.layout-table-edge-handle-bottom:hover,.layout-table-edge-handle-bottom.dragging,.layout-table-edge-handle-right:hover,.layout-table-edge-handle-right.dragging{background-color:#2563eb80}.paged-editor{direction:ltr}.paged-editor--readonly .layout-table-resize-handle,.paged-editor--readonly .layout-table-row-resize-handle,.paged-editor--readonly .layout-table-edge-handle-bottom,.paged-editor--readonly .layout-table-edge-handle-right{display:none!important}.paged-editor--readonly .layout-page-header,.paged-editor--readonly .layout-page-footer{cursor:default;pointer-events:none}.paged-editor--readonly .layout-page-content{cursor:text}[data-tc-author-idx="0"]{--tc-color:#c00000}[data-tc-author-idx="1"]{--tc-color:#2f5496}[data-tc-author-idx="2"]{--tc-color:#538135}[data-tc-author-idx="3"]{--tc-color:#7030a0}[data-tc-author-idx="4"]{--tc-color:#bf8f00}.docx-hidden{opacity:.4;text-decoration-line:underline;text-decoration-style:dotted}.docx-insertion{color:var(--tc-color,#c00000);text-decoration:underline;text-decoration-color:var(--tc-color,#c00000);position:relative}.docx-deletion{text-decoration:line-through;text-decoration-color:var(--tc-color,#c00000);color:var(--tc-color,#c00000);position:relative}.docx-insertion[data-change-author]:hover:after,.docx-deletion[data-change-author]:hover:after{content:attr(data-change-author);white-space:nowrap;color:var(--foreground);background:var(--popover,var(--doc-page));pointer-events:none;z-index:100;border-radius:6px;padding:3px 8px;font-size:11px;font-style:normal;font-weight:500;line-height:1.4;text-decoration:none;position:absolute;bottom:calc(100% + 4px);left:0;box-shadow:0 4px 12px #0000001f}.paged-editor__hidden-pm .docx-insertion,.paged-editor__hidden-pm .docx-deletion{opacity:1;color:#0000!important;background:0 0!important;text-decoration-color:#0000!important}.folio-root--no-markup .docx-insertion{color:inherit!important;background:0 0!important;text-decoration:none!important}.folio-root--no-markup .docx-deletion,.folio-root--original .docx-insertion{display:none!important}.folio-root--original .docx-deletion,.folio-root--simple-markup .docx-insertion{color:inherit!important;background:0 0!important;text-decoration:none!important}.folio-root--simple-markup .docx-deletion{display:none!important}.layout-page-content{cursor:text}.layout-page-header,.layout-page-footer{cursor:pointer;transition:background-color .15s}.layout-page-header:hover,.layout-page-footer:hover{background-color:#2563eb0a}.layout-page-header:empty:hover:after{content:"Double-click to add header";text-align:center;color:var(--doc-text-subtle);padding:4px 0;font-size:11px;display:block}.layout-page-footer:empty:hover:after{content:"Double-click to add footer";text-align:center;color:var(--doc-text-subtle);padding:4px 0;font-size:11px;display:block}.folio-no-hf-edit .layout-page-header:hover,.folio-no-hf-edit .layout-page-footer:hover{background-color:#0000}.folio-no-hf-edit .layout-page-header:empty:hover:after,.folio-no-hf-edit .layout-page-footer:empty:hover:after{content:none}.folio-no-hf-edit .paged-editor{background-color:#0000!important}.paged-editor--hf-editing .layout-page-content{opacity:.4;pointer-events:none;transition:opacity .15s}.paged-editor--editing-header .layout-page-header{border-bottom:1px dotted var(--doc-primary)}.paged-editor--editing-footer .layout-page-footer{border-top:1px dotted var(--doc-primary)}.paged-editor--editing-header .layout-page-header,.paged-editor--editing-footer .layout-page-footer{opacity:1!important}.paged-editor--hf-editing .layout-page-header:hover,.paged-editor--hf-editing .layout-page-footer:hover{background-color:#0000}.docx-section-break:after{content:"Section Break (" attr(data-section-break) ")";text-align:center;color:var(--doc-text-muted);border-top:1px dashed var(--doc-border);pointer-events:none;margin-top:4px;padding-top:2px;font-size:9px;display:block}[data-folio-ai-suggestions-overlay] .folio-ai-suggestion{border-bottom:1px dotted var(--folio-ai-underline-color,transparent)}[data-folio-ai-suggestions-overlay] .folio-ai-suggestion--substantive{border-bottom-width:1.5px}[data-folio-ai-suggestions-overlay] .folio-ai-suggestion--focused-original{opacity:1;background:linear-gradient(transparent calc(50% - .5px), var(--folio-ai-strike-color) calc(50% - .5px), var(--folio-ai-strike-color) calc(50% + .5px), transparent calc(50% + .5px)), color-mix(in srgb, var(--doc-canvas,#fff) 45%, transparent)}[data-folio-ai-suggestions-overlay] .folio-ai-suggestion--focused-replacement{background:linear-gradient(var(--folio-ai-replacement-bg), var(--folio-ai-replacement-bg)), var(--doc-canvas,#fff)}.folio-anonymization-term{background-color:#0000;border-radius:2px;transition:background-color .15s,box-shadow .15s;box-shadow:inset 0 -2px #2563ebcc}.folio-anonymization-term:hover{background-color:#2563eb1f}.folio-anonymization-term[data-folio-anonymization-selected=true]{background-color:#2563eb33;box-shadow:inset 0 -2px #2563ebe6,0 0 0 2px #2563eb59}.folio-ai-citation{background-color:color-mix(in oklch, var(--doc-find-highlight,#facc1580) 50%, transparent);border-radius:2px;transition:background-color .2s,box-shadow .2s}.folio-ai-citation--active{background-color:color-mix(in oklch, var(--doc-find-current,#f9731699) 70%, transparent);box-shadow:0 0 0 2px color-mix(in oklch, var(--doc-find-current,#f9731699) 30%, transparent)}@keyframes folio-outline-flash{0%{background-color:color-mix(in oklch, var(--color-primary,oklch(60% .2 24)) 18%, transparent)}to{background-color:#0000}}.layout-page-content [data-folio-outline-flash]{border-radius:2px;animation:1.2s ease-out folio-outline-flash}.layout-page-content [data-sdt-boundary=true]{position:relative}.layout-page-content [data-sdt-boundary=true]:before{content:"";pointer-events:none;border:1px dashed #0000;transition:border-color .12s ease-out;position:absolute;inset:-2px -4px}.layout-page-content [data-sdt-boundary=true][data-sdt-position=first]:before{border-bottom-width:0;border-start-start-radius:2px;border-start-end-radius:2px;border-end-end-radius:0;border-end-start-radius:0}.layout-page-content [data-sdt-boundary=true][data-sdt-position=middle]:before{border-top-width:0;border-bottom-width:0;border-radius:0}.layout-page-content [data-sdt-boundary=true][data-sdt-position=last]:before{border-top-width:0;border-start-start-radius:0;border-start-end-radius:0;border-end-end-radius:2px;border-end-start-radius:2px}.layout-page-content [data-sdt-boundary=true][data-sdt-position=only]:before,.layout-page-content [data-sdt-boundary=true]:not([data-sdt-position]):before{border-radius:2px}.layout-page-content [data-sdt-boundary=true]:hover:before,.layout-page-content [data-sdt-boundary=true]:focus-within:before{border-color:color-mix(in oklch, var(--color-border,oklch(85% 0 0)) 60%, transparent)}.ProseMirror-gapcursor{pointer-events:none;display:none;position:absolute}.ProseMirror-gapcursor:after{content:"";border-top:1px solid var(--doc-text,currentcolor);width:20px;animation:1.1s linear infinite folio-gapcursor-blink;display:block;position:absolute;top:-2px}@keyframes folio-gapcursor-blink{to{visibility:hidden}}.ProseMirror-focused .ProseMirror-gapcursor{display:block}.folio-template-directive{background:#0000ff6b;border-radius:3px;position:absolute}.folio-template-directive--clause,.folio-template-directive--num,.folio-template-directive--ref,.folio-template-directive--if,.folio-template-directive--elseif,.folio-template-directive--else,.folio-template-directive--endif,.folio-template-directive--each,.folio-template-directive--endeach{background:#0000ff3d}.folio-template-band-rail{background:#0000ff80;border-radius:2px;position:absolute}.folio-template-preview-original{display:none}.folio-template-preview-value{white-space:pre-wrap}.folio-template-preview-value--highlighted{--folio-template-preview-accent-bg:#f9731647;background:var(--folio-template-preview-accent-bg);border-radius:3px;padding:0 2px;box-shadow:inset 0 0 0 1px #f9731673}.folio-template-preview-run--highlighted{background:#f9731647;border-radius:3px;box-shadow:inset 0 0 0 1px #f9731673}:where(.folio-default-button){white-space:nowrap;cursor:pointer;border-style:solid;border-width:1px;border-radius:.5rem;justify-content:center;align-items:center;gap:.375rem;font-weight:500;display:inline-flex}:where(.folio-default-button--default){background:var(--doc-primary,#2563eb);color:var(--doc-primary-foreground,#fff);border-color:var(--doc-primary,#2563eb)}:where(.folio-default-button--ghost){color:var(--doc-text,inherit);background:0 0;border-color:#0000}:where(.folio-default-button--sm){height:2rem;padding:0 .625rem;font-size:.8125rem}:where(.folio-default-button--xs){height:1.75rem;padding:0 .5rem;font-size:.75rem}:where(.folio-default-button--icon-xs){width:1.75rem;height:1.75rem;padding:0}.folio-default-color-picker-trigger{display:inline-flex}.folio-default-color-picker-popup{border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);color:var(--doc-text,inherit);border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.5rem;display:flex;box-shadow:0 4px 12px #0000001f}.folio-default-color-picker-clear{cursor:pointer;height:1.5rem;color:var(--doc-text-muted,inherit);background:0 0;border:none;align-items:center;padding:0 .25rem;font-size:.75rem;display:flex}.folio-default-color-picker-swatches{grid-template-columns:repeat(8,1fr);gap:.25rem;display:grid}.folio-default-color-picker-swatch{border:1px solid var(--doc-border,#e5e7eb);cursor:pointer;border-radius:.25rem;width:1.25rem;height:1.25rem;padding:0}.folio-default-color-picker-swatch--selected{outline:2px solid var(--doc-primary,#2563eb);outline-offset:1px}.folio-default-color-picker-custom{color:var(--doc-text-muted,inherit);align-items:center;gap:.375rem;font-size:.75rem;display:flex}.folio-default-date-input{border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);height:1.75rem;color:var(--doc-text,inherit);border-radius:.375rem;padding:0 .375rem;font-size:.8125rem}.folio-default-outline-rail{max-height:100%;padding:.25rem 0;position:absolute;inset-inline-end:0;overflow-y:auto}.folio-default-outline-list{margin:0;padding:0;list-style:none}.folio-default-outline-item{text-align:start;cursor:pointer;width:100%;color:var(--doc-text-muted,inherit);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding-block:.25rem;padding-inline-end:.5rem;font-size:.8125rem;display:block;overflow:hidden}.folio-default-outline-item--active{color:var(--doc-text,inherit);font-weight:500}.folio-default-menu-positioner{z-index:50}.folio-default-menu-popup{border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);min-width:12rem;color:var(--doc-text,inherit);border-radius:.5rem;padding:.25rem;box-shadow:0 4px 12px #0000001f}.folio-default-menu-item,.folio-default-menu-checkbox-item{color:var(--doc-text,inherit);cursor:pointer;user-select:none;border-radius:.375rem;outline:none;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8125rem;display:flex}.folio-default-menu-checkbox-item{padding-inline-start:.375rem}.folio-default-menu-item[data-highlighted],.folio-default-menu-item:hover,.folio-default-menu-checkbox-item[data-highlighted],.folio-default-menu-checkbox-item:hover{background:var(--doc-primary-light,#eff6ff)}.folio-default-menu-checkbox-indicator{flex-shrink:0;justify-content:center;align-items:center;width:1rem;height:1rem;display:inline-flex}.folio-default-menu-group-label{color:var(--doc-text-muted,#6b7280);padding:.375rem .5rem;font-size:.6875rem;font-weight:500}.folio-default-menu-separator{border-top:1px solid var(--doc-border,#e5e7eb);margin:.25rem 0}:where(.folio-default-select-trigger){border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);height:2rem;color:var(--doc-text,inherit);cursor:pointer;border-radius:.375rem;align-items:center;gap:.375rem;padding:0 .625rem;font-size:.8125rem;display:inline-flex}:where(.folio-default-select-trigger[data-size=sm]){height:1.75rem;padding:0 .5rem;font-size:.75rem}:where(.folio-default-select-trigger[data-size=lg]){height:2.5rem;padding:0 .75rem;font-size:.875rem}:where(.folio-default-select-icon){color:var(--doc-text-muted,#6b7280);flex-shrink:0;display:inline-flex}:where(.folio-default-select-value){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:where(.folio-default-select-positioner){z-index:50}:where(.folio-default-select-popup){border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);min-width:8rem;max-height:18rem;color:var(--doc-text,inherit);border-radius:.5rem;padding:.25rem;overflow-y:auto;box-shadow:0 4px 12px #0000001f}:where(.folio-default-select-item){color:var(--doc-text,inherit);cursor:pointer;user-select:none;border-radius:.375rem;outline:none;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8125rem;display:flex}:where(.folio-default-select-item[data-highlighted]){background:var(--doc-primary-light,#eff6ff)}:where(.folio-default-select-item[data-selected]){font-weight:500}.folio-default-popover-positioner{z-index:50}.folio-default-popover-popup{border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);color:var(--doc-text,inherit);border-radius:.5rem;padding:.5rem;box-shadow:0 4px 12px #0000001f}.folio-default-dialog-backdrop{z-index:50;background:#0006;position:fixed;inset:0}.folio-default-dialog-popup{z-index:51;border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);width:100%;max-width:28rem;max-height:85vh;color:var(--doc-text,inherit);border-radius:.5rem;padding:1.25rem;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 12px 32px #0003}.folio-default-dialog-title{margin:0 0 .75rem;font-size:1rem;font-weight:600}:where(.folio-default-dialog-close){cursor:pointer}:where(.folio-default-input){border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);height:2rem;color:var(--doc-text,inherit);border-radius:.375rem;padding:0 .625rem;font-size:.8125rem}:where(.folio-default-input[data-size=sm]){height:1.75rem;font-size:.75rem}:where(.folio-default-input[data-size=lg]){height:2.5rem;font-size:.875rem}:where(.folio-default-input:focus-visible){outline:2px solid var(--doc-primary,#2563eb);outline-offset:-1px}.folio-default-checkbox{border:1px solid var(--doc-border,#e5e7eb);background:var(--doc-page,#fff);width:1rem;height:1rem;color:var(--doc-primary-foreground,#fff);cursor:pointer;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.folio-default-checkbox[data-checked]{background:var(--doc-primary,#2563eb);border-color:var(--doc-primary,#2563eb)}.folio-default-checkbox-indicator{justify-content:center;align-items:center;display:inline-flex}.folio-editor[data-folio-format-painter=armed] [contenteditable=true]{cursor:copy}.folio-ai-host{--folio-ai-mention:#2563eb;--folio-ai-mention-soft:oklch(54.615% .215208 262.881/.12)}.dark .folio-ai-host,.folio-ai-host.dark{--folio-ai-mention:#60a5fa;--folio-ai-mention-soft:oklch(71.374% .143381 254.624/.18)}.folio-ai-suggestion{text-underline-offset:3px;cursor:pointer;background-color:#0000;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;transition:background-color .15s,text-decoration-color .15s}.folio-ai-suggestion--typo{--folio-ai-underline-color:color-mix(in oklch, var(--doc-text-muted) 65%, transparent);text-decoration-color:var(--folio-ai-underline-color)}.folio-ai-suggestion--style{--folio-ai-underline-color:color-mix(in oklch, var(--doc-text) 35%, transparent);text-decoration-color:var(--folio-ai-underline-color)}.folio-ai-suggestion--substantive{--folio-ai-underline-color:color-mix(in oklch, var(--doc-error,currentColor) 60%, transparent);text-decoration-color:var(--folio-ai-underline-color);text-decoration-thickness:1.5px}.folio-ai-suggestion:hover{background-color:color-mix(in oklch, var(--doc-bg-hover) 60%, transparent)}.folio-ai-suggestion--focused{background-color:color-mix(in oklch, var(--doc-bg-hover) 90%, transparent)}.folio-ai-suggestion--focused-original{--folio-ai-strike-color:color-mix(in oklch, var(--doc-text-muted) 75%, transparent);text-decoration-line:line-through;text-decoration-style:solid;text-decoration-thickness:1px;text-decoration-color:var(--folio-ai-strike-color);opacity:.55}.folio-ai-suggestion--focused-replacement{--folio-ai-replacement-bg:color-mix(in oklch, var(--doc-success,var(--doc-text)) 16%, transparent);background-color:var(--folio-ai-replacement-bg);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--doc-success,var(--doc-text)) 30%, transparent);white-space:pre-wrap;border-radius:4px;margin-inline-start:3px;padding:0 3px}.folio-ai-bar{z-index:40;width:min(560px,100% - 32px);color:var(--doc-text);background-color:color-mix(in oklch, var(--doc-page) 78%, transparent);-webkit-backdrop-filter:blur(20px)saturate(160%);border:1px solid color-mix(in oklch, var(--doc-border) 70%, transparent);user-select:none;border-radius:9999px;align-items:center;gap:4px;padding:4px 4px 4px 6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;transition:box-shadow .2s,border-color .2s;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #00000005,0 1px 2px #0000000f,0 12px 32px #0000001a,0 24px 56px #0000000f,inset 0 1px #fff9}.folio-ai-bar:before{content:"";z-index:-1;background:radial-gradient(ellipse at center, color-mix(in oklch, var(--doc-page) 45%, transparent) 0%, transparent 70%);pointer-events:none;border-radius:inherit;position:absolute;inset:-16px}.dark .folio-ai-bar,.folio-ai-bar.dark{background-color:color-mix(in oklch, var(--doc-page) 70%, transparent);box-shadow:0 0 0 1px #ffffff0a,0 1px 2px #0006,0 12px 32px #00000073,0 24px 56px #0000004d,inset 0 1px #ffffff14}.folio-ai-bar:focus-within{border-color:color-mix(in oklch, var(--doc-text) 35%, var(--doc-border));box-shadow:0 0 0 1px #00000008,0 1px 2px #0000000f,0 16px 40px #0000001f,0 32px 64px #00000014,inset 0 1px #fff9}.folio-ai-bar__form{flex:1;align-items:center;gap:6px;min-width:0;height:32px;padding:0 6px 0 4px;display:flex}.folio-ai-bar__leading{width:18px;height:18px;color:var(--doc-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.folio-ai-bar__input{min-width:0;height:100%;color:var(--doc-text);font:inherit;caret-color:var(--doc-text);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:13px}.folio-ai-bar__input::placeholder{color:var(--doc-text-muted)}.folio-ai-bar__input:disabled{color:var(--doc-text-muted);cursor:progress}.folio-ai-bar__input--slash{color:var(--folio-ai-mention);font-weight:500}.folio-ai-bar__input--slash::placeholder{color:color-mix(in oklch, var(--folio-ai-mention) 60%, transparent)}.folio-editor:has(.folio-ai-bar__input:focus) [contenteditable=true]{caret-color:#0000}.folio-ai-bar__paste-chip{border:1px solid color-mix(in oklch, var(--folio-ai-mention) 35%, transparent);background-color:var(--folio-ai-mention-soft);height:22px;color:var(--folio-ai-mention);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;max-width:220px;padding:2px 6px 2px 8px;font-size:11.5px;font-weight:500;transition:background-color .12s,border-color .12s;display:inline-flex;overflow:hidden}.folio-ai-bar__paste-chip:hover{background-color:color-mix(in oklch, var(--folio-ai-mention) 18%, transparent);border-color:color-mix(in oklch, var(--folio-ai-mention) 50%, transparent)}.folio-ai-bar__paste-chip>svg{opacity:.7}.folio-ai-bar__count{background-color:var(--doc-bg-muted);min-width:18px;height:18px;color:var(--doc-text);font-variant-numeric:tabular-nums;border-radius:9999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:600;display:inline-flex}.folio-ai-bar__divider{background-color:var(--doc-border);flex-shrink:0;width:1px;height:18px}.folio-ai-bar__action{min-width:28px;height:28px;color:var(--doc-text);font:inherit;cursor:pointer;background-color:#0000;border:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;transition:background-color .12s;display:inline-flex}.folio-ai-bar__action:hover{background-color:var(--doc-bg-muted)}.folio-ai-bar__action:disabled{opacity:.5;cursor:default}.folio-ai-bar__icon-button{width:28px;height:28px;color:var(--doc-text-muted);cursor:pointer;background:0 0;border:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:inline-flex}.folio-ai-bar__icon-button:hover{background-color:var(--doc-bg-muted);color:var(--doc-text)}.folio-ai-bar__icon-button:disabled{opacity:.5;cursor:default}.folio-ai-bar__icon-button--primary{background-color:var(--doc-text);color:var(--doc-page)}.folio-ai-bar__icon-button--primary:hover{background-color:color-mix(in oklch, var(--doc-text) 88%, transparent);color:var(--doc-page)}.folio-ai-bar__icon-button--primary:disabled{background-color:var(--doc-bg-muted);color:var(--doc-text-muted)}.folio-ai-bar__spinner{border:1.5px solid var(--doc-border);border-top-color:var(--doc-text);border-radius:9999px;width:14px;height:14px;animation:.72s linear infinite folio-ai-spin}@keyframes folio-ai-spin{to{transform:rotate(360deg)}}.folio-ai-bar__presets{background-color:var(--doc-page);border:1px solid var(--doc-border);border-radius:12px;flex-direction:column;gap:1px;width:min(320px,100%);padding:4px;animation:.16s folio-ai-panel-in;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 1px 2px #0000000a,0 12px 36px #0000001a}.folio-ai-bar__presets-header{text-transform:uppercase;letter-spacing:.04em;color:var(--doc-text-muted);justify-content:space-between;align-items:baseline;gap:8px;padding:6px 10px 4px;font-size:10px;font-weight:600;display:flex}.folio-ai-bar__presets-hint{text-transform:none;letter-spacing:0;color:var(--doc-text-muted);opacity:.85;font-size:10.5px;font-weight:400}.folio-ai-bar__presets-empty{color:var(--doc-text-muted);text-align:center;padding:12px;font-size:12px}.folio-ai-bar__preset{text-align:left;cursor:pointer;font:inherit;color:var(--doc-text);background:0 0;border:none;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:0 8px;padding:8px 10px;transition:background-color .12s;display:grid;position:relative}.folio-ai-bar__preset:hover,.folio-ai-bar__preset:focus-visible,.folio-ai-bar__preset[data-highlighted=true]{background-color:var(--doc-bg-muted);outline:none}.folio-ai-bar__preset-label{grid-area:1/1;font-size:13px;font-weight:500}.folio-ai-bar__preset-description{color:var(--doc-text-muted);text-wrap:pretty;grid-area:2/1/auto/span 2;font-size:11px}.folio-ai-bar__preset-shortcut{font-variant-numeric:tabular-nums;color:var(--folio-ai-mention);background-color:var(--folio-ai-mention-soft);border-radius:4px;grid-area:1/2;align-self:center;padding:1px 6px;font-size:10.5px;font-weight:500}.folio-ai-panel{z-index:41;background-color:var(--doc-page);border:1px solid var(--doc-border);width:min(420px,100% - 32px);max-height:min(60dvh,560px);color:var(--doc-text);border-radius:14px;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;animation:.18s folio-ai-panel-in;display:flex;position:absolute;bottom:68px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 1px 2px #0000000a,0 12px 40px #00000014}@keyframes folio-ai-panel-in{0%{opacity:0;transform:translate(-50%)translateY(4px)scale(.985)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.folio-ai-panel__header{border-bottom:1px solid var(--doc-border);align-items:center;gap:8px;padding:10px 10px 10px 14px;display:flex}.folio-ai-panel__title{flex:1;align-items:center;gap:8px;font-weight:600;display:inline-flex}.folio-ai-panel__count{background-color:var(--doc-bg-muted);min-width:18px;height:18px;color:var(--doc-text-muted);font-variant-numeric:tabular-nums;border-radius:9999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:500;display:inline-flex}.folio-ai-panel__group-tabs{background-color:var(--doc-bg-muted);border-radius:9999px;align-items:center;gap:2px;padding:2px;display:inline-flex}.folio-ai-panel__group-tab{color:var(--doc-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:9999px;padding:4px 10px;font-size:12px;transition:background-color .12s,color .12s}.folio-ai-panel__group-tab:hover{color:var(--doc-text)}.folio-ai-panel__group-tab[aria-selected=true]{background-color:var(--doc-page);color:var(--doc-text);box-shadow:0 1px 2px #0000000d}.folio-ai-panel__close{width:28px;height:28px;color:var(--doc-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:inline-flex}.folio-ai-panel__close:hover{background-color:var(--doc-bg-muted);color:var(--doc-text)}.folio-ai-panel__toolbar{border-bottom:1px solid var(--doc-border);color:var(--doc-text-muted);align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex}.folio-ai-panel__toolbar-spacer{flex:1}.folio-ai-panel__mode-toggle{border:1px solid var(--doc-border);color:var(--doc-text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:9999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;transition:background-color .12s,color .12s;display:inline-flex}.folio-ai-panel__mode-toggle:hover{color:var(--doc-text);background-color:var(--doc-bg-muted)}.folio-ai-panel__mode-toggle[data-active=true]{border-color:var(--doc-text);color:var(--doc-text)}.folio-ai-panel__list{flex:1;padding:4px 0 8px;overflow-y:auto}.folio-ai-panel__group{padding:4px 0}.folio-ai-panel__group-header{color:var(--doc-text-muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;padding:8px 14px 4px;font-size:11px;font-weight:600;display:flex}.folio-ai-panel__group-name{flex:1}.folio-ai-panel__group-actions{text-transform:none;letter-spacing:0;align-items:center;gap:2px;display:inline-flex}.folio-ai-panel__group-action{color:var(--doc-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:500;transition:background-color .12s,color .12s}.folio-ai-panel__group-action:hover{background-color:var(--doc-bg-muted);color:var(--doc-text)}.folio-ai-panel__item{border-top:1px solid color-mix(in oklch, var(--doc-border) 60%, transparent);cursor:pointer;flex-direction:column;gap:6px;padding:10px 14px;transition:background-color .12s;display:flex}.folio-ai-panel__item:first-child{border-top:none}.folio-ai-panel__item:hover{background-color:color-mix(in oklch, var(--doc-bg-muted) 50%, transparent)}.folio-ai-panel__item[data-focused=true]{background-color:color-mix(in oklch, var(--doc-bg-muted) 80%, transparent)}.folio-ai-panel__item-meta{text-align:left;cursor:pointer;width:100%;color:var(--doc-text-muted);font:inherit;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:11px;display:flex}.folio-ai-panel__severity-dot{border-radius:9999px;flex-shrink:0;width:6px;height:6px}.folio-ai-panel__severity-dot--typo{background-color:var(--doc-text-muted)}.folio-ai-panel__severity-dot--style{background-color:color-mix(in oklch, var(--doc-text) 60%, transparent)}.folio-ai-panel__severity-dot--substantive{background-color:var(--doc-error,currentColor)}.folio-ai-panel__item-topic{color:var(--doc-text);font-weight:500}.folio-ai-panel__diff{background-color:var(--doc-bg-muted);text-wrap:pretty;word-break:break-word;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;font-size:12.5px;line-height:1.45;display:flex}.folio-ai-panel__diff-row{gap:6px;display:flex}.folio-ai-panel__diff-marker{color:var(--doc-text-muted);font-variant-numeric:tabular-nums;text-align:center;flex-shrink:0;width:12px}.folio-ai-panel__diff--original .folio-ai-panel__diff-text{color:var(--doc-text-muted);text-decoration:line-through;text-decoration-color:color-mix(in oklch, var(--doc-text-muted) 70%, transparent)}.folio-ai-panel__diff--suggested .folio-ai-panel__diff-text{color:var(--doc-text)}.folio-ai-panel__rationale{color:var(--doc-text-muted);text-wrap:pretty;font-size:12px;line-height:1.45}.folio-ai-panel__item-actions{align-items:center;gap:6px;margin-top:2px;display:flex}.folio-ai-panel__item-button{border:1px solid var(--doc-border);color:var(--doc-text);font:inherit;cursor:pointer;background-color:#0000;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;transition:background-color .12s,border-color .12s;display:inline-flex}.folio-ai-panel__item-button:hover{background-color:var(--doc-bg-muted)}.folio-ai-panel__item-button--accept{background-color:var(--doc-text);color:var(--doc-page);border-color:var(--doc-text)}.folio-ai-panel__item-button--accept:hover{background-color:color-mix(in oklch, var(--doc-text) 88%, transparent)}.folio-ai-panel__item-button--ghost{color:var(--doc-text-muted);border-color:#0000}.folio-ai-panel__item-button--ghost:hover{color:var(--doc-text);background-color:var(--doc-bg-muted)}.folio-ai-panel__stale-pill{background-color:color-mix(in oklch, var(--doc-error,currentColor) 12%, transparent);color:var(--doc-error,var(--doc-text));text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;align-items:center;gap:4px;padding:1px 6px;font-size:10px;font-weight:500;display:inline-flex}.folio-ai-panel__empty{text-align:center;color:var(--doc-text-muted);text-wrap:pretty;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:36px 24px;font-size:12.5px;display:flex}.folio-ai-panel__empty-title{color:var(--doc-text);font-weight:500}.folio-ai-host[data-compact=true] .folio-ai-bar{width:calc(100% - 24px);padding:3px 3px 3px 4px;font-size:12px;bottom:12px}.folio-ai-host[data-compact=true] .folio-ai-bar__form{height:30px}.folio-ai-host[data-compact=true] .folio-ai-bar__input{font-size:12px}.folio-ai-host[data-compact=true] .folio-ai-panel{width:calc(100% - 24px);bottom:56px}.folio-ai-host[data-compact=true] .folio-ai-panel__group-tab{padding:4px 8px}@media (prefers-reduced-motion:reduce){.folio-ai-bar,.folio-ai-panel,.folio-ai-suggestion{transition:none;animation:none}.folio-ai-bar__spinner{border-top-color:var(--doc-text-muted);animation:none}}
|
|
@@ -82,7 +82,7 @@ function DefaultColorPicker({ value, onSelect, onClear, presets = EMPTY_PRESETS,
|
|
|
82
82
|
children
|
|
83
83
|
}), /* @__PURE__ */ jsx(Popover.Portal, { children: /* @__PURE__ */ jsx(Popover.Positioner, {
|
|
84
84
|
align: "start",
|
|
85
|
-
className: "folio-default-popover-positioner",
|
|
85
|
+
className: "folio-default-popover-positioner folio-root",
|
|
86
86
|
side: "bottom",
|
|
87
87
|
sideOffset: 4,
|
|
88
88
|
children: /* @__PURE__ */ jsxs(Popover.Popup, {
|
|
@@ -153,8 +153,15 @@ function DefaultDatePickerPopover({ value, onChange, defaultOpen = false }) {
|
|
|
153
153
|
function DefaultDialogRoot(props) {
|
|
154
154
|
return /* @__PURE__ */ jsx(Dialog.Root, { ...props });
|
|
155
155
|
}
|
|
156
|
-
function DefaultDialogPortal(props) {
|
|
157
|
-
return /* @__PURE__ */ jsx(Dialog.Portal, {
|
|
156
|
+
function DefaultDialogPortal({ children, ...props }) {
|
|
157
|
+
return /* @__PURE__ */ jsx(Dialog.Portal, {
|
|
158
|
+
...props,
|
|
159
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
160
|
+
className: "folio-root",
|
|
161
|
+
style: { display: "contents" },
|
|
162
|
+
children
|
|
163
|
+
})
|
|
164
|
+
});
|
|
158
165
|
}
|
|
159
166
|
function DefaultDialogBackdrop({ className, ...props }) {
|
|
160
167
|
return /* @__PURE__ */ jsx(Dialog.Backdrop, {
|
|
@@ -236,7 +243,7 @@ function DefaultMenuPopup({ className, children, align = "center", side = "botto
|
|
|
236
243
|
return /* @__PURE__ */ jsx(Menu.Portal, { children: /* @__PURE__ */ jsx(Menu.Positioner, {
|
|
237
244
|
align,
|
|
238
245
|
alignOffset,
|
|
239
|
-
className: "folio-default-menu-positioner",
|
|
246
|
+
className: "folio-default-menu-positioner folio-root",
|
|
240
247
|
side,
|
|
241
248
|
sideOffset,
|
|
242
249
|
children: /* @__PURE__ */ jsx(Menu.Popup, {
|
|
@@ -356,7 +363,7 @@ function DefaultPopoverPopup({ className, children, side = "bottom", align = "ce
|
|
|
356
363
|
return /* @__PURE__ */ jsx(Popover.Portal, { children: /* @__PURE__ */ jsx(Popover.Positioner, {
|
|
357
364
|
align,
|
|
358
365
|
alignOffset,
|
|
359
|
-
className: "folio-default-popover-positioner",
|
|
366
|
+
className: "folio-default-popover-positioner folio-root",
|
|
360
367
|
side,
|
|
361
368
|
sideOffset,
|
|
362
369
|
children: /* @__PURE__ */ jsx(Popover.Popup, {
|
|
@@ -420,7 +427,7 @@ function DefaultSelectValue({ className, ...props }) {
|
|
|
420
427
|
function DefaultSelectPopup({ className, children, ...props }) {
|
|
421
428
|
return /* @__PURE__ */ jsx(Select.Portal, { children: /* @__PURE__ */ jsx(Select.Positioner, {
|
|
422
429
|
align: "start",
|
|
423
|
-
className: "folio-default-select-positioner",
|
|
430
|
+
className: "folio-default-select-positioner folio-root",
|
|
424
431
|
side: "bottom",
|
|
425
432
|
sideOffset: 4,
|
|
426
433
|
children: /* @__PURE__ */ jsx(Select.Popup, {
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,9 @@ import { SelectionState, insertImageFromFile, insertPageBreakInView, insertTable
|
|
|
12
12
|
import { AnonymizationMatch, AnonymizationMatch as AnonymizationMatch$1, AnonymizationTerm, anonymizationDecorationsKey, getAnonymizationMatches, setAnonymizationTermsMeta } from "@stll/folio-core/prosemirror/plugins/anonymizationDecorations";
|
|
13
13
|
import { TemplateSlashMenuKeyAction, TemplateSlashMenuKeyAction as TemplateSlashMenuKeyAction$1, TemplateSlashMenuState, TemplateSlashMenuState as TemplateSlashMenuState$1, clearTemplateSlashMenu, consumeTemplateSlashQuery, getTemplateSlashMenu, resetTemplateSlashQuery, templateSlashMenuKey } from "@stll/folio-core/prosemirror/plugins/templateSlashMenu";
|
|
14
14
|
import { ColorValue, Document, Document as Document$1, ParagraphAlignment, SdtProperties, Style, Theme } from "@stll/folio-core/types/document";
|
|
15
|
+
import { Comment } from "@stll/folio-core/types/content";
|
|
15
16
|
import { DocxInput } from "@stll/folio-core/utils/docxInput";
|
|
17
|
+
import { ScrollToParaIdOptions, ScrollToParaIdOptions as ScrollToParaIdOptions$1 } from "@stll/folio-core/paged-layout/paragraphFlash";
|
|
16
18
|
import { Layout } from "@stll/folio-core/layout-engine/types";
|
|
17
19
|
import { Checkbox } from "@base-ui/react/checkbox";
|
|
18
20
|
import { Dialog } from "@base-ui/react/dialog";
|
|
@@ -93,6 +95,11 @@ type PagedEditorRef = {
|
|
|
93
95
|
relayout: () => void; /** Scroll the visible pages to bring a PM position into view. */
|
|
94
96
|
scrollToPosition: (pmPos: number) => void; /** Scroll the visible pages to bring a page into view. */
|
|
95
97
|
scrollToPage: (pageNumber: number) => void;
|
|
98
|
+
/**
|
|
99
|
+
* Scroll the paginated view to the paragraph with the given Word `w14:paraId`.
|
|
100
|
+
* Returns whether a matching paragraph exists in the ProseMirror document.
|
|
101
|
+
*/
|
|
102
|
+
scrollToParaId: (paraId: string, options?: ScrollToParaIdOptions$1) => boolean;
|
|
96
103
|
/** Resolve the page number (1-indexed) that contains the given PM position,
|
|
97
104
|
* or null if no layout is available yet. Works for unrendered pages too via
|
|
98
105
|
* the page shell map. */
|
|
@@ -619,7 +626,15 @@ type DocxEditorProps = {
|
|
|
619
626
|
onPaste?: () => void; /** Editor mode: 'editing' (direct edits), 'suggesting' (track changes), or 'viewing' (read-only). Default: 'editing' */
|
|
620
627
|
mode?: EditorMode; /** Callback when the editing mode changes */
|
|
621
628
|
onModeChange?: (mode: EditorMode) => void; /** Callback when a readonly user action would mutate the document. */
|
|
622
|
-
onReadonlyEditAttempt?: () => void;
|
|
629
|
+
onReadonlyEditAttempt?: () => void;
|
|
630
|
+
/**
|
|
631
|
+
* Controlled comments array. When provided, the editor reads comment thread
|
|
632
|
+
* metadata from this prop and emits every change through `onCommentsChange`.
|
|
633
|
+
* Use with collaboration backends (Yjs, etc.) so comment threads sync across
|
|
634
|
+
* peers; PM carries range markers, thread metadata lives outside the doc.
|
|
635
|
+
*/
|
|
636
|
+
comments?: Comment[]; /** Fires whenever the comments array changes (controlled and uncontrolled). */
|
|
637
|
+
onCommentsChange?: (comments: Comment[]) => void; /** Callback with the parsed document's editing compatibility report. */
|
|
623
638
|
onCompatibilityChange?: (compatibility: DocxCompatibility$1) => void;
|
|
624
639
|
/**
|
|
625
640
|
* Fires when the live ProseMirror view is captured (or torn down).
|
|
@@ -728,7 +743,12 @@ type DocxEditorRef = {
|
|
|
728
743
|
focus: () => void; /** Get current page number */
|
|
729
744
|
getCurrentPage: () => number; /** Get total page count */
|
|
730
745
|
getTotalPages: () => number; /** Scroll to a specific page */
|
|
731
|
-
scrollToPage: (pageNumber: number) => void;
|
|
746
|
+
scrollToPage: (pageNumber: number) => void;
|
|
747
|
+
/**
|
|
748
|
+
* Scroll the paginated view to the paragraph with the given Word `w14:paraId`.
|
|
749
|
+
* Pass `options.highlight` to briefly flash it in a custom color.
|
|
750
|
+
*/
|
|
751
|
+
scrollToParaId: (paraId: string, options?: ScrollToParaIdOptions$1) => boolean; /** Open print preview */
|
|
732
752
|
openPrintPreview: () => void; /** Print the document directly */
|
|
733
753
|
print: () => void; /** Load a pre-parsed document programmatically */
|
|
734
754
|
loadDocument: (doc: Document$1) => void; /** Load a DOCX buffer programmatically (ArrayBuffer, Uint8Array, Blob, or File) */
|
|
@@ -922,6 +942,8 @@ declare function DocxEditor({
|
|
|
922
942
|
onSlashMenuKeyAction,
|
|
923
943
|
customContextMenuItems,
|
|
924
944
|
onCustomContextAction,
|
|
945
|
+
comments: commentsProp,
|
|
946
|
+
onCommentsChange,
|
|
925
947
|
collaboration,
|
|
926
948
|
featureFlags,
|
|
927
949
|
onSelectiveSaveTripwire
|
|
@@ -929,6 +951,32 @@ declare function DocxEditor({
|
|
|
929
951
|
ref?: Ref<DocxEditorRef>;
|
|
930
952
|
}): import("react").JSX.Element;
|
|
931
953
|
//#endregion
|
|
954
|
+
//#region src/renderAsync.d.ts
|
|
955
|
+
/** Framework-agnostic handle for an imperatively mounted editor instance. */
|
|
956
|
+
type EditorHandle = {
|
|
957
|
+
/** Save the document and return the DOCX as a Blob. */save: () => Promise<Blob | null>; /** Get the current parsed document model. */
|
|
958
|
+
getDocument: () => Document$1 | null; /** Focus the editor. */
|
|
959
|
+
focus: () => void; /** Unmount the editor and clean up. */
|
|
960
|
+
destroy: () => void;
|
|
961
|
+
};
|
|
962
|
+
/** React-specific handle with zoom and scroll helpers. */
|
|
963
|
+
type DocxEditorHandle = EditorHandle & {
|
|
964
|
+
/** Set zoom level (1.0 = 100%). */setZoom: (zoom: number) => void; /** Scroll the visible pages to a raw ProseMirror document position. */
|
|
965
|
+
scrollToPosition: (pmPos: number) => void; /** Scroll the visible pages to a 1-indexed page number. */
|
|
966
|
+
scrollToPage: (pageNumber: number) => void;
|
|
967
|
+
};
|
|
968
|
+
/** Options for {@link renderAsync}. */
|
|
969
|
+
type RenderAsyncOptions = Omit<DocxEditorProps, "documentBuffer" | "document"> & {
|
|
970
|
+
/** BCP-47 locale for bundled folio UI strings (default: `en`). */locale?: string;
|
|
971
|
+
};
|
|
972
|
+
/**
|
|
973
|
+
* Render a DOCX editor into a container element.
|
|
974
|
+
*
|
|
975
|
+
* Resolves once the document has parsed and the first `onChange` fires.
|
|
976
|
+
* Rejects if `onError` runs before that milestone.
|
|
977
|
+
*/
|
|
978
|
+
declare const renderAsync: (input: DocxInput, container: HTMLElement, options?: RenderAsyncOptions) => Promise<DocxEditorHandle>;
|
|
979
|
+
//#endregion
|
|
932
980
|
//#region src/components/FormattingBar.d.ts
|
|
933
981
|
type FormattingBarProps = {
|
|
934
982
|
children?: ReactNode; /** Host controls that should stay in the primary row before text formatting */
|
|
@@ -1036,6 +1084,14 @@ type AutocompleteCaretRect = {
|
|
|
1036
1084
|
/** Container-relative pixel x. */x: number; /** Container-relative pixel y (top of the cursor line). */
|
|
1037
1085
|
y: number; /** Line height in pixels at the anchor. */
|
|
1038
1086
|
lineHeight: number;
|
|
1087
|
+
/**
|
|
1088
|
+
* Available width from the caret to the page's right content margin,
|
|
1089
|
+
* in the overlay's coordinate space. Bounds the ghost text so it wraps
|
|
1090
|
+
* within the page instead of running off the right edge. Omitted when
|
|
1091
|
+
* the page geometry can't be resolved (the ghost then renders unbounded,
|
|
1092
|
+
* matching the legacy behavior).
|
|
1093
|
+
*/
|
|
1094
|
+
maxWidth?: number | undefined;
|
|
1039
1095
|
};
|
|
1040
1096
|
type AutocompleteCaretOverlayProps = {
|
|
1041
1097
|
/**
|
|
@@ -1052,4 +1108,4 @@ declare const AutocompleteCaretOverlay: ({
|
|
|
1052
1108
|
isStreaming
|
|
1053
1109
|
}: AutocompleteCaretOverlayProps) => React$1.JSX.Element | null;
|
|
1054
1110
|
//#endregion
|
|
1055
|
-
export { type AIBarStatus, type AIChatMode, type AICitation, type AICitationRange, type AICitationSource, type AIGenerateInput, type AISuggestion, type AISuggestionApplyMode, type AISuggestionPreset, type AISuggestionSeverity, type AISuggestionStatus, type AcceptAutocompleteResult, type AnonymizationMatch, type AnonymizationTerm, type ApplyResult, AutocompleteCaretOverlay, type AutocompleteCaretOverlayProps, type AutocompleteCaretRect, type AutocompleteSuggestionPluginOptions, type AutocompleteSuggestionState, type AutocompleteSuggestionStatus, type AutocompleteTriggerCheck, type AutocompleteTriggerOptions, type AutocompleteTriggerSkipReason, type ColorPreset, type CreateEmptyDocumentOptions, DEFAULT_AI_SUGGESTION_PRESETS, DEFAULT_AUTOCOMPLETE_DEAD_ZONE_NODES, type DeriveBlockIdInput, type DirectiveKind, type DirectiveRange, type Document, type DocxCompatibility, DocxEditor, type DocxEditorCollaboration, type DocxEditorProps, type DocxEditorRef, type EditorMode, type FolioAIBlock, type FolioAIBlockAnchor, type FolioAIBlockKind, type FolioAIBlockPreviewRun, type FolioAIComment, type FolioAIEditAppliedOperation, type FolioAIEditApplyMode, type FolioAIEditApplyResult, type FolioAIEditOperation, type FolioAIEditReviewMeta, type FolioAIEditSeverity, type FolioAIEditSkipReason, type FolioAIEditSkippedOperation, type FolioAIEditSnapshot, type FolioAISignatureParty, type FolioBlockId, type FolioButtonProps, type FolioUIComponents, FolioUIProvider, type FontDefinition, type FontOption, FormattingBar, type FormattingBarProps, type ImageMeta, type ImageRef, type MarkdownOptions, type MarkdownResult, type OutlineItem, type PositionalText, type ResolvedAnchor, type TemplatePreviewSpan, type TemplatePreviewValue, type TemplatePreviewValues, type TemplateSlashMenuKeyAction, type TemplateSlashMenuState, type UseWheelZoomOptions, type UseWheelZoomReturn, type WordDiffSegment, ZOOM_PRESETS, ZoomControl, type ZoomControlProps, type ZoomLevel, acceptAutocompleteSuggestion, acceptAutocompleteWord, anonymizationDecorationsKey, appendAutocompleteToken, applyFolioAIEditOperations, applySuggestions, autocompleteSuggestionKey, autocompleteSuggestionPlugin, buildPositionalText, clampZoom, clearAutocompleteSuggestion, clearTemplateSlashMenu, consumeTemplateSlashQuery, createAICitationDecorationsPlugin, createDocx, createEmptyDocument, createFolioAIEditSnapshot, deriveBlockId, diffWordSegments, finishAutocompleteSuggestion, formatZoom, fromMarkdown, getAnonymizationMatches, getAutocompleteSuggestion, getFolioCaretViewportRect, getFolioParaIdFromBlockId, getFolioSelectionViewportRect, getTemplateDirectives, getTemplateSlashMenu, hashFolioAIBlockText, insertImageFromFile, insertPageBreakInView, insertTableInView, insertTableOfContentsInView, isFolioBlockId, isSequentialFolioBlockId, isSuggestionStale, normalizeFolioAIBlockText, parseZoom, resetTemplateSlashQuery, resolveSuggestionAnchor, scanDirectives, scrollFolioPositionIntoView, setAICitationsMeta, setAISuggestionsMeta, setActiveCitationMeta, setAnonymizationTermsMeta, setFocusedSuggestionMeta, setTemplatePreviewValues, shouldTriggerAutocomplete, startAutocompleteSuggestion, templateSlashMenuKey, toMarkdown, toMarkdownResult, useWheelZoom };
|
|
1111
|
+
export { type AIBarStatus, type AIChatMode, type AICitation, type AICitationRange, type AICitationSource, type AIGenerateInput, type AISuggestion, type AISuggestionApplyMode, type AISuggestionPreset, type AISuggestionSeverity, type AISuggestionStatus, type AcceptAutocompleteResult, type AnonymizationMatch, type AnonymizationTerm, type ApplyResult, AutocompleteCaretOverlay, type AutocompleteCaretOverlayProps, type AutocompleteCaretRect, type AutocompleteSuggestionPluginOptions, type AutocompleteSuggestionState, type AutocompleteSuggestionStatus, type AutocompleteTriggerCheck, type AutocompleteTriggerOptions, type AutocompleteTriggerSkipReason, type ColorPreset, type CreateEmptyDocumentOptions, DEFAULT_AI_SUGGESTION_PRESETS, DEFAULT_AUTOCOMPLETE_DEAD_ZONE_NODES, type DeriveBlockIdInput, type DirectiveKind, type DirectiveRange, type Document, type DocxCompatibility, DocxEditor, type DocxEditorCollaboration, type DocxEditorHandle, type DocxEditorProps, type DocxEditorRef, type EditorHandle, type EditorMode, type FolioAIBlock, type FolioAIBlockAnchor, type FolioAIBlockKind, type FolioAIBlockPreviewRun, type FolioAIComment, type FolioAIEditAppliedOperation, type FolioAIEditApplyMode, type FolioAIEditApplyResult, type FolioAIEditOperation, type FolioAIEditReviewMeta, type FolioAIEditSeverity, type FolioAIEditSkipReason, type FolioAIEditSkippedOperation, type FolioAIEditSnapshot, type FolioAISignatureParty, type FolioBlockId, type FolioButtonProps, type FolioUIComponents, FolioUIProvider, type FontDefinition, type FontOption, FormattingBar, type FormattingBarProps, type ImageMeta, type ImageRef, type MarkdownOptions, type MarkdownResult, type OutlineItem, type PositionalText, type RenderAsyncOptions, type ResolvedAnchor, type ScrollToParaIdOptions, type TemplatePreviewSpan, type TemplatePreviewValue, type TemplatePreviewValues, type TemplateSlashMenuKeyAction, type TemplateSlashMenuState, type UseWheelZoomOptions, type UseWheelZoomReturn, type WordDiffSegment, ZOOM_PRESETS, ZoomControl, type ZoomControlProps, type ZoomLevel, acceptAutocompleteSuggestion, acceptAutocompleteWord, anonymizationDecorationsKey, appendAutocompleteToken, applyFolioAIEditOperations, applySuggestions, autocompleteSuggestionKey, autocompleteSuggestionPlugin, buildPositionalText, clampZoom, clearAutocompleteSuggestion, clearTemplateSlashMenu, consumeTemplateSlashQuery, createAICitationDecorationsPlugin, createDocx, createEmptyDocument, createFolioAIEditSnapshot, deriveBlockId, diffWordSegments, finishAutocompleteSuggestion, formatZoom, fromMarkdown, getAnonymizationMatches, getAutocompleteSuggestion, getFolioCaretViewportRect, getFolioParaIdFromBlockId, getFolioSelectionViewportRect, getTemplateDirectives, getTemplateSlashMenu, hashFolioAIBlockText, insertImageFromFile, insertPageBreakInView, insertTableInView, insertTableOfContentsInView, isFolioBlockId, isSequentialFolioBlockId, isSuggestionStale, normalizeFolioAIBlockText, parseZoom, renderAsync, resetTemplateSlashQuery, resolveSuggestionAnchor, scanDirectives, scrollFolioPositionIntoView, setAICitationsMeta, setAISuggestionsMeta, setActiveCitationMeta, setAnonymizationTermsMeta, setFocusedSuggestionMeta, setTemplatePreviewValues, shouldTriggerAutocomplete, startAutocompleteSuggestion, templateSlashMenuKey, toMarkdown, toMarkdownResult, useWheelZoom };
|