:root {
  /* CSS variables */
}
/* Isolate editor content from external/client CSS by reverting all properties.
 * IMPORTANT: We exclude SVG elements and their children from this rule because
 * 'all: revert' breaks SVG rendering (paths don't display, transforms don't work).
 * SVG has its own rendering model and doesn't need CSS isolation the same way text content does.
 */
.sd-editor-scoped,
.sd-editor-scoped :where(*:not(svg):not(svg *):not(.annotation):not([data-drag-handle])),
.sd-editor-scoped :where(*:not(svg):not(svg *)::before),
.sd-editor-scoped :where(*:not(svg):not(svg *)::after) {
  all: revert;
  box-sizing: border-box;
}
/* Ensure SVG display properties for proper rendering */
.sd-editor-scoped svg {
  display: inline-block;
  overflow: visible;
}
.sd-editor-scoped {
  display: block;
}
/*
 * Visual Regression Testing:
 * This CSS isolation is critical for protecting editor content from external stylesheets.
 * Visual regression tests should be added to the visual testing repository to ensure:
 * 1. Text content is not affected by aggressive global CSS
 * 2. SVG shapes (shape groups, vector shapes) render correctly
 * 3. No visual regressions when client applications have conflicting styles
 *
 * Reference: PR #1219 - "improve style scoping in the editor to prevent external styles affecting content"
 * Reference: PR #1236 - "shape groups" (this fix ensures both isolation AND SVG rendering work)
 */
.sd-input-active {
  border: 1px solid #1355ff !important;
}
.sd-super-editor-html .ProseMirror {
  border: 1px solid #d9d9d9;
  outline: none;
  border-radius: 8px;
  height: 100%;
  width: 100%;
  outline: none;
}
.super-editor a {
  color: initial;
  text-decoration: auto;
}
.presentation-editor__selection-caret {
  animation: superdoc-caret-blink 1.2s steps(2, start) infinite;
}
.presentation-editor__permission-overlay {
  pointer-events: none;
}
.presentation-editor__permission-highlight {
  border-radius: 2px;
  background-color: rgba(199, 200, 217, 0.55);
}
@keyframes superdoc-caret-blink {
  0%,
  45% {
    opacity: 1;
  }
  55%,
  100% {
    opacity: 0;
  }
}
/**
 * Basic ProseMirror styles.
 * https://github.com/ProseMirror/prosemirror-view/blob/master/style/prosemirror.css
 *
 * All selectors are scoped under .sd-editor-scoped to prevent bleeding into host apps.
 * See: SD-1850
 */
.sd-editor-scoped .ProseMirror {
  position: relative;
  /* We use "all: revert" to isolate the editor content from external stylesheets. This makes the "contenteditable" not editable on Safari devices. So we need to keep this. */
  -webkit-user-modify: read-write-plaintext-only;
}
.sd-editor-scoped .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; /* the above doesn't seem to work in Edge */
  z-index: 0; /* Needed to place images behind text with lower z-index */
}
.sd-editor-scoped .ProseMirror pre {
  white-space: pre-wrap;
}
.sd-editor-scoped .ProseMirror ol,
.sd-editor-scoped .ProseMirror ul {
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
}
.sd-editor-scoped .ProseMirror ol,
.sd-editor-scoped .ProseMirror ul {
  padding-inline-start: 0;
  padding-left: 0;
  list-style: none;
}
.sd-editor-scoped .ProseMirror li::marker {
  content: none;
}
.sd-editor-scoped .ProseMirror li::marker {
  padding: 0;
  margin: 0;
}
.sd-editor-scoped .ProseMirror li > p {
  margin: 0;
  padding: 0;
  display: inline-block;
}
/**
 * Hide marker for indented lists.
 * If a list-item contains a list but doesn't contain a "p" tag with text.
 */
.sd-editor-scoped .ProseMirror ol {
  margin: 0;
}
.sd-editor-scoped .ProseMirror li:has(> ul:first-child, > ol:first-child):not(:has(> p)) {
  list-style-type: none;
}
.sd-editor-scoped .ProseMirror li:has(> ul:first-child, > ol:first-child):not(:has(> p))::marker {
  content: '';
}
.sd-editor-scoped .ProseMirror-hideselection *::selection {
  background: transparent;
}
.sd-editor-scoped .ProseMirror-hideselection *::-moz-selection {
  background: transparent;
}
.sd-editor-scoped .ProseMirror-hideselection * {
  caret-color: transparent;
}
/* Allow selection visibility in viewing mode when allowSelectionInViewMode is enabled */
.presentation-editor--allow-selection .ProseMirror-hideselection *::selection {
  background: Highlight;
  background: -moz-Highlight;
}
.presentation-editor--allow-selection .ProseMirror-hideselection *::-moz-selection {
  background: Highlight;
}
.presentation-editor--allow-selection .ProseMirror-hideselection * {
  caret-color: auto;
}
/* See https://github.com/ProseMirror/prosemirror/issues/1421#issuecomment-1759320191 */
.sd-editor-scoped .ProseMirror [draggable][contenteditable='false'] {
  user-select: text;
}
.sd-editor-scoped .ProseMirror-selectednode {
  outline: 2px solid #8cf;
}
/* Make sure li selections wrap around markers */
.sd-editor-scoped li.ProseMirror-selectednode {
  outline: none;
}
.sd-editor-scoped li.ProseMirror-selectednode:after {
  content: '';
  position: absolute;
  left: -32px;
  right: -2px;
  top: -2px;
  bottom: -2px;
  border: 2px solid #8cf;
  pointer-events: none;
}
.sd-editor-scoped .ProseMirror img {
  height: auto;
  max-width: 100%;
}
/* Protect against generic img rules */
.sd-editor-scoped img.ProseMirror-separator {
  display: inline !important;
  border: none !important;
  margin: 0 !important;
}
.sd-editor-scoped .ProseMirror .sd-editor-tab {
  display: inline-block;
  vertical-align: text-bottom;
}
.sd-editor-scoped .ProseMirror u .sd-editor-tab {
  white-space: pre;
  border-bottom: 1px solid #000;
  margin-bottom: 1.5px;
}
/*
Tables
https://github.com/ProseMirror/prosemirror-tables/blob/master/style/tables.css
https://github.com/ProseMirror/prosemirror-tables/blob/master/demo/index.html
*/
.sd-editor-scoped .ProseMirror.resize-cursor {
  cursor: ew-resize;
  cursor: col-resize;
}
.sd-editor-scoped .ProseMirror .tableWrapper {
  --table-border-width: 1px;
  --offset: 2px;

  overflow-x: auto;
  scrollbar-width: thin;
  overflow: visible; /* Allow table to extend beyond margins */

  /*
  The border width does not need to be multiplied by two,
  for tables it works differently. */
  width: calc(100% + (var(--table-border-width) + var(--offset)));
}
.sd-editor-scoped .ProseMirror table {
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: auto;
  margin: 0;
  /* width: 100%; */
}
/* Header/footer editors: constrain table to the editor's available width.
   Raw DOCX grid <col> widths may exceed the section's content area.
   table-layout:auto treats col widths as preferred (not hard) constraints,
   so the browser can redistribute columns to fit within width:100%.
   !important overrides inline styles set by TableView.updateTable()
   which resets styles via table.style.cssText. */
.sd-editor-scoped .ProseMirror.sd-header-footer table {
  table-layout: auto !important;
  width: 100% !important;
  max-width: 100% !important;
}
.sd-editor-scoped .ProseMirror tr {
  position: relative;
}
.sd-editor-scoped .ProseMirror td,
.sd-editor-scoped .ProseMirror th {
  min-width: 0;
  position: relative;
  vertical-align: top;
  box-sizing: border-box;
  overflow-wrap: anywhere;
}
.sd-editor-scoped .ProseMirror td[data-placeholder],
.sd-editor-scoped .ProseMirror th[data-placeholder] {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.sd-editor-scoped .ProseMirror td[data-placeholder] > *,
.sd-editor-scoped .ProseMirror th[data-placeholder] > * {
  display: none !important;
}
.sd-editor-scoped .ProseMirror th {
  font-weight: bold;
  text-align: left;
}
.sd-editor-scoped .ProseMirror table .column-resize-handle {
  position: absolute;
  right: -2px;
  top: 0;
  bottom: -2px; /* 0 */
  width: 4px;
  z-index: 20;
  background-color: #adf;
  pointer-events: none;
}
.sd-editor-scoped .ProseMirror table .selectedCell:after {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(200, 200, 255, 0.4);
  pointer-events: none;
  z-index: 2;
}
/* Tables - end */
/* Track changes */
.sd-editor-scoped .ProseMirror .track-insert-dec,
.sd-editor-scoped .ProseMirror .track-delete-dec,
.sd-editor-scoped .ProseMirror .track-format-dec {
  pointer-events: none;
}
.sd-editor-scoped .ProseMirror .track-insert-dec.hidden,
.sd-editor-scoped .ProseMirror .track-delete-dec.hidden {
  display: none;
}
.sd-editor-scoped .ProseMirror .track-insert-dec.highlighted {
  border-top: 1px dashed var(--sd-tracked-changes-insert-border, #00853d);
  border-bottom: 1px dashed var(--sd-tracked-changes-insert-border, #00853d);
  background-color: var(--sd-tracked-changes-insert-background, #399c7222);
}
.sd-editor-scoped .ProseMirror .track-delete-dec.highlighted {
  border-top: 1px dashed var(--sd-tracked-changes-delete-border, #cb0e47);
  border-bottom: 1px dashed var(--sd-tracked-changes-delete-border, #cb0e47);
  background-color: var(--sd-tracked-changes-delete-background, #cb0e4722);
  text-decoration: line-through !important;
  text-decoration-thickness: 2px !important;
}
.sd-editor-scoped .ProseMirror .track-format-dec.highlighted {
  border-bottom: 2px solid var(--sd-tracked-changes-format-border, gold);
}
.sd-editor-scoped .ProseMirror .track-delete-widget {
  visibility: hidden;
}
/* Track changes - end */
/* Collaboration cursors */
.sd-editor-scoped .ProseMirror > .ProseMirror-yjs-cursor:first-child {
  margin-top: 16px;
}
.sd-editor-scoped .ProseMirror-yjs-cursor {
  position: relative;
  margin-left: -1px;
  margin-right: -1px;
  border-left: 1px solid black;
  border-right: 1px solid black;
  border-color: orange;
  word-break: normal;
  pointer-events: none;
}
.sd-editor-scoped .ProseMirror-yjs-cursor > div {
  position: absolute;
  top: -1.05em;
  left: -1px;
  font-size: 13px;
  background-color: rgb(250, 129, 0);
  font-family: serif;
  font-style: normal;
  font-weight: normal;
  line-height: normal;
  user-select: none;
  color: white;
  padding-left: 2px;
  padding-right: 2px;
  white-space: nowrap;
}
/* Collaboration cursors - end */
/* Presentation Editor Remote Cursors */
.presentation-editor__selection-layer--local,
.presentation-editor__selection-layer--remote {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.presentation-editor__remote-caret {
  position: absolute;
  pointer-events: none;
}
.presentation-editor__remote-label {
  position: absolute;
  font-size: 13px;
  color: white;
  padding: 2px 6px;
  border-radius: 3px;
  white-space: nowrap;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 500;
  line-height: normal;
  pointer-events: none;
  user-select: none;
  /* Drop shadow for better readability over varied backgrounds */
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  /* Ensure labels appear above selections */
  z-index: 1;
}
.presentation-editor__remote-selection {
  position: absolute;
  border-radius: 2px;
  pointer-events: none;
  /* Better color blending with text (multiply mode shows text more clearly through highlights) */
  mix-blend-mode: multiply;
}
/* Presentation Editor Remote Cursors - end */
/* Footnotes */
.sd-editor-scoped .sd-footnote-ref {
  font-size: 0.75em;
  line-height: 1;
  vertical-align: super;
  user-select: none;
}
/* Image placeholder */
.sd-editor-scoped .ProseMirror placeholder {
  display: inline;
  border: 1px solid #ccc;
  color: #ccc;
}
.sd-editor-scoped .ProseMirror placeholder:after {
  content: '☁';
  font-size: 200%;
  line-height: 0.1;
  font-weight: bold;
}
/* Gapcursor */
.sd-editor-scoped .ProseMirror-gapcursor {
  display: none;
  pointer-events: none;
  position: absolute;
  margin: 0;
}
.sd-editor-scoped .ProseMirror-gapcursor:after {
  content: '';
  display: block;
  position: absolute;
  top: -2px;
  width: 20px;
  border-top: 1px solid black;
  animation: superdoc-cursor-blink 1.1s steps(2, start) infinite;
}
@keyframes superdoc-cursor-blink {
  to {
    visibility: hidden;
  }
}
.sd-editor-scoped .ProseMirror-focused .ProseMirror-gapcursor {
  display: block;
}
.sd-editor-scoped .ProseMirror div[data-type='contentBlock'] {
  position: absolute;
  outline: none;
  user-select: none;
  z-index: -1;
}
.sd-editor-scoped .ProseMirror div[data-horizontal-rule='true'] {
  position: relative;
  z-index: auto;
  display: inline-block;
  vertical-align: middle;
  margin-top: auto;
  align-self: flex-end;
}
.sd-editor-scoped .sd-editor-dropcap {
  float: left;
  display: flex;
  align-items: baseline;
  margin-top: -5px;
}
.sd-editor-scoped .ProseMirror-search-match {
  background-color: #ffff0054;
}
.sd-editor-scoped .ProseMirror-active-search-match {
  background-color: #ff6a0054;
}
.sd-editor-scoped .ProseMirror span.sd-custom-selection::selection {
  background: transparent;
}
.sd-editor-scoped .sd-custom-selection {
  background-color: #d9d9d9;
  border-radius: 0.1em;
}
.superdoc-toolbar svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
  pointer-events: none;
}
.superdoc-toolbar svg path {
    stroke: currentColor;
  }
.sd-editor-toolbar-dropdown .toolbar-dropdown-option .dropdown-select-icon {
  display: flex;
  width: 12px;
  height: 12px;
}
/* Custom toolbar styling */
/* AI button icon styling with gradient */
.super-editor .toolbar-icon__icon--ai {
  position: relative;
  z-index: 1;
}
.super-editor .toolbar-icon__icon--ai svg {
  fill: transparent;
}
.super-editor .toolbar-icon__icon--ai::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background: linear-gradient(
    270deg,
    rgba(218, 215, 118, 0.5) -20%,
    rgba(191, 100, 100, 1) 30%,
    rgba(77, 82, 217, 1) 60%,
    rgb(255, 219, 102) 150%
  );
  -webkit-mask: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.7-53.3L160 80l-53.3-26.7L80 0 53.3 53.3 0 80l53.3 26.7L80 160zm352 128l-26.7 53.3L352 368l53.3 26.7L432 448l26.7-53.3L512 368l-53.3-26.7L432 288zm70.6-193.8L417.8 9.4C411.5 3.1 403.3 0 395.2 0c-8.2 0-16.4 3.1-22.6 9.4L9.4 372.5c-12.5 12.5-12.5 32.8 0 45.3l84.9 84.9c6.3 6.3 14.4 9.4 22.6 9.4 8.2 0 16.4-3.1 22.6-9.4l363.1-363.2c12.5-12.5 12.5-32.8 0-45.2zM359.5 203.5l-50.9-50.9 86.6-86.6 50.9 50.9-86.6 86.6z'/></svg>")
    center / contain no-repeat;
  mask: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.7-53.3L160 80l-53.3-26.7L80 0 53.3 53.3 0 80l53.3 26.7L80 160zm352 128l-26.7 53.3L352 368l53.3 26.7L432 448l26.7-53.3L512 368l-53.3-26.7L432 288zm70.6-193.8L417.8 9.4C411.5 3.1 403.3 0 395.2 0c-8.2 0-16.4 3.1-22.6 9.4L9.4 372.5c-12.5 12.5-12.5 32.8 0 45.3l84.9 84.9c6.3 6.3 14.4 9.4 22.6 9.4 8.2 0 16.4-3.1 22.6-9.4l363.1-363.2c12.5-12.5 12.5-32.8 0-45.2zM359.5 203.5l-50.9-50.9 86.6-86.6 50.9 50.9-86.6 86.6z'/></svg>")
    center / contain no-repeat;
  filter: brightness(1.2);
  transition: filter 0.2s ease;
}
.super-editor .toolbar-icon__icon--ai:hover::before {
  filter: brightness(1.3);
}
/* AI text appear animation */
@keyframes superdoc-aiTextAppear {
  from {
    opacity: 0;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.super-editor .sd-ai-text-appear {
  display: inline;
  opacity: 0;
  animation: superdoc-aiTextAppear 0.7s ease-out forwards;
  animation-fill-mode: both;
  will-change: opacity, transform;
  /* Ensure each mark is treated as a separate animation context */
  contain: content;
}
.super-editor .sd-ai-loader {
  display: flex;
  justify-content: flex-start;
}
.super-editor .sd-ai-loader > img {
  width: fit-content;
  height: 40px;
}
@keyframes superdoc-ai-pulse {
  0% {
    background-color: rgba(99, 102, 241, 0.1);
  }
  50% {
    background-color: rgba(99, 102, 241, 0.375);
  }
  100% {
    background-color: rgba(99, 102, 241, 0.1);
  }
}
.super-editor .sd-ai-highlight-pulse {
  animation: superdoc-ai-pulse 1.5s ease-in-out infinite;
}
.super-editor .sd-editor-auto-page-number,
.super-editor .sd-editor-auto-total-pages {
  transition: all 250ms ease;
  border-bottom: 1px solid #9a9a9a;
  cursor: not-allowed;
}
.super-editor .sd-editor-auto-page-number:hover,
.super-editor .sd-editor-auto-total-pages:hover {
  border-bottom-color: #4f4f4f;
}
.super-editor .sd-editor-auto-page-number-content {
  pointer-events: none;
}
.super-editor .ProseMirror.view-mode .sd-editor-auto-page-number,
  .super-editor .ProseMirror.view-mode .sd-editor-auto-total-pages {
    border: none;
  }
.sd-editor-popover {
  background-color: #fff;
  border-radius: 8px;
  -webkit-box-shadow: 0px 4px 12px 0px rgba(50, 50, 50, 0.15);
  -moz-box-shadow: 0px 4px 12px 0px rgba(50, 50, 50, 0.15);
  box-shadow: 0px 4px 12px 0px rgba(50, 50, 50, 0.15);
  padding: 0;
  width: auto;
  height: auto;
  font-size: 14px;
  color: #333;
  z-index: 1000;
}
.sd-editor-popover .popover-header {
  font-weight: bold;
  margin-bottom: 8px;
}
.tippy-box[data-theme~='sd-editor-popover'] {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
  border: none !important;
  padding: 0 !important;
}
.tippy-box[data-theme~='sd-editor-popover'] .tippy-arrow {
  color: #fff;
  border: 1px solid #dbdbdb;
}
.tippy-box[data-theme~='sd-editor-popover'] .tippy-content {
  padding: 0;
}
.sd-editor-placeholder::before {
  content: attr(data-placeholder);
  color: #aaa;
  pointer-events: none;
  display: block;
  height: 0;
}
.sd-editor-mention {
  background-color: #1355ff15;
  color: #222;
  font-weight: 400;
  border-radius: 3px;
  padding: 0 5px;
  cursor: default;
  display: inline-block;
  box-sizing: border-box;
}
.sd-editor-comment-highlight {
  transition: background-color 250ms ease;
}
.sd-editor-comment-highlight:hover {
  background-color: var(--sd-comments-highlight-hover, #1354ff55);
}
.sd-editor-comment-highlight.sd-custom-selection {
  background-color: #d6c0c6 !important;
}
/* Resize handles container */
.sd-editor-resize-container.sd-editor-scoped {
  position: absolute;
  pointer-events: none;
  z-index: 11;
}
/* Resize handles */
.sd-editor-scoped .sd-editor-resize-handle {
  position: absolute;
  width: 12px;
  height: 12px;
  background-color: #4dabf7;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
  pointer-events: auto;
  transition: all 0.1s ease;
}
.sd-editor-scoped .sd-editor-resize-handle:hover {
  background-color: #228be6;
  transform: scale(1.1);
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.4);
}
/* Handle positions */
.sd-editor-scoped .sd-editor-resize-handle-nw {
  top: -6px;
  left: -6px;
  cursor: nwse-resize;
}
.sd-editor-scoped .sd-editor-resize-handle-ne {
  top: -6px;
  right: -6px;
  cursor: nesw-resize;
}
.sd-editor-scoped .sd-editor-resize-handle-sw {
  bottom: -6px;
  left: -6px;
  cursor: nesw-resize;
}
.sd-editor-scoped .sd-editor-resize-handle-se {
  bottom: -6px;
  right: -6px;
  cursor: nwse-resize;
}
/* Hide handles when editor loses focus */
.sd-editor-scoped .ProseMirror:not(.ProseMirror-focused) .sd-editor-resize-container {
  display: none;
}
/* Smooth transitions for resizing */
.sd-editor-scoped .sd-editor-resizable-wrapper * {
  transition: none;
}
.sd-editor-scoped .sd-editor-resizable-wrapper *:not([style*='width']) {
  transition: all 0.2s ease;
}
/* Resize feedback indicator */
.sd-editor-scoped .sd-editor-resizable-wrapper::after {
  content: 'Drag corners to resize';
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(77, 171, 247, 0.9);
  color: white;
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 4px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 12;
}
.sd-editor-scoped .sd-editor-resizable-wrapper:hover::after {
  opacity: 1;
}
.super-editor .sd-document-section-block {
  background-color: #fafafa;
  border: 1px solid #ababab;
  border-radius: 4px;
  position: relative;
}
.super-editor .sd-document-section-block-info {
  position: absolute;
  top: -19px;
  left: -1px;
  max-width: 100px;
  min-width: 0;
  height: 18px;
  border: 1px solid #ababab;
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  padding: 0 8px;
  align-items: center;
  font-size: 10px;
  display: none;
  z-index: 100;
  background-color: #fafafa;
}
.super-editor .sd-document-section-block:hover {
  border-radius: 0 4px 4px 4px;
}
.super-editor .sd-document-section-block:hover .sd-document-section-block-info {
  display: flex;
  align-items: center;
}
.super-editor .sd-document-section-block-info span {
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.super-editor .ProseMirror.view-mode .sd-document-section-block {
  background: none;
  border: none;
}
.super-editor .ProseMirror.view-mode .sd-document-section-block-info {
  display: none;
}
.super-editor .sd-structured-content,
.super-editor .sd-structured-content-block {
  padding: 1px;
  box-sizing: border-box;
  border-radius: 4px;
  border: 1px solid transparent;
  position: relative;
}
.super-editor .sd-structured-content:has(img),
.super-editor .sd-structured-content:has(img) .sd-structured-content__content {
  display: inline-block;
}
/* Hover (not selected): light grey background, no handle */
.super-editor .sd-structured-content:not(.ProseMirror-selectednode):hover {
  background-color: var(--sd-content-controls-inline-hover-bg, #f2f2f2);
}
.super-editor .sd-structured-content-block:not(.ProseMirror-selectednode):hover {
  background-color: var(--sd-content-controls-block-hover-bg, #f2f2f2);
}
/* Selected: border + handle visible */
.super-editor .sd-structured-content.ProseMirror-selectednode {
  border-color: var(--sd-content-controls-inline-border, #629be7);
}
.super-editor .sd-structured-content-block.ProseMirror-selectednode {
  border-color: var(--sd-content-controls-block-border, #629be7);
}
.super-editor .sd-structured-content-draggable {
  font-size: 10px;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 2px;
  bottom: 100%;
  width: calc(100% - 4px);
  max-width: 110px;
  min-width: 0;
  height: 18px;
  padding: 0 4px;
  border: 1px solid var(--sd-content-controls-label-border, #629be7);
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  background-color: var(--sd-content-controls-label-bg, #629be7ee);
  color: var(--sd-content-controls-label-text, #ffffff);
  box-sizing: border-box;
  z-index: 10;
  cursor: grab;
  display: none;
}
.super-editor .sd-structured-content-draggable span {
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
/* Handle only visible when selected */
.super-editor .sd-structured-content.ProseMirror-selectednode .sd-structured-content-draggable,
.super-editor .sd-structured-content-block.ProseMirror-selectednode .sd-structured-content-draggable {
  display: inline-flex;
}
.super-editor .ProseMirror.view-mode .sd-structured-content,
.super-editor .ProseMirror.view-mode .sd-structured-content-block {
  padding: 0;
  border: none;
}
.super-editor .ProseMirror.view-mode .sd-structured-content-draggable {
  display: none;
}
.presentation-editor--viewing .sd-structured-content,
.presentation-editor--viewing .sd-structured-content-block {
  padding: 0;
  border: none;
}
.presentation-editor--viewing .sd-structured-content-draggable {
  display: none;
}
.sd-vector-shape {
  display: inline-block;
  vertical-align: bottom;
}
.sd-vector-shape svg {
  width: 100%;
  height: 100%;
  display: block;
}
.sd-shape-group {
  display: inline-block;
  vertical-align: bottom;
  position: relative;
  border: 1px dashed transparent;
  transition: border-color 0.2s ease;
}
.sd-shape-group:hover {
  border-color: rgba(91, 155, 213, 0.3);
}
.sd-shape-group svg {
  display: block;
}
.sd-shape-group[data-selected] {
  border-color: rgba(91, 155, 213, 0.6);
  background-color: rgba(91, 155, 213, 0.05);
}
/* Ensure shapes within the group are properly positioned */
.sd-shape-group svg g {
  transform-origin: top left;
}
/**
 * Proofing underline styles.
 *
 * Layout-invariant: these decorations must not change line height,
 * text metrics, padding, margins, or any property that affects layout.
 */
.sd-proofing-spelling {
  text-decoration-line: spelling-error;
  text-decoration-style: wavy;
  text-decoration-color: var(--sd-proofing-spelling-color, #e53e3e);
  text-decoration-thickness: var(--sd-proofing-underline-thickness, 1.5px);
  text-underline-offset: var(--sd-proofing-underline-offset, 2px);
}
/* Fallback for browsers that don't support spelling-error */
@supports not (text-decoration-line: spelling-error) {
  .sd-proofing-spelling {
    text-decoration-line: underline;
    text-decoration-style: wavy;
    text-decoration-color: var(--sd-proofing-spelling-color, #e53e3e);
    text-decoration-thickness: var(--sd-proofing-underline-thickness, 1.5px);
    text-underline-offset: var(--sd-proofing-underline-offset, 2px);
  }
}
/* Grammar underline (future — stored but not rendered in v1) */
.sd-proofing-grammar {
  text-decoration-line: underline;
  text-decoration-style: wavy;
  text-decoration-color: var(--sd-proofing-grammar-color, #3182ce);
  text-decoration-thickness: var(--sd-proofing-underline-thickness, 1.5px);
  text-underline-offset: var(--sd-proofing-underline-offset, 2px);
}
/* Style issue underline (future) */
.sd-proofing-style {
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: var(--sd-proofing-style-color, #805ad5);
  text-decoration-thickness: var(--sd-proofing-underline-thickness, 1.5px);
  text-underline-offset: var(--sd-proofing-underline-offset, 2px);
}

.selected[data-v-dde587fd] {
  background-color: #dbdbdb;
}
.mentions-container[data-v-dde587fd] {
  outline: none !important;
  border: none;
  max-height: 300px;
  overflow-y: auto;
}
.mentions-container[data-v-dde587fd]:focus {
  border: none;
  outline: none !important;
}
.user-row[data-v-dde587fd] {
  padding: 10px 15px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

/* Add isolation styles */
.prosemirror-isolated[data-v-79953d57] {
  /* Make sure the component is above ProseMirror in z-index */
  z-index: 100;
  position: relative;
}
.ai-writer[data-v-79953d57] {
  background-color: white;
  display: flex;
  flex-direction: column;
  width: 300px;
  border-radius: 5px;
  overflow-y: scroll;
  /* Firefox */
  scrollbar-width: none;
  /* Internet Explorer and Edge */
  -ms-overflow-style: none;

  padding: 0.75rem;
  box-shadow: 0 0 2px 2px #7715b366;
  border: 1px solid #7715b3;
}

/* Chrome, Safari, and Opera */
.ai-writer[data-v-79953d57]::-webkit-scrollbar {
  display: none;
}

/* Replace .ai-editable with .ai-textarea */
.ai-textarea[data-v-79953d57] {
  padding-left: 8px;
  width: 100%;
  color: #47484a;
  font-size: var(--sd-ui-font-size-200, 12px);
  border: none;
  background: transparent;
  outline: none;
  resize: none;
  overflow: hidden;
  height: 100%;
  font-family: var(--sd-ui-font-family, Arial, Helvetica, sans-serif);
}

/* Add specific styles for textarea placeholder */
.ai-textarea[data-v-79953d57]::placeholder {
  color: #666;
  font-weight: 400;
}
.ai-user-input-field[data-v-79953d57] {
  line-height: 13px;
  display: flex;
  flex-direction: row;
  min-height: 50px;
  resize: none;
  border: none;
  border-radius: 8px;
  margin-bottom: 10px;
}
.ai-textarea-icon[data-v-79953d57] {
  display: block;
  font-weight: 800;
  font-size: var(--sd-ui-font-size-400, 14px);
  width: 16px;
  height: 16px;
}
.ai-textarea-icon svg[data-v-79953d57] {
  height: 16px;
  width: 16px;
}
.ai-textarea-icon.loading[data-v-79953d57] {
  animation: spin-79953d57 2s linear infinite;
}
.loading i[data-v-79953d57] {
  display: flex;
}
.error[data-v-79953d57] {
  fill: #ed4337;
}
.ai-submit-button[data-v-79953d57] {
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
}
.ai-submit-button[data-v-79953d57]:hover {
  opacity: 0.8;
}
@keyframes spin-79953d57 {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.ai-loader[data-v-79953d57] {
  display: flex;
  height: 14px;
  justify-content: flex-end;
  align-items: center;
}

.alignment-buttons[data-v-3f7f0d98] {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 8px;
  box-sizing: border-box;
}
.alignment-buttons .button-icon[data-v-3f7f0d98] {
    cursor: pointer;
    padding: 5px;
    font-size: var(--sd-ui-font-size-600, 16px);
    color: var(--sd-ui-dropdown-text, #47484a);
    width: 25px;
    height: 25px;
    border-radius: var(--sd-ui-dropdown-option-radius, 3px);
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}
.alignment-buttons .button-icon[data-v-3f7f0d98]:hover {
      background-color: var(--sd-ui-dropdown-hover-bg, #d8dee5);
      color: var(--sd-ui-dropdown-hover-text, #47484a);
}
.alignment-buttons .button-icon[data-v-3f7f0d98] svg {
      width: 100%;
      height: 100%;
      display: block;
      fill: currentColor;
}
.alignment-buttons.high-contrast .button-icon[data-v-3f7f0d98]:hover {
        background-color: #000;
        color: #fff;
}

.document-mode[data-v-8587478e] {
  display: flex;
  flex-direction: column;
  padding: 10px;
  box-sizing: border-box;
}
.document-mode[data-v-8587478e] svg {
    width: 100%;
    height: 100%;
    display: block;
    fill: currentColor;
}
.document-mode .option-item[data-v-8587478e] {
    display: flex;
    flex-direction: row;
    background-color: var(--sd-ui-dropdown-bg, #ffffff);
    padding: 10px;
    border-radius: var(--sd-ui-dropdown-option-radius, 3px);
    cursor: pointer;
    box-sizing: border-box;
}
.document-mode .option-item[data-v-8587478e]:hover {
      background-color: var(--sd-ui-dropdown-hover-bg, #d8dee5);
}
.document-mode.high-contrast .option-item[data-v-8587478e]:hover {
        background-color: #000;
        color: #fff;
}
.document-mode.high-contrast .option-item:hover .icon-column__icon[data-v-8587478e] {
          color: #fff;
}
.document-mode.high-contrast .option-item:hover .text-column > .document-mode-type[data-v-8587478e],
          .document-mode.high-contrast .option-item:hover .text-column > .document-mode-description[data-v-8587478e] {
            color: #fff;
}
.disabled[data-v-8587478e] {
  opacity: 0.5;
  cursor: not-allowed !important;
  pointer-events: none;
}
.document-mode-column[data-v-8587478e] {
  display: flex;
  flex-direction: column;
}
.document-mode-type[data-v-8587478e] {
  font-weight: 400;
  font-size: var(--sd-ui-font-size-500, 15px);
  color: var(--sd-ui-text, #47484a);
}
.icon-column[data-v-8587478e] {
  margin-right: 5px;
  justify-content: flex-start;
  align-items: center;
  padding: 0 5px;
  color: var(--sd-ui-text, #47484a);
  height: 100%;
  box-sizing: border-box;
}
.icon-column__icon[data-v-8587478e] {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    height: 18px;
    color: var(--sd-ui-text, #47484a);
}
.icon-column__icon[data-v-8587478e] svg {
  width: auto;
  /* needed for safari */
  max-height: 18px;
}
.document-mode-description[data-v-8587478e] {
  font-size: var(--sd-ui-font-size-200, 12px);
  color: var(--sd-ui-text-muted, #666666);
}

.style-name[data-v-80e74746] {
  padding: 16px 10px;
  color: var(--sd-ui-dropdown-text, #47484a);
}
.style-name[data-v-80e74746]:hover {
  background-color: var(--sd-ui-dropdown-hover-bg, #d8dee5);
  color: var(--sd-ui-dropdown-hover-text, #47484a);
}
.linked-style-buttons[data-v-80e74746] {
  display: flex;
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
  max-height: 400px;
  width: 200px;
  padding: 0;
  margin: 0;
  overflow: auto;
}

.link-input-wrapper[data-v-56a53c8c] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.link-input-ctn[data-v-56a53c8c] {
  width: 320px;
  display: flex;
  flex-direction: column;
  padding: 1em;
  border-radius: var(--sd-ui-radius, 6px);
  background-color: var(--sd-ui-dropdown-bg, #ffffff);
  box-sizing: border-box;
}
.link-input-ctn[data-v-56a53c8c] svg {
    width: 100%;
    height: 100%;
    display: block;
    fill: currentColor;
}
.link-input-ctn .input-row[data-v-56a53c8c] {
    align-content: baseline;
    display: flex;
    align-items: center;
    font-size: var(--sd-ui-font-size-600, 16px);
}
.link-input-ctn .input-row input[data-v-56a53c8c] {
      font-size: var(--sd-ui-font-size-300, 13px);
      flex-grow: 1;
      padding: 10px;
      border-radius: var(--sd-ui-radius, 6px);
      padding-left: 32px;
      box-shadow: var(--sd-ui-shadow, 0 4px 12px rgba(0, 0, 0, 0.12));
      color: var(--sd-ui-text-muted, #666666);
      border: 1px solid var(--sd-ui-border, #dbdbdb);
      box-sizing: border-box;
}
.link-input-ctn .input-row input[data-v-56a53c8c]:active,
      .link-input-ctn .input-row input[data-v-56a53c8c]:focus {
        outline: none;
        border: 1px solid var(--sd-ui-action, #1355ff);
}
.link-input-ctn .input-row input[readonly][data-v-56a53c8c] {
        background-color: var(--sd-ui-disabled-bg, #f5f5f5);
        cursor: default;
        color: var(--sd-ui-text-disabled, #888);
        border-color: var(--sd-ui-border, #e0e0e0);
}
.link-input-ctn .input-row input[readonly][data-v-56a53c8c]:active,
        .link-input-ctn .input-row input[readonly][data-v-56a53c8c]:focus {
          border-color: var(--sd-ui-border, #e0e0e0);
}
.link-input-ctn .input-icon[data-v-56a53c8c] {
    position: absolute;
    left: 25px;
    width: auto;
    color: var(--sd-ui-text-disabled, #ababab);
    pointer-events: none;
}
.link-input-ctn .input-icon[data-v-56a53c8c]:not(.text-input-icon) {
    transform: rotate(45deg);
    height: 12px;
}
.link-input-ctn.high-contrast .input-icon[data-v-56a53c8c] {
      color: var(--sd-ui-text, #47484a);
}
.link-input-ctn.high-contrast .input-row input[data-v-56a53c8c] {
      color: var(--sd-ui-text, #47484a);
      border-color: var(--sd-ui-text, #47484a);
}
.open-link-icon[data-v-56a53c8c] {
  margin-left: 10px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid transparent;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  transition: all 0.2s ease;
  cursor: pointer;
}
.open-link-icon[data-v-56a53c8c]:hover {
  color: var(--sd-ui-action, #1355ff);
  background-color: var(--sd-ui-bg, #ffffff);
  border: 1px solid var(--sd-ui-border, #dbdbdb);
}
.open-link-icon[data-v-56a53c8c] svg {
  width: 15px;
  height: 15px;
}
.disabled[data-v-56a53c8c] {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}
.link-buttons[data-v-56a53c8c] {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}
.remove-btn__icon[data-v-56a53c8c] {
  display: inline-flex;
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  margin-right: 4px;
}
.link-buttons button[data-v-56a53c8c] {
  margin-left: 5px;
}
.disable-btn[data-v-56a53c8c] {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}
.go-to-anchor a[data-v-56a53c8c] {
  font-size: var(--sd-ui-font-size-400, 14px);
  text-decoration: underline;
}
.clickable[data-v-56a53c8c] {
  cursor: pointer;
}
.link-title[data-v-56a53c8c] {
  font-size: var(--sd-ui-font-size-400, 14px);
  font-weight: 600;
  color: var(--sd-ui-text, #47484a);
  margin-bottom: 10px;
}
.hasBottomMargin[data-v-56a53c8c] {
  margin-bottom: 1em;
}
.remove-btn[data-v-56a53c8c] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 10px 16px;
  border-radius: var(--sd-ui-radius, 6px);
  outline: none;
  background-color: var(--sd-ui-bg, #ffffff);
  color: var(--sd-ui-text, #47484a);
  font-weight: 400;
  font-size: var(--sd-ui-font-size-300, 13px);
  cursor: pointer;
  transition: all 0.2s ease;
  border: 1px solid var(--sd-ui-border, #dbdbdb);
  box-sizing: border-box;
}
.remove-btn[data-v-56a53c8c]:hover {
  background-color: var(--sd-ui-hover-bg, #dbdbdb);
}
.submit-btn[data-v-56a53c8c] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 10px 16px;
  border-radius: var(--sd-ui-radius, 6px);
  outline: none;
  border: none;
  background-color: var(--sd-ui-action, #1355ff);
  color: var(--sd-ui-action-text, #ffffff);
  font-weight: 400;
  font-size: var(--sd-ui-font-size-300, 13px);
  cursor: pointer;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

/* &.high-contrast {
    background-color: black;
  } */
.submit-btn[data-v-56a53c8c]:hover {
    background-color: var(--sd-ui-action-hover, #0f44cc);
}
.error[data-v-56a53c8c] {
  border-color: red !important;
  background-color: #ff00001a;
}
.submit[data-v-56a53c8c] {
  cursor: pointer;
}

.option-row[data-v-59855ce7] {
  display: flex;
  flex-direction: row;
}
.option[data-v-59855ce7] {
  border-radius: 50%;
  cursor: pointer;
  padding: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-sizing: border-box;
}
.option[data-v-59855ce7]:hover {
  background-color: var(--sd-ui-dropdown-hover-bg, #d8dee5);
}
.option__icon[data-v-59855ce7] {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.option__check[data-v-59855ce7] {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  position: absolute;
}

.options-grid-wrap[data-v-e15bc0ac] {
  padding: 5px;
  border-radius: var(--sd-ui-radius, 6px);
}
.none-option[data-v-e15bc0ac] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
}
.none-option[data-v-e15bc0ac]:hover {
    opacity: 0.65;
}
.none-icon[data-v-e15bc0ac] {
  width: 16px;
}
.option-grid-ctn[data-v-e15bc0ac] {
  display: flex;
  flex-direction: column;
  background-color: var(--sd-ui-dropdown-bg, #ffffff);
  z-index: 3;
  box-sizing: border-box;
}
.option-grid-ctn__subtitle[data-v-e15bc0ac] {
    padding: 3px;
    font-size: var(--sd-ui-font-size-200, 12px);
    font-weight: 600;
}
.option-grid-ctn[data-v-e15bc0ac] svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}

.toolbar-table-grid-wrapper .toolbar-table-grid[data-v-5cefb109] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2px;
    padding: 8px;
    box-sizing: border-box;
}
.toolbar-table-grid-wrapper .toolbar-table-grid__item[data-v-5cefb109] {
    width: 20px;
    height: 20px;
    border: 1px solid var(--sd-ui-border, #dbdbdb);
    cursor: pointer;
    transition: all 0.15s;
}
.toolbar-table-grid-wrapper .toolbar-table-grid__item.selected[data-v-5cefb109] {
    background-color: var(--sd-ui-dropdown-hover-bg, #d8dee5);
}
.toolbar-table-grid-wrapper.high-contrast .toolbar-table-grid__item[data-v-5cefb109] {
      border-color: #000;
}
.toolbar-table-grid-wrapper.high-contrast .toolbar-table-grid__item.selected[data-v-5cefb109] {
      background: #000;
}
.toolbar-table-grid-wrapper .toolbar-table-grid-value[data-v-5cefb109] {
    font-size: var(--sd-ui-font-size-300, 13px);
    line-height: 1.1;
    padding: 0px 8px 2px;
}

.toolbar-table-actions[data-v-652015c8] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px;
  box-sizing: border-box;
}
.toolbar-table-actions[data-v-652015c8] svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}
.toolbar-table-actions__item[data-v-652015c8] {
  display: flex;
  gap: 5px;
  background-color: var(--sd-ui-dropdown-bg, #ffffff);
  padding: 4px 10px;
  border-radius: var(--sd-ui-dropdown-option-radius, 3px);
  cursor: pointer;
  box-sizing: border-box;
  position: relative;
}
.toolbar-table-actions__item[data-v-652015c8]:hover {
  background-color: var(--sd-ui-dropdown-hover-bg, #d8dee5);
}
.toolbar-table-actions__item--border[data-v-652015c8]:after {
  content: '';
  display: block;
  position: absolute;
  bottom: -3px;
  left: -10px;
  right: 0;
  height: 1px;
  width: calc(100% + 20px);
  background: var(--sd-ui-border, #dbdbdb);
}
.toolbar-table-actions__icon[data-v-652015c8] {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  color: var(--sd-ui-text, #47484a);
  box-sizing: border-box;
}
.toolbar-table-actions__icon-wrapper[data-v-652015c8] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  height: 14px;
  color: var(--sd-ui-text, #47484a);
}
.toolbar-table-actions__icon-wrapper[data-v-652015c8] svg {
  width: auto;
  max-height: 14px;
}
.toolbar-table-actions__label[data-v-652015c8] {
  font-size: var(--sd-ui-font-size-500, 15px);
  font-weight: 400;
  color: var(--sd-ui-text, #47484a);
  white-space: nowrap;
}

.search-input-ctn[data-v-bfe34b7b] {
  padding: 10px;
  border-radius: var(--sd-ui-radius, 6px);
}
.search-input-ctn .search-input[data-v-bfe34b7b] {
    min-width: 200px;
    font-size: var(--sd-ui-font-size-300, 13px);
    flex-grow: 1;
    padding: 10px;
    border-radius: var(--sd-ui-radius, 6px);
    color: var(--sd-ui-text-muted, #666666);
    border: 1px solid var(--sd-ui-border, #dbdbdb);
    box-sizing: border-box;
    box-shadow: var(--sd-ui-shadow, 0 4px 12px rgba(0, 0, 0, 0.12));
}
.search-input-ctn .search-input[data-v-bfe34b7b]:active,
    .search-input-ctn .search-input[data-v-bfe34b7b]:focus {
      outline: none;
      border: 1px solid var(--sd-ui-action, #1355ff);
}
.search-input-ctn .row[data-v-bfe34b7b] {
    display: flex;
}
.search-input-ctn .row.submit[data-v-bfe34b7b] {
      margin-top: 10px;
      flex-direction: row-reverse;
}
.search-input-ctn .submit-btn[data-v-bfe34b7b] {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 16px;
    border-radius: var(--sd-ui-radius, 6px);
    outline: none;
    border: none;
    background-color: var(--sd-ui-action, #1355ff);
    color: white;
    font-weight: 400;
    font-size: var(--sd-ui-font-size-300, 13px);
    cursor: pointer;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.toolbar-icon[data-v-8c30c125] {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.toolbar-icon__icon[data-v-8c30c125] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  height: 16px;
}
.toolbar-icon__icon--highlight[data-v-8c30c125] {
    width: 16px;
    margin-left: 3px;
    margin-bottom: 1px;
}
.toolbar-icon__icon[data-v-8c30c125] svg {
  width: auto; /* needed for safari */
  max-height: 16px;
}
.toolbar-icon__icon--color[data-v-8c30c125] svg {
  max-height: 14px;
  margin-top: -3px;
}
.color-bar[data-v-8c30c125] {
  border-radius: 4px;
  position: absolute;
  z-index: 5;
  height: 4px;
  left: 50%;
  bottom: 6px;
  transform: translateX(-50%);
  width: 16px;
}

.toolbar-item[data-v-ed885547] {
  position: relative;
  z-index: 1;
  min-width: 30px;
  margin: 0 calc(var(--sd-ui-toolbar-item-gap, 2px) / 2);
}
.visually-hidden[data-v-ed885547] {
  position: absolute;
  left: -9999px;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.toolbar-button[data-v-ed885547] {
  padding: var(--sd-ui-toolbar-item-padding, 5px);
  height: var(--sd-ui-toolbar-height, 32px);
  max-height: var(--sd-ui-toolbar-height, 32px);
  border-radius: var(--sd-ui-radius, 6px);
  overflow-y: visible;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--sd-ui-toolbar-button-text, #47484a);
  transition: all 0.2s ease-out;
  user-select: none;
  position: relative;
  box-sizing: border-box;
}
.toolbar-button[data-v-ed885547]:hover {
  background-color: var(--sd-ui-toolbar-button-hover-bg, var(--sd-ui-hover-bg, #dbdbdb));
}
.toolbar-button:hover .toolbar-icon.high-contrast[data-v-ed885547] {
      color: #fff;
}
.toolbar-button:hover.high-contrast[data-v-ed885547] {
    background-color: #000;
    color: #fff;
}
.toolbar-button[data-v-ed885547]:active,
.active[data-v-ed885547] {
  background-color: var(--sd-ui-toolbar-button-active-bg, var(--sd-ui-active-bg, #c8d0d8));
}
.button-label[data-v-ed885547] {
  overflow: hidden;
  width: 100%;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 400;
  font-size: var(--sd-ui-font-size-500, 15px);
  margin: 5px;
}
.toolbar-icon + .dropdown-caret[data-v-ed885547] {
  margin-left: 4px;
}
.left[data-v-ed885547],
.right[data-v-ed885547] {
  width: 50%;
  height: 100%;
  background-color: #dbdbdb;
  border-radius: 60%;
}
.has-inline-text-input[data-v-ed885547]:hover {
  cursor: text;
}
.disabled[data-v-ed885547] {
  cursor: default;
}
.disabled[data-v-ed885547]:hover {
  cursor: default;
  background-color: initial;
}
.disabled .toolbar-icon[data-v-ed885547],
.disabled .caret[data-v-ed885547],
.disabled .button-label[data-v-ed885547] {
  opacity: 0.35;
}
.caret[data-v-ed885547] {
  font-size: 1em;
  padding-left: 2px;
  padding-right: 2px;
}
.button-text-input[data-v-ed885547] {
  color: var(--sd-ui-toolbar-button-text, #47484a);
  border-radius: 4px;
  text-align: center;
  width: 30px;
  font-size: var(--sd-ui-font-size-400, 14px);
  margin-right: 5px;
  font-weight: 400;
  background-color: transparent;
  padding: 2px 0;
  outline: none;
  border: 1px solid var(--sd-ui-border, #dbdbdb);
  box-sizing: border-box;
}
.button-text-input.high-contrast[data-v-ed885547] {
    background-color: #fff;
}
.button-text-input--font-size[data-v-ed885547] {
  width: 36px;
}
.button-text-input[data-v-ed885547]::placeholder {
  color: var(--sd-ui-toolbar-button-text, #47484a);
}
.dropdown-caret[data-v-ed885547] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: auto;
  width: 10px;
  height: 10px;
}
@media (max-width: 1280px) {
.toolbar-item--doc-mode .button-label[data-v-ed885547] {
    display: none;
}
.toolbar-item--doc-mode .toolbar-icon[data-v-ed885547] {
    margin-right: 5px;
}
.toolbar-item--linked-styles[data-v-ed885547] {
    width: auto !important;
}
.toolbar-item--linked-styles .button-label[data-v-ed885547] {
    display: none;
}
}

.toolbar-separator[data-v-d027f7fc] {
  height: var(--sd-ui-toolbar-height, 32px);
  border-radius: var(--sd-ui-radius, 6px);
  text-overflow: ellipsis;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--sd-ui-border, #dbdbdb);
  transition: all 0.2s ease-out;
  user-select: none;
  overflow: hidden;
}
.toolbar-separator .separator-inner[data-v-d027f7fc] {
  width: 1.5px;
  height: 20px;
}

.overflow-menu[data-v-35b48dff] {
  position: relative;
}
.overflow-menu_items[data-v-35b48dff] {
    position: absolute;
    width: 200px;
    top: calc(100% + 3px);
    right: 0;
    padding: 4px 8px;
    background-color: var(--sd-ui-dropdown-bg, #fff);
    border-radius: var(--sd-ui-radius, 6px);
    z-index: 100;
    box-shadow: var(--sd-ui-dropdown-shadow, 0 8px 24px rgba(0, 0, 0, 0.16));
    box-sizing: border-box;
}
.superdoc-toolbar-overflow[data-v-35b48dff] {
  min-width: auto !important;
  max-width: 200px;
  flex-wrap: wrap;
}
@media (max-width: 300px) {
.overflow-menu_items[data-v-35b48dff] {
    right: auto;
    left: 0;
    transform: translateX(-50%);
}
}

.toolbar-dropdown[data-v-8eeadaa0] {
  display: inline-flex;
}
.toolbar-dropdown-trigger[data-v-8eeadaa0] {
  display: inline-flex;
}
.toolbar-dropdown-menu[data-v-8eeadaa0] {
  min-width: 80px;
  padding: 4px;
  border-radius: var(--sd-ui-radius, 6px);
  background: var(--sd-ui-dropdown-bg, #fff);
  border: 1px solid var(--sd-ui-dropdown-border, #e4e6eb);
  box-shadow: var(--sd-ui-dropdown-shadow, 0 8px 24px rgba(0, 0, 0, 0.16));
  box-sizing: border-box;
}
.toolbar-dropdown-menu.toolbar-dropdown-menu--render-only[data-v-8eeadaa0] {
  padding: 0;
}
.toolbar-dropdown-option[data-v-8eeadaa0] {
  min-height: 34px;
  display: flex;
  align-items: center;
  padding: 0 10px;
  border-radius: var(--sd-ui-dropdown-option-radius, 3px);
  cursor: pointer;
  font-size: var(--sd-ui-font-size-400, 14px);
  color: var(--sd-ui-dropdown-text, #47484a);
  transition: background-color 0.2s ease-out;
  box-sizing: border-box;
}
.toolbar-dropdown-option__icon[data-v-8eeadaa0] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  min-width: 14px;
  height: 14px;
  margin-right: 6px;
}
.toolbar-dropdown-option__icon[data-v-8eeadaa0] .dropdown-select-icon {
  display: flex;
  width: 12px;
  height: 12px;
}
.toolbar-dropdown-option[data-v-8eeadaa0]:hover {
  background: var(--sd-ui-dropdown-hover-bg, #d8dee5);
  color: var(--sd-ui-dropdown-hover-text, #47484a);
}
.toolbar-dropdown-option.selected[data-v-8eeadaa0] {
  background: var(--sd-ui-dropdown-active-bg, #d8dee5);
  color: var(--sd-ui-dropdown-selected-text, #47484a);
}
.toolbar-dropdown-menu.high-contrast .toolbar-dropdown-option[data-v-8eeadaa0]:not(.render):hover {
  background: #000;
  color: #fff;
}
.toolbar-dropdown-menu.high-contrast .toolbar-dropdown-option:not(.render).selected[data-v-8eeadaa0] {
  background: #000;
  color: #fff;
}
.toolbar-dropdown-option.disabled[data-v-8eeadaa0] {
  opacity: 0.5;
  cursor: not-allowed;
}
.toolbar-dropdown-option.render[data-v-8eeadaa0] {
  padding: 0;
  cursor: default;
  background: transparent;
  color: inherit;
}
.toolbar-dropdown-option.render[data-v-8eeadaa0]:hover,
.toolbar-dropdown-option.render.selected[data-v-8eeadaa0] {
  background: transparent;
  color: inherit;
}
.fade-in-scale-up-transition-enter-active[data-v-8eeadaa0],
.fade-in-scale-up-transition-leave-active[data-v-8eeadaa0] {
  transform-origin: top left;
}
.fade-in-scale-up-transition-enter-active[data-v-8eeadaa0] {
  transition:
    opacity 0.2s cubic-bezier(0, 0, 0.2, 1),
    transform 0.2s cubic-bezier(0, 0, 0.2, 1);
}
.fade-in-scale-up-transition-leave-active[data-v-8eeadaa0] {
  transition:
    opacity 0.2s cubic-bezier(0.4, 0, 1, 1),
    transform 0.2s cubic-bezier(0.4, 0, 1, 1);
}
.fade-in-scale-up-transition-enter-from[data-v-8eeadaa0],
.fade-in-scale-up-transition-leave-to[data-v-8eeadaa0] {
  opacity: 0;
  transform: scale(0.9);
}
.fade-in-scale-up-transition-leave-from[data-v-8eeadaa0],
.fade-in-scale-up-transition-enter-to[data-v-8eeadaa0] {
  opacity: 1;
  transform: scale(1);
}

.sd-tooltip-trigger[data-v-d8dd2f5a] {
  display: inline-flex;
}
.sd-tooltip-content[data-v-d8dd2f5a] {
  background-color: var(--sd-ui-tooltip-bg, #262626);
  color: var(--sd-ui-tooltip-text, #fff);
  font-size: var(--sd-ui-font-size-400, 14px);
  line-height: 1.3;
  border-radius: var(--sd-ui-tooltip-radius, 6px);
  padding: 8px 14px;
  box-shadow: var(--sd-ui-tooltip-shadow, 0 3px 12px rgba(0, 0, 0, 0.28));
  pointer-events: auto;
  white-space: nowrap;
}
.sd-tooltip-arrow[data-v-d8dd2f5a] {
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 10px;
  height: 10px;
  background-color: var(--sd-ui-tooltip-bg, #262626);
  transform: translateX(-50%) rotate(45deg);
}
.fade-in-scale-up-transition-enter-active[data-v-d8dd2f5a],
.fade-in-scale-up-transition-leave-active[data-v-d8dd2f5a] {
  transform-origin: bottom center;
}
.fade-in-scale-up-transition-enter-active[data-v-d8dd2f5a] {
  transition:
    opacity 0.2s cubic-bezier(0, 0, 0.2, 1),
    transform 0.2s cubic-bezier(0, 0, 0.2, 1);
}
.fade-in-scale-up-transition-leave-active[data-v-d8dd2f5a] {
  transition:
    opacity 0.2s cubic-bezier(0.4, 0, 1, 1),
    transform 0.2s cubic-bezier(0.4, 0, 1, 1);
}
.fade-in-scale-up-transition-enter-from[data-v-d8dd2f5a],
.fade-in-scale-up-transition-leave-to[data-v-d8dd2f5a] {
  opacity: 0;
  transform: scale(0.9);
}
.fade-in-scale-up-transition-leave-from[data-v-d8dd2f5a],
.fade-in-scale-up-transition-enter-to[data-v-d8dd2f5a] {
  opacity: 1;
  transform: scale(1);
}

.button-group[data-v-064b7f76] {
  display: flex;
}

.superdoc-toolbar[data-v-7ffd7232] {
  display: flex;
  width: 100%;
  justify-content: space-between;
  background: var(--sd-ui-toolbar-bg, var(--sd-ui-bg, #ffffff));
  padding: var(--sd-ui-toolbar-padding-y, 4px) var(--sd-ui-toolbar-padding-x, 16px);
  box-sizing: border-box;
  font-family: var(--sd-ui-font-family, Arial, Helvetica, sans-serif);
  position: relative;
  z-index: var(--sd-ui-toolbar-z-index, 10);
}
@media (max-width: 1280px) {
.superdoc-toolbar-group-side[data-v-7ffd7232] {
    min-width: auto !important;
}
}
@media (max-width: 768px) {
.superdoc-toolbar[data-v-7ffd7232] {
    padding: 4px 10px;
    justify-content: inherit;
}
}

.context-menu {
  position: fixed;
  z-index: 50;
  width: 180px;
  color: var(--sd-ui-menu-text, #47484a);
  background: var(--sd-ui-menu-bg, #ffffff);
  border-radius: var(--sd-ui-menu-radius, 0);
  overflow: hidden;
  box-shadow: var(--sd-ui-menu-shadow, 0 0 0 1px rgba(0, 0, 0, 0.05), 0px 10px 20px rgba(0, 0, 0, 0.1));
  margin-top: 0.5rem;
  font-size: var(--sd-ui-menu-font-size, 12px);
}

/* Hide the input but keep it functional */
.context-menu-hidden-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  height: 0;
  width: 0;
  padding: 0;
  margin: 0;
  border: none;
}
.context-menu-items {
  max-height: 300px;
  overflow-y: auto;
}
.context-menu-search {
  padding: 0.5rem;
  border-bottom: 1px solid var(--sd-ui-menu-border, #eee);
}
.context-menu-search input {
  width: 100%;
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--sd-ui-menu-input-border, #ddd);
  outline: none;
}
.context-menu-search input:focus {
  border-color: var(--sd-ui-menu-input-focus-border, #0096fd);
}

/* Remove unused group styles */
.context-menu-group-label {
  display: none;
}
.context-menu-item {
  padding: 0.25rem 0.5rem;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.15s ease;
  display: flex;
  align-items: center;
}
.context-menu-item:hover {
  background: var(--sd-ui-menu-item-hover-bg, #f5f5f5);
}
.context-menu-item.is-selected {
  background: var(--sd-ui-menu-item-active-bg, #edf6ff);
  color: var(--sd-ui-menu-item-active-text, #0096fd);
  fill: var(--sd-ui-menu-item-active-text, #0096fd);
}
.context-menu-item-icon {
  display: flex;
  align-items: center;
  margin-right: 10px;
}
.context-menu .context-menu-item-icon svg {
  height: 12px;
  width: 12px;
}
.context-menu-custom-item {
  display: flex;
  align-items: center;
  width: 100%;
}
.context-menu-default-content {
  display: flex;
  align-items: center;
  width: 100%;
}
.popover {
  background: var(--sd-ui-menu-bg, #ffffff);
  border-radius: var(--sd-ui-menu-radius, 0);
  box-shadow: var(--sd-ui-menu-shadow, 0 0 0 1px rgba(0, 0, 0, 0.05), 0px 10px 20px rgba(0, 0, 0, 0.1));
  z-index: 100;
}
.context-menu-divider {
  height: 1px;
  background: var(--sd-ui-menu-border, #eee);
  margin: 4px 0;
}
.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}
/**
 * Wrapper provides the scaled layout width so the container sizes correctly.
 * Width is set via inline style (wrapperStyle computed).
 */
.ruler-wrapper[data-v-0c05f0ba] {
  /* width set via inline style */
  /* height set via inline style */
  /* overflow set via inline style */
}

/**
 * Inner ruler uses scaled width with zoom-spaced tick positions.
 * Width is set via inline style (rulerStyle computed).
 */
.ruler[data-v-0c05f0ba] {
  /* width set via inline style */
  /* height set via inline style */
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  position: relative;
  color: #666;
}
.vertical-indicator[data-v-0c05f0ba] {
  position: absolute;
  height: 0px;
  min-width: 1px;
  background-color: #aaa;
  top: 20px;
  z-index: 100;
}
.margin-handle[data-v-0c05f0ba] {
  width: 56px;
  min-width: 5px;
  max-width: 5px;
  background-color: var(--ruler-handle-color);
  height: 20px;
  cursor: grab;
  position: absolute;
  margin-left: -2px;
  border-radius: 4px 4px 0 0;
  transition: background-color 250ms ease;
  z-index: 10;
}
.margin-handle[data-v-0c05f0ba]:hover {
  background-color: var(--ruler-handle-active-color);
}
.ruler-tick[data-v-0c05f0ba] {
  pointer-events: none;
  user-select: none;
}
.numbering[data-v-0c05f0ba] {
  position: absolute;
  top: -16px;
  left: -2px;
  font-size: var(--sd-ui-font-size-50, 10px);
  pointer-events: none;
  user-select: none;
}
.numbering--edge-start[data-v-0c05f0ba] {
  left: 0;
}

/* @remarks - popover adds a slight shadow, this can be removed if needed */
.generic-popover[data-v-9df8c02c] {
  background-color: var(--sd-popover-bg, white);
  position: absolute;
  z-index: var(--sd-popover-z-index, 1000);
  border-radius: var(--sd-popover-radius, 6px);
  box-shadow: var(--sd-popover-shadow, 0 0 0 1px rgba(0, 0, 0, 0.05), 0px 10px 20px rgba(0, 0, 0, 0.1));
  min-width: var(--sd-popover-min-width, 120px);
  min-height: var(--sd-popover-min-height, 40px);
}

.placeholder-editor[data-v-48c88161] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  border-radius: 8px;
  background-color: #fff;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding: 1in;
}
.placeholder-title[data-v-48c88161] {
  display: flex;
  justify-content: center;
}
.placeholder-block[data-v-48c88161] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.placeholder-line[data-v-48c88161] {
  width: 100%;
  height: 16px;
  border-radius: 2px;
  background-color: #ebebeb;
}
.placeholder-line--30[data-v-48c88161] {
  width: 30%;
}
.placeholder-line--60[data-v-48c88161] {
  width: 60%;
}
.placeholder-line--70[data-v-48c88161] {
  width: 70%;
}

.superdoc-table-resize-overlay[data-v-2fb431b5] {
  position: absolute;
  pointer-events: none;
  user-select: none;
}
.resize-handle[data-v-2fb431b5] {
  position: absolute;
  cursor: col-resize;
  user-select: none;
  z-index: 15;
}
.resize-handle[data-v-2fb431b5]::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: 2px;
  height: 100%;
  background-color: rgba(74, 144, 226, 0.3);
  transform: translateX(-1px);
  transition:
    background-color 0.2s ease,
    width 0.2s ease;
}
.resize-handle[data-v-2fb431b5]:hover::before {
  background-color: #4a90e2;
  width: 3px;
  transform: translateX(-1.5px);
}
.resize-handle--active[data-v-2fb431b5]::before {
  background-color: #4a90e2;
  width: 2px;
  transform: translateX(-1px);
}
.resize-handle--row[data-v-2fb431b5] {
  cursor: row-resize;
}
.resize-handle--row[data-v-2fb431b5]::before {
  left: 0;
  top: 50%;
  width: inherit;
  height: 2px;
  transform: translateY(-1px);
}
.resize-handle--row[data-v-2fb431b5]:hover::before {
  height: 3px;
  width: inherit;
  transform: translateY(-1.5px);
}
.resize-handle--row.resize-handle--active[data-v-2fb431b5]::before {
  height: 2px;
  width: inherit;
  transform: translateY(-1px);
}
.resize-guideline[data-v-2fb431b5] {
  position: absolute;
  background-color: #4a90e2;
  pointer-events: none;
  box-shadow: 0 0 4px rgba(74, 144, 226, 0.5);
}

.superdoc-image-resize-overlay[data-v-02bc918b] {
  position: absolute;
  pointer-events: none;
  user-select: none;
  overflow: visible;
}
.resize-handle[data-v-02bc918b] {
  position: absolute;
  width: var(--v061b368e);
  height: var(--v061b368e);
  background-color: #ffffff;
  border: 2px solid #4a90e2;
  border-radius: 50%;
  user-select: none;
  z-index: var(--v15061955);
  pointer-events: auto;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}
.resize-handle[data-v-02bc918b]:hover {
  transform: scale(1.2);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
  background-color: #4a90e2;
  border-color: #ffffff;
}
.resize-handle--active[data-v-02bc918b] {
  transform: scale(1.2);
  background-color: #4a90e2;
  border-color: #ffffff;
}
.resize-guideline[data-v-02bc918b] {
  position: absolute;
  background-color: rgba(74, 144, 226, 0.1);
  pointer-events: none;
  box-shadow: 0 0 4px rgba(74, 144, 226, 0.5);
}

.editor-element[data-v-628c4342] {
  position: relative;
}
.super-editor-container[data-v-628c4342] {
  width: auto;
  height: auto;
  /* min-width is controlled via inline style (containerStyle) to scale with zoom */
  min-height: 11in;
  position: relative;
  display: flex;
  flex-direction: column;
}

/* Web layout mode (OOXML ST_View 'web'): content reflows to fit container */
.super-editor-container.web-layout[data-v-628c4342] {
  min-height: unset;
  min-width: unset;
  width: 100%;
}
.super-editor-container.web-layout .super-editor[data-v-628c4342] {
  width: 100%;
}
.super-editor-container.web-layout .editor-element[data-v-628c4342] {
  width: 100%;
}

/* Web layout: ensure editor fills screen width and content reflows (WCAG AA) */
.super-editor-container.web-layout[data-v-628c4342] .ProseMirror {
  width: 100%;
  max-width: 100%;
  overflow-wrap: break-word;
}
.super-editor-container.web-layout[data-v-628c4342] .ProseMirror p,
.super-editor-container.web-layout[data-v-628c4342] .ProseMirror div,
.super-editor-container.web-layout[data-v-628c4342] .ProseMirror li {
  max-width: 100%;
  overflow-wrap: break-word;
}
.ruler-host[data-v-628c4342] {
  display: flex;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  position: relative;
  z-index: var(--sd-ui-ruler-z-index, 10);
  background: var(--sd-ui-ruler-bg, var(--sd-ui-bg, #ffffff));
}
.ruler[data-v-628c4342] {
  margin-bottom: 2px;
}
.super-editor[data-v-628c4342] {
  color: initial;
  overflow: hidden;
  position: relative;
}

.super-editor[data-v-69c44db7] {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border: 1px solid #999;
  outline: none;
  transition: border 0.2s ease;
  background-color: white;
}
.super-input[data-v-69c44db7] {
  font-size: 13px;
  font-family: inherit;
}
.editor-element[data-v-69c44db7] {
  height: 100%;
  width: 100%;
  border: none;
  outline: none;
}
.super-input-active[data-v-69c44db7] {
  border: 1px solid #007bff;
  outline: none;
}
:root {
  /* SuperDoc CSS Variables */

  /* Primitive: colors */
  --sd-color-blue-50: #ebf0ff;
  --sd-color-blue-100: #d6e1ff;
  --sd-color-blue-200: #adc3ff;
  --sd-color-blue-300: #85a5ff;
  --sd-color-blue-400: #5c87ff;
  --sd-color-blue-500: #1355ff;
  --sd-color-blue-600: #0f44cc;
  --sd-color-blue-700: #0b3399;
  --sd-color-blue-800: #082266;
  --sd-color-blue-900: #041133;

  --sd-color-gray-50: #fafafa;
  --sd-color-gray-100: #f5f5f5;
  --sd-color-gray-200: #f2f2f2;
  --sd-color-gray-300: #e0e0e0;
  --sd-color-gray-400: #dbdbdb;
  --sd-color-gray-500: #ababab;
  --sd-color-gray-600: #888888;
  --sd-color-gray-700: #666666;
  --sd-color-gray-800: #424242;
  --sd-color-gray-900: #212121;

  --sd-color-red-500: #ed4337;
  --sd-color-green-500: #00853d;
  --sd-color-rose-500: #cb0e47;

  /* Primitive: font-size */
  --sd-font-size-50: 10px;
  --sd-font-size-100: 11px;
  --sd-font-size-200: 12px;
  --sd-font-size-300: 13px;
  --sd-font-size-400: 14px;
  --sd-font-size-500: 15px;
  --sd-font-size-600: 16px;

  /* Primitive: radius — old names (--sd-radius-sm/md/lg) honored via fallback */
  --sd-radius-50: var(--sd-radius-sm, 4px);
  --sd-radius-100: 6px;
  --sd-radius-200: var(--sd-radius-md, 8px);
  --sd-radius-300: var(--sd-radius-lg, 12px);

  /*
   * UI: general (semantic tier)
   *
   * These are the "5-variable theme" — change these and the entire UI updates.
   * Component-specific variables below cascade from these defaults.
   *
   * Old-name fallbacks (var(--sd-old-name, ...)) honor pre-existing customer
   * overrides. They resolve at computed-value time, so setting the old name on
   * any element still works. These fallbacks will be removed in the next major.
   */
  --sd-ui-font-family: var(--sd-font-family, Arial, Helvetica, sans-serif);
  --sd-ui-text: var(--sd-text-primary, #47484a);
  --sd-ui-text-muted: var(--sd-text-muted, var(--sd-color-gray-700));
  --sd-ui-text-disabled: var(--sd-text-placeholder, var(--sd-color-gray-500));
  --sd-ui-bg: var(--sd-surface-card, #ffffff);
  --sd-ui-hover-bg: var(--sd-surface-hover, var(--sd-color-gray-400));
  --sd-ui-active-bg: #c8d0d8;
  --sd-ui-disabled-bg: var(--sd-surface-muted, var(--sd-color-gray-100));
  --sd-ui-border: var(--sd-border-default, var(--sd-color-gray-400));
  --sd-ui-action: var(--sd-action-primary, var(--sd-color-blue-500));
  --sd-ui-action-hover: var(--sd-action-primary-hover, var(--sd-color-blue-600));
  --sd-ui-action-text: #ffffff;
  --sd-ui-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  --sd-ui-radius: var(--sd-radius-100);

  --sd-ui-font-size-50: var(--sd-font-size-50);
  --sd-ui-font-size-100: var(--sd-font-size-100);
  --sd-ui-font-size-200: var(--sd-font-size-200);
  --sd-ui-font-size-300: var(--sd-font-size-300);
  --sd-ui-font-size-400: var(--sd-font-size-400);
  --sd-ui-font-size-500: var(--sd-font-size-500);
  --sd-ui-font-size-600: var(--sd-font-size-600);

  /* UI: dropdown — cascades from semantic tier */
  --sd-ui-dropdown-border: var(--sd-ui-border);
  --sd-ui-dropdown-bg: var(--sd-ui-bg);
  --sd-ui-dropdown-option-radius: 3px;
  --sd-ui-dropdown-text: var(--sd-ui-text);
  --sd-ui-dropdown-hover-text: var(--sd-ui-dropdown-text);
  --sd-ui-dropdown-selected-text: var(--sd-ui-dropdown-text);
  --sd-ui-dropdown-hover-bg: var(--sd-ui-hover-bg);
  --sd-ui-dropdown-active-bg: var(--sd-ui-active-bg);
  --sd-ui-dropdown-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);

  /* UI: tooltip — intentionally inverted palette (dark bg, light text) */
  --sd-ui-tooltip-bg: #262626;
  --sd-ui-tooltip-text: #ffffff;
  --sd-ui-tooltip-radius: var(--sd-radius-100);
  --sd-ui-tooltip-shadow: 0 3px 12px rgba(0, 0, 0, 0.28);

  /* UI: toolbar — cascades from semantic tier */
  --sd-ui-toolbar-height: 32px;
  --sd-ui-toolbar-padding-x: 16px;
  --sd-ui-toolbar-padding-y: 4px;
  --sd-ui-toolbar-item-gap: 2px;
  --sd-ui-toolbar-item-padding: 5px;
  --sd-ui-toolbar-bg: var(--sd-ui-bg);
  --sd-ui-toolbar-button-text: var(--sd-ui-text);
  --sd-ui-toolbar-button-hover-bg: var(--sd-ui-hover-bg);
  --sd-ui-toolbar-button-active-bg: var(--sd-ui-active-bg);
  --sd-ui-toolbar-z-index: 10;
  --sd-ui-ruler-bg: var(--sd-ui-bg);
  --sd-ui-ruler-z-index: 10;

  /* UI: context menu — cascades from semantic tier */
  --sd-ui-menu-bg: var(--sd-ui-bg);
  --sd-ui-menu-text: var(--sd-ui-text);
  --sd-ui-menu-font-size: var(--sd-font-size-200);
  --sd-ui-menu-radius: 0;
  --sd-ui-menu-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05), 0px 10px 20px rgba(0, 0, 0, 0.1);
  --sd-ui-menu-border: var(--sd-ui-border);
  --sd-ui-menu-input-border: var(--sd-ui-border);
  --sd-ui-menu-input-focus-border: var(--sd-ui-action);
  --sd-ui-menu-item-hover-bg: var(--sd-ui-hover-bg);
  --sd-ui-menu-item-active-bg: var(--sd-ui-active-bg);
  --sd-ui-menu-item-active-text: var(--sd-ui-action);

  /* UI: tools */
  --sd-ui-tools-gap: 6px;
  --sd-ui-tools-item-size: 50px;
  --sd-ui-tools-item-radius: var(--sd-radius-300);
  --sd-ui-tools-item-bg: rgba(219, 219, 219, 0.6);
  --sd-ui-tools-icon-size: 20px;

  /* UI: comments — cascades from semantic tier, old names honored via fallback */
  --sd-ui-comments-card-bg: var(--sd-comment-bg, #f3f6fd);
  --sd-ui-comments-card-hover-bg: var(--sd-comment-bg-hover, var(--sd-ui-comments-card-bg));
  --sd-ui-comments-card-active-bg: var(--sd-comment-bg-active, var(--sd-ui-bg));
  --sd-ui-comments-card-resolved-bg: var(--sd-comment-bg-resolved, var(--sd-ui-disabled-bg));
  --sd-ui-comments-card-active-border: var(--sd-comment-border-active, var(--sd-ui-border));
  --sd-ui-comments-card-radius: var(--sd-comment-radius, var(--sd-radius-300));
  --sd-ui-comments-card-padding: var(--sd-comment-padding, 16px);
  --sd-ui-comments-card-shadow: var(--sd-comment-shadow, 0px 4px 12px 0px rgba(50, 50, 50, 0.15));
  --sd-ui-comments-separator: var(--sd-comment-separator, var(--sd-ui-border));
  --sd-ui-comments-transition: var(--sd-comment-transition, all 200ms ease);
  --sd-ui-comments-author-text: var(--sd-comment-author-color, var(--sd-ui-text));
  --sd-ui-comments-author-size: var(--sd-comment-author-size, var(--sd-font-size-400));
  --sd-ui-comments-author-weight: var(--sd-comment-author-weight, 600);
  --sd-ui-comments-tag-text: var(--sd-ui-text-muted);
  --sd-ui-comments-tag-bg: var(--sd-color-gray-200);
  --sd-ui-comments-timestamp-text: var(--sd-comment-time-color, var(--sd-ui-text-muted));
  --sd-ui-comments-timestamp-size: var(--sd-comment-time-size, var(--sd-font-size-200));
  --sd-ui-comments-body-text: var(--sd-ui-text);
  --sd-ui-comments-body-size: var(--sd-comment-body-size, var(--sd-font-size-400));
  --sd-ui-comments-resolved-text: var(--sd-color-green-500);
  --sd-ui-comments-insert-text: var(--sd-comment-tc-insert-color, var(--sd-color-green-500));
  --sd-ui-comments-delete-text: var(--sd-comment-tc-delete-color, var(--sd-color-rose-500));
  --sd-ui-comments-dropdown-border: var(--sd-ui-border);
  --sd-ui-comments-dropdown-bg: var(--sd-ui-bg);
  --sd-ui-comments-dropdown-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  --sd-ui-comments-option-size: var(--sd-font-size-400);
  --sd-ui-comments-option-text: var(--sd-ui-comments-body-text);
  --sd-ui-comments-option-hover-text: var(--sd-ui-comments-option-text);
  --sd-ui-comments-option-selected-text: var(--sd-ui-comments-option-text);
  --sd-ui-comments-option-hover-bg: var(--sd-ui-hover-bg);
  --sd-ui-comments-input-bg: var(--sd-ui-bg);
  --sd-ui-comments-input-border: var(--sd-ui-border);
  --sd-ui-comments-internal-bg: var(--sd-comment-internal-bg, #cde6e6);
  --sd-ui-comments-external-bg: var(--sd-comment-external-bg, #f5cfda);

  /* Styles: comments — old names honored via fallback */
  --sd-comments-highlight-external-base: #b1124b;
  --sd-comments-highlight-external: var(--sd-comment-highlight-external, #b1124b40);
  --sd-comments-highlight-external-active: #b1124b66;
  --sd-comments-highlight-external-faded: #b1124b20;
  --sd-comments-highlight-internal-base: #078383;
  --sd-comments-highlight-internal: var(--sd-comment-highlight-internal, #07838340);
  --sd-comments-highlight-internal-active: #07838366;
  --sd-comments-highlight-internal-faded: #07838320;
  --sd-comments-highlight-external-nested-border: #b1124b99;
  --sd-comments-highlight-internal-nested-border: #07838399;
  --sd-comments-highlight-hover: #1354ff55;
  --sd-comments-selection-background: #1354ff55;

  /* Styles: tracked changes — old names honored via fallback */
  --sd-tracked-changes-insert-background: var(--sd-track-insert-bg, #399c7222);
  --sd-tracked-changes-insert-border: var(--sd-track-insert-border, #00853d);
  --sd-tracked-changes-delete-background: var(--sd-track-delete-bg, #cb0e4722);
  --sd-tracked-changes-delete-border: var(--sd-track-delete-border, #cb0e47);
  --sd-tracked-changes-format-border: var(--sd-track-format-border, gold);
  --sd-tracked-changes-insert-background-focused: #399c7244;
  --sd-tracked-changes-delete-background-focused: #cb0e4744;
  --sd-tracked-changes-format-background-focused: #ffd70033;

  /* Styles: content controls (SDT) — blue accent, intentionally standalone */
  --sd-content-controls-block-border: #629be7;
  --sd-content-controls-block-hover-bg: var(--sd-ui-hover-bg);
  --sd-content-controls-inline-border: #629be7;
  --sd-content-controls-inline-hover-bg: var(--sd-ui-hover-bg);
  --sd-content-controls-label-border: #629be7;
  --sd-content-controls-label-bg: #629be7ee;
  --sd-content-controls-label-text: #ffffff;
  --sd-content-controls-lock-hover-bg: rgba(98, 155, 231, 0.08);

  /* UI: surface system — dialog and floating overlays */
  --sd-ui-surface-bg: var(--sd-popover-bg, var(--sd-ui-bg));
  --sd-ui-surface-border: var(--sd-ui-border);
  --sd-ui-surface-shadow: var(--sd-popover-shadow, 0 8px 32px rgba(0, 0, 0, 0.18));
  --sd-ui-surface-radius: var(--sd-popover-radius, var(--sd-radius-200));
  --sd-ui-surface-z-index: 100;
  --sd-ui-surface-title-padding: 16px 20px 0;
  --sd-ui-surface-content-padding: 16px 20px 20px;
  --sd-ui-dialog-backdrop: rgba(0, 0, 0, 0.4);
  --sd-ui-dialog-max-width: 480px;
  --sd-ui-floating-width: 360px;
  --sd-ui-floating-max-width: 480px;
  --sd-ui-floating-max-height: min(60vh, calc(100% - 32px));
  --sd-ui-floating-edge-offset: 16px;

  /* UI: find/replace surface */
  --sd-ui-find-replace-gap: 8px;
  --sd-ui-find-replace-input-height: 30px;
  --sd-ui-find-replace-input-padding: 4px 8px;
  --sd-ui-find-replace-input-font-size: var(--sd-ui-font-size-400, 14px);
  --sd-ui-find-replace-input-bg: var(--sd-ui-surface-bg, #fff);
  --sd-ui-find-replace-input-border: var(--sd-ui-border);
  --sd-ui-find-replace-input-focus-border: var(--sd-ui-action);
  --sd-ui-find-replace-input-radius: 4px;
  --sd-ui-find-replace-count-color: var(--sd-ui-text-muted, #6b7280);
  --sd-ui-find-replace-count-font-size: var(--sd-ui-font-size-300, 13px);
  --sd-ui-find-replace-btn-size: 28px;
  --sd-ui-find-replace-btn-radius: 4px;
  --sd-ui-find-replace-btn-hover-bg: var(--sd-ui-hover-bg, rgba(0, 0, 0, 0.06));
  --sd-ui-find-replace-btn-color: var(--sd-ui-text);
  --sd-ui-find-replace-btn-disabled-opacity: 0.4;
  --sd-ui-find-replace-toggle-active-bg: var(--sd-color-blue-100, #dbeafe);
  --sd-ui-find-replace-toggle-active-color: var(--sd-color-blue-700, #1d4ed8);
  --sd-ui-find-replace-action-btn-bg: var(--sd-ui-action);
  --sd-ui-find-replace-action-btn-color: #fff;
  --sd-ui-find-replace-action-btn-hover-bg: var(--sd-ui-action-hover, var(--sd-ui-action));
  --sd-ui-find-replace-nav-gap: 2px;
  --sd-ui-find-replace-options-gap: 4px;
  --sd-ui-find-replace-btn-icon-font-size: 12px;
  --sd-ui-find-replace-btn-toggle-font-size: 12px;
  --sd-ui-find-replace-action-btn-padding: 4px 10px;
  --sd-ui-find-replace-btn-toggle-padding: 4px 8px;
  --sd-ui-find-replace-count-inset: 8px;

  /* Search highlights (editor + presentation mode) */
  --sd-ui-search-match-bg: rgba(255, 213, 0, 0.4);
  --sd-ui-search-match-active-bg: rgba(255, 150, 0, 0.6);

  /* UI: password prompt */
  --sd-ui-password-prompt-gap: 12px;
  --sd-ui-password-prompt-heading-size: var(--sd-ui-font-size-500, 15px);
  --sd-ui-password-prompt-heading-weight: 600;
  --sd-ui-password-prompt-heading-color: var(--sd-ui-text);
  --sd-ui-password-prompt-description-size: var(--sd-ui-font-size-400, 14px);
  --sd-ui-password-prompt-description-color: var(--sd-ui-text);
  --sd-ui-password-prompt-input-padding: 8px 10px;
  --sd-ui-password-prompt-input-size: var(--sd-ui-font-size-400, 14px);
  --sd-ui-password-prompt-input-color: var(--sd-ui-text);
  --sd-ui-password-prompt-input-bg: var(--sd-ui-surface-bg, #fff);
  --sd-ui-password-prompt-input-border: var(--sd-ui-border);
  --sd-ui-password-prompt-input-focus-border: var(--sd-ui-action);
  --sd-ui-password-prompt-input-radius: 4px;
  --sd-ui-password-prompt-input-disabled-opacity: 0.6;
  --sd-ui-password-prompt-error-size: var(--sd-ui-font-size-300, 13px);
  --sd-ui-password-prompt-error-color: var(--sd-color-red-500);
  --sd-ui-password-prompt-actions-gap: 8px;
  --sd-ui-password-prompt-btn-padding: 6px 16px;
  --sd-ui-password-prompt-btn-size: var(--sd-ui-font-size-400, 14px);
  --sd-ui-password-prompt-btn-radius: 4px;
  --sd-ui-password-prompt-btn-disabled-opacity: 0.5;
  --sd-ui-password-prompt-cancel-bg: transparent;
  --sd-ui-password-prompt-cancel-border: var(--sd-ui-border);
  --sd-ui-password-prompt-cancel-color: var(--sd-ui-text);
  --sd-ui-password-prompt-cancel-hover-bg: var(--sd-color-gray-100, #f5f5f5);
  --sd-ui-password-prompt-submit-bg: var(--sd-ui-action);
  --sd-ui-password-prompt-submit-border: var(--sd-ui-action);
  --sd-ui-password-prompt-submit-color: var(--sd-ui-action-text, #fff);
  --sd-ui-password-prompt-submit-hover-bg: var(--sd-ui-action-hover);
  /* Styles: layout — cascades from semantic tier */
  --sd-layout-page-bg: var(--sd-ui-bg);
  --sd-layout-page-shadow: 0 4px 20px rgba(15, 23, 42, 0.08);

  /* Proofing: underline colors and metrics */
  --sd-proofing-spelling-color: #e53e3e;
  --sd-proofing-grammar-color: #3182ce;
  --sd-proofing-style-color: #805ad5;
  --sd-proofing-underline-thickness: 1.5px;
  --sd-proofing-underline-offset: 2px;
}
/*
 * Backward-compatible aliases for renamed CSS variables.
 *
 * Most old names are honored via var() fallbacks in variables.css — if a
 * customer sets --sd-comment-bg, the new --sd-ui-comments-card-bg picks it up
 * automatically. This file only covers aliases where the old name maps to a
 * different concept (no direct 1:1 fallback possible).
 *
 * These aliases will be removed in the next major version.
 */
:root {
  /* Old semantic names that map to primitives (no new-token equivalent) */
  --sd-surface-canvas: var(--sd-color-gray-50);
  --sd-surface-selected: var(--sd-color-blue-100);
  --sd-text-secondary: var(--sd-color-gray-700);

  /* Old names that map to a different concept in the new system */
  --sd-surface-page: var(--sd-ui-bg);
  --sd-border-subtle: var(--sd-ui-comments-separator);
  --sd-border-focus: var(--sd-ui-action);
}
/* Preset theme: Docs-like */
.sd-theme-docs {
  /* UI base */
  --sd-ui-font-family: Arial, sans-serif;
  --sd-ui-text: #202124;
  --sd-ui-bg: #f1f3f4;
  --sd-ui-border: #dadce0;
  --sd-ui-action: #1a73e8;
  --sd-ui-action-hover: #185abc;

  /* UI: toolbar/dropdown/context */
  --sd-ui-toolbar-bg: #f0f4f9;
  --sd-ui-toolbar-button-text: #3c4043;
  --sd-ui-toolbar-button-hover-bg: #e8eaed;
  --sd-ui-toolbar-button-active-bg: #d2e3fc;
  --sd-ui-toolbar-item-padding: 4px;

  --sd-ui-dropdown-border: #dadce0;
  --sd-ui-dropdown-bg: #ffffff;
  --sd-ui-dropdown-hover-bg: #e8eaed;
  --sd-ui-dropdown-active-bg: #d2e3fc;
  --sd-ui-dropdown-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);

  --sd-ui-menu-bg: #ffffff;
  --sd-ui-menu-border: #dadce0;
  --sd-ui-menu-shadow: 0 1px 2px rgba(60, 64, 67, 0.25), 0 3px 8px rgba(60, 64, 67, 0.18);
  --sd-ui-menu-item-hover-bg: #e8eaed;
  --sd-ui-menu-item-active-bg: #d2e3fc;

  /* Comments */
  --sd-ui-comments-card-bg: #d7dde8;
  --sd-ui-comments-card-active-bg: #ffffff;
  --sd-ui-comments-card-active-border: #c7cdd6;
  --sd-ui-comments-card-shadow: 0 1px 2px rgba(60, 64, 67, 0.2), 0 2px 6px rgba(60, 64, 67, 0.18);
  --sd-ui-comments-separator: #c7cdd6;
  --sd-ui-comments-timestamp-text: #5f6368;
  --sd-ui-comments-option-hover-bg: #e8eaed;
  --sd-ui-comments-input-border: #80868b;

  --sd-comments-highlight-external-base: #f9ab00;
  --sd-comments-highlight-external: #f9ab0033;
  --sd-comments-highlight-external-active: #f9ab0044;
  --sd-comments-highlight-external-faded: #f9ab001f;
  --sd-comments-highlight-external-nested-border: #f9ab0088;
  --sd-comments-highlight-internal-base: #188038;
  --sd-comments-highlight-internal: #18803833;
  --sd-comments-highlight-internal-active: #18803844;
  --sd-comments-highlight-internal-faded: #1880381f;
  --sd-comments-highlight-internal-nested-border: #18803888;

  /* Layout */
  --sd-layout-page-bg: #ffffff;
  --sd-layout-page-shadow: 0 1px 2px rgba(60, 64, 67, 0.2), 0 2px 6px rgba(60, 64, 67, 0.12);

  /* Surfaces */
  --sd-ui-surface-bg: #ffffff;
  --sd-ui-surface-shadow: 0 1px 3px rgba(60, 64, 67, 0.3), 0 4px 8px 3px rgba(60, 64, 67, 0.15);
  --sd-ui-dialog-backdrop: rgba(0, 0, 0, 0.32);
}
/* Preset theme: Microsoft Word-like */
.sd-theme-word {
  /* UI base */
  --sd-ui-font-family: 'Segoe UI', Arial, sans-serif;
  --sd-ui-text: #323130;
  --sd-ui-bg: #f3f2f1;
  --sd-ui-border: #d2d0ce;
  --sd-ui-action: #185abd;
  --sd-ui-action-hover: #134a9e;

  /* UI: toolbar/dropdown/context */
  --sd-ui-toolbar-bg: #f3f2f1;
  --sd-ui-toolbar-button-text: #201f1e;
  --sd-ui-toolbar-button-hover-bg: #e8e6e4;
  --sd-ui-toolbar-button-active-bg: #d2d0ce;
  --sd-ui-toolbar-item-padding: 4px;

  --sd-ui-dropdown-border: #d2d0ce;
  --sd-ui-dropdown-bg: #ffffff;
  --sd-ui-dropdown-hover-bg: #e8e6e4;
  --sd-ui-dropdown-active-bg: #d2d0ce;
  --sd-ui-dropdown-shadow: 0 1px 2px rgba(0, 0, 0, 0.14), 0 4px 8px rgba(0, 0, 0, 0.08);

  --sd-ui-menu-bg: #ffffff;
  --sd-ui-menu-border: #d2d0ce;
  --sd-ui-menu-shadow: 0 2px 6px rgba(0, 0, 0, 0.14);
  --sd-ui-menu-item-hover-bg: #f3f2f1;
  --sd-ui-menu-item-active-bg: #edebe9;

  /* Comments */
  --sd-ui-comments-card-bg: #ebebeb;
  --sd-ui-comments-card-active-bg: #ffffff;
  --sd-ui-comments-card-active-border: #d2d0ce;
  --sd-ui-comments-card-shadow: 0 2px 4px rgba(0, 0, 0, 0.16), 0 10px 20px rgba(0, 0, 0, 0.1);
  --sd-ui-comments-separator: #c8c6c4;
  --sd-ui-comments-timestamp-text: #605e5c;
  --sd-ui-comments-option-hover-bg: #f3f2f1;
  --sd-ui-comments-input-border: #8a8886;

  --sd-comments-highlight-external-base: #8a8886;
  --sd-comments-highlight-external: #8a888633;
  --sd-comments-highlight-external-active: #8a888655;
  --sd-comments-highlight-external-faded: #8a88861f;
  --sd-comments-highlight-external-nested-border: #8a888688;
  --sd-comments-highlight-internal-base: #0f6cbd;
  --sd-comments-highlight-internal: #0f6cbd33;
  --sd-comments-highlight-internal-active: #0f6cbd55;
  --sd-comments-highlight-internal-faded: #0f6cbd1f;
  --sd-comments-highlight-internal-nested-border: #0f6cbd88;

  /* Layout */
  --sd-layout-page-bg: #ffffff;
  --sd-layout-page-shadow: 0 1px 2px rgba(0, 0, 0, 0.16), 0 6px 12px rgba(0, 0, 0, 0.08);

  /* Surfaces */
  --sd-ui-surface-bg: #ffffff;
  --sd-ui-surface-shadow: 0 2px 6px rgba(0, 0, 0, 0.14), 0 8px 24px rgba(0, 0, 0, 0.1);
  --sd-ui-dialog-backdrop: rgba(0, 0, 0, 0.4);
}
/* Preset theme: Blueprint */
.sd-theme-blueprint {
  /* UI base */
  --sd-ui-font-family: 'IBM Plex Sans', 'Segoe UI', Arial, sans-serif;
  --sd-ui-text: #0f172a;
  --sd-ui-text-muted: #334155;
  --sd-ui-text-disabled: #64748b;
  --sd-ui-bg: #e8eff5;
  --sd-ui-hover-bg: #d3e2ef;
  --sd-ui-active-bg: #bfd4e6;
  --sd-ui-border: #9fb4c7;
  --sd-ui-action: #0f766e;
  --sd-ui-action-hover: #115e59;
  --sd-ui-shadow: 0 2px 8px rgba(15, 23, 42, 0.18);

  /* Toolbar / dropdown / context */
  --sd-ui-toolbar-bg: #dbe6f0;
  --sd-ui-toolbar-button-text: #0f172a;
  --sd-ui-toolbar-button-hover-bg: #c9dced;
  --sd-ui-toolbar-button-active-bg: #b7cee3;
  --sd-ui-dropdown-bg: #ffffff;
  --sd-ui-dropdown-border: #8ea5b8;
  --sd-ui-dropdown-hover-bg: #e7f0f8;
  --sd-ui-dropdown-active-bg: #cde2f3;
  --sd-ui-dropdown-shadow: 0 8px 24px rgba(15, 23, 42, 0.22);
  --sd-ui-menu-bg: #ffffff;
  --sd-ui-menu-border: #8ea5b8;
  --sd-ui-menu-item-hover-bg: #e2eef8;
  --sd-ui-menu-item-active-bg: #cde2f3;
  --sd-ui-menu-shadow: 0 8px 24px rgba(15, 23, 42, 0.22);

  /* Layout */
  --sd-layout-page-bg: #ffffff;
  --sd-layout-page-shadow: 0 8px 24px rgba(15, 23, 42, 0.16);

  /* Comments */
  --sd-ui-comments-card-bg: #dbe7f2;
  --sd-ui-comments-card-active-bg: #ffffff;
  --sd-ui-comments-card-active-border: #8ea5b8;
  --sd-ui-comments-card-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
  --sd-ui-comments-input-border: #7f96aa;
  --sd-ui-comments-separator: #9fb4c7;
  --sd-ui-comments-timestamp-text: #475569;

  /* Highlights */
  --sd-comments-highlight-external-base: #b45309;
  --sd-comments-highlight-external: #b4530933;
  --sd-comments-highlight-external-active: #b4530944;
  --sd-comments-highlight-external-faded: #b453091f;
  --sd-comments-highlight-external-nested-border: #b4530988;
  --sd-comments-highlight-internal-base: #0f766e;
  --sd-comments-highlight-internal: #0f766e33;
  --sd-comments-highlight-internal-active: #0f766e44;
  --sd-comments-highlight-internal-faded: #0f766e1f;
  --sd-comments-highlight-internal-nested-border: #0f766e88;

  /* Surfaces */
  --sd-ui-surface-bg: #ffffff;
  --sd-ui-surface-shadow: 0 4px 16px rgba(15, 23, 42, 0.2);
  --sd-ui-dialog-backdrop: rgba(15, 23, 42, 0.45);
}
.superdoc *,
.superdoc ::before,
.superdoc ::after,
.superdoc-toolbar *,
.superdoc-toolbar ::before,
.superdoc-toolbar ::after {
  box-sizing: border-box;
}
.superdoc .disabled,
.super-editor .disabled,
.superdoc-toolbar .disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.super-editor h1,
.super-editor h2,
.super-editor h3,
.super-editor h4,
.super-editor h5,
.super-editor h6 {
  font-size: unset;
  font-weight: unset;
  margin: 0;
  padding: 0;
}
.super-editor p {
  padding: 0;
  margin: 0;
}
.sd-button {
  border-radius: 8px;
  background-color: white;
  padding: 8px 12px;
  outline: none;
  border: 1px solid #dbdbdb;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: all 250ms ease;
}
.sd-button:hover {
  background-color: #dbdbdb;
}
.sd-button.primary {
  background-color: #1355ff;
  border: none;
  color: white;
}
.sd-button.primary:hover {
  background-color: #0d3fcc;
}
.sd-comment-box {
  width: 300px;
}
.superdoc-field {
  border-radius: 8px;
  padding: 12px;
  outline: none;
  border: 1px solid #dbdbdb;
  width: 100%;
}
.superdoc-field:focus,
.superdoc-field:active {
  border: 1px solid #1355ff;
}
.superdoc-field .ProseMirror {
  border: 0;
  outline: 0;
  margin: 0;
}
.sd-editor-placeholder::before {
  content: attr(data-placeholder);
  color: #aaa;
  pointer-events: none;
  display: block;
  height: 0;
}
.superdoc svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}
/* Override global svg styles above for AI Writer error state */
.superdoc .ai-textarea-icon.error > svg {
  fill: #ed4337;
}
/* Web Layout Mode (OOXML ST_View 'web') - content reflows to container width */
.superdoc--web-layout,
.superdoc--web-layout .superdoc__layers,
.superdoc--web-layout .superdoc__document,
.superdoc--web-layout .superdoc__sub-document {
  width: 100%;
}
/* --- Upgrade transition (upgradeToCollaboration) --- */
.sd-upgrade-overlay {
  position: absolute;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  overflow: hidden;
}
.sd-upgrade-overlay [contenteditable] {
  pointer-events: none;
  user-select: none;
}
/* visibility: hidden (not display: none) so layout engine can still measure */
.sd-upgrade-hidden {
  visibility: hidden !important;
}
/* --- Search highlights (transient, used in both editor and presentation mode) --- */
.superdoc .ProseMirror-search-match {
  background: var(--sd-ui-search-match-bg);
}
.superdoc .ProseMirror-active-search-match {
  background: var(--sd-ui-search-match-active-bg);
}

.comments-dropdown[data-v-06634377] {
  display: inline-flex;
}
.comments-dropdown__trigger[data-v-06634377] {
  display: inline-flex;
}
.comments-dropdown__menu[data-v-06634377] {
  min-width: 120px;
  border-radius: 8px;
  border: 1px solid var(--sd-ui-comments-dropdown-border, #dbdbdb);
  background: var(--sd-ui-comments-dropdown-bg, #fff);
  box-shadow: var(--sd-ui-comments-dropdown-shadow, 0 8px 24px rgba(0, 0, 0, 0.12));
  padding: 4px;
  box-sizing: border-box;
}
.comments-dropdown__option[data-v-06634377] {
  font-size: var(--sd-ui-comments-option-size, 14px);
  color: var(--sd-ui-comments-option-text, #212121);
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 4px 8px;
  border-radius: 6px;
  cursor: pointer;
  box-sizing: border-box;
}
.comments-dropdown__option[data-v-06634377]:hover {
  background-color: var(--sd-ui-comments-option-hover-bg, #f3f3f5);
  color: var(--sd-ui-comments-option-hover-text, #212121);
}
.comments-dropdown__option.disabled[data-v-06634377] {
  opacity: 0.5;
  pointer-events: none;
}
.comments-dropdown__option-icon[data-v-06634377] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}
.comments-dropdown__option-icon[data-v-06634377] svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}

.comment-option[data-v-db3cadc7] {
  display: flex;
  align-items: center;
  font-size: 11px;
}
.comment-option i[data-v-db3cadc7] {
  font-size: 11px;
}
.option-state[data-v-db3cadc7] {
  margin: 0 7px;
}
.active-icon[data-v-db3cadc7] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}
.active-icon[data-v-db3cadc7] svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}
.dropdown-caret[data-v-db3cadc7] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 10px;
  height: 16px;
}
.dropdown-caret[data-v-db3cadc7] svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}
.internal-dropdown[data-v-db3cadc7] {
  transition: all 250ms ease;
  display: inline-flex;
  cursor: pointer;
  border-radius: 50px;
  padding: 2px 8px;
}
.internal-dropdown[data-v-db3cadc7]:hover {
  background-color: #f3f3f5;
}

.user-container[data-v-c95b2073] {
  border-radius: 50%;
  border: var(--sd-comment-avatar-border, 2px solid #333);
  font-size: var(--sd-comment-avatar-font-size, 11px);
  font-weight: 600;
  color: var(--sd-comment-avatar-color, #fff);
  background-color: var(--sd-comment-avatar-bg, #00000098);

  width: var(--sd-comment-avatar-size, 28px);
  height: var(--sd-comment-avatar-size, 28px);
  flex-shrink: 0;

  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
img[data-v-c95b2073] {
  border-radius: 50%;
  width: 100%;
  background-color: transparent;
}

.comment-header[data-v-8971c655] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.comment-header-left[data-v-8971c655] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.user-info[data-v-8971c655] {
  display: flex;
  flex-direction: column;
}
.user-name[data-v-8971c655] {
  font-size: var(--sd-ui-comments-author-size, 14px);
  font-weight: var(--sd-ui-comments-author-weight, 600);
  color: var(--sd-ui-comments-author-text, #212121);
  line-height: 1.2em;
}
.imported-tag[data-v-8971c655] {
  display: inline-block;
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--sd-ui-comments-tag-text, #888888);
  background: var(--sd-ui-comments-tag-bg, #f2f2f2);
  border-radius: 3px;
  padding: 1px 4px;
  margin-left: 6px;
  vertical-align: middle;
  line-height: 1.4;
}
.user-timestamp[data-v-8971c655] {
  line-height: 1.2em;
  font-size: var(--sd-ui-comments-timestamp-size, 12px);
  color: var(--sd-ui-comments-timestamp-text, #888888);
}
.overflow-menu[data-v-8971c655] {
  flex-shrink: 1;
  display: flex;
  gap: 6px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 150ms ease;
}
.overflow-menu.is-visible[data-v-8971c655] {
  opacity: 1;
  pointer-events: auto;
}
.overflow-menu__icon[data-v-8971c655] {
  display: flex;
  box-sizing: content-box;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  padding: 3px;
  border-radius: 50%;
  cursor: pointer;
  transition: all 250ms ease;
}
.overflow-menu__icon[data-v-8971c655]:hover {
  background-color: var(--sd-ui-comments-separator, #dbdbdb);
}
.overflow-menu__icon[data-v-8971c655] svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}
.overflow-icon[data-v-8971c655] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 10px;
  height: 16px;
}

.comment-entry[data-v-93ebf2d2] {
  box-sizing: border-box;
  border-radius: 8px;
  width: 100%;
  max-width: 100%;
  transition: all 250ms ease;
}

.comments-dialog[data-v-64a4a99b] {
  display: flex;
  flex-direction: column;
  padding: var(--sd-ui-comments-card-padding, 16px);
  border-radius: var(--sd-ui-comments-card-radius, 12px);
  background-color: var(--sd-ui-comments-card-bg, #f3f6fd);
  border: 1px solid transparent;
  font-family: var(--sd-ui-font-family, Arial, Helvetica, sans-serif);
  font-size: var(--sd-ui-comments-body-size, 14px);
  line-height: 1.5;
  transition: var(--sd-ui-comments-transition, all 200ms ease);
  box-shadow: none;
  z-index: 5;
  max-width: 300px;
  min-width: 200px;
  width: 100%;
  overflow-wrap: break-word;
  word-break: break-word;
}
.comments-dialog[data-v-64a4a99b]:not(.is-active) {
  cursor: pointer;
}
.comments-dialog[data-v-64a4a99b]:not(.is-active):not(.is-resolved):hover {
  background-color: var(--sd-ui-comments-card-hover-bg, #f3f6fd);
}
.comments-dialog[data-v-64a4a99b]:not(.is-resolved):hover .overflow-menu {
  opacity: 1;
  pointer-events: auto;
}
.comments-dialog.is-active[data-v-64a4a99b] {
  background-color: var(--sd-ui-comments-card-active-bg, #ffffff);
  border-color: var(--sd-ui-comments-card-active-border, #e0e0e0);
  box-shadow: var(--sd-ui-comments-card-shadow, 0px 4px 12px 0px rgba(50, 50, 50, 0.15));
  z-index: 10;
}
.comments-dialog.is-resolved[data-v-64a4a99b] {
  background-color: var(--sd-ui-comments-card-resolved-bg, #f0f0f0);
}
.comment-separator[data-v-64a4a99b] {
  background-color: var(--sd-ui-comments-separator, #e0e0e0);
  height: 1px;
  width: 100%;
  margin: 10px 0;
}
.comment[data-v-64a4a99b] {
  font-size: var(--sd-ui-comments-body-size, 14px);
  line-height: 1.5;
  color: var(--sd-ui-comments-body-text, #212121);
  margin: 4px 0 0 0;
}
.comment[data-v-64a4a99b] p {
  margin: 0;
}
.tracked-change[data-v-64a4a99b] {
  font-size: var(--sd-ui-comments-body-size, 14px);
  line-height: 1.5;
  color: var(--sd-ui-comments-body-text, #212121);
  margin: 4px 0 0 0;
}
.change-type[data-v-64a4a99b] {
  color: var(--sd-ui-comments-body-text, #212121);
}
.tracked-change-text[data-v-64a4a99b] {
  color: var(--sd-ui-comments-body-text, #212121);
}
.tracked-change-text.is-deleted[data-v-64a4a99b] {
  color: var(--sd-ui-comments-delete-text, #cb0e47);
}
.tracked-change-text.is-inserted[data-v-64a4a99b] {
  color: var(--sd-ui-comments-insert-text, #00853d);
  font-weight: 500;
}

/* ── Resolved badge ── */
.resolved-badge[data-v-64a4a99b] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 500;
  color: var(--sd-ui-comments-resolved-text, #00853d);
  margin-bottom: 4px;
}
.resolved-badge__icon[data-v-64a4a99b] {
  display: inline-flex;
  width: 12px;
  height: 12px;
}
.resolved-badge__icon[data-v-64a4a99b] svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}

/* ── Text truncation ── */
.comment.is-truncated[data-v-64a4a99b],
.tracked-change.is-truncated[data-v-64a4a99b] {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.show-more-toggle[data-v-64a4a99b] {
  font-size: 12px;
  color: var(--sd-ui-action, #1355ff);
  cursor: pointer;
  font-weight: 500;
  margin-top: 4px;
  user-select: none;
}
.show-more-toggle[data-v-64a4a99b]:hover {
  text-decoration: underline;
}

/* ── Thread collapse ── */
.collapsed-replies[data-v-64a4a99b] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 0;
  font-size: 12px;
  color: var(--sd-ui-action, #1355ff);
  font-weight: 500;
  cursor: pointer;
  user-select: none;
}
.collapsed-replies[data-v-64a4a99b]:hover {
  text-decoration: underline;
}
.collapsed-avatars[data-v-64a4a99b] {
  display: flex;
}
.collapsed-avatars .mini-avatar[data-v-64a4a99b] {
  --sd-comment-avatar-size: 20px;
  --sd-comment-avatar-font-size: 8px;
  margin-left: -4px;
  border: 2px solid var(--sd-ui-comments-card-active-bg, #ffffff);
}
.collapsed-avatars .mini-avatar[data-v-64a4a99b]:first-child {
  margin-left: 0;
}

/* ── New comment input ── */
.new-comment-input-wrapper[data-v-64a4a99b] {
  border: 1.5px solid var(--sd-ui-comments-input-border, #dbdbdb);
  border-radius: 12px;
  padding: 8.5px 10.5px;
  background: var(--sd-ui-comments-input-bg, #ffffff);
  margin-top: 4px;
  max-height: 150px;
  overflow-y: auto;
}
.new-comment-input-wrapper[data-v-64a4a99b] .comment-entry {
  border-radius: 0;
}
.new-comment-input-wrapper[data-v-64a4a99b] .input-section {
  margin: 0;
}
.new-comment-input-wrapper[data-v-64a4a99b] .superdoc-field {
  font-size: 14px;
  border: none;
  padding: 0;
  border-radius: 0;
}
.new-comment-input-wrapper[data-v-64a4a99b] .superdoc-field:focus,
.new-comment-input-wrapper[data-v-64a4a99b] .superdoc-field:active {
  border: none;
}
.new-comment-input-wrapper[data-v-64a4a99b] .sd-editor-placeholder::before {
  content: 'Comment or add others with @';
}

/* ── Reply pill & expanded input ── */
.reply-pill[data-v-64a4a99b] {
  padding: 8.5px 10.5px;
  border: 1.5px solid transparent;
  border-radius: 9999px;
  font-size: 14px;
  color: var(--sd-color-gray-500, #ababab);
  background: var(--sd-color-gray-100, #f5f5f5);
  margin-top: 10px;
  cursor: text;
  transition: background 150ms ease;
}
.reply-pill[data-v-64a4a99b]:hover {
  background: var(--sd-color-gray-200, #f2f2f2);
}
.reply-expanded[data-v-64a4a99b] {
  margin-top: 10px;
}
.reply-input-wrapper[data-v-64a4a99b] {
  border: 1.5px solid var(--sd-ui-comments-input-border, #dbdbdb);
  border-radius: 12px;
  padding: 8.5px 10.5px;
  background: var(--sd-ui-comments-input-bg, #ffffff);
  max-height: 150px;
  overflow-y: auto;
}
.reply-input-wrapper[data-v-64a4a99b] .comment-entry {
  border-radius: 0;
}
.reply-input-wrapper[data-v-64a4a99b] .input-section {
  margin: 0;
}
.reply-input-wrapper[data-v-64a4a99b] .superdoc-field {
  font-size: 14px;
  border: none;
  padding: 0;
  border-radius: 0;
}
.reply-input-wrapper[data-v-64a4a99b] .superdoc-field:focus,
.reply-input-wrapper[data-v-64a4a99b] .superdoc-field:active {
  border: none;
}
.reply-input-wrapper[data-v-64a4a99b] .sd-editor-placeholder::before {
  content: 'Reply or add others with @';
}
.reply-actions[data-v-64a4a99b] {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
  margin-top: 8px;
}
.reply-btn-cancel[data-v-64a4a99b] {
  background: none;
  border: none;
  font-size: 13px;
  font-weight: 500;
  color: var(--sd-ui-text-muted, #666666);
  cursor: pointer;
  padding: 0;
  font-family: inherit;
  transition: color 150ms;
}
.reply-btn-cancel[data-v-64a4a99b]:hover {
  color: var(--sd-ui-text, #212121);
}
.reply-btn-primary[data-v-64a4a99b] {
  background: var(--sd-ui-action, #1355ff);
  border: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--sd-ui-action-text, #ffffff);
  cursor: pointer;
  padding: 6px 16px;
  border-radius: 9999px;
  font-family: inherit;
  transition: background 150ms;
}
.reply-btn-primary[data-v-64a4a99b]:hover {
  background: var(--sd-ui-action-hover, #0f44cc);
}
.reply-btn-primary.is-disabled[data-v-64a4a99b] {
  background: var(--sd-color-gray-400, #dbdbdb);
  color: var(--sd-color-gray-600, #888888);
  cursor: default;
  pointer-events: none;
}
.existing-internal-input[data-v-64a4a99b] {
  margin-bottom: 10px;
}
.internal-dropdown[data-v-64a4a99b] {
  display: inline-block;
}

.comments-list[data-v-12d3e3dd] {
  display: flex;
  flex-direction: column;
  height: 100%;
  max-width: 400px;
}
.comment-item[data-v-12d3e3dd] {
  margin-bottom: 10px;
}
.comment-title[data-v-12d3e3dd] {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 5px;
  color: #333;
}
.sd-comment-anchor {
  position: absolute;
  cursor: pointer;
  z-index: 3;
  border-radius: 33px;
  transition: background-color 250ms ease;
}

.sd-highlight {
  cursor: pointer;
  border-radius: 8px;
  background-color: #ddaf0955;
  mix-blend-mode: multiply;
  transition: background-color 250ms ease;
}

.sd-initial-highlight {
  background-color: #1355ff7f;
}

.sd-highlight:hover,
.sd-highlight:hover .sd-highlight-active {
  background-color: #ddaf0999;
}

.sd-highlight-active {
  background-color: #1355ff7f;
}
:root {
  /* CSS variables */
}
/* Isolate editor content from external/client CSS by reverting all properties.
 * IMPORTANT: We exclude SVG elements and their children from this rule because
 * 'all: revert' breaks SVG rendering (paths don't display, transforms don't work).
 * SVG has its own rendering model and doesn't need CSS isolation the same way text content does.
 */
.sd-editor-scoped,
.sd-editor-scoped :where(*:not(svg):not(svg *):not(.annotation):not([data-drag-handle])),
.sd-editor-scoped :where(*:not(svg):not(svg *)::before),
.sd-editor-scoped :where(*:not(svg):not(svg *)::after) {
  all: revert;
  box-sizing: border-box;
}
/* Ensure SVG display properties for proper rendering */
.sd-editor-scoped svg {
  display: inline-block;
  overflow: visible;
}
.sd-editor-scoped {
  display: block;
}
/*
 * Visual Regression Testing:
 * This CSS isolation is critical for protecting editor content from external stylesheets.
 * Visual regression tests should be added to the visual testing repository to ensure:
 * 1. Text content is not affected by aggressive global CSS
 * 2. SVG shapes (shape groups, vector shapes) render correctly
 * 3. No visual regressions when client applications have conflicting styles
 *
 * Reference: PR #1219 - "improve style scoping in the editor to prevent external styles affecting content"
 * Reference: PR #1236 - "shape groups" (this fix ensures both isolation AND SVG rendering work)
 */
.sd-input-active {
  border: 1px solid #1355ff !important;
}
.sd-super-editor-html .ProseMirror {
  border: 1px solid #d9d9d9;
  outline: none;
  border-radius: 8px;
  height: 100%;
  width: 100%;
  outline: none;
}
.super-editor a {
  color: initial;
  text-decoration: auto;
}
.presentation-editor__selection-caret {
  animation: superdoc-caret-blink 1.2s steps(2, start) infinite;
}
.presentation-editor__permission-overlay {
  pointer-events: none;
}
.presentation-editor__permission-highlight {
  border-radius: 2px;
  background-color: rgba(199, 200, 217, 0.55);
}
@keyframes superdoc-caret-blink {
  0%,
  45% {
    opacity: 1;
  }
  55%,
  100% {
    opacity: 0;
  }
}
/**
 * Basic ProseMirror styles.
 * https://github.com/ProseMirror/prosemirror-view/blob/master/style/prosemirror.css
 *
 * All selectors are scoped under .sd-editor-scoped to prevent bleeding into host apps.
 * See: SD-1850
 */
.sd-editor-scoped .ProseMirror {
  position: relative;
  /* We use "all: revert" to isolate the editor content from external stylesheets. This makes the "contenteditable" not editable on Safari devices. So we need to keep this. */
  -webkit-user-modify: read-write-plaintext-only;
}
.sd-editor-scoped .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; /* the above doesn't seem to work in Edge */
  z-index: 0; /* Needed to place images behind text with lower z-index */
}
.sd-editor-scoped .ProseMirror pre {
  white-space: pre-wrap;
}
.sd-editor-scoped .ProseMirror ol,
.sd-editor-scoped .ProseMirror ul {
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
}
.sd-editor-scoped .ProseMirror ol,
.sd-editor-scoped .ProseMirror ul {
  padding-inline-start: 0;
  padding-left: 0;
  list-style: none;
}
.sd-editor-scoped .ProseMirror li::marker {
  content: none;
}
.sd-editor-scoped .ProseMirror li::marker {
  padding: 0;
  margin: 0;
}
.sd-editor-scoped .ProseMirror li > p {
  margin: 0;
  padding: 0;
  display: inline-block;
}
/**
 * Hide marker for indented lists.
 * If a list-item contains a list but doesn't contain a "p" tag with text.
 */
.sd-editor-scoped .ProseMirror ol {
  margin: 0;
}
.sd-editor-scoped .ProseMirror li:has(> ul:first-child, > ol:first-child):not(:has(> p)) {
  list-style-type: none;
}
.sd-editor-scoped .ProseMirror li:has(> ul:first-child, > ol:first-child):not(:has(> p))::marker {
  content: '';
}
.sd-editor-scoped .ProseMirror-hideselection *::selection {
  background: transparent;
}
.sd-editor-scoped .ProseMirror-hideselection *::-moz-selection {
  background: transparent;
}
.sd-editor-scoped .ProseMirror-hideselection * {
  caret-color: transparent;
}
/* Allow selection visibility in viewing mode when allowSelectionInViewMode is enabled */
.presentation-editor--allow-selection .ProseMirror-hideselection *::selection {
  background: Highlight;
  background: -moz-Highlight;
}
.presentation-editor--allow-selection .ProseMirror-hideselection *::-moz-selection {
  background: Highlight;
}
.presentation-editor--allow-selection .ProseMirror-hideselection * {
  caret-color: auto;
}
/* See https://github.com/ProseMirror/prosemirror/issues/1421#issuecomment-1759320191 */
.sd-editor-scoped .ProseMirror [draggable][contenteditable='false'] {
  user-select: text;
}
.sd-editor-scoped .ProseMirror-selectednode {
  outline: 2px solid #8cf;
}
/* Make sure li selections wrap around markers */
.sd-editor-scoped li.ProseMirror-selectednode {
  outline: none;
}
.sd-editor-scoped li.ProseMirror-selectednode:after {
  content: '';
  position: absolute;
  left: -32px;
  right: -2px;
  top: -2px;
  bottom: -2px;
  border: 2px solid #8cf;
  pointer-events: none;
}
.sd-editor-scoped .ProseMirror img {
  height: auto;
  max-width: 100%;
}
/* Protect against generic img rules */
.sd-editor-scoped img.ProseMirror-separator {
  display: inline !important;
  border: none !important;
  margin: 0 !important;
}
.sd-editor-scoped .ProseMirror .sd-editor-tab {
  display: inline-block;
  vertical-align: text-bottom;
}
.sd-editor-scoped .ProseMirror u .sd-editor-tab {
  white-space: pre;
  border-bottom: 1px solid #000;
  margin-bottom: 1.5px;
}
/*
Tables
https://github.com/ProseMirror/prosemirror-tables/blob/master/style/tables.css
https://github.com/ProseMirror/prosemirror-tables/blob/master/demo/index.html
*/
.sd-editor-scoped .ProseMirror.resize-cursor {
  cursor: ew-resize;
  cursor: col-resize;
}
.sd-editor-scoped .ProseMirror .tableWrapper {
  --table-border-width: 1px;
  --offset: 2px;

  overflow-x: auto;
  scrollbar-width: thin;
  overflow: visible; /* Allow table to extend beyond margins */

  /*
  The border width does not need to be multiplied by two,
  for tables it works differently. */
  width: calc(100% + (var(--table-border-width) + var(--offset)));
}
.sd-editor-scoped .ProseMirror table {
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: auto;
  margin: 0;
  /* width: 100%; */
}
/* Header/footer editors: constrain table to the editor's available width.
   Raw DOCX grid <col> widths may exceed the section's content area.
   table-layout:auto treats col widths as preferred (not hard) constraints,
   so the browser can redistribute columns to fit within width:100%.
   !important overrides inline styles set by TableView.updateTable()
   which resets styles via table.style.cssText. */
.sd-editor-scoped .ProseMirror.sd-header-footer table {
  table-layout: auto !important;
  width: 100% !important;
  max-width: 100% !important;
}
.sd-editor-scoped .ProseMirror tr {
  position: relative;
}
.sd-editor-scoped .ProseMirror td,
.sd-editor-scoped .ProseMirror th {
  min-width: 0;
  position: relative;
  vertical-align: top;
  box-sizing: border-box;
  overflow-wrap: anywhere;
}
.sd-editor-scoped .ProseMirror td[data-placeholder],
.sd-editor-scoped .ProseMirror th[data-placeholder] {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.sd-editor-scoped .ProseMirror td[data-placeholder] > *,
.sd-editor-scoped .ProseMirror th[data-placeholder] > * {
  display: none !important;
}
.sd-editor-scoped .ProseMirror th {
  font-weight: bold;
  text-align: left;
}
.sd-editor-scoped .ProseMirror table .column-resize-handle {
  position: absolute;
  right: -2px;
  top: 0;
  bottom: -2px; /* 0 */
  width: 4px;
  z-index: 20;
  background-color: #adf;
  pointer-events: none;
}
.sd-editor-scoped .ProseMirror table .selectedCell:after {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(200, 200, 255, 0.4);
  pointer-events: none;
  z-index: 2;
}
/* Tables - end */
/* Track changes */
.sd-editor-scoped .ProseMirror .track-insert-dec,
.sd-editor-scoped .ProseMirror .track-delete-dec,
.sd-editor-scoped .ProseMirror .track-format-dec {
  pointer-events: none;
}
.sd-editor-scoped .ProseMirror .track-insert-dec.hidden,
.sd-editor-scoped .ProseMirror .track-delete-dec.hidden {
  display: none;
}
.sd-editor-scoped .ProseMirror .track-insert-dec.highlighted {
  border-top: 1px dashed var(--sd-tracked-changes-insert-border, #00853d);
  border-bottom: 1px dashed var(--sd-tracked-changes-insert-border, #00853d);
  background-color: var(--sd-tracked-changes-insert-background, #399c7222);
}
.sd-editor-scoped .ProseMirror .track-delete-dec.highlighted {
  border-top: 1px dashed var(--sd-tracked-changes-delete-border, #cb0e47);
  border-bottom: 1px dashed var(--sd-tracked-changes-delete-border, #cb0e47);
  background-color: var(--sd-tracked-changes-delete-background, #cb0e4722);
  text-decoration: line-through !important;
  text-decoration-thickness: 2px !important;
}
.sd-editor-scoped .ProseMirror .track-format-dec.highlighted {
  border-bottom: 2px solid var(--sd-tracked-changes-format-border, gold);
}
.sd-editor-scoped .ProseMirror .track-delete-widget {
  visibility: hidden;
}
/* Track changes - end */
/* Collaboration cursors */
.sd-editor-scoped .ProseMirror > .ProseMirror-yjs-cursor:first-child {
  margin-top: 16px;
}
.sd-editor-scoped .ProseMirror-yjs-cursor {
  position: relative;
  margin-left: -1px;
  margin-right: -1px;
  border-left: 1px solid black;
  border-right: 1px solid black;
  border-color: orange;
  word-break: normal;
  pointer-events: none;
}
.sd-editor-scoped .ProseMirror-yjs-cursor > div {
  position: absolute;
  top: -1.05em;
  left: -1px;
  font-size: 13px;
  background-color: rgb(250, 129, 0);
  font-family: serif;
  font-style: normal;
  font-weight: normal;
  line-height: normal;
  user-select: none;
  color: white;
  padding-left: 2px;
  padding-right: 2px;
  white-space: nowrap;
}
/* Collaboration cursors - end */
/* Presentation Editor Remote Cursors */
.presentation-editor__selection-layer--local,
.presentation-editor__selection-layer--remote {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.presentation-editor__remote-caret {
  position: absolute;
  pointer-events: none;
}
.presentation-editor__remote-label {
  position: absolute;
  font-size: 13px;
  color: white;
  padding: 2px 6px;
  border-radius: 3px;
  white-space: nowrap;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 500;
  line-height: normal;
  pointer-events: none;
  user-select: none;
  /* Drop shadow for better readability over varied backgrounds */
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  /* Ensure labels appear above selections */
  z-index: 1;
}
.presentation-editor__remote-selection {
  position: absolute;
  border-radius: 2px;
  pointer-events: none;
  /* Better color blending with text (multiply mode shows text more clearly through highlights) */
  mix-blend-mode: multiply;
}
/* Presentation Editor Remote Cursors - end */
/* Footnotes */
.sd-editor-scoped .sd-footnote-ref {
  font-size: 0.75em;
  line-height: 1;
  vertical-align: super;
  user-select: none;
}
/* Image placeholder */
.sd-editor-scoped .ProseMirror placeholder {
  display: inline;
  border: 1px solid #ccc;
  color: #ccc;
}
.sd-editor-scoped .ProseMirror placeholder:after {
  content: '☁';
  font-size: 200%;
  line-height: 0.1;
  font-weight: bold;
}
/* Gapcursor */
.sd-editor-scoped .ProseMirror-gapcursor {
  display: none;
  pointer-events: none;
  position: absolute;
  margin: 0;
}
.sd-editor-scoped .ProseMirror-gapcursor:after {
  content: '';
  display: block;
  position: absolute;
  top: -2px;
  width: 20px;
  border-top: 1px solid black;
  animation: superdoc-cursor-blink 1.1s steps(2, start) infinite;
}
@keyframes superdoc-cursor-blink {
  to {
    visibility: hidden;
  }
}
.sd-editor-scoped .ProseMirror-focused .ProseMirror-gapcursor {
  display: block;
}
.sd-editor-scoped .ProseMirror div[data-type='contentBlock'] {
  position: absolute;
  outline: none;
  user-select: none;
  z-index: -1;
}
.sd-editor-scoped .ProseMirror div[data-horizontal-rule='true'] {
  position: relative;
  z-index: auto;
  display: inline-block;
  vertical-align: middle;
  margin-top: auto;
  align-self: flex-end;
}
.sd-editor-scoped .sd-editor-dropcap {
  float: left;
  display: flex;
  align-items: baseline;
  margin-top: -5px;
}
.sd-editor-scoped .ProseMirror-search-match {
  background-color: #ffff0054;
}
.sd-editor-scoped .ProseMirror-active-search-match {
  background-color: #ff6a0054;
}
.sd-editor-scoped .ProseMirror span.sd-custom-selection::selection {
  background: transparent;
}
.sd-editor-scoped .sd-custom-selection {
  background-color: #d9d9d9;
  border-radius: 0.1em;
}
.superdoc-toolbar svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
  pointer-events: none;
}
.superdoc-toolbar svg path {
    stroke: currentColor;
  }
.sd-editor-toolbar-dropdown .toolbar-dropdown-option .dropdown-select-icon {
  display: flex;
  width: 12px;
  height: 12px;
}
/* Custom toolbar styling */
/* AI button icon styling with gradient */
.super-editor .toolbar-icon__icon--ai {
  position: relative;
  z-index: 1;
}
.super-editor .toolbar-icon__icon--ai svg {
  fill: transparent;
}
.super-editor .toolbar-icon__icon--ai::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background: linear-gradient(
    270deg,
    rgba(218, 215, 118, 0.5) -20%,
    rgba(191, 100, 100, 1) 30%,
    rgba(77, 82, 217, 1) 60%,
    rgb(255, 219, 102) 150%
  );
  -webkit-mask: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.7-53.3L160 80l-53.3-26.7L80 0 53.3 53.3 0 80l53.3 26.7L80 160zm352 128l-26.7 53.3L352 368l53.3 26.7L432 448l26.7-53.3L512 368l-53.3-26.7L432 288zm70.6-193.8L417.8 9.4C411.5 3.1 403.3 0 395.2 0c-8.2 0-16.4 3.1-22.6 9.4L9.4 372.5c-12.5 12.5-12.5 32.8 0 45.3l84.9 84.9c6.3 6.3 14.4 9.4 22.6 9.4 8.2 0 16.4-3.1 22.6-9.4l363.1-363.2c12.5-12.5 12.5-32.8 0-45.2zM359.5 203.5l-50.9-50.9 86.6-86.6 50.9 50.9-86.6 86.6z'/></svg>")
    center / contain no-repeat;
  mask: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.7-53.3L160 80l-53.3-26.7L80 0 53.3 53.3 0 80l53.3 26.7L80 160zm352 128l-26.7 53.3L352 368l53.3 26.7L432 448l26.7-53.3L512 368l-53.3-26.7L432 288zm70.6-193.8L417.8 9.4C411.5 3.1 403.3 0 395.2 0c-8.2 0-16.4 3.1-22.6 9.4L9.4 372.5c-12.5 12.5-12.5 32.8 0 45.3l84.9 84.9c6.3 6.3 14.4 9.4 22.6 9.4 8.2 0 16.4-3.1 22.6-9.4l363.1-363.2c12.5-12.5 12.5-32.8 0-45.2zM359.5 203.5l-50.9-50.9 86.6-86.6 50.9 50.9-86.6 86.6z'/></svg>")
    center / contain no-repeat;
  filter: brightness(1.2);
  transition: filter 0.2s ease;
}
.super-editor .toolbar-icon__icon--ai:hover::before {
  filter: brightness(1.3);
}
/* AI text appear animation */
@keyframes superdoc-aiTextAppear {
  from {
    opacity: 0;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.super-editor .sd-ai-text-appear {
  display: inline;
  opacity: 0;
  animation: superdoc-aiTextAppear 0.7s ease-out forwards;
  animation-fill-mode: both;
  will-change: opacity, transform;
  /* Ensure each mark is treated as a separate animation context */
  contain: content;
}
.super-editor .sd-ai-loader {
  display: flex;
  justify-content: flex-start;
}
.super-editor .sd-ai-loader > img {
  width: fit-content;
  height: 40px;
}
@keyframes superdoc-ai-pulse {
  0% {
    background-color: rgba(99, 102, 241, 0.1);
  }
  50% {
    background-color: rgba(99, 102, 241, 0.375);
  }
  100% {
    background-color: rgba(99, 102, 241, 0.1);
  }
}
.super-editor .sd-ai-highlight-pulse {
  animation: superdoc-ai-pulse 1.5s ease-in-out infinite;
}
.super-editor .sd-editor-auto-page-number,
.super-editor .sd-editor-auto-total-pages {
  transition: all 250ms ease;
  border-bottom: 1px solid #9a9a9a;
  cursor: not-allowed;
}
.super-editor .sd-editor-auto-page-number:hover,
.super-editor .sd-editor-auto-total-pages:hover {
  border-bottom-color: #4f4f4f;
}
.super-editor .sd-editor-auto-page-number-content {
  pointer-events: none;
}
.super-editor .ProseMirror.view-mode .sd-editor-auto-page-number,
  .super-editor .ProseMirror.view-mode .sd-editor-auto-total-pages {
    border: none;
  }
.sd-editor-popover {
  background-color: #fff;
  border-radius: 8px;
  -webkit-box-shadow: 0px 4px 12px 0px rgba(50, 50, 50, 0.15);
  -moz-box-shadow: 0px 4px 12px 0px rgba(50, 50, 50, 0.15);
  box-shadow: 0px 4px 12px 0px rgba(50, 50, 50, 0.15);
  padding: 0;
  width: auto;
  height: auto;
  font-size: 14px;
  color: #333;
  z-index: 1000;
}
.sd-editor-popover .popover-header {
  font-weight: bold;
  margin-bottom: 8px;
}
.tippy-box[data-theme~='sd-editor-popover'] {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
  border: none !important;
  padding: 0 !important;
}
.tippy-box[data-theme~='sd-editor-popover'] .tippy-arrow {
  color: #fff;
  border: 1px solid #dbdbdb;
}
.tippy-box[data-theme~='sd-editor-popover'] .tippy-content {
  padding: 0;
}
.sd-editor-placeholder::before {
  content: attr(data-placeholder);
  color: #aaa;
  pointer-events: none;
  display: block;
  height: 0;
}
.sd-editor-mention {
  background-color: #1355ff15;
  color: #222;
  font-weight: 400;
  border-radius: 3px;
  padding: 0 5px;
  cursor: default;
  display: inline-block;
  box-sizing: border-box;
}
.sd-editor-comment-highlight {
  transition: background-color 250ms ease;
}
.sd-editor-comment-highlight:hover {
  background-color: var(--sd-comments-highlight-hover, #1354ff55);
}
.sd-editor-comment-highlight.sd-custom-selection {
  background-color: #d6c0c6 !important;
}
/* Resize handles container */
.sd-editor-resize-container.sd-editor-scoped {
  position: absolute;
  pointer-events: none;
  z-index: 11;
}
/* Resize handles */
.sd-editor-scoped .sd-editor-resize-handle {
  position: absolute;
  width: 12px;
  height: 12px;
  background-color: #4dabf7;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
  pointer-events: auto;
  transition: all 0.1s ease;
}
.sd-editor-scoped .sd-editor-resize-handle:hover {
  background-color: #228be6;
  transform: scale(1.1);
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.4);
}
/* Handle positions */
.sd-editor-scoped .sd-editor-resize-handle-nw {
  top: -6px;
  left: -6px;
  cursor: nwse-resize;
}
.sd-editor-scoped .sd-editor-resize-handle-ne {
  top: -6px;
  right: -6px;
  cursor: nesw-resize;
}
.sd-editor-scoped .sd-editor-resize-handle-sw {
  bottom: -6px;
  left: -6px;
  cursor: nesw-resize;
}
.sd-editor-scoped .sd-editor-resize-handle-se {
  bottom: -6px;
  right: -6px;
  cursor: nwse-resize;
}
/* Hide handles when editor loses focus */
.sd-editor-scoped .ProseMirror:not(.ProseMirror-focused) .sd-editor-resize-container {
  display: none;
}
/* Smooth transitions for resizing */
.sd-editor-scoped .sd-editor-resizable-wrapper * {
  transition: none;
}
.sd-editor-scoped .sd-editor-resizable-wrapper *:not([style*='width']) {
  transition: all 0.2s ease;
}
/* Resize feedback indicator */
.sd-editor-scoped .sd-editor-resizable-wrapper::after {
  content: 'Drag corners to resize';
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(77, 171, 247, 0.9);
  color: white;
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 4px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 12;
}
.sd-editor-scoped .sd-editor-resizable-wrapper:hover::after {
  opacity: 1;
}
.super-editor .sd-document-section-block {
  background-color: #fafafa;
  border: 1px solid #ababab;
  border-radius: 4px;
  position: relative;
}
.super-editor .sd-document-section-block-info {
  position: absolute;
  top: -19px;
  left: -1px;
  max-width: 100px;
  min-width: 0;
  height: 18px;
  border: 1px solid #ababab;
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  padding: 0 8px;
  align-items: center;
  font-size: 10px;
  display: none;
  z-index: 100;
  background-color: #fafafa;
}
.super-editor .sd-document-section-block:hover {
  border-radius: 0 4px 4px 4px;
}
.super-editor .sd-document-section-block:hover .sd-document-section-block-info {
  display: flex;
  align-items: center;
}
.super-editor .sd-document-section-block-info span {
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.super-editor .ProseMirror.view-mode .sd-document-section-block {
  background: none;
  border: none;
}
.super-editor .ProseMirror.view-mode .sd-document-section-block-info {
  display: none;
}
.super-editor .sd-structured-content,
.super-editor .sd-structured-content-block {
  padding: 1px;
  box-sizing: border-box;
  border-radius: 4px;
  border: 1px solid transparent;
  position: relative;
}
.super-editor .sd-structured-content:has(img),
.super-editor .sd-structured-content:has(img) .sd-structured-content__content {
  display: inline-block;
}
/* Hover (not selected): light grey background, no handle */
.super-editor .sd-structured-content:not(.ProseMirror-selectednode):hover {
  background-color: var(--sd-content-controls-inline-hover-bg, #f2f2f2);
}
.super-editor .sd-structured-content-block:not(.ProseMirror-selectednode):hover {
  background-color: var(--sd-content-controls-block-hover-bg, #f2f2f2);
}
/* Selected: border + handle visible */
.super-editor .sd-structured-content.ProseMirror-selectednode {
  border-color: var(--sd-content-controls-inline-border, #629be7);
}
.super-editor .sd-structured-content-block.ProseMirror-selectednode {
  border-color: var(--sd-content-controls-block-border, #629be7);
}
.super-editor .sd-structured-content-draggable {
  font-size: 10px;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 2px;
  bottom: 100%;
  width: calc(100% - 4px);
  max-width: 110px;
  min-width: 0;
  height: 18px;
  padding: 0 4px;
  border: 1px solid var(--sd-content-controls-label-border, #629be7);
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  background-color: var(--sd-content-controls-label-bg, #629be7ee);
  color: var(--sd-content-controls-label-text, #ffffff);
  box-sizing: border-box;
  z-index: 10;
  cursor: grab;
  display: none;
}
.super-editor .sd-structured-content-draggable span {
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
/* Handle only visible when selected */
.super-editor .sd-structured-content.ProseMirror-selectednode .sd-structured-content-draggable,
.super-editor .sd-structured-content-block.ProseMirror-selectednode .sd-structured-content-draggable {
  display: inline-flex;
}
.super-editor .ProseMirror.view-mode .sd-structured-content,
.super-editor .ProseMirror.view-mode .sd-structured-content-block {
  padding: 0;
  border: none;
}
.super-editor .ProseMirror.view-mode .sd-structured-content-draggable {
  display: none;
}
.presentation-editor--viewing .sd-structured-content,
.presentation-editor--viewing .sd-structured-content-block {
  padding: 0;
  border: none;
}
.presentation-editor--viewing .sd-structured-content-draggable {
  display: none;
}
.sd-vector-shape {
  display: inline-block;
  vertical-align: bottom;
}
.sd-vector-shape svg {
  width: 100%;
  height: 100%;
  display: block;
}
.sd-shape-group {
  display: inline-block;
  vertical-align: bottom;
  position: relative;
  border: 1px dashed transparent;
  transition: border-color 0.2s ease;
}
.sd-shape-group:hover {
  border-color: rgba(91, 155, 213, 0.3);
}
.sd-shape-group svg {
  display: block;
}
.sd-shape-group[data-selected] {
  border-color: rgba(91, 155, 213, 0.6);
  background-color: rgba(91, 155, 213, 0.05);
}
/* Ensure shapes within the group are properly positioned */
.sd-shape-group svg g {
  transform-origin: top left;
}
/**
 * Proofing underline styles.
 *
 * Layout-invariant: these decorations must not change line height,
 * text metrics, padding, margins, or any property that affects layout.
 */
.sd-proofing-spelling {
  text-decoration-line: spelling-error;
  text-decoration-style: wavy;
  text-decoration-color: var(--sd-proofing-spelling-color, #e53e3e);
  text-decoration-thickness: var(--sd-proofing-underline-thickness, 1.5px);
  text-underline-offset: var(--sd-proofing-underline-offset, 2px);
}
/* Fallback for browsers that don't support spelling-error */
@supports not (text-decoration-line: spelling-error) {
  .sd-proofing-spelling {
    text-decoration-line: underline;
    text-decoration-style: wavy;
    text-decoration-color: var(--sd-proofing-spelling-color, #e53e3e);
    text-decoration-thickness: var(--sd-proofing-underline-thickness, 1.5px);
    text-underline-offset: var(--sd-proofing-underline-offset, 2px);
  }
}
/* Grammar underline (future — stored but not rendered in v1) */
.sd-proofing-grammar {
  text-decoration-line: underline;
  text-decoration-style: wavy;
  text-decoration-color: var(--sd-proofing-grammar-color, #3182ce);
  text-decoration-thickness: var(--sd-proofing-underline-thickness, 1.5px);
  text-underline-offset: var(--sd-proofing-underline-offset, 2px);
}
/* Style issue underline (future) */
.sd-proofing-style {
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: var(--sd-proofing-style-color, #805ad5);
  text-decoration-thickness: var(--sd-proofing-underline-thickness, 1.5px);
  text-underline-offset: var(--sd-proofing-underline-offset, 2px);
}

.comment-doc[data-v-ec1c18ad] {
  position: relative;
}
.comments-layer[data-v-ec1c18ad] {
  position: relative;
}
.sd-comment-anchor[data-v-ec1c18ad] {
  position: absolute;
  cursor: pointer;
  z-index: 3;
  border-radius: 4px;
  transition: background-color 250ms ease;
}
.bypass[data-v-ec1c18ad] {
  display: none;
}
.comments-container[data-v-ec1c18ad] {
  /* pointer-events: none;  */
}

.comment-placeholder[data-v-00571fe0] {
  position: absolute;
  width: 300px;
  transition: top 0.3s ease;
}
.floating-comment[data-v-00571fe0] {
  position: relative;
  display: block;
  min-width: 300px;
}
.sidebar-container[data-v-00571fe0] {
  position: absolute;
  width: 300px;
  min-height: 300px;
  transition: transform 0.3s ease;
  will-change: transform;
}
.section-wrapper[data-v-00571fe0] {
  position: relative;
  min-height: 100%;
  width: 300px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  /* SD-2034: smooth min-height changes to prevent scrollbar flash */
  transition: min-height 0.5s ease-out;
}

.text-field[data-v-f3984d30] {
  white-space: nowrap;
  height: 100%;
  width: 100%;
  border-radius: 2px;
  margin: 0;
  display: flex;
  align-items: center;
}

.paragraph-field[data-v-ce5a87b3] {
  margin: 0;
  padding: 1px;
}

.image-field[data-v-7dd69850] {
  overflow: hidden;
  display: flex;
  align-items: center;
  margin-top: 2px;
}
img[data-v-7dd69850] {
  max-height: 100%;
}

.checkbox-container[data-v-0620a58a] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  width: 100%;
  height: 100%;
}
.checkbox-preview[data-v-0620a58a] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
  width: 100%;
  height: 100%;
}
.checkbox-editing-placeholder[data-v-0620a58a] {
  width: 100%;
  height: 100%;
}

.select-container[data-v-1e49d9b3] {
  padding: 1px;
}

.field-container[data-v-22e6ae02] {
  border-radius: 2px;
  background-color: #efd0f0 !important;
  border: 2px solid #b015b3;
}
.field-container--no-style[data-v-22e6ae02] {
  background: none !important;
  border-color: transparent;
}

.whiteboard-page[data-v-c876c9b5] {
  position: absolute;
  left: 0;
  top: 0;
}

.whiteboard-layer[data-v-8448a15a] {
  position: absolute;
  inset: 0;
  pointer-events: auto;
}

.superdoc-html-viewer[data-v-da3494ba] {
  font-family: initial;
  color: initial;
  width: 100%;
  height: auto;
  position: relative;
}
.superdoc-html-viewer__document[data-v-da3494ba] {
  width: 100%;
  height: auto;
}
.superdoc-html-viewer__content[data-v-da3494ba] {
  width: 100%;
  min-width: 800px;
  padding: 38px 75px 75px;
}

.ai-highlight-layer[data-v-497b8118] {
  position: relative;
}
.ai-highlight-anchor[data-v-497b8118] {
  position: absolute;
  cursor: pointer;
  z-index: 3;
  border-radius: 4px;
  transition: background-color 250ms ease;
}
.bypass[data-v-497b8118] {
  display: none;
}

.sd-password-prompt[data-v-ecf7f6fb] {
  display: flex;
  flex-direction: column;
  gap: var(--sd-ui-password-prompt-gap, 12px);
}
.sd-password-prompt__heading[data-v-ecf7f6fb] {
  margin: 0;
  font-size: var(--sd-ui-password-prompt-heading-size, 15px);
  font-weight: var(--sd-ui-password-prompt-heading-weight, 600);
  line-height: 1.4;
  color: var(--sd-ui-password-prompt-heading-color, var(--sd-ui-text));
}
.sd-password-prompt__description[data-v-ecf7f6fb] {
  margin: 0;
  font-size: var(--sd-ui-password-prompt-description-size, 14px);
  line-height: 1.5;
  color: var(--sd-ui-password-prompt-description-color, var(--sd-ui-text));
}
.sd-password-prompt__field[data-v-ecf7f6fb] {
  display: flex;
}
.sd-password-prompt__input[data-v-ecf7f6fb] {
  width: 100%;
  padding: var(--sd-ui-password-prompt-input-padding, 8px 10px);
  font-size: var(--sd-ui-password-prompt-input-size, 14px);
  font-family: inherit;
  color: var(--sd-ui-password-prompt-input-color, var(--sd-ui-text));
  background: var(--sd-ui-password-prompt-input-bg, #fff);
  border: 1px solid var(--sd-ui-password-prompt-input-border, var(--sd-ui-border));
  border-radius: var(--sd-ui-password-prompt-input-radius, 4px);
  outline: none;
  transition: border-color 0.15s;
}
.sd-password-prompt__input[data-v-ecf7f6fb]:focus {
  border-color: var(--sd-ui-password-prompt-input-focus-border, var(--sd-ui-action));
}
.sd-password-prompt__input[data-v-ecf7f6fb]:disabled {
  opacity: var(--sd-ui-password-prompt-input-disabled-opacity, 0.6);
  cursor: not-allowed;
}
.sd-password-prompt__error[data-v-ecf7f6fb] {
  margin: 0;
  font-size: var(--sd-ui-password-prompt-error-size, 13px);
  color: var(--sd-ui-password-prompt-error-color, var(--sd-color-red-500, #ed4337));
}
.sd-password-prompt__actions[data-v-ecf7f6fb] {
  display: flex;
  justify-content: flex-end;
  gap: var(--sd-ui-password-prompt-actions-gap, 8px);
  margin-top: 4px;
}
.sd-password-prompt__btn[data-v-ecf7f6fb] {
  padding: var(--sd-ui-password-prompt-btn-padding, 6px 16px);
  font-size: var(--sd-ui-password-prompt-btn-size, 14px);
  font-family: inherit;
  border-radius: var(--sd-ui-password-prompt-btn-radius, 4px);
  cursor: pointer;
  transition:
    background-color 0.15s,
    opacity 0.15s;
}
.sd-password-prompt__btn[data-v-ecf7f6fb]:disabled {
  opacity: var(--sd-ui-password-prompt-btn-disabled-opacity, 0.5);
  cursor: not-allowed;
}
.sd-password-prompt__btn--cancel[data-v-ecf7f6fb] {
  background: var(--sd-ui-password-prompt-cancel-bg, transparent);
  border: 1px solid var(--sd-ui-password-prompt-cancel-border, var(--sd-ui-border));
  color: var(--sd-ui-password-prompt-cancel-color, var(--sd-ui-text));
}
.sd-password-prompt__btn--cancel[data-v-ecf7f6fb]:hover:not(:disabled) {
  background: var(--sd-ui-password-prompt-cancel-hover-bg, var(--sd-color-gray-100, #f5f5f5));
}
.sd-password-prompt__btn--submit[data-v-ecf7f6fb] {
  background: var(--sd-ui-password-prompt-submit-bg, var(--sd-ui-action));
  border: 1px solid var(--sd-ui-password-prompt-submit-border, var(--sd-ui-action));
  color: var(--sd-ui-password-prompt-submit-color, var(--sd-ui-action-text, #fff));
}
.sd-password-prompt__btn--submit[data-v-ecf7f6fb]:hover:not(:disabled) {
  background: var(--sd-ui-password-prompt-submit-hover-bg, var(--sd-ui-action-hover));
}

.sd-find-replace[data-v-8c7fd9b2] {
  display: flex;
  flex-direction: column;
  gap: var(--sd-ui-find-replace-gap, 8px);
}
.sd-find-replace__row[data-v-8c7fd9b2] {
  display: flex;
  align-items: center;
  gap: var(--sd-ui-find-replace-gap, 8px);
}
.sd-find-replace__input-wrap[data-v-8c7fd9b2] {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
}
.sd-find-replace__input[data-v-8c7fd9b2] {
  width: 100%;
  height: var(--sd-ui-find-replace-input-height, 30px);
  padding: var(--sd-ui-find-replace-input-padding, 4px 8px);
  font-size: var(--sd-ui-find-replace-input-font-size, 14px);
  font-family: inherit;
  color: var(--sd-ui-text);
  background: var(--sd-ui-find-replace-input-bg, #fff);
  border: 1px solid var(--sd-ui-find-replace-input-border, var(--sd-ui-border));
  border-radius: var(--sd-ui-find-replace-input-radius, 4px);
  outline: none;
  transition: border-color 0.15s;
  box-sizing: border-box;
}
.sd-find-replace__input[data-v-8c7fd9b2]:focus {
  border-color: var(--sd-ui-find-replace-input-focus-border, var(--sd-ui-action));
}
.sd-find-replace__count[data-v-8c7fd9b2] {
  position: absolute;
  right: var(--sd-ui-find-replace-count-inset, 8px);
  font-size: var(--sd-ui-find-replace-count-font-size, 13px);
  color: var(--sd-ui-find-replace-count-color, #6b7280);
  pointer-events: none;
  white-space: nowrap;
}
.sd-find-replace__nav[data-v-8c7fd9b2] {
  display: flex;
  gap: var(--sd-ui-find-replace-nav-gap, 2px);
  flex-shrink: 0;
}
.sd-find-replace__options[data-v-8c7fd9b2] {
  display: flex;
  gap: var(--sd-ui-find-replace-options-gap, 4px);
}
.sd-find-replace__btn[data-v-8c7fd9b2] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: transparent;
  color: var(--sd-ui-find-replace-btn-color, var(--sd-ui-text));
  transition: background-color 0.15s;
}
.sd-find-replace__btn[data-v-8c7fd9b2]:disabled {
  opacity: var(--sd-ui-find-replace-btn-disabled-opacity, 0.4);
  cursor: not-allowed;
}
.sd-find-replace__btn--icon[data-v-8c7fd9b2] {
  width: var(--sd-ui-find-replace-btn-size, 28px);
  height: var(--sd-ui-find-replace-btn-size, 28px);
  border-radius: var(--sd-ui-find-replace-btn-radius, 4px);
  font-size: var(--sd-ui-find-replace-btn-icon-font-size, 12px);
  line-height: 1;
}
.sd-find-replace__btn--icon[data-v-8c7fd9b2]:hover:not(:disabled) {
  background: var(--sd-ui-find-replace-btn-hover-bg, rgba(0, 0, 0, 0.06));
}
.sd-find-replace__btn--action[data-v-8c7fd9b2] {
  padding: var(--sd-ui-find-replace-action-btn-padding, 4px 10px);
  font-size: var(--sd-ui-find-replace-count-font-size, 13px);
  border-radius: var(--sd-ui-find-replace-btn-radius, 4px);
  background: var(--sd-ui-find-replace-action-btn-bg, var(--sd-ui-action));
  color: var(--sd-ui-find-replace-action-btn-color, #fff);
  border: none;
}
.sd-find-replace__btn--action[data-v-8c7fd9b2]:hover:not(:disabled) {
  background: var(--sd-ui-find-replace-action-btn-hover-bg, var(--sd-ui-action));
}
.sd-find-replace__btn--toggle[data-v-8c7fd9b2] {
  padding: var(--sd-ui-find-replace-btn-toggle-padding, 4px 8px);
  font-size: var(--sd-ui-find-replace-btn-toggle-font-size, 12px);
  border-radius: var(--sd-ui-find-replace-btn-radius, 4px);
  border: 1px solid transparent;
}
.sd-find-replace__btn--toggle[data-v-8c7fd9b2]:hover:not(:disabled) {
  background: var(--sd-ui-find-replace-btn-hover-bg, rgba(0, 0, 0, 0.06));
}
.sd-find-replace__btn--active[data-v-8c7fd9b2] {
  background: var(--sd-ui-find-replace-toggle-active-bg, #dbeafe);
  color: var(--sd-ui-find-replace-toggle-active-color, #1d4ed8);
  border-color: var(--sd-ui-find-replace-toggle-active-color, #1d4ed8);
}
.sd-find-replace__btn--active[data-v-8c7fd9b2]:hover:not(:disabled) {
  background: var(--sd-ui-find-replace-toggle-active-bg, #dbeafe);
}

.sd-surface-external-mount[data-v-b2412c5d] {
  width: 100%;
}

.sd-surface-dialog-backdrop[data-v-20bf8e4b] {
  position: absolute;
  inset: 0;
  z-index: calc(var(--sd-ui-surface-z-index, 100) + 1);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--sd-ui-dialog-backdrop);
}
.sd-surface-dialog[data-v-20bf8e4b] {
  background: var(--sd-ui-surface-bg);
  border: 1px solid var(--sd-ui-surface-border);
  border-radius: var(--sd-ui-surface-radius);
  box-shadow: var(--sd-ui-surface-shadow);
  max-width: var(--sd-ui-dialog-max-width, 480px);
  width: 100%;
  max-height: 90%;
  overflow-y: auto;
  outline: none;
  font-family: var(--sd-ui-font-family);
  color: var(--sd-ui-text);
}
.sd-surface-dialog__title[data-v-20bf8e4b] {
  padding: var(--sd-ui-surface-title-padding);
  font-size: var(--sd-ui-font-size-500, 15px);
  font-weight: 600;
  line-height: 1.4;
}
.sd-surface-dialog__content[data-v-20bf8e4b] {
  padding: var(--sd-ui-surface-content-padding);
}

.sd-surface-floating[data-v-51d59bd5] {
  position: absolute;
  z-index: var(--sd-ui-surface-z-index, 100);
  width: var(--sd-ui-floating-width, 360px);
  max-width: var(--sd-ui-floating-max-width, 480px);
  max-height: var(--sd-ui-floating-max-height, min(60vh, calc(100% - 32px)));
  background: var(--sd-ui-surface-bg);
  border: 1px solid var(--sd-ui-surface-border);
  border-radius: var(--sd-ui-surface-radius);
  box-shadow: var(--sd-ui-surface-shadow);
  font-family: var(--sd-ui-font-family);
  color: var(--sd-ui-text);
  overflow-y: auto;
}

/* Placement presets — all use --sd-ui-floating-edge-offset */
.sd-surface-floating--top-right[data-v-51d59bd5] {
  top: var(--sd-ui-floating-edge-offset, 16px);
  right: var(--sd-ui-floating-edge-offset, 16px);
}
.sd-surface-floating--top-left[data-v-51d59bd5] {
  top: var(--sd-ui-floating-edge-offset, 16px);
  left: var(--sd-ui-floating-edge-offset, 16px);
}
.sd-surface-floating--bottom-right[data-v-51d59bd5] {
  bottom: var(--sd-ui-floating-edge-offset, 16px);
  right: var(--sd-ui-floating-edge-offset, 16px);
}
.sd-surface-floating--bottom-left[data-v-51d59bd5] {
  bottom: var(--sd-ui-floating-edge-offset, 16px);
  left: var(--sd-ui-floating-edge-offset, 16px);
}
.sd-surface-floating--top-center[data-v-51d59bd5] {
  top: var(--sd-ui-floating-edge-offset, 16px);
  left: 50%;
  transform: translateX(-50%);
}
.sd-surface-floating--bottom-center[data-v-51d59bd5] {
  bottom: var(--sd-ui-floating-edge-offset, 16px);
  left: 50%;
  transform: translateX(-50%);
}
.sd-surface-floating__title[data-v-51d59bd5] {
  padding: var(--sd-ui-surface-title-padding);
  font-size: var(--sd-ui-font-size-500, 15px);
  font-weight: 600;
  line-height: 1.4;
}
.sd-surface-floating__content[data-v-51d59bd5] {
  padding: var(--sd-ui-surface-content-padding);
}

.sd-surface-host[data-v-c6a3b75f] {
  /* position/top/left/width/height set dynamically via :style binding */
  pointer-events: none;
  z-index: var(--sd-ui-surface-z-index, 100);
  overflow: hidden;
}

/* Re-enable pointer events on actual surface children */
.sd-surface-host[data-v-c6a3b75f] >  * {
  pointer-events: auto;
}

.superdoc[data-v-05681272] {
  display: flex;
  position: relative;
}
.right-sidebar[data-v-05681272] {
  min-width: 320px;
  height: 100%;
}
.floating-comments[data-v-05681272] {
  min-width: 300px;
  width: 300px;
  height: 100%;
  overflow-y: hidden;
  overflow-x: hidden;
}
.superdoc__layers[data-v-05681272] {
  height: 100%;
  position: relative;
  box-sizing: border-box;
}
.superdoc__document[data-v-05681272] {
  width: 100%;
  position: relative;
}
.superdoc__sub-document[data-v-05681272] {
  width: 100%;
  position: relative;
}
.superdoc__selection-layer[data-v-05681272] {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  z-index: 10;
  pointer-events: none;
}
.superdoc__temp-selection[data-v-05681272] {
  position: absolute;
}
.superdoc__comments-layer[data-v-05681272] {
  /* position: absolute; */
  top: 0;
  height: 100%;
  position: relative;
}
.superdoc__right-sidebar[data-v-05681272] {
  width: 320px;
  min-width: 320px;
  padding: 0 10px;
  min-height: 100%;
  position: relative;
  z-index: 2;
}

/* Tools styles */
.tools[data-v-05681272] {
  position: absolute;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: var(--sd-ui-tools-gap, 6px);
}
.tools-item[data-v-05681272] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--sd-ui-tools-item-size, 50px);
  height: var(--sd-ui-tools-item-size, 50px);
  background-color: var(--sd-ui-tools-item-bg, rgba(219, 219, 219, 0.6));
  border-radius: var(--sd-ui-tools-item-radius, 12px);
  cursor: pointer;
  position: relative;
}
.tools-item i[data-v-05681272] {
  cursor: pointer;
}
.superdoc__tools-icon[data-v-05681272] {
  width: var(--sd-ui-tools-icon-size, 20px);
  height: var(--sd-ui-tools-icon-size, 20px);
  flex-shrink: 0;
}

/* Tools styles - end */

/* .docx {
  border: 1px solid #dfdfdf;
  pointer-events: auto;
} */

/* 834px is iPad screen size in portrait orientation */
@media (max-width: 834px) {
.superdoc .superdoc__layers[data-v-05681272] {
    margin: 0;
    border: 0 !important;
    box-shadow: none;
}
.superdoc__sub-document[data-v-05681272] {
    max-width: 100%;
}
.superdoc__right-sidebar[data-v-05681272] {
    padding: 10px;
    width: 55px;
    position: relative;
}
}

/* AI Writer styles */
.ai-writer-container[data-v-05681272] {
  position: fixed;
  z-index: 1000;
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}

/* Remove the AI Sidebar styles */
/* .ai-sidebar-container {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 50;
} */
.ai-tool > svg[data-v-05681272] {
  fill: transparent;
}
.ai-tool[data-v-05681272]::before {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;

  z-index: 1;
  background: linear-gradient(
    270deg,
    rgba(218, 215, 118, 0.5) -20%,
    rgba(191, 100, 100, 1) 30%,
    rgba(77, 82, 217, 1) 60%,
    rgb(255, 219, 102) 150%
  );
  -webkit-mask: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.7-53.3L160 80l-53.3-26.7L80 0 53.3 53.3 0 80l53.3 26.7L80 160zm352 128l-26.7 53.3L352 368l53.3 26.7L432 448l26.7-53.3L512 368l-53.3-26.7L432 288zm70.6-193.8L417.8 9.4C411.5 3.1 403.3 0 395.2 0c-8.2 0-16.4 3.1-22.6 9.4L9.4 372.5c-12.5 12.5-12.5 32.8 0 45.3l84.9 84.9c6.3 6.3 14.4 9.4 22.6 9.4 8.2 0 16.4-3.1 22.6-9.4l363.1-363.2c12.5-12.5 12.5-32.8 0-45.2zM359.5 203.5l-50.9-50.9 86.6-86.6 50.9 50.9-86.6 86.6z'/></svg>")
    center / contain no-repeat;
  mask: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.7-53.3L160 80l-53.3-26.7L80 0 53.3 53.3 0 80l53.3 26.7L80 160zm352 128l-26.7 53.3L352 368l53.3 26.7L432 448l26.7-53.3L512 368l-53.3-26.7L432 288zm70.6-193.8L417.8 9.4C411.5 3.1 403.3 0 395.2 0c-8.2 0-16.4 3.1-22.6 9.4L9.4 372.5c-12.5 12.5-12.5 32.8 0 45.3l84.9 84.9c6.3 6.3 14.4 9.4 22.6 9.4 8.2 0 16.4-3.1 22.6-9.4l363.1-363.2c12.5-12.5 12.5-32.8 0-45.2zM359.5 203.5l-50.9-50.9 86.6-86.6 50.9 50.9-86.6 86.6z'/></svg>")
    center / contain no-repeat;
  filter: brightness(1.2);
  transition: filter 0.2s ease;
}
.ai-tool[data-v-05681272]:hover::before {
  filter: brightness(1.3);
}

/* Tools styles - end */

.sd-pdf-viewer-page[data-v-d7a9857d] {
  --user-unit: 1;
  --total-scale-factor: calc(var(--scale-factor) * var(--user-unit));
  --scale-round-x: 1px;
  --scale-round-y: 1px;

  width: 816px;
  height: 1056px;
  /* margin: 1px auto -8px; */
  position: relative;
  overflow: visible;
  /* border: 9px solid transparent; */
  background-clip: content-box;
  background-color: #fff;
  box-sizing: content-box;
  margin: 0 0 calc(var(--scale-factor) * 10px);
}
.sd-pdf-viewer-page[data-v-d7a9857d]:last-child {
  margin: 0;
}
.sd-pdf-viewer-page__canvas-wrapper[data-v-d7a9857d] {
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.sd-pdf-viewer-page__canvas[data-v-d7a9857d] {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  margin: 0;
  width: 100%;
  height: 100%;
  contain: content;
}

/* Text layer style */
.sd-pdf-viewer-page__text-layer {
  --csstools-color-scheme--light: initial;
  color-scheme: only light;

  position: absolute;
  text-align: initial;
  inset: 0;
  overflow: clip;
  opacity: 1;
  line-height: 1;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
  forced-color-adjust: none;
  transform-origin: 0 0;
  caret-color: CanvasText;
  z-index: 0;
}
.sd-pdf-viewer-page__text-layer.highlighting {
  touch-action: none;
}
.sd-pdf-viewer-page__text-layer :is(span, br) {
  color: transparent;
  position: absolute;
  white-space: pre;
  cursor: text;
  transform-origin: 0% 0%;
}
.sd-pdf-viewer-page__text-layer {
  --min-font-size: 1;
  --text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size));
  --min-font-size-inv: calc(1 / var(--min-font-size));
}
.sd-pdf-viewer-page__text-layer > :not(.markedContent),
.sd-pdf-viewer-page__text-layer .markedContent span:not(.markedContent) {
  z-index: 1;

  --font-height: 0;
  font-size: calc(var(--text-scale-factor) * var(--font-height));

  --scale-x: 1;
  --rotate: 0deg;
  transform: rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv));
}
.sd-pdf-viewer-page__text-layer .markedContent {
  display: contents;
}
.sd-pdf-viewer-page__text-layer span[role='img'] {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  cursor: default;
}
.sd-pdf-viewer-page__text-layer .highlight {
  --highlight-bg-color: rgb(180 0 170 / 0.25);
  --highlight-selected-bg-color: rgb(0 100 0 / 0.25);
  --highlight-backdrop-filter: none;
  --highlight-selected-backdrop-filter: none;
}
@media screen and (forced-colors: active) {
.sd-pdf-viewer-page__text-layer.highlight {
    --highlight-bg-color: transparent;
    --highlight-selected-bg-color: transparent;
    --highlight-backdrop-filter: var(--hcm-highlight-filter);
    --highlight-selected-backdrop-filter: var(--hcm-highlight-selected-filter);
}
}
.sd-pdf-viewer-page__text-layer .highlight {
  margin: -1px;
  padding: 1px;
  background-color: var(--highlight-bg-color);
  -webkit-backdrop-filter: var(--highlight-backdrop-filter);
  backdrop-filter: var(--highlight-backdrop-filter);
  border-radius: 4px;
}
.appended:is(.sd-pdf-viewer-page__text-layer .highlight) {
  position: initial;
}
.begin:is(.sd-pdf-viewer-page__text-layer .highlight) {
  border-radius: 4px 0 0 4px;
}
.end:is(.sd-pdf-viewer-page__text-layer .highlight) {
  border-radius: 0 4px 4px 0;
}
.middle:is(.sd-pdf-viewer-page__text-layer .highlight) {
  border-radius: 0;
}
.selected:is(.sd-pdf-viewer-page__text-layer .highlight) {
  background-color: var(--highlight-selected-bg-color);
  -webkit-backdrop-filter: var(--highlight-selected-backdrop-filter);
  backdrop-filter: var(--highlight-selected-backdrop-filter);
}
.sd-pdf-viewer-page__text-layer ::-moz-selection {
  background: rgba(0 0 255 / 0.25);
  background: color-mix(in srgb, AccentColor, transparent 75%);
}
.sd-pdf-viewer-page__text-layer ::selection {
  background: rgba(0 0 255 / 0.25);
  background: color-mix(in srgb, AccentColor, transparent 75%);
}
.sd-pdf-viewer-page__text-layer br::-moz-selection {
  background: transparent;
}
.sd-pdf-viewer-page__text-layer br::selection {
  background: transparent;
}
.sd-pdf-viewer-page__text-layer .endOfContent {
  display: block;
  position: absolute;
  inset: 100% 0 0;
  z-index: 0;
  cursor: default;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.textLayer.selecting .endOfContent {
  top: 0;
}

.sd-pdf-viewer-document[data-v-2152178b] {
  position: relative;
  width: 100%;
}
.sd-pdf-viewer-document__wrapper[data-v-2152178b] {
  width: 100%;
  padding-bottom: 10px;
}

.sd-pdf-viewer[data-v-c47c92bc] {
  width: 100%;
  position: relative;
}
.sd-pdf-viewer__main[data-v-c47c92bc] {
  width: 100%;
}
/*$vite$:1*/