@stll/folio-react 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/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/lato/400.css";@import "@fontsource/lato/400-italic.css";@import "@fontsource/lato/700.css";@import "@fontsource/lato/700-italic.css";@import "@fontsource/source-sans-3/400.css";@import "@fontsource/source-sans-3/400-italic.css";@import "@fontsource/source-sans-3/700.css";@import "@fontsource/source-sans-3/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-tmpl-loop:#7c3aed;--doc-tmpl-cond:#0d9488;--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;--doc-tmpl-loop:#a78bfa;--doc-tmpl-cond:#2dd4bf}.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--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-passage-highlight{--folio-passage-highlight-color:#409eff47;background-color:var(--folio-passage-highlight-color);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--folio-passage-highlight-color) 55%, transparent);border-radius:2px}.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{background:#0000ff3d}.folio-template-directive--if,.folio-template-directive--elseif,.folio-template-directive--else,.folio-template-directive--endif{background:color-mix(in srgb, var(--doc-tmpl-cond) 26%, transparent)}.folio-template-directive--each,.folio-template-directive--endeach{background:color-mix(in srgb, var(--doc-tmpl-loop) 26%, transparent)}.folio-template-directive--block{pointer-events:auto;transition:background-color .12s}.folio-template-directive--if.folio-template-directive--active,.folio-template-directive--elseif.folio-template-directive--active,.folio-template-directive--else.folio-template-directive--active,.folio-template-directive--endif.folio-template-directive--active{background:color-mix(in srgb, var(--doc-tmpl-cond) 44%, transparent)}.folio-template-directive--each.folio-template-directive--active,.folio-template-directive--endeach.folio-template-directive--active{background:color-mix(in srgb, var(--doc-tmpl-loop) 44%, transparent)}.folio-template-band-rail{pointer-events:auto;border-radius:2px;transition:background-color .12s,box-shadow .12s;position:absolute}.folio-template-band-rail--each{background:color-mix(in srgb, var(--doc-tmpl-loop) 22%, transparent)}.folio-template-band-rail--if{background:color-mix(in srgb, var(--doc-tmpl-cond) 22%, transparent)}.folio-template-band-rail--each.folio-template-band-rail--active{background:color-mix(in srgb, var(--doc-tmpl-loop) 90%, transparent);box-shadow:0 0 0 .75px color-mix(in srgb, var(--doc-tmpl-loop) 45%, transparent)}.folio-template-band-rail--if.folio-template-band-rail--active{background:color-mix(in srgb, var(--doc-tmpl-cond) 90%, transparent);box-shadow:0 0 0 .75px color-mix(in srgb, var(--doc-tmpl-cond) 45%, transparent)}.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/lato/400.css";@import "@fontsource/lato/400-italic.css";@import "@fontsource/lato/700.css";@import "@fontsource/lato/700-italic.css";@import "@fontsource/source-sans-3/400.css";@import "@fontsource/source-sans-3/400-italic.css";@import "@fontsource/source-sans-3/700.css";@import "@fontsource/source-sans-3/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-tmpl-loop:#7c3aed;--doc-tmpl-cond:#0d9488;--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;--doc-tmpl-loop:#a78bfa;--doc-tmpl-cond:#2dd4bf}.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}.dark .layout-page .docx-insertion--suggested,.dark .layout-page .docx-deletion--suggested{--suggestion-inverted:oklch(from var(--suggestion-color,#6d3bd6) clamp(0, 1.22 - .95 * l, 1) calc(c * .6) h);color:var(--suggestion-inverted)!important;text-decoration-color:var(--suggestion-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}.folio-root{--suggestion-color:#6d3bd6;--suggestion-bg:oklch(50.751% .220592 291.193/.12)}.docx-insertion--suggested{color:var(--suggestion-color);text-decoration:underline dotted;text-decoration-color:var(--suggestion-color);background-image:linear-gradient(var(--suggestion-bg), var(--suggestion-bg))}.docx-deletion--suggested{color:var(--suggestion-color);text-decoration:line-through dotted;text-decoration-color:var(--suggestion-color);background-image:linear-gradient(var(--suggestion-bg), var(--suggestion-bg))}.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--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-passage-highlight{--folio-passage-highlight-color:#409eff47;background-color:var(--folio-passage-highlight-color);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--folio-passage-highlight-color) 55%, transparent);border-radius:2px}.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{background:#0000ff3d}.folio-template-directive--if,.folio-template-directive--elseif,.folio-template-directive--else,.folio-template-directive--endif{background:color-mix(in srgb, var(--doc-tmpl-cond) 26%, transparent)}.folio-template-directive--each,.folio-template-directive--endeach{background:color-mix(in srgb, var(--doc-tmpl-loop) 26%, transparent)}.folio-template-directive--block{pointer-events:auto;transition:background-color .12s}.folio-template-directive--if.folio-template-directive--active,.folio-template-directive--elseif.folio-template-directive--active,.folio-template-directive--else.folio-template-directive--active,.folio-template-directive--endif.folio-template-directive--active{background:color-mix(in srgb, var(--doc-tmpl-cond) 44%, transparent)}.folio-template-directive--each.folio-template-directive--active,.folio-template-directive--endeach.folio-template-directive--active{background:color-mix(in srgb, var(--doc-tmpl-loop) 44%, transparent)}.folio-template-band-rail{pointer-events:auto;border-radius:2px;transition:background-color .12s,box-shadow .12s;position:absolute}.folio-template-band-rail--each{background:color-mix(in srgb, var(--doc-tmpl-loop) 22%, transparent)}.folio-template-band-rail--if{background:color-mix(in srgb, var(--doc-tmpl-cond) 22%, transparent)}.folio-template-band-rail--each.folio-template-band-rail--active{background:color-mix(in srgb, var(--doc-tmpl-loop) 90%, transparent);box-shadow:0 0 0 .75px color-mix(in srgb, var(--doc-tmpl-loop) 45%, transparent)}.folio-template-band-rail--if.folio-template-band-rail--active{background:color-mix(in srgb, var(--doc-tmpl-cond) 90%, transparent);box-shadow:0 0 0 .75px color-mix(in srgb, var(--doc-tmpl-cond) 45%, transparent)}.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}}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,11 @@
1
- import { _ as FolioUIProvider, a as DocxEditorApplyDocumentOperationsOptions, c as DocxEditorRef, d as ToolbarProps, f as EditorMode, g as FolioUIComponents, h as FolioButtonProps, i as renderAsync, l as HighlightPassageOptions, m as ColorPreset, n as EditorHandle, o as DocxEditorCollaboration, p as FontOption, r as RenderAsyncOptions, s as DocxEditorProps, t as DocxEditorHandle, u as HighlightPassageResult, v as OutlineItem, y as FontDefinition } from "./renderAsync-CDdppueC.js";
1
+ import { _ as FolioUIProvider, a as DocxEditorApplyDocumentOperationsOptions, c as DocxEditorRef, d as ToolbarProps, f as EditorMode, g as FolioUIComponents, h as FolioButtonProps, i as renderAsync, l as HighlightPassageOptions, m as ColorPreset, n as EditorHandle, o as DocxEditorCollaboration, p as FontOption, r as RenderAsyncOptions, s as DocxEditorProps, t as DocxEditorHandle, u as HighlightPassageResult, v as OutlineItem, y as FontDefinition } from "./renderAsync-D2OJupOm.js";
2
2
  import { A as HyperlinkDialog, C as ImagePropertiesData, D as ImagePositionDialog, E as ImagePositionData, F as FindReplaceDialog, I as FindReplaceDialogProps, M as HyperlinkDialogProps, N as FootnotePropertiesDialog, O as ImagePositionDialogProps, P as FootnotePropertiesDialogProps, S as InsertImageDialogProps, T as ImagePropertiesDialogProps, _ as InsertTableStyleOption, a as TablePropertiesDialogProps, b as InsertImageDialog, c as SplitCellDialogProps, d as PasteSpecialMode, f as PageSetupDialog, g as InsertTableDialogProps, h as InsertTableDialogData, i as TablePropertiesDialog, j as HyperlinkDialogData, k as HyperlinkBookmarkOption, l as PasteSpecialDialog, m as InsertTableDialog, n as WatermarkDialogProps, o as SplitCellDialog, p as PageSetupDialogProps, r as TableProperties, s as SplitCellDialogData, t as WatermarkDialog, u as PasteSpecialDialogProps, v as InsertSymbolDialog, w as ImagePropertiesDialog, x as InsertImageDialogData, y as InsertSymbolDialogProps } from "./dialogs-auOIiNGI.js";
3
3
  import React, { CSSProperties, ReactNode, RefObject } from "react";
4
4
  import { CreateEmptyDocumentOptions, createEmptyDocument } from "@stll/folio-core/utils/createDocument";
5
5
  import { FolioAIBlock, FolioAIBlockAnchor, FolioAIBlockKind, FolioAIBlockPreviewRun, FolioAIComment, FolioAIEditAppliedOperation, FolioAIEditApplyMode, FolioAIEditApplyResult, FolioAIEditOperation, FolioAIEditReviewMeta, FolioAIEditSeverity, FolioAIEditSkipReason, FolioAIEditSkippedOperation, FolioAIEditSnapshot, FolioAISignatureParty, WordDiffSegment, applyFolioAIEditOperations, createFolioAIEditSnapshot, diffWordSegments, hashFolioAIBlockText, normalizeFolioAIBlockText } from "@stll/folio-core/ai-edits";
6
6
  import { DocxCompatibility } from "@stll/folio-core/docx/compatibility";
7
7
  import { insertImageFromFile, insertPageBreakInView, insertTableInView, insertTableOfContentsInView } from "@stll/folio-core/prosemirror";
8
+ import { FolioSuggestion, SuggestionAppliedAs, SuggestionKind } from "@stll/folio-core/prosemirror/commands/comments";
8
9
  import { AnonymizationMatch, AnonymizationTerm, anonymizationDecorationsKey, getAnonymizationMatches, setAnonymizationTermsMeta } from "@stll/folio-core/prosemirror/plugins/anonymizationDecorations";
9
10
  import { TemplateSlashMenuKeyAction, TemplateSlashMenuState, clearTemplateSlashMenu, consumeTemplateSlashQuery, getTemplateSlashMenu, resetTemplateSlashQuery, templateSlashMenuKey } from "@stll/folio-core/prosemirror/plugins/templateSlashMenu";
10
11
  import { Document } from "@stll/folio-core/types/document";
@@ -166,4 +167,4 @@ declare const AutocompleteCaretOverlay: ({
166
167
  isStreaming
167
168
  }: AutocompleteCaretOverlayProps) => React.JSX.Element | null;
168
169
  //#endregion
169
- 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, DOCUMENT_PRESET_VERSION, DOCUMENT_STYLE_SET_VERSION, type DeriveBlockIdInput, type DirectiveKind, type DirectiveRange, type Document, type DocumentPreset, type DocumentStyleCatalog, type DocumentStyleCatalogEntry, type DocumentStyleSet, type DocxCompatibility, DocxEditor, type DocxEditorApplyDocumentOperationsOptions, type DocxEditorCollaboration, type DocxEditorHandle, type DocxEditorProps, type DocxEditorRef, type EditorHandle, type EditorMode, type ExtractDocumentStyleSetOptions, FindReplaceDialog, type FindReplaceDialogProps, 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, FootnotePropertiesDialog, type FootnotePropertiesDialogProps, FormattingBar, type FormattingBarProps, type HighlightPassageOptions, type HighlightPassageResult, type HyperlinkBookmarkOption, HyperlinkDialog, type HyperlinkDialogData, type HyperlinkDialogProps, type ImageMeta, type ImagePositionData, ImagePositionDialog, type ImagePositionDialogProps, type ImagePropertiesData, ImagePropertiesDialog, type ImagePropertiesDialogProps, type ImageRef, InsertImageDialog, type InsertImageDialogData, type InsertImageDialogProps, InsertSymbolDialog, type InsertSymbolDialogProps, InsertTableDialog, type InsertTableDialogData, type InsertTableDialogProps, type InsertTableStyleOption, type MarkdownOptions, type MarkdownResult, type OutlineItem, PageSetupDialog, type PageSetupDialogProps, PasteSpecialDialog, type PasteSpecialDialogProps, type PasteSpecialMode, type PictureWatermark, type PositionalText, type RenderAsyncOptions, type ResolvedAnchor, STELLA_STYLE_SET_NAME, type ScrollToParaIdOptions, SplitCellDialog, type SplitCellDialogData, type SplitCellDialogProps, type TableProperties, TablePropertiesDialog, type TablePropertiesDialogProps, type TemplatePreviewSpan, type TemplatePreviewValue, type TemplatePreviewValues, type TemplateSlashMenuKeyAction, type TemplateSlashMenuState, type TextWatermark, type UseWheelZoomOptions, type UseWheelZoomReturn, type Watermark, WatermarkDialog, type WatermarkDialogProps, 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, createStellaStyleDocumentPreset, createStellaStyleSet, deriveBlockId, diffWordSegments, extractDocumentStyleSet, extractDocumentStyleSetFromDocx, finishAutocompleteSuggestion, formatZoom, fromMarkdown, getAnonymizationMatches, getAutocompleteSuggestion, getDocumentWatermark, getFolioCaretViewportRect, getFolioParaIdFromBlockId, getFolioSelectionViewportRect, getTemplateDirectives, getTemplateSlashMenu, hashFolioAIBlockText, insertImageFromFile, insertPageBreakInView, insertTableInView, insertTableOfContentsInView, inspectDocumentStyles, inspectDocumentStylesFromDocx, isFolioBlockId, isSequentialFolioBlockId, isSuggestionStale, normalizeFolioAIBlockText, parseZoom, renderAsync, resetTemplateSlashQuery, resolveSuggestionAnchor, scanDirectives, scrollFolioPositionIntoView, setAICitationsMeta, setAISuggestionsMeta, setActiveCitationMeta, setAnonymizationTermsMeta, setDocumentWatermark, setFocusedSuggestionMeta, setTemplatePreviewValues, shouldTriggerAutocomplete, startAutocompleteSuggestion, templateSlashMenuKey, toMarkdown, toMarkdownResult, useWheelZoom };
170
+ 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, DOCUMENT_PRESET_VERSION, DOCUMENT_STYLE_SET_VERSION, type DeriveBlockIdInput, type DirectiveKind, type DirectiveRange, type Document, type DocumentPreset, type DocumentStyleCatalog, type DocumentStyleCatalogEntry, type DocumentStyleSet, type DocxCompatibility, DocxEditor, type DocxEditorApplyDocumentOperationsOptions, type DocxEditorCollaboration, type DocxEditorHandle, type DocxEditorProps, type DocxEditorRef, type EditorHandle, type EditorMode, type ExtractDocumentStyleSetOptions, FindReplaceDialog, type FindReplaceDialogProps, 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 FolioSuggestion, type FolioUIComponents, FolioUIProvider, type FontDefinition, type FontOption, FootnotePropertiesDialog, type FootnotePropertiesDialogProps, FormattingBar, type FormattingBarProps, type HighlightPassageOptions, type HighlightPassageResult, type HyperlinkBookmarkOption, HyperlinkDialog, type HyperlinkDialogData, type HyperlinkDialogProps, type ImageMeta, type ImagePositionData, ImagePositionDialog, type ImagePositionDialogProps, type ImagePropertiesData, ImagePropertiesDialog, type ImagePropertiesDialogProps, type ImageRef, InsertImageDialog, type InsertImageDialogData, type InsertImageDialogProps, InsertSymbolDialog, type InsertSymbolDialogProps, InsertTableDialog, type InsertTableDialogData, type InsertTableDialogProps, type InsertTableStyleOption, type MarkdownOptions, type MarkdownResult, type OutlineItem, PageSetupDialog, type PageSetupDialogProps, PasteSpecialDialog, type PasteSpecialDialogProps, type PasteSpecialMode, type PictureWatermark, type PositionalText, type RenderAsyncOptions, type ResolvedAnchor, STELLA_STYLE_SET_NAME, type ScrollToParaIdOptions, SplitCellDialog, type SplitCellDialogData, type SplitCellDialogProps, type SuggestionAppliedAs, type SuggestionKind, type TableProperties, TablePropertiesDialog, type TablePropertiesDialogProps, type TemplatePreviewSpan, type TemplatePreviewValue, type TemplatePreviewValues, type TemplateSlashMenuKeyAction, type TemplateSlashMenuState, type TextWatermark, type UseWheelZoomOptions, type UseWheelZoomReturn, type Watermark, WatermarkDialog, type WatermarkDialogProps, 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, createStellaStyleDocumentPreset, createStellaStyleSet, deriveBlockId, diffWordSegments, extractDocumentStyleSet, extractDocumentStyleSetFromDocx, finishAutocompleteSuggestion, formatZoom, fromMarkdown, getAnonymizationMatches, getAutocompleteSuggestion, getDocumentWatermark, getFolioCaretViewportRect, getFolioParaIdFromBlockId, getFolioSelectionViewportRect, getTemplateDirectives, getTemplateSlashMenu, hashFolioAIBlockText, insertImageFromFile, insertPageBreakInView, insertTableInView, insertTableOfContentsInView, inspectDocumentStyles, inspectDocumentStylesFromDocx, isFolioBlockId, isSequentialFolioBlockId, isSuggestionStale, normalizeFolioAIBlockText, parseZoom, renderAsync, resetTemplateSlashQuery, resolveSuggestionAnchor, scanDirectives, scrollFolioPositionIntoView, setAICitationsMeta, setAISuggestionsMeta, setActiveCitationMeta, setAnonymizationTermsMeta, setDocumentWatermark, setFocusedSuggestionMeta, setTemplatePreviewValues, shouldTriggerAutocomplete, startAutocompleteSuggestion, templateSlashMenuKey, toMarkdown, toMarkdownResult, useWheelZoom };
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import { a as formatZoom, c as FormattingBar, i as clampZoom, l as ZoomControl, n as DocxEditor, o as parseZoom, r as ZOOM_PRESETS, s as useWheelZoom, t as renderAsync, u as AutocompleteCaretOverlay } from "./renderAsync-BjqXaR0h.js";
1
+ import { a as formatZoom, c as FormattingBar, i as clampZoom, l as ZoomControl, n as DocxEditor, o as parseZoom, r as ZOOM_PRESETS, s as useWheelZoom, t as renderAsync, u as AutocompleteCaretOverlay } from "./renderAsync-DFwDFNB9.js";
2
2
  import { n as FolioUIProvider } from "./folio-ui-BgDDRsUX.js";
3
3
  import { t as FindReplaceDialog } from "./FindReplaceDialog-CqKK82nE.js";
4
4
  import { t as FootnotePropertiesDialog } from "./FootnotePropertiesDialog-CixRdIiT.js";
5
- import { a as InsertImageDialog, i as InsertTableDialog, n as SplitCellDialog, o as HyperlinkDialog, r as PasteSpecialDialog, t as WatermarkDialog } from "./dialogs-Bj2PdycR.js";
5
+ import { a as InsertImageDialog, i as InsertTableDialog, n as SplitCellDialog, o as HyperlinkDialog, r as PasteSpecialDialog, t as WatermarkDialog } from "./dialogs-CB49Gr8j.js";
6
6
  import { t as ImagePositionDialog } from "./ImagePositionDialog-DNodkoI2.js";
7
7
  import { t as ImagePropertiesDialog } from "./ImagePropertiesDialog-CLsDIUWb.js";
8
8
  import { t as InsertSymbolDialog } from "./InsertSymbolDialog-DCFLmfzn.js";
@@ -10,6 +10,7 @@ import { DocxCompatibility } from "@stll/folio-core/docx/compatibility";
10
10
  import { FolioSelectiveSaveFlags } from "@stll/folio-core/docx/selectiveSaveFlags";
11
11
  import { TripwireResult } from "@stll/folio-core/docx/selectiveSaveTripwire";
12
12
  import { SelectionState } from "@stll/folio-core/prosemirror";
13
+ import { FolioSuggestion, SuggestionAppliedAs } from "@stll/folio-core/prosemirror/commands/comments";
13
14
  import { AnonymizationMatch } from "@stll/folio-core/prosemirror/plugins/anonymizationDecorations";
14
15
  import { TemplateSlashMenuKeyAction, TemplateSlashMenuState } from "@stll/folio-core/prosemirror/plugins/templateSlashMenu";
15
16
  import { ColorValue, Document, ParagraphAlignment, SdtProperties, SectionProperties, Style, Theme } from "@stll/folio-core/types/document";
@@ -853,6 +854,38 @@ type DocxEditorRef = {
853
854
  highlightPassage: (options: HighlightPassageOptions) => HighlightPassageResult; /** Clear the passage highlight painted by {@link highlightPassage}, if any. */
854
855
  clearPassageHighlight: () => void; /** Resolve a stable block or text-range target and reveal it in the editor. */
855
856
  showInDocument: (target: FolioDocumentNavigationTarget, snapshot?: FolioAIEditSnapshot) => boolean;
857
+ /**
858
+ * The pending suggestions in the live document: AI-proposed tracked changes
859
+ * (provenance "suggested") grouped by suggestionId. Empty before the editor
860
+ * view mounts. Apply suggestions by passing `mode: "suggested"` to
861
+ * {@link applyDocumentOperations}; the result's `applied[].suggestionId`
862
+ * identifies each one.
863
+ */
864
+ getSuggestions: () => FolioSuggestion[];
865
+ /**
866
+ * Accept a suggestion: convert it into a normal tracked change authored by
867
+ * `options.author` (defaults to the editor's configured author). Whole
868
+ * inserted tables apply directly (`appliedAs: "direct"`); everything else
869
+ * becomes a tracked change (`"tracked"`). `accepted` is `false` (and
870
+ * `appliedAs` `null`) when the suggestion is not present.
871
+ */
872
+ acceptSuggestion: (suggestionId: string, options?: {
873
+ author?: string;
874
+ }) => {
875
+ accepted: boolean;
876
+ appliedAs: SuggestionAppliedAs | null;
877
+ };
878
+ /**
879
+ * Reject a suggestion: inverse-apply its marks (remove suggested-inserted
880
+ * text, drop suggested deletions, revert suggested formatting). Returns
881
+ * `false` when the suggestion is not present.
882
+ */
883
+ rejectSuggestion: (suggestionId: string) => boolean;
884
+ /**
885
+ * Scroll the editor viewport so the given suggestion comes into view, and
886
+ * select it. No-op when the suggestion is not present.
887
+ */
888
+ scrollToSuggestion: (suggestionId: string) => boolean;
856
889
  /**
857
890
  * The tracked changes (insertions and deletions) present in the live
858
891
  * document, read from the current ProseMirror `state.doc`. Empty array