@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.
@@ -1,4 +1,4 @@
1
- import { r as useFolioUI } from "./folio-ui-o_rftArH.js";
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-o_rftArH.js";
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-o_rftArH.js";
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-o_rftArH.js";
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-o_rftArH.js";
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-o_rftArH.js";
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(menu, document.body);
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, { ...props });
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; /** Callback with the parsed document's editing compatibility report. */
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; /** Open print preview */
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 };