@remyxjs/core 1.0.0-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/README.md +2454 -0
  2. package/dist/convertCsv-B8RVtdcs.cjs +2 -0
  3. package/dist/convertCsv-B8RVtdcs.cjs.map +1 -0
  4. package/dist/convertCsv-CKzZjzLJ.js +2 -0
  5. package/dist/convertCsv-CKzZjzLJ.js.map +1 -0
  6. package/dist/convertDocx-4q89XLLv.cjs +2 -0
  7. package/dist/convertDocx-4q89XLLv.cjs.map +1 -0
  8. package/dist/convertDocx-Dmx88twM.js +2 -0
  9. package/dist/convertDocx-Dmx88twM.js.map +1 -0
  10. package/dist/convertHtml-CtYVhiTh.js +2 -0
  11. package/dist/convertHtml-CtYVhiTh.js.map +1 -0
  12. package/dist/convertHtml-DbHrdrD3.cjs +2 -0
  13. package/dist/convertHtml-DbHrdrD3.cjs.map +1 -0
  14. package/dist/convertMarkdown-Di239Gtn.js +2 -0
  15. package/dist/convertMarkdown-Di239Gtn.js.map +1 -0
  16. package/dist/convertMarkdown-eJ9Nkoid.cjs +2 -0
  17. package/dist/convertMarkdown-eJ9Nkoid.cjs.map +1 -0
  18. package/dist/convertPdf-CFA1eNNH.js +2 -0
  19. package/dist/convertPdf-CFA1eNNH.js.map +1 -0
  20. package/dist/convertPdf-CSLmTrB8.cjs +2 -0
  21. package/dist/convertPdf-CSLmTrB8.cjs.map +1 -0
  22. package/dist/convertRtf-08CoScGD.js +2 -0
  23. package/dist/convertRtf-08CoScGD.js.map +1 -0
  24. package/dist/convertRtf-BfiBLMig.cjs +2 -0
  25. package/dist/convertRtf-BfiBLMig.cjs.map +1 -0
  26. package/dist/convertText-BpgzHRuh.cjs +2 -0
  27. package/dist/convertText-BpgzHRuh.cjs.map +1 -0
  28. package/dist/convertText-sa7PxKTe.js +2 -0
  29. package/dist/convertText-sa7PxKTe.js.map +1 -0
  30. package/dist/index-4syk9eEO.js +2 -0
  31. package/dist/index-4syk9eEO.js.map +1 -0
  32. package/dist/index-B25zSs0W.js +2 -0
  33. package/dist/index-B25zSs0W.js.map +1 -0
  34. package/dist/index-B7VT6ZLa.cjs +2 -0
  35. package/dist/index-B7VT6ZLa.cjs.map +1 -0
  36. package/dist/index-BCpytFKJ.js +2 -0
  37. package/dist/index-BCpytFKJ.js.map +1 -0
  38. package/dist/index-BNKANY5i.cjs +2 -0
  39. package/dist/index-BNKANY5i.cjs.map +1 -0
  40. package/dist/index-B_g_579T.cjs +2 -0
  41. package/dist/index-B_g_579T.cjs.map +1 -0
  42. package/dist/index-BvwyeoMb.js +3 -0
  43. package/dist/index-BvwyeoMb.js.map +1 -0
  44. package/dist/index-Bw7mlUQo.js +2 -0
  45. package/dist/index-Bw7mlUQo.js.map +1 -0
  46. package/dist/index-Byatzd-A.js +2 -0
  47. package/dist/index-Byatzd-A.js.map +1 -0
  48. package/dist/index-C0z9eZLm.cjs +2 -0
  49. package/dist/index-C0z9eZLm.cjs.map +1 -0
  50. package/dist/index-C88XPqjX.js +2 -0
  51. package/dist/index-C88XPqjX.js.map +1 -0
  52. package/dist/index-CI6FPF49.cjs +2 -0
  53. package/dist/index-CI6FPF49.cjs.map +1 -0
  54. package/dist/index-CLZF5_GB.cjs +2 -0
  55. package/dist/index-CLZF5_GB.cjs.map +1 -0
  56. package/dist/index-CXSwYlG4.cjs +2 -0
  57. package/dist/index-CXSwYlG4.cjs.map +1 -0
  58. package/dist/index-Ch9gotLk.js +2 -0
  59. package/dist/index-Ch9gotLk.js.map +1 -0
  60. package/dist/index-CifDpN1Y.js +2 -0
  61. package/dist/index-CifDpN1Y.js.map +1 -0
  62. package/dist/index-D5o8VpWJ.cjs +2 -0
  63. package/dist/index-D5o8VpWJ.cjs.map +1 -0
  64. package/dist/index-DKT1bABL.js +2 -0
  65. package/dist/index-DKT1bABL.js.map +1 -0
  66. package/dist/index-DWcn72PW.js +2 -0
  67. package/dist/index-DWcn72PW.js.map +1 -0
  68. package/dist/index-DjCGzPEv.cjs +2 -0
  69. package/dist/index-DjCGzPEv.cjs.map +1 -0
  70. package/dist/index-Dq0Jr1Ae.js +2 -0
  71. package/dist/index-Dq0Jr1Ae.js.map +1 -0
  72. package/dist/index-Dw0MVypb.cjs +2 -0
  73. package/dist/index-Dw0MVypb.cjs.map +1 -0
  74. package/dist/index-FEo3LShh.cjs +2 -0
  75. package/dist/index-FEo3LShh.cjs.map +1 -0
  76. package/dist/index-O1hzAUzi.cjs +2 -0
  77. package/dist/index-O1hzAUzi.cjs.map +1 -0
  78. package/dist/index-T1ZyLzeF.cjs +2 -0
  79. package/dist/index-T1ZyLzeF.cjs.map +1 -0
  80. package/dist/index-iRikoCdK.cjs +2 -0
  81. package/dist/index-iRikoCdK.cjs.map +1 -0
  82. package/dist/index-l6Yddj6x.js +2 -0
  83. package/dist/index-l6Yddj6x.js.map +1 -0
  84. package/dist/index-rD8LZENp.js +2 -0
  85. package/dist/index-rD8LZENp.js.map +1 -0
  86. package/dist/remyx-core.cjs +2 -0
  87. package/dist/remyx-core.cjs.map +1 -0
  88. package/dist/remyx-core.css +1 -0
  89. package/dist/remyx-core.js +2 -0
  90. package/dist/remyx-core.js.map +1 -0
  91. package/dist/themes/callouts.css +79 -0
  92. package/dist/themes/collaboration.css +117 -0
  93. package/dist/themes/comments.css +198 -0
  94. package/dist/themes/dark.css +109 -0
  95. package/dist/themes/forest.css +109 -0
  96. package/dist/themes/light.css +4 -0
  97. package/dist/themes/links.css +115 -0
  98. package/dist/themes/math-toc-analytics.css +129 -0
  99. package/dist/themes/ocean.css +109 -0
  100. package/dist/themes/rose.css +109 -0
  101. package/dist/themes/spellcheck.css +173 -0
  102. package/dist/themes/sunset.css +109 -0
  103. package/dist/themes/templates.css +87 -0
  104. package/dist/themes/variables.css +3222 -0
  105. package/package.json +80 -0
@@ -0,0 +1,2 @@
1
+ import{Z as s}from"./index-BvwyeoMb.js";import{_ as e,$ as a,a0 as t,a1 as i,a2 as r,a3 as m,a4 as o}from"./index-BvwyeoMb.js";export{e as STYLE_PRESETS,s as SpellcheckPlugin,a as analyzeGrammar,t as detectCliches,i as detectPassiveVoice,r as detectPunctuationIssues,m as detectWordiness,o as summarizeIssues};
2
+ //# sourceMappingURL=index-l6Yddj6x.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-l6Yddj6x.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{c as e}from"./index-BvwyeoMb.js";import{g as s,e as t,f as a,h as r,i as l}from"./index-BvwyeoMb.js";export{e as CalloutPlugin,s as getCalloutType,t as getCalloutTypes,a as parseGFMAlert,r as registerCalloutType,l as unregisterCalloutType};
2
+ //# sourceMappingURL=index-rD8LZENp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-rD8LZENp.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-iRikoCdK.cjs");exports.ALLOWED_STYLES=e.ALLOWED_STYLES,exports.ALLOWED_TAGS=e.ALLOWED_TAGS,exports.AnalyticsPlugin=e.AnalyticsPlugin,exports.AutolinkPlugin=e.AutolinkPlugin,exports.AutosaveManager=e.AutosaveManager,exports.AwarenessProtocol=e.AwarenessProtocol,exports.BUTTON_COMMANDS=e.BUTTON_COMMANDS,exports.BlockTemplatePlugin=e.BlockTemplatePlugin,exports.CalloutPlugin=e.CalloutPlugin,exports.Clipboard=e.Clipboard,exports.CloudProvider=e.CloudProvider,exports.CollaborationPlugin=e.CollaborationPlugin,exports.CommandRegistry=e.CommandRegistry,exports.CommentsPlugin=e.CommentsPlugin,exports.CrdtEngine=e.CrdtEngine,exports.CustomProvider=e.CustomProvider,exports.DEFAULT_COLORS=e.DEFAULT_COLORS,exports.DEFAULT_FONTS=e.DEFAULT_FONTS,exports.DEFAULT_FONT_SIZES=e.DEFAULT_FONT_SIZES,exports.DEFAULT_KEYBINDINGS=e.DEFAULT_KEYBINDINGS,exports.DEFAULT_MENU_BAR=e.DEFAULT_MENU_BAR,exports.DEFAULT_TOOLBAR=e.DEFAULT_TOOLBAR,exports.DragDrop=e.DragDrop,exports.DragDropPlugin=e.DragDropPlugin,exports.EditorBus=e.EditorBus,exports.EditorEngine=e.EditorEngine,exports.EventBus=e.EventBus,exports.FileSystemProvider=e.FileSystemProvider,exports.HEADING_OPTIONS=e.HEADING_OPTIONS,exports.History=e.History,exports.KeyboardManager=e.KeyboardManager,exports.KeyboardPlugin=e.KeyboardPlugin,exports.LANGUAGE_MAP=e.LANGUAGE_MAP,exports.LOGICAL_PROPERTIES=e.LOGICAL_PROPERTIES,exports.LinkPlugin=e.LinkPlugin,exports.LocalStorageProvider=e.LocalStorageProvider,exports.MODAL_COMMANDS=e.MODAL_COMMANDS,exports.MathPlugin=e.MathPlugin,exports.PlaceholderPlugin=e.PlaceholderPlugin,exports.PluginManager=e.PluginManager,exports.SHORTCUT_MAP=e.SHORTCUT_MAP,exports.SLASH_COMMAND_ITEMS=e.SLASH_COMMAND_ITEMS,exports.STYLE_PRESETS=e.STYLE_PRESETS,exports.SUPPORTED_LANGUAGES=e.SUPPORTED_LANGUAGES,exports.Sanitizer=e.Sanitizer,exports.Selection=e.Selection,exports.SessionStorageProvider=e.SessionStorageProvider,exports.SharedResources=e.SharedResources,exports.SpellcheckPlugin=e.SpellcheckPlugin,exports.SyntaxHighlightPlugin=e.SyntaxHighlightPlugin,exports.THEME_PRESETS=e.THEME_PRESETS,exports.THEME_VARIABLES=e.THEME_VARIABLES,exports.TOOLBAR_ITEM_STYLE_KEYS=e.TOOLBAR_ITEM_STYLE_KEYS,exports.TOOLBAR_PRESETS=e.TOOLBAR_PRESETS,exports.TOOLTIP_MAP=e.TOOLTIP_MAP,exports.TablePlugin=e.TablePlugin,exports.TemplatePlugin=e.TemplatePlugin,exports.TocPlugin=e.TocPlugin,exports.VirtualScroller=e.VirtualScroller,exports.WebSocketTransport=e.WebSocketTransport,exports.WordCountPlugin=e.WordCountPlugin,exports.WorkerPool=e.WorkerPool,exports.addFonts=e.addFonts,exports.addToolbarItems=e.addToolbarItems,exports.analyzeContent=e.analyzeContent,exports.analyzeGrammar=e.analyzeGrammar,exports.applyAutoDirection=e.applyAutoDirection,exports.applyAutoDirectionAll=e.applyAutoDirectionAll,exports.batchDOMMutations=e.batchDOMMutations,exports.benchmark=e.benchmark,exports.buildOutline=e.buildOutline,exports.cancelIdleTask=e.cancelIdleTask,exports.cleanPastedHTML=e.cleanPastedHTML,exports.clearRecentCommands=e.clearRecentCommands,exports.closestBlock=e.closestBlock,exports.closestTag=e.closestTag,exports.colemanLiau=e.colemanLiau,exports.convertDocument=e.convertDocument,exports.countSyllables=e.countSyllables,exports.createInputBatcher=e.createInputBatcher,exports.createPlugin=e.createPlugin,exports.createStorageProvider=e.createStorageProvider,exports.createTheme=e.createTheme,exports.createToolbar=e.createToolbar,exports.createToolbarItemTheme=e.createToolbarItemTheme,exports.defineConfig=e.defineConfig,exports.deleteColorPreset=e.deleteColorPreset,exports.detectCliches=e.detectCliches,exports.detectLanguage=e.detectLanguage,exports.detectLinks=e.detectLinks,exports.detectPassiveVoice=e.detectPassiveVoice,exports.detectPunctuationIssues=e.detectPunctuationIssues,exports.detectTextDirection=e.detectTextDirection,exports.detectWordiness=e.detectWordiness,exports.escapeHTML=e.escapeHTML,exports.escapeHTMLAttr=e.escapeHTMLAttr,exports.evaluateTableFormulas=e.evaluateTableFormulas,exports.exportAsDocx=e.exportAsDocx,exports.exportAsMarkdown=e.exportAsMarkdown,exports.exportAsPDF=e.exportAsPDF,exports.extractTags=e.extractTags,exports.filterSlashItems=e.filterSlashItems,exports.flattenOutline=e.flattenOutline,exports.fleschKincaid=e.fleschKincaid,exports.fleschReadingEase=e.fleschReadingEase,exports.formatHTML=e.formatHTML,exports.generateId=e.generateId,exports.getCalloutType=e.getCalloutType,exports.getCalloutTypes=e.getCalloutTypes,exports.getCommandActiveState=e.getCommandActiveState,exports.getCustomCommandItems=e.getCustomCommandItems,exports.getHeadings=e.getHeadings,exports.getLocale=e.getLocale,exports.getModKey=e.getModKey,exports.getRecentCommands=e.getRecentCommands,exports.getRegisteredLocales=e.getRegisteredLocales,exports.getShortcutLabel=e.getShortcutLabel,exports.getSupportedExtensions=e.getSupportedExtensions,exports.getSupportedFormatNames=e.getSupportedFormatNames,exports.getSymbolPalette=e.getSymbolPalette,exports.getTemplate=e.getTemplate,exports.getTemplateLibrary=e.getTemplateLibrary,exports.gunningFog=e.gunningFog,exports.htmlToMarkdown=e.htmlToMarkdown,exports.insertPlainText=e.insertPlainText,exports.isBlockEmpty=e.isBlockEmpty,exports.isImportableFile=e.isImportableFile,exports.isMac=e.isMac,exports.keywordDensity=e.keywordDensity,exports.latexToMathML=e.latexToMathML,exports.listRegisteredPlugins=e.listRegisteredPlugins,exports.loadColorPresets=e.loadColorPresets,exports.loadConfig=e.loadConfig,exports.loadGoogleFonts=e.loadGoogleFonts,exports.looksLikeMarkdown=e.looksLikeMarkdown,exports.markdownToHtml=e.markdownToHtml,exports.measurePerformance=e.measurePerformance,exports.parseGFMAlert=e.parseGFMAlert,exports.parseMathExpressions=e.parseMathExpressions,exports.parseMentions=e.parseMentions,exports.rafThrottle=e.rafThrottle,exports.recordRecentCommand=e.recordRecentCommand,exports.registerAlignmentCommands=e.registerAlignmentCommands,exports.registerAttachmentCommands=e.registerAttachmentCommands,exports.registerBlockCommands=e.registerBlockCommands,exports.registerBlockConvertCommands=e.registerBlockConvertCommands,exports.registerCalloutType=e.registerCalloutType,exports.registerColorPresetCommands=e.registerColorPresetCommands,exports.registerCommandItems=e.registerCommandItems,exports.registerDistractionFreeCommands=e.registerDistractionFreeCommands,exports.registerFindReplaceCommands=e.registerFindReplaceCommands,exports.registerFontCommands=e.registerFontCommands,exports.registerFormattingCommands=e.registerFormattingCommands,exports.registerFullscreenCommands=e.registerFullscreenCommands,exports.registerHeadingCommands=e.registerHeadingCommands,exports.registerImageCommands=e.registerImageCommands,exports.registerImportDocumentCommands=e.registerImportDocumentCommands,exports.registerLanguage=e.registerLanguage,exports.registerLinkCommands=e.registerLinkCommands,exports.registerListCommands=e.registerListCommands,exports.registerLocale=e.registerLocale,exports.registerMarkdownToggleCommands=e.registerMarkdownToggleCommands,exports.registerMediaCommands=e.registerMediaCommands,exports.registerPluginFactory=e.registerPluginFactory,exports.registerPluginInRegistry=e.registerPluginInRegistry,exports.registerSourceModeCommands=e.registerSourceModeCommands,exports.registerSplitViewCommands=e.registerSplitViewCommands,exports.registerTableCommands=e.registerTableCommands,exports.registerTemplate=e.registerTemplate,exports.removeFonts=e.removeFonts,exports.removeToolbarItems=e.removeToolbarItems,exports.renderTemplate=e.renderTemplate,exports.renderTocHTML=e.renderTocHTML,exports.resolvePlugins=e.resolvePlugins,exports.resolveSeparatorStyle=e.resolveSeparatorStyle,exports.resolveToolbarItemStyle=e.resolveToolbarItemStyle,exports.runRules=e.runRules,exports.saveColorPreset=e.saveColorPreset,exports.scheduleIdleTask=e.scheduleIdleTask,exports.searchPluginRegistry=e.searchPluginRegistry,exports.selectNextOccurrence=e.selectNextOccurrence,exports.seoAnalysis=e.seoAnalysis,exports.setLocale=e.setLocale,exports.slugify=e.slugify,exports.splitSentences=e.splitSentences,exports.summarizeIssues=e.summarizeIssues,exports.t=e.t,exports.tokenize=e.tokenize,exports.unregisterCalloutType=e.unregisterCalloutType,exports.unregisterCommandItem=e.unregisterCommandItem,exports.unregisterLanguage=e.unregisterLanguage,exports.unregisterLocale=e.unregisterLocale,exports.unregisterPluginFactory=e.unregisterPluginFactory,exports.unregisterPluginFromRegistry=e.unregisterPluginFromRegistry,exports.unregisterTemplate=e.unregisterTemplate,exports.unwrapTag=e.unwrapTag,exports.validateHeadingHierarchy=e.validateHeadingHierarchy,exports.vocabularyLevel=e.vocabularyLevel,exports.wrapInTag=e.wrapInTag;
2
+ //# sourceMappingURL=remyx-core.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remyx-core.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ .rmx-editor{contain:layout style;--rmx-bg: #ffffff;--rmx-text: #1e293b;--rmx-text-secondary: #64748b;--rmx-border: #e2e8f0;--rmx-border-subtle: #f1f5f9;--rmx-toolbar-bg: #ffffff;--rmx-toolbar-border: #e2e8f0;--rmx-toolbar-button-hover: #f1f5f9;--rmx-toolbar-button-active: #e0e7ff;--rmx-toolbar-icon: #64748b;--rmx-toolbar-icon-active: #4f46e5;--rmx-primary: #6366f1;--rmx-primary-hover: #4f46e5;--rmx-primary-light: #e0e7ff;--rmx-focus-ring: #6366f1;--rmx-selection: #c7d2fe;--rmx-danger: #ef4444;--rmx-danger-light: rgba(239, 68, 68, .08);--rmx-placeholder: #94a3b8;--rmx-modal-bg: #ffffff;--rmx-modal-overlay: rgba(15, 23, 42, .45);--rmx-statusbar-bg: #f8fafc;--rmx-statusbar-text: #94a3b8;--rmx-shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--rmx-shadow-md: 0 4px 16px rgba(15, 23, 42, .08), 0 1px 3px rgba(15, 23, 42, .06);--rmx-shadow-lg: 0 12px 40px rgba(15, 23, 42, .12), 0 4px 12px rgba(15, 23, 42, .06);--rmx-shadow-float: 0 8px 30px rgba(15, 23, 42, .1), 0 2px 8px rgba(15, 23, 42, .06);--rmx-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--rmx-font-size: 13px;--rmx-content-font-size: 16px;--rmx-content-line-height: 1.7;--rmx-radius: 8px;--rmx-radius-sm: 6px;--rmx-radius-inner: 6px;--rmx-spacing-xs: 4px;--rmx-spacing-sm: 8px;--rmx-spacing-md: 12px;--rmx-save-saved: #22c55e;--rmx-save-saving: #f59e0b;--rmx-save-unsaved: #94a3b8;--rmx-save-error: #ef4444;--rmx-recovery-bg: #fef3c7;--rmx-recovery-text: #92400e;--rmx-recovery-border: #fcd34d;--rmx-pre-bg: #f8fafc;--rmx-code-bg: rgba(99, 102, 241, .08);--rmx-blockquote-bg: linear-gradient(135deg, rgba(99, 102, 241, .04), rgba(99, 102, 241, .02));--rmx-table-th-bg: #f8fafc;--rmx-find-highlight-bg: #fef3c7;--rmx-find-highlight-text: #92400e;--rmx-find-current-bg: #f97316;--rmx-find-current-text: #ffffff;--rmx-link-decoration: rgba(99, 102, 241, .35);--rmx-code-editor-bg: #ffffff;--rmx-code-gutter-bg: #f8fafc;--rmx-code-gutter-border: #e2e8f0;--rmx-code-caret: #1e293b;--rmx-transition-fast: .12s ease;--rmx-transition-normal: .18s ease;font-family:var(--rmx-font-family);font-size:var(--rmx-font-size);color:var(--rmx-text);border:1px solid var(--rmx-border);border-radius:var(--rmx-radius);display:flex;flex-direction:column;background:var(--rmx-bg);box-sizing:border-box;position:relative;overflow:hidden;box-shadow:var(--rmx-shadow-sm);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rmx-editor *,.rmx-editor *:before,.rmx-editor *:after{box-sizing:inherit}.rmx-skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:100001;padding:8px 16px;background:var(--rmx-primary);color:#fff;font-size:14px;font-weight:500;text-decoration:none;border-radius:0 0 var(--rmx-radius-sm) var(--rmx-radius-sm);white-space:nowrap}.rmx-skip-link:focus{position:absolute;left:8px;top:0;width:auto;height:auto;overflow:visible;outline:2px solid var(--rmx-focus-ring);outline-offset:2px}.rmx-editor.rmx-fullscreen{position:fixed;inset:0;z-index:99999;border-radius:0;border:none;box-shadow:none}.rmx-editor.rmx-fullscreen .rmx-editor-body{flex:1;display:flex;flex-direction:column;min-height:0}.rmx-editor.rmx-fullscreen .rmx-edit-area{flex:1;display:flex;flex-direction:column;overflow:visible}.rmx-editor.rmx-fullscreen .rmx-content{flex:1;min-height:0!important;max-height:none!important;height:auto!important;overflow-y:auto}.rmx-menubar{display:flex;align-items:center;background:var(--rmx-toolbar-bg);border-bottom:1px solid var(--rmx-toolbar-border);padding:0 4px;flex-shrink:0;position:relative;z-index:21}.rmx-menubar-dropdown{position:relative}.rmx-menubar-trigger{display:inline-flex;align-items:center;padding:6px 10px;border:none;border-radius:var(--rmx-radius-inner);background:transparent;color:var(--rmx-text);cursor:pointer;font-size:var(--rmx-font-size);font-family:var(--rmx-font-family);line-height:1;white-space:nowrap;transition:background var(--rmx-transition-fast);margin:2px 0}.rmx-menubar-trigger:hover,.rmx-menubar-trigger.rmx-open{background:var(--rmx-toolbar-button-hover)}.rmx-menubar-menu{position:absolute;top:100%;left:0;margin-top:2px;min-width:200px;max-height:400px;overflow-y:auto;background:var(--rmx-modal-bg);border:1px solid var(--rmx-border);border-radius:var(--rmx-radius);box-shadow:var(--rmx-shadow-md);z-index:10000;padding:4px;animation:rmx-fade-in .1s ease}.rmx-menubar-item{display:flex;align-items:center;width:100%;padding:6px 8px;border:none;border-radius:var(--rmx-radius-inner);background:transparent;color:var(--rmx-text);cursor:pointer;text-align:left;font-size:var(--rmx-font-size);font-family:var(--rmx-font-family);gap:8px;transition:background var(--rmx-transition-fast);line-height:1.4}.rmx-menubar-item:hover{background:var(--rmx-toolbar-button-hover)}.rmx-menubar-item.rmx-active{color:var(--rmx-toolbar-icon-active)}.rmx-menubar-item-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;color:var(--rmx-toolbar-icon)}.rmx-menubar-item.rmx-active .rmx-menubar-item-icon{color:var(--rmx-toolbar-icon-active)}.rmx-menubar-item-label{flex:1;white-space:nowrap}.rmx-menubar-shortcut{margin-left:auto;padding-left:24px;font-size:.85em;color:var(--rmx-text-secondary);white-space:nowrap}.rmx-menubar-separator{height:1px;background:var(--rmx-border);margin:4px 0;opacity:.6}.rmx-menubar-submenu-wrapper{position:relative}.rmx-menubar-submenu-trigger{display:flex;align-items:center}.rmx-menubar-submenu-arrow{margin-left:auto;padding-left:8px;display:inline-flex;align-items:center;color:var(--rmx-text-secondary)}.rmx-menubar-submenu{position:absolute;left:100%;top:-4px;margin-left:2px}.rmx-toolbar{background:var(--rmx-toolbar-bg);border-bottom:1px solid var(--rmx-toolbar-border);padding:6px 10px;flex-shrink:0;position:relative;z-index:20}.rmx-toolbar-inner{display:flex;align-items:center;flex-wrap:nowrap;overflow:hidden;gap:1px}.rmx-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;min-width:var(--rmx-tb-size, 32px);height:var(--rmx-tb-size, 32px);padding:var(--rmx-tb-padding, 4px 6px);border:var(--rmx-tb-border, 1px solid transparent);border-radius:var(--rmx-tb-radius, var(--rmx-radius-inner));background:var(--rmx-tb-bg, transparent);color:var(--rmx-tb-color, var(--rmx-toolbar-icon));opacity:var(--rmx-tb-opacity, 1);cursor:pointer;transition:background var(--rmx-transition-fast),color var(--rmx-transition-fast),border-color var(--rmx-transition-fast),box-shadow var(--rmx-transition-fast);font-size:var(--rmx-font-size);line-height:1;white-space:nowrap}.rmx-toolbar-btn:hover{background:var(--rmx-tb-hover-bg, var(--rmx-toolbar-button-hover));color:var(--rmx-tb-hover-color, var(--rmx-text))}.rmx-toolbar-btn.rmx-active{background:var(--rmx-tb-active-bg, var(--rmx-toolbar-button-active));color:var(--rmx-tb-active-color, var(--rmx-toolbar-icon-active))}.rmx-toolbar-btn:focus-visible{outline:2px solid var(--rmx-focus-ring, #2563eb);outline-offset:-2px;border-radius:4px}.rmx-toolbar-btn:disabled,.rmx-toolbar-btn.rmx-disabled{opacity:.35;cursor:not-allowed}.rmx-toolbar-separator{width:var(--rmx-tb-sep-width, 1px);height:var(--rmx-tb-sep-height, 18px);background:var(--rmx-tb-sep-color, var(--rmx-border));margin:var(--rmx-tb-sep-margin, 0 6px);flex-shrink:0;opacity:.6}.rmx-toolbar-dropdown{position:relative;display:inline-flex}.rmx-toolbar-dropdown-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;min-width:auto}.rmx-toolbar-dropdown-label{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--rmx-font-size)}.rmx-toolbar-dropdown-menu{position:absolute;top:100%;left:0;margin-top:4px;min-width:140px;max-height:300px;overflow-y:auto;background:var(--rmx-modal-bg);border:1px solid var(--rmx-border);border-radius:var(--rmx-radius);box-shadow:var(--rmx-shadow-md);z-index:10000;padding:4px;animation:rmx-fade-in .1s ease}.rmx-toolbar-dropdown-item{display:block;width:100%;padding:7px 12px;border:none;border-radius:var(--rmx-radius-inner);background:transparent;color:var(--rmx-text);cursor:pointer;text-align:left;font-size:var(--rmx-font-size);transition:background var(--rmx-transition-fast)}.rmx-toolbar-dropdown-item:hover{background:var(--rmx-toolbar-button-hover)}.rmx-toolbar-dropdown-btn:focus-visible,.rmx-toolbar-dropdown-item:focus-visible{outline:2px solid var(--rmx-focus-ring, #2563eb);outline-offset:-2px;border-radius:4px}.rmx-toolbar-dropdown-item.rmx-active{background:var(--rmx-toolbar-button-active);color:var(--rmx-toolbar-icon-active);font-weight:500}.rmx-toolbar-colorpicker{position:relative;display:inline-flex}.rmx-color-palette{position:absolute;top:100%;left:0;margin-top:4px;background:var(--rmx-modal-bg);border:1px solid var(--rmx-border);border-radius:var(--rmx-radius);box-shadow:var(--rmx-shadow-md);z-index:10000;padding:10px;animation:rmx-fade-in .1s ease}.rmx-color-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin-bottom:10px}.rmx-color-swatch{width:22px;height:22px;border:1px solid rgba(0,0,0,.1);border-radius:4px;cursor:pointer;padding:0;transition:transform var(--rmx-transition-fast),box-shadow var(--rmx-transition-fast)}.rmx-color-swatch:hover{transform:scale(1.15);z-index:1;box-shadow:0 2px 6px #00000026}.rmx-color-swatch:focus-visible{outline:2px solid var(--rmx-focus-ring, #2563eb);outline-offset:-2px;border-radius:4px}.rmx-color-swatch.rmx-active{outline:2px solid var(--rmx-focus-ring);outline-offset:1px}.rmx-color-custom{padding-top:8px;border-top:1px solid var(--rmx-border-subtle);display:flex;align-items:center;gap:8px;font-size:12px;color:var(--rmx-text-secondary)}.rmx-color-custom input[type=color]{width:28px;height:24px;padding:0;border:1px solid var(--rmx-border);border-radius:4px;cursor:pointer}.rmx-edit-area{flex:1;position:relative;overflow:hidden;z-index:1}.rmx-content{padding:20px 24px;outline:none;font-size:var(--rmx-content-font-size);line-height:var(--rmx-content-line-height);color:var(--rmx-text);overflow-y:auto;word-wrap:break-word;overflow-wrap:break-word}.rmx-content.rmx-empty:before{content:attr(data-placeholder);color:var(--rmx-placeholder);pointer-events:none;position:absolute;font-style:normal;opacity:.7}.rmx-content.rmx-drag-over{background-color:#6366f10a;outline:2px dashed var(--rmx-primary);outline-offset:-2px}.rmx-drop-indicator{position:absolute;left:12px;right:12px;height:2px;background:var(--rmx-primary);border-radius:1px;pointer-events:none;z-index:50;transition:top .08s ease}.rmx-drop-indicator:before,.rmx-drop-indicator:after{content:"";position:absolute;top:-3px;width:8px;height:8px;background:var(--rmx-primary);border-radius:50%}.rmx-drop-indicator:before{left:-4px}.rmx-drop-indicator:after{right:-4px}.rmx-content .rmx-block-dragging{opacity:.3;transition:opacity .15s ease}.rmx-drag-ghost{background:var(--rmx-bg, #ffffff);border:1px solid var(--rmx-primary);border-radius:var(--rmx-radius-sm, 6px);box-shadow:var(--rmx-shadow-md);padding:8px 14px;max-width:400px;max-height:80px;overflow:hidden;opacity:.92;font-size:var(--rmx-content-font-size, 16px);line-height:var(--rmx-content-line-height, 1.7)}.rmx-drop-zone-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#6366f10f;border:2px dashed var(--rmx-primary);border-radius:var(--rmx-radius-sm, 6px);z-index:40;pointer-events:none;animation:rmx-fade-in .15s ease}.rmx-drop-zone-icon{width:40px;height:40px;color:var(--rmx-primary);opacity:.7}.rmx-drop-zone-text{font-size:14px;font-weight:500;color:var(--rmx-primary);opacity:.8}.rmx-drop-zone-hint{font-size:12px;color:var(--rmx-text-secondary);opacity:.7}.rmx-block-drag-handle{position:absolute;display:flex;align-items:center;justify-content:center;width:20px;height:24px;cursor:grab;color:var(--rmx-text-secondary);opacity:0;border-radius:4px;transition:opacity var(--rmx-transition-fast),background var(--rmx-transition-fast),color var(--rmx-transition-fast);z-index:30;user-select:none;-webkit-user-select:none}.rmx-block-drag-handle:hover{opacity:1!important;background:var(--rmx-toolbar-button-hover);color:var(--rmx-text)}.rmx-block-drag-handle:active{cursor:grabbing;background:var(--rmx-toolbar-button-active);color:var(--rmx-toolbar-icon-active)}.rmx-block-drag-handle.rmx-visible{opacity:.5}.rmx-content p{margin:0 0 .75em}.rmx-content h1,.rmx-content h2,.rmx-content h3,.rmx-content h4,.rmx-content h5,.rmx-content h6{margin:1.2em 0 .5em;font-weight:650;line-height:1.3;color:var(--rmx-text);letter-spacing:-.01em}.rmx-content h1{font-size:2em}.rmx-content h2{font-size:1.55em}.rmx-content h3{font-size:1.25em}.rmx-content h4{font-size:1.1em}.rmx-content h5{font-size:1em}.rmx-content h6{font-size:.9em;color:var(--rmx-text-secondary)}.rmx-content a{color:var(--rmx-primary);text-decoration:underline;text-decoration-color:#6366f159;text-underline-offset:2px;cursor:pointer;transition:text-decoration-color var(--rmx-transition-fast),color var(--rmx-transition-fast)}.rmx-content a:hover{color:var(--rmx-primary-hover);text-decoration-color:var(--rmx-primary-hover)}.rmx-content blockquote{margin:1em 0;padding:10px 20px;border-left:3px solid var(--rmx-primary);background:linear-gradient(135deg,#6366f10a,#6366f105);border-radius:0 var(--rmx-radius-inner) var(--rmx-radius-inner) 0;color:var(--rmx-text)}.rmx-content pre{margin:1em 0;padding:14px 18px;background:#f8fafc;border:1px solid var(--rmx-border-subtle);border-radius:var(--rmx-radius-inner);overflow-x:auto;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.875em;line-height:1.6}.rmx-content code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.875em;background:#6366f10f;padding:2px 5px;border-radius:3px}.rmx-content pre code{background:none;padding:0;border-radius:0}.rmx-content pre[data-language]{position:relative}.rmx-content pre .rmx-code-lang-label{position:absolute;top:6px;right:10px;font-size:.7em;text-transform:uppercase;letter-spacing:.05em;color:var(--rmx-text-secondary, #94a3b8);opacity:.6;pointer-events:none;-webkit-user-select:none;user-select:none}.rmx-content pre.rmx-has-line-numbers{padding-left:0}.rmx-content pre .rmx-line-numbers{display:inline-flex;flex-direction:column;text-align:right;padding:1em .75em 1em 1em;margin-right:1em;border-right:1px solid var(--rmx-border-subtle, #e2e8f0);color:var(--rmx-text-secondary, #94a3b8);opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none;min-width:2em;font-size:inherit;line-height:inherit;vertical-align:top}.rmx-content pre .rmx-line-numbers .rmx-line-number{display:block}.rmx-content pre{position:relative}.rmx-content pre .rmx-code-copy-btn{position:absolute;top:6px;right:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--rmx-border-subtle, #e2e8f0);border-radius:4px;background:var(--rmx-bg, #ffffff);color:var(--rmx-text-secondary, #94a3b8);font-size:14px;cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease,color .15s ease;z-index:2;line-height:1;padding:0}.rmx-content pre:hover .rmx-code-copy-btn{opacity:1}.rmx-content pre .rmx-code-copy-btn:hover{background:var(--rmx-bg-hover, #f1f5f9);color:var(--rmx-text, #1e293b)}.rmx-content pre .rmx-code-copy-btn.rmx-code-copy-success{opacity:1;color:#22c55e;border-color:#22c55e}.rmx-content code[data-language]:not(pre code){background:#6366f10f;padding:2px 5px;border-radius:3px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.875em}.rmx-syn-comment{color:#6a737d;font-style:italic}.rmx-syn-keyword{color:#d73a49;font-weight:600}.rmx-syn-string{color:#032f62}.rmx-syn-number{color:#005cc5}.rmx-syn-function{color:#6f42c1}.rmx-syn-operator{color:#d73a49}.rmx-syn-punctuation{color:#24292e}.rmx-syn-builtin,.rmx-syn-property{color:#005cc5}.rmx-syn-regex{color:#032f62}.rmx-syn-decorator{color:#e36209}.rmx-syn-type,.rmx-syn-selector{color:#22863a}.rmx-syn-atrule{color:#d73a49}.rmx-syn-variable{color:#e36209}.rmx-syn-tag{color:#22863a}.rmx-syn-attr-name{color:#6f42c1}.rmx-syn-attr-value{color:#032f62}.rmx-syn-entity{color:#005cc5}.rmx-syn-doctype{color:#6a737d}.rmx-content hr{border:none;border-top:1px solid var(--rmx-border);margin:1.5em 0}.rmx-content ul,.rmx-content ol{margin:.5em 0;padding-left:1.5em}.rmx-content li{margin:.3em 0}.rmx-content .rmx-task-list{list-style:none;padding-left:0}.rmx-content .rmx-task-list li{display:flex;align-items:flex-start;gap:8px}.rmx-content .rmx-task-checkbox{margin-top:5px;cursor:pointer;width:16px;height:16px;flex-shrink:0;accent-color:var(--rmx-primary)}.rmx-content img{max-width:100%;height:auto;cursor:pointer;border-radius:4px}.rmx-content img:hover{outline:2px solid var(--rmx-primary);outline-offset:2px}.rmx-content table.rmx-table{width:100%;border-collapse:collapse;margin:1em 0;border-radius:var(--rmx-radius-inner);overflow:hidden}.rmx-content table.rmx-table td,.rmx-content table.rmx-table th{border:1px solid var(--rmx-border);padding:10px 14px;min-width:60px;vertical-align:top}.rmx-content table.rmx-table th{background:var(--rmx-statusbar-bg);font-weight:600;color:var(--rmx-text);font-size:.92em;text-transform:none}.rmx-content table.rmx-table td:focus,.rmx-content table.rmx-table th:focus{outline:2px solid var(--rmx-primary);outline-offset:-2px}.rmx-content table.rmx-table thead th{position:sticky;top:0;z-index:2}.rmx-content table.rmx-table th.rmx-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.rmx-content table.rmx-table th.rmx-sortable:hover{background:var(--rmx-toolbar-button-hover)}.rmx-content table.rmx-table th[data-sort-dir]:after{margin-left:4px;font-size:.75em;opacity:.7}.rmx-content table.rmx-table th[data-sort-dir=asc]:after{content:"▲"}.rmx-content table.rmx-table th[data-sort-dir=desc]:after{content:"▼"}.rmx-content table.rmx-table th[data-sort-priority]:before{content:attr(data-sort-priority);font-size:.6em;vertical-align:super;margin-right:2px;opacity:.5}.rmx-col-resize-handle{position:absolute;cursor:col-resize;background:transparent;z-index:3;transition:background .15s}.rmx-col-resize-handle:hover{background:var(--rmx-primary);opacity:.4}.rmx-row-resize-handle{position:absolute;cursor:row-resize;background:transparent;z-index:3;transition:background .15s}.rmx-row-resize-handle:hover{background:var(--rmx-primary);opacity:.4}.rmx-table-resizing{-webkit-user-select:none;user-select:none}.rmx-filter-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);cursor:pointer;font-size:9px;opacity:.4;padding:2px;line-height:1;transition:opacity var(--rmx-transition-fast)}.rmx-filter-btn:hover,.rmx-filter-btn.rmx-filter-active{opacity:1;color:var(--rmx-primary)}.rmx-filter-dropdown{position:absolute;top:100%;right:0;z-index:10;background:var(--rmx-modal-bg);border:1px solid var(--rmx-border);border-radius:var(--rmx-radius-inner);box-shadow:var(--rmx-shadow-md);padding:6px;display:flex;gap:4px;min-width:140px}.rmx-filter-input{flex:1;padding:4px 6px;font-size:12px;border:1px solid var(--rmx-border);border-radius:var(--rmx-radius-inner);background:var(--rmx-bg);color:var(--rmx-text);outline:none}.rmx-filter-input:focus{border-color:var(--rmx-primary)}.rmx-filter-clear-btn{padding:4px 8px;font-size:11px;background:var(--rmx-toolbar-button-hover);border:1px solid var(--rmx-border);border-radius:var(--rmx-radius-inner);cursor:pointer;color:var(--rmx-text-secondary)}.rmx-filter-clear-btn:hover{color:var(--rmx-text)}.rmx-row-hidden{display:none}.rmx-content table.rmx-table td[data-formula],.rmx-content table.rmx-table th[data-formula]{background:#6366f10a}.rmx-content .rmx-embed-wrapper{position:relative;width:100%;padding-bottom:56.25%;margin:1em 0;background:#000;border-radius:var(--rmx-radius-inner);overflow:hidden}.rmx-content .rmx-embed-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.rmx-content mark.rmx-find-highlight{background:#fef08a;padding:1px 2px;border-radius:2px}.rmx-content mark.rmx-find-current{background:#f97316;color:#fff;padding:1px 2px;border-radius:2px}.rmx-floating-toolbar{position:absolute;display:flex;gap:1px;padding:4px 6px;background:var(--rmx-modal-bg);border:1px solid var(--rmx-border);border-radius:var(--rmx-radius);box-shadow:var(--rmx-shadow-float);z-index:100;animation:rmx-scale-in .15s ease;will-change:transform}.rmx-image-handles .rmx-handle-border{position:absolute;inset:0;border:2px solid var(--rmx-primary);border-radius:4px;pointer-events:none}.rmx-image-handle{position:absolute;width:10px;height:10px;background:var(--rmx-primary);border:2px solid white;border-radius:50%;box-shadow:0 1px 4px #00000026}.rmx-handle-nw{top:-5px;left:-5px;cursor:nw-resize}.rmx-handle-ne{top:-5px;right:-5px;cursor:ne-resize}.rmx-handle-sw{bottom:-5px;left:-5px;cursor:sw-resize}.rmx-handle-se{bottom:-5px;right:-5px;cursor:se-resize}.rmx-table-controls{display:flex;gap:2px;z-index:50}.rmx-table-control-btn{padding:3px 8px;font-size:11px;background:var(--rmx-modal-bg);border:1px solid var(--rmx-border);border-radius:var(--rmx-radius-inner);cursor:pointer;color:var(--rmx-text-secondary);box-shadow:var(--rmx-shadow-sm);transition:background var(--rmx-transition-fast),color var(--rmx-transition-fast)}.rmx-table-control-btn:hover{background:var(--rmx-toolbar-button-hover);color:var(--rmx-text)}.rmx-table-control-btn.rmx-danger{color:var(--rmx-danger)}.rmx-table-control-btn.rmx-danger:hover{background:var(--rmx-danger-light)}.rmx-codeblock-controls{font-family:var(--rmx-font-family)}.rmx-codeblock-lang-btn{padding:2px 8px;font-size:11px;background:var(--rmx-modal-bg);border:1px solid var(--rmx-border);border-radius:var(--rmx-radius-inner);cursor:pointer;color:var(--rmx-text-secondary);box-shadow:var(--rmx-shadow-sm);opacity:.7;transition:opacity var(--rmx-transition-fast),background var(--rmx-transition-fast)}.rmx-codeblock-lang-btn:hover{opacity:1;background:var(--rmx-toolbar-button-hover);color:var(--rmx-text)}.rmx-codeblock-lang-dropdown{position:absolute;top:100%;right:0;margin-top:4px;width:180px;max-height:240px;background:var(--rmx-modal-bg);border:1px solid var(--rmx-border);border-radius:var(--rmx-radius);box-shadow:var(--rmx-shadow-md);overflow:hidden;display:flex;flex-direction:column;z-index:100}.rmx-codeblock-lang-search{padding:6px 8px;border:none;border-bottom:1px solid var(--rmx-border);background:transparent;color:var(--rmx-text);font-size:12px;outline:none}.rmx-codeblock-lang-search::placeholder{color:var(--rmx-text-secondary)}.rmx-codeblock-lang-list{list-style:none;margin:0;padding:4px 0;overflow-y:auto;max-height:200px}.rmx-codeblock-lang-option{display:block;width:100%;text-align:left;padding:4px 10px;font-size:12px;border:none;background:none;color:var(--rmx-text);cursor:pointer}.rmx-codeblock-lang-option:hover{background:var(--rmx-toolbar-button-hover)}.rmx-codeblock-lang-option.rmx-active{background:var(--rmx-primary);color:#fff}.rmx-codeblock-lang-empty{padding:8px 10px;font-size:12px;color:var(--rmx-text-secondary);text-align:center}.rmx-statusbar{display:flex;gap:16px;padding:6px 14px;background:var(--rmx-statusbar-bg);border-top:1px solid var(--rmx-border-subtle);font-size:11.5px;color:var(--rmx-statusbar-text);flex-shrink:0;letter-spacing:.01em}.rmx-statusbar-item{display:inline-flex;align-items:center;gap:4px}.rmx-statusbar-sep{width:3px;height:3px;border-radius:50%;background:var(--rmx-statusbar-text);opacity:.5;flex-shrink:0}.rmx-statusbar-top{border-top:none;border-bottom:1px solid var(--rmx-border-subtle)}.rmx-wordcount-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:100;background:var(--rmx-modal-bg);border:1px solid var(--rmx-border);border-radius:8px;padding:8px 4px;box-shadow:0 4px 16px #0000001f;min-width:160px;font-size:12.5px}.rmx-wordcount-popover-row{display:flex;justify-content:space-between;align-items:center;padding:5px 12px;border-radius:4px}.rmx-wordcount-popover-row:hover{background:var(--rmx-hover-bg)}.rmx-wordcount-popover-label{color:var(--rmx-text-secondary)}.rmx-wordcount-popover-value{font-weight:600;font-variant-numeric:tabular-nums;color:var(--rmx-text)}.rmx-context-menu{position:fixed;min-width:190px;background:var(--rmx-modal-bg);border:1px solid var(--rmx-border);border-radius:var(--rmx-radius);box-shadow:var(--rmx-shadow-lg);z-index:10000;padding:4px;animation:rmx-scale-in .12s ease;will-change:transform}.rmx-context-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;border:none;background:transparent;color:var(--rmx-text);cursor:pointer;text-align:left;border-radius:var(--rmx-radius-inner);font-size:var(--rmx-font-size);transition:background var(--rmx-transition-fast)}.rmx-context-menu-item:hover{background:var(--rmx-toolbar-button-hover)}.rmx-context-menu-separator{height:1px;background:var(--rmx-border-subtle);margin:4px 0}.rmx-modal-overlay{position:fixed;inset:0;background:var(--rmx-modal-overlay);display:flex;align-items:center;justify-content:center;z-index:100000;animation:rmx-fade-in .15s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.rmx-modal{background:var(--rmx-modal-bg);border-radius:12px;width:90%;box-shadow:var(--rmx-shadow-lg);animation:rmx-slide-up .2s ease;border:1px solid var(--rmx-border);will-change:transform}.rmx-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--rmx-border-subtle)}.rmx-modal-title{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em}.rmx-modal-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:var(--rmx-radius-inner);background:transparent;cursor:pointer;color:var(--rmx-text-secondary);transition:background var(--rmx-transition-fast),color var(--rmx-transition-fast)}.rmx-modal-close:hover{background:var(--rmx-toolbar-button-hover);color:var(--rmx-text)}.rmx-modal-close:focus-visible{outline:2px solid var(--rmx-focus-ring, #2563eb);outline-offset:-2px;border-radius:4px}.rmx-modal-body{padding:22px}.rmx-modal-form{display:flex;flex-direction:column;gap:14px}.rmx-form-group{display:flex;flex-direction:column;gap:6px}.rmx-form-label{font-size:13px;font-weight:500;color:var(--rmx-text)}.rmx-form-input{padding:9px 12px;border:1px solid var(--rmx-border);border-radius:var(--rmx-radius-inner);font-size:14px;color:var(--rmx-text);background:var(--rmx-bg);outline:none;transition:border-color var(--rmx-transition-normal),box-shadow var(--rmx-transition-normal);font-family:var(--rmx-font-family)}.rmx-form-input:focus{border-color:var(--rmx-primary);box-shadow:0 0 0 3px #6366f11f}.rmx-form-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.rmx-form-checkbox input[type=checkbox]{accent-color:var(--rmx-primary)}.rmx-form-hint{font-size:12px;color:var(--rmx-text-secondary);margin:0}.rmx-modal-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:10px}.rmx-modal-actions-right{display:flex;gap:8px;margin-left:auto}.rmx-btn{padding:8px 16px;border:1px solid var(--rmx-border);border-radius:var(--rmx-radius-inner);background:var(--rmx-bg);color:var(--rmx-text);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--rmx-font-family);transition:background var(--rmx-transition-fast),border-color var(--rmx-transition-fast),box-shadow var(--rmx-transition-fast)}.rmx-btn:focus-visible{outline:2px solid var(--rmx-focus-ring, #2563eb);outline-offset:-2px;border-radius:4px}.rmx-btn:hover{background:var(--rmx-toolbar-button-hover);border-color:var(--rmx-border)}.rmx-btn-primary{background:var(--rmx-primary);color:#fff;border-color:var(--rmx-primary)}.rmx-btn-primary:hover{background:var(--rmx-primary-hover);border-color:var(--rmx-primary-hover)}.rmx-btn-primary:disabled{opacity:.5;cursor:not-allowed}.rmx-btn-danger{color:var(--rmx-danger);border-color:var(--rmx-danger)}.rmx-btn-danger:hover{background:var(--rmx-danger-light)}.rmx-btn-sm{padding:5px 10px;font-size:12px}.rmx-btn-upload{padding:12px 24px}.rmx-tabs{display:flex;gap:0;border-bottom:1px solid var(--rmx-border-subtle);margin-bottom:18px}.rmx-tab{padding:8px 16px;border:none;background:transparent;color:var(--rmx-text-secondary);cursor:pointer;font-size:13px;font-weight:500;border-bottom:2px solid transparent;transition:color var(--rmx-transition-fast),border-color var(--rmx-transition-fast)}.rmx-tab.rmx-active{color:var(--rmx-primary);border-bottom-color:var(--rmx-primary)}.rmx-tab:focus-visible{outline:2px solid var(--rmx-focus-ring, #2563eb);outline-offset:-2px;border-radius:4px}.rmx-tab:hover{color:var(--rmx-text)}.rmx-upload-area{text-align:center;padding:28px;border:2px dashed var(--rmx-border);border-radius:var(--rmx-radius);margin-bottom:16px;transition:border-color var(--rmx-transition-fast),background var(--rmx-transition-fast)}.rmx-upload-area:hover{border-color:var(--rmx-primary);background:#6366f105}.rmx-upload-hint{font-size:12px;color:var(--rmx-text-secondary);margin-top:10px}.rmx-table-picker{text-align:center}.rmx-table-grid{display:inline-grid;grid-template-rows:repeat(10,1fr);gap:3px;padding:4px}.rmx-table-grid-row{display:flex;gap:3px}.rmx-table-grid-cell{width:24px;height:24px;border:1px solid var(--rmx-border);border-radius:4px;cursor:pointer;transition:background var(--rmx-transition-fast),border-color var(--rmx-transition-fast)}.rmx-table-grid-cell.rmx-active{background:var(--rmx-primary-light);border-color:var(--rmx-primary)}.rmx-table-grid-cell:hover{background:var(--rmx-toolbar-button-hover)}.rmx-table-picker-info{margin-top:8px;font-size:12px;color:var(--rmx-text-secondary)}.rmx-source-textarea{width:100%;min-height:300px;padding:14px;border:1px solid var(--rmx-border);border-radius:var(--rmx-radius-inner);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.6;color:var(--rmx-text);background:var(--rmx-statusbar-bg);resize:vertical;outline:none;transition:border-color var(--rmx-transition-normal),box-shadow var(--rmx-transition-normal)}.rmx-source-textarea:focus{border-color:var(--rmx-primary);box-shadow:0 0 0 3px #6366f11f}.rmx-export-options{display:flex;flex-direction:column;gap:10px}.rmx-export-btn{display:flex;flex-direction:column;align-items:flex-start;padding:14px 18px;text-align:left;width:100%;border:1px solid var(--rmx-border);border-radius:var(--rmx-radius-inner);background:var(--rmx-bg);color:var(--rmx-text);cursor:pointer;transition:background var(--rmx-transition-fast),border-color var(--rmx-transition-fast)}.rmx-export-btn:hover{background:var(--rmx-toolbar-button-hover);border-color:var(--rmx-primary)}.rmx-export-btn:disabled{opacity:.5;cursor:wait}.rmx-export-btn-label{font-weight:600;font-size:14px}.rmx-export-btn-hint{font-size:12px;color:var(--rmx-text-secondary);margin-top:2px}.rmx-content.rmx-markdown-mode{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.rmx-find-replace-panel{position:absolute;top:0;right:0;background:var(--rmx-modal-bg);border:1px solid var(--rmx-border);border-radius:0 0 0 var(--rmx-radius);box-shadow:var(--rmx-shadow-md);padding:10px;z-index:90;display:flex;flex-direction:column;gap:6px;animation:rmx-fade-in .12s ease}.rmx-find-row{display:flex;align-items:center;gap:4px}.rmx-find-input{width:200px;padding:5px 8px!important;font-size:12px!important}.rmx-find-count{font-size:11px;color:var(--rmx-text-secondary);min-width:60px;text-align:center}.rmx-find-case{font-size:11px!important}.rmx-readonly-overlay{position:absolute;inset:0;cursor:not-allowed;z-index:5}.rmx-command-palette-overlay{position:fixed;inset:0;background:var(--rmx-modal-overlay);display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:100000;animation:rmx-fade-in .1s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.rmx-command-palette{width:90%;max-width:520px;background:var(--rmx-modal-bg);border:1px solid var(--rmx-border);border-radius:12px;box-shadow:var(--rmx-shadow-lg);animation:rmx-slide-up .15s ease;overflow:hidden}.rmx-command-palette-input-wrap{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--rmx-border-subtle)}.rmx-command-palette-search-icon{color:var(--rmx-text-secondary);flex-shrink:0;font-size:16px}.rmx-command-palette-input{flex:1;border:none;outline:none;background:transparent;font-size:15px;color:var(--rmx-text);font-family:var(--rmx-font-family)}.rmx-command-palette-input::placeholder{color:var(--rmx-text-secondary)}.rmx-command-palette-list{max-height:360px;overflow-y:auto;padding:6px}.rmx-command-palette-category{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--rmx-text-secondary);padding:8px 10px 4px;-webkit-user-select:none;user-select:none}.rmx-command-palette-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--rmx-radius-inner);cursor:pointer;transition:background var(--rmx-transition-fast);-webkit-user-select:none;user-select:none}.rmx-command-palette-item:hover,.rmx-command-palette-item.rmx-active{background:var(--rmx-toolbar-button-hover)}.rmx-command-palette-item-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--rmx-radius-inner);background:var(--rmx-statusbar-bg);border:1px solid var(--rmx-border-subtle);font-size:12px;font-weight:600;color:var(--rmx-text-secondary);flex-shrink:0}.rmx-command-palette-item-text{flex:1;min-width:0}.rmx-command-palette-item-label{font-size:13px;font-weight:500;color:var(--rmx-text)}.rmx-command-palette-item-desc{font-size:11px;color:var(--rmx-text-secondary)}.rmx-command-palette-shortcut{font-size:11px;color:var(--rmx-text-secondary);background:var(--rmx-statusbar-bg);border:1px solid var(--rmx-border-subtle);padding:2px 6px;border-radius:4px;font-family:var(--rmx-font-family);white-space:nowrap;flex-shrink:0}.rmx-command-palette-empty{padding:24px 10px;text-align:center;font-size:13px;color:var(--rmx-text-secondary)}.rmx-command-palette-hint{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 16px;border-top:1px solid var(--rmx-border-subtle);font-size:11px;color:var(--rmx-text-secondary)}.rmx-command-palette-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 4px;background:var(--rmx-statusbar-bg);border:1px solid var(--rmx-border-subtle);border-radius:3px;font-size:10px;font-family:var(--rmx-font-family)}@keyframes rmx-fade-in{0%{opacity:0}to{opacity:1}}@keyframes rmx-slide-up{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes rmx-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.rmx-icon{flex-shrink:0}.rmx-floating-toolbar-touch .rmx-toolbar-btn{min-width:44px;min-height:44px}.rmx-floating-toolbar-grip{display:none;align-items:center;justify-content:center;width:100%;height:12px;cursor:grab;color:var(--rmx-text-secondary);touch-action:none;user-select:none;-webkit-user-select:none;padding:2px 0}.rmx-floating-toolbar-grip:active{cursor:grabbing}.rmx-toolbar-overflow-container{position:relative;display:inline-flex}.rmx-toolbar-overflow-btn{font-size:16px;font-weight:700;letter-spacing:2px;min-width:36px}.rmx-toolbar-overflow-menu{position:absolute;top:100%;right:0;display:flex;flex-wrap:wrap;gap:1px;padding:6px;background:var(--rmx-modal-bg);border:1px solid var(--rmx-border);border-radius:var(--rmx-radius);box-shadow:var(--rmx-shadow-float);z-index:200;min-width:200px;max-width:320px;animation:rmx-scale-in .12s ease}.rmx-drag-ghost{background:var(--rmx-modal-bg);border:1px solid var(--rmx-primary);border-radius:var(--rmx-radius);padding:8px 12px;font-size:13px;color:var(--rmx-text);box-shadow:var(--rmx-shadow-float);opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.rmx-touch-drop-indicator{height:3px;background:var(--rmx-primary);border-radius:2px;margin:2px 0;pointer-events:none;animation:rmx-fade-in .1s ease}.rmx-pinch-zoom-reset{position:absolute;top:8px;right:8px;z-index:50;padding:6px 12px;font-size:12px;font-family:var(--rmx-font-family);color:var(--rmx-primary);background:var(--rmx-modal-bg);border:1px solid var(--rmx-border);border-radius:var(--rmx-radius);box-shadow:var(--rmx-shadow-float);cursor:pointer;transition:background var(--rmx-transition-fast)}.rmx-pinch-zoom-reset:hover{background:var(--rmx-toolbar-button-hover)}@media(max-width:600px){.rmx-toolbar-inner{gap:1px}.rmx-toolbar-btn{min-width:44px;min-height:44px;padding:6px}.rmx-toolbar-dropdown-label{max-width:60px}.rmx-content{padding:14px}.rmx-modal{width:95%}.rmx-find-input{width:120px}.rmx-context-menu-item{min-height:44px;padding:10px 16px;font-size:15px}.rmx-floating-toolbar{padding:6px 8px;gap:2px}.rmx-floating-toolbar .rmx-toolbar-btn{min-width:44px;min-height:44px}.rmx-floating-toolbar-grip{display:flex}}@media(pointer:coarse){.rmx-toolbar-btn{min-width:44px;min-height:44px}.rmx-block-drag-handle,.rmx-block-drag-handle-touch{width:44px;height:44px;left:-44px}.rmx-block-drag-handle svg{width:20px;height:20px}.rmx-block-drag-handle.rmx-visible{opacity:.7}.rmx-context-menu-item{min-height:44px;padding:10px 16px}.rmx-floating-toolbar-grip{display:flex}}.rmx-inline-flex-relative{position:relative;display:inline-flex}.rmx-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.rmx-upload-filename{margin-top:4px;font-weight:500}.rmx-form-error{color:var(--rmx-error, #dc2626)}.rmx-import-preview{max-height:200px;overflow:auto;border:1px solid var(--rmx-border, #e2e8f0);border-radius:var(--rmx-radius-inner, 4px);padding:8px 12px;font-size:13px;line-height:1.5;background:var(--rmx-surface, #fff)}.rmx-radio-group{display:flex;gap:8px}.rmx-radio-label{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:13px}.rmx-attachment{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;margin:2px 4px;background:var(--rmx-primary-light, #e0e7ff);color:var(--rmx-primary, #6366f1);border-radius:var(--rmx-radius-inner, 4px);font-size:13px;font-family:var(--rmx-font-family);text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease;line-height:1.4}.rmx-attachment:hover{background:var(--rmx-selection, #c7d2fe);color:var(--rmx-primary-hover, #4f46e5);text-decoration:none}.rmx-attachment:active{opacity:.85}.rmx-save-status{display:inline-flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}.rmx-save-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;transition:background .2s ease}.rmx-save-status--saved .rmx-save-status-dot{background:var(--rmx-save-saved)}.rmx-save-status--saving .rmx-save-status-dot{background:var(--rmx-save-saving);animation:rmx-pulse 1.2s ease-in-out infinite}.rmx-save-status--unsaved .rmx-save-status-dot{background:var(--rmx-save-unsaved)}.rmx-save-status--error .rmx-save-status-dot{background:var(--rmx-save-error)}.rmx-save-status-label{font-size:12px;color:var(--rmx-statusbar-text);line-height:1}@keyframes rmx-pulse{0%,to{opacity:1}50%{opacity:.4}}.rmx-recovery-banner{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--rmx-recovery-bg);border-bottom:1px solid var(--rmx-recovery-border);color:var(--rmx-recovery-text);font-size:13px;line-height:1.4;gap:12px}.rmx-recovery-banner-icon{flex-shrink:0;width:16px;height:16px;color:var(--rmx-recovery-text)}.rmx-recovery-banner-text{flex:1;min-width:0}.rmx-recovery-banner-actions{display:flex;gap:8px;flex-shrink:0}.rmx-recovery-btn{padding:4px 12px;border-radius:var(--rmx-radius-sm);font-size:12px;font-weight:500;cursor:pointer;border:none;transition:background .15s ease,color .15s ease;line-height:1.4}.rmx-recovery-btn--restore{background:var(--rmx-primary);color:#fff}.rmx-recovery-btn--restore:hover{background:var(--rmx-primary-hover)}.rmx-recovery-btn--dismiss{background:transparent;color:var(--rmx-recovery-text);border:1px solid var(--rmx-recovery-border)}.rmx-recovery-btn--dismiss:hover{background:#0000000d}.rmx-tooltip-wrap{position:relative;display:inline-flex}.rmx-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:5px 10px;background:var(--rmx-text, #1e293b);color:#fff;font-size:11.5px;font-weight:500;white-space:nowrap;border-radius:var(--rmx-radius-inner, 4px);box-shadow:var(--rmx-shadow-sm);z-index:10001;pointer-events:none;animation:rmx-tooltip-in .12s ease;line-height:1.4}.rmx-tooltip-arrow{position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:8px;height:4px;overflow:hidden}.rmx-tooltip-arrow:before{content:"";display:block;width:6px;height:6px;margin:0 auto;background:var(--rmx-text, #1e293b);transform:rotate(45deg);transform-origin:center center}@keyframes rmx-tooltip-in{0%{opacity:0;transform:translate(-50%) translateY(2px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.rmx-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--rmx-border, #e2e8f0);border-top-color:var(--rmx-primary, #6366f1);border-radius:50%;animation:rmx-spin .6s linear infinite}.rmx-floating-toolbar .rmx-toolbar-btn:focus-visible,.rmx-context-menu-item:focus-visible{outline:2px solid var(--rmx-focus-ring, #6366f1);outline-offset:-2px;border-radius:var(--rmx-radius-inner, 4px)}.rmx-context-menu-item.rmx-focused{background:var(--rmx-toolbar-button-hover)}.rmx-statusbar-dirty{display:inline-flex;align-items:center;gap:4px;color:var(--rmx-primary, #6366f1);font-weight:600}.rmx-statusbar-dirty-dot{width:6px;height:6px;border-radius:50%;background:var(--rmx-primary, #6366f1)}@media print{.rmx-toolbar,.rmx-menubar,.rmx-statusbar,.rmx-recovery-banner,.rmx-modal-overlay,.rmx-command-palette,.rmx-context-menu,.rmx-code-copy-btn,.rmx-code-lang-label,.rmx-table-filter-dropdown{display:none!important}.rmx-editor{border:none!important;box-shadow:none!important;contain:none!important;max-height:none!important;overflow:visible!important;background:#fff!important;color:#000!important}.rmx-content{padding:0!important;max-height:none!important;overflow:visible!important}.rmx-content h1,.rmx-content h2,.rmx-content h3,.rmx-content h4,.rmx-content h5,.rmx-content h6{page-break-after:avoid;break-after:avoid}.rmx-content p,.rmx-content li,.rmx-content blockquote{orphans:3;widows:3}.rmx-content table,.rmx-content figure,.rmx-content img,.rmx-content pre{page-break-inside:avoid;break-inside:avoid}.rmx-content img{max-width:100%!important}.rmx-content pre{white-space:pre-wrap!important;word-wrap:break-word!important;border:1px solid #ccc!important;background:#f9f9f9!important}.rmx-content table{border-collapse:collapse!important}.rmx-content th,.rmx-content td{border:1px solid #999!important}.rmx-content a[href]:after{content:" (" attr(href) ")";font-size:.85em;color:#666;font-style:italic}.rmx-content a[href^="#"]:after,.rmx-content a[href^=javascript]:after{content:""}.rmx-content pre .rmx-line-numbers{opacity:1!important;color:#999!important}}.rmx-content [dir=rtl]{text-align:right}.rmx-content [dir=rtl] ul,.rmx-content [dir=rtl] ol{padding-left:0;padding-right:1.5em}.rmx-content [dir=rtl] blockquote{border-left:none;border-right:3px solid var(--rmx-border);padding-left:0;padding-right:16px;margin-left:0;margin-right:0}.rmx-content [dir=rtl] .rmx-task-checkbox{margin-left:8px;margin-right:0}.rmx-content ul{list-style-type:disc}.rmx-content ul ul{list-style-type:circle}.rmx-content ul ul ul{list-style-type:square}.rmx-content ul ul ul ul{list-style-type:disc}.rmx-content ul ul ul ul ul{list-style-type:circle}.rmx-content ol{list-style-type:decimal}.rmx-content ol ol{list-style-type:lower-alpha}.rmx-content ol ol ol{list-style-type:lower-roman}.rmx-content ol ol ol ol{list-style-type:decimal}.rmx-content ol ol ol ol ol{list-style-type:lower-alpha}.rmx-image-alt-overlay{position:absolute;bottom:8px;left:8px;display:flex;align-items:center;gap:4px;z-index:10}.rmx-image-alt-input{padding:4px 8px;font-size:12px;border:1px solid var(--rmx-border);border-radius:var(--rmx-radius-inner);background:var(--rmx-modal-bg);color:var(--rmx-text);min-width:120px;max-width:250px;box-shadow:var(--rmx-shadow-sm)}.rmx-image-alt-input:focus{outline:none;border-color:var(--rmx-primary);box-shadow:0 0 0 2px #6366f133}.rmx-image-alt-label{font-size:11px;color:var(--rmx-text-secondary);background:var(--rmx-modal-bg);padding:2px 6px;border-radius:var(--rmx-radius-inner);border:1px solid var(--rmx-border);box-shadow:var(--rmx-shadow-sm);white-space:nowrap}.rmx-embed-preview{margin-top:12px;border:1px solid var(--rmx-border);border-radius:var(--rmx-radius);overflow:hidden;background:var(--rmx-bg)}.rmx-embed-preview iframe{width:100%;height:200px;border:none}.rmx-embed-preview-placeholder{padding:24px;text-align:center;color:var(--rmx-text-secondary);font-size:13px}.rmx-content details.rmx-collapsible{border:1px solid var(--rmx-border, #e2e8f0);border-radius:var(--rmx-radius-inner, 4px);padding:0;margin:8px 0;transition:border-color var(--rmx-transition-fast, .15s)}.rmx-content details.rmx-collapsible>summary{display:flex;align-items:center;gap:6px;padding:8px 12px;cursor:pointer;font-weight:500;background:var(--rmx-statusbar-bg, #f8fafc);border-radius:var(--rmx-radius-inner, 4px);-webkit-user-select:none;user-select:none;list-style:none}.rmx-content details.rmx-collapsible>summary::-webkit-details-marker{display:none}.rmx-content details.rmx-collapsible>summary:before{content:"";display:inline-block;width:0;height:0;border-left:5px solid var(--rmx-text-secondary, #64748b);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform var(--rmx-transition-fast, .15s);flex-shrink:0}.rmx-content details.rmx-collapsible[open]>summary:before{transform:rotate(90deg)}.rmx-content details.rmx-collapsible>:not(summary){padding:8px 12px}.rmx-content details.rmx-collapsible:hover{border-color:var(--rmx-primary, #6366f1)}.rmx-content .rmx-block-group{border:2px dashed var(--rmx-border, #e2e8f0);border-radius:var(--rmx-radius, 8px);padding:8px;margin:8px 0;position:relative;transition:border-color var(--rmx-transition-fast, .15s)}.rmx-content .rmx-block-group:hover{border-color:var(--rmx-primary, #6366f1)}.rmx-content .rmx-block-selected{outline:2px solid var(--rmx-primary, #6366f1);outline-offset:2px;border-radius:2px}.rmx-block-toolbar{pointer-events:auto;animation:rmx-fade-in .1s ease}@keyframes rmx-modal-enter{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes rmx-modal-exit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}.rmx-modal-overlay{animation:rmx-fade-in .2s ease}.rmx-modal-container,.rmx-modal{animation:rmx-modal-enter .2s cubic-bezier(.16,1,.3,1)}.rmx-modal-container.rmx-modal-closing,.rmx-modal.rmx-modal-closing{animation:rmx-modal-exit .15s ease forwards}@keyframes rmx-block-reorder{0%{opacity:.6;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.rmx-block-reordered{animation:rmx-block-reorder .2s ease}.rmx-toolbar-btn{transition:background-color var(--rmx-transition-fast),color var(--rmx-transition-fast),transform .1s ease,box-shadow var(--rmx-transition-fast)}.rmx-toolbar-btn:hover{transform:translateY(-1px)}.rmx-toolbar-btn:active{transform:translateY(0) scale(.96)}@keyframes rmx-dropdown-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.rmx-color-palette,.rmx-toolbar-dropdown-menu,.rmx-toolbar-overflow-menu{animation:rmx-dropdown-enter .15s ease}.rmx-toolbar{position:sticky;top:0;z-index:20}.rmx-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--rmx-placeholder, #94a3b8);text-align:center;-webkit-user-select:none;user-select:none;animation:rmx-fade-in .3s ease}.rmx-empty-state-icon{width:64px;height:64px;margin-bottom:16px;opacity:.4}.rmx-empty-state-icon svg{width:100%;height:100%;fill:currentColor}.rmx-empty-state-text{font-size:15px;font-weight:500;line-height:1.5}.rmx-empty-state-hint{font-size:13px;margin-top:6px;opacity:.7}.rmx-editor.rmx-distraction-free .rmx-toolbar,.rmx-editor.rmx-distraction-free .rmx-statusbar,.rmx-editor.rmx-distraction-free .rmx-menubar{opacity:0;pointer-events:none;transition:opacity .3s ease}.rmx-editor.rmx-distraction-free:hover .rmx-toolbar,.rmx-editor.rmx-distraction-free:hover .rmx-statusbar,.rmx-editor.rmx-distraction-free:hover .rmx-menubar,.rmx-editor.rmx-distraction-free.rmx-df-show-chrome .rmx-toolbar,.rmx-editor.rmx-distraction-free.rmx-df-show-chrome .rmx-statusbar,.rmx-editor.rmx-distraction-free.rmx-df-show-chrome .rmx-menubar{opacity:1;pointer-events:auto}.rmx-breadcrumb-bar{display:flex;align-items:center;gap:4px;padding:4px 12px;font-size:12px;color:var(--rmx-text-secondary, #64748b);background:var(--rmx-statusbar-bg, #f8fafc);border-bottom:1px solid var(--rmx-border-subtle, #f1f5f9);overflow-x:auto;white-space:nowrap;min-height:24px}.rmx-breadcrumb-item{cursor:default;padding:1px 4px;border-radius:3px;transition:background-color var(--rmx-transition-fast)}.rmx-breadcrumb-item:hover{background:var(--rmx-toolbar-button-hover, #f1f5f9)}.rmx-breadcrumb-separator{opacity:.5;font-size:10px}.rmx-minimap{position:absolute;top:0;right:0;width:100px;height:100%;background:var(--rmx-statusbar-bg, #f8fafc);border-left:1px solid var(--rmx-border-subtle, #f1f5f9);overflow:hidden;cursor:pointer;z-index:5;opacity:.8;transition:opacity var(--rmx-transition-fast)}.rmx-minimap:hover{opacity:1}.rmx-minimap-content{transform-origin:top left;pointer-events:none;font-size:2px;line-height:1.2;padding:4px;color:var(--rmx-text, #1e293b);overflow:hidden}.rmx-minimap-viewport{position:absolute;left:0;right:0;background:var(--rmx-primary-light, #e0e7ff);opacity:.4;border-radius:2px;pointer-events:none}.rmx-editor.rmx-split-view .rmx-editor-body{display:flex;flex-direction:row}.rmx-editor.rmx-split-view .rmx-edit-area{flex:1;min-width:0}.rmx-split-preview{flex:1;min-width:0;border-left:1px solid var(--rmx-border, #e2e8f0);padding:16px;overflow-y:auto;font-size:var(--rmx-content-font-size, 16px);line-height:var(--rmx-content-line-height, 1.7);color:var(--rmx-text, #1e293b);background:var(--rmx-bg, #ffffff);font-family:SF Mono,Fira Code,Cascadia Code,monospace;white-space:pre-wrap;word-break:break-word}.rmx-split-preview-label{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--rmx-text-secondary, #64748b);background:var(--rmx-statusbar-bg, #f8fafc);border-bottom:1px solid var(--rmx-border-subtle, #f1f5f9)}.rmx-toolbar.rmx-toolbar-customizable .rmx-toolbar-btn{cursor:grab}.rmx-toolbar.rmx-toolbar-customizable .rmx-toolbar-btn:active{cursor:grabbing}.rmx-toolbar-btn.rmx-toolbar-drag-over{box-shadow:-2px 0 0 0 var(--rmx-primary, #6366f1)}.rmx-toolbar-btn.rmx-dragging{opacity:.4}.rmx-typography-dropdown{position:relative;display:inline-flex}.rmx-typography-menu{position:absolute;top:100%;left:0;z-index:30;background:var(--rmx-modal-bg, #ffffff);border:1px solid var(--rmx-border, #e2e8f0);border-radius:var(--rmx-radius-sm, 6px);box-shadow:var(--rmx-shadow-md);padding:8px;min-width:200px;animation:rmx-dropdown-enter .15s ease}.rmx-typography-row{display:flex;align-items:center;gap:8px;padding:4px 0}.rmx-typography-row label{font-size:12px;color:var(--rmx-text-secondary, #64748b);min-width:90px}.rmx-typography-row select,.rmx-typography-row input{flex:1;padding:3px 6px;border:1px solid var(--rmx-border, #e2e8f0);border-radius:var(--rmx-radius-sm, 6px);font-size:12px;background:var(--rmx-bg, #ffffff);color:var(--rmx-text, #1e293b)}@media(prefers-reduced-motion:reduce){.rmx-editor *,.rmx-editor *:before,.rmx-editor *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(forced-colors:active){.rmx-toolbar-btn{border:1px solid ButtonText}.rmx-toolbar-btn:focus-visible{outline:2px solid Highlight}}.rmx-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:var(--rmx-radius, 8px);font-size:13px;font-family:var(--rmx-font-family);font-weight:500;z-index:100002;pointer-events:none;animation:rmx-toast-in .25s ease,rmx-toast-out .25s ease forwards;box-shadow:var(--rmx-shadow-md);white-space:nowrap}.rmx-toast--info{background:var(--rmx-text, #1e293b);color:#fff}.rmx-toast--success{background:#16a34a;color:#fff}.rmx-toast--warning{background:#f59e0b;color:#1e293b}@keyframes rmx-toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes rmx-toast-out{0%,75%{opacity:1}to{opacity:0}}.rmx-loading-spinner{display:flex;align-items:center;justify-content:center;padding:12px}.rmx-loading-spinner:after{content:"";width:20px;height:20px;border:2px solid var(--rmx-border, #e2e8f0);border-top-color:var(--rmx-primary, #6366f1);border-radius:50%;animation:rmx-spin .6s linear infinite}@keyframes rmx-spin{to{transform:rotate(360deg)}}.rmx-color-presets{border-top:1px solid var(--rmx-border-subtle, #f1f5f9);padding:4px 8px}.rmx-color-preset-row{display:flex;align-items:center;gap:4px;margin-bottom:2px}.rmx-color-preset-name{font-size:11px;flex:1}.rmx-color-preset-swatches{display:flex;gap:1px}.rmx-color-preset-swatch{width:12px;height:12px;border:1px solid #ccc;border-radius:2px;cursor:pointer;padding:0}.rmx-color-preset-save-btn{font-size:11px;color:var(--rmx-primary, #6366f1);background:none;border:none;cursor:pointer;padding:2px 0}.rmx-color-preset-save-form{display:flex;gap:4px;margin-top:4px}.rmx-color-preset-save-input{flex:1;font-size:11px;padding:2px 4px;border:1px solid var(--rmx-border, #e2e8f0);border-radius:3px}.rmx-color-preset-save-confirm{font-size:11px;padding:2px 6px;cursor:pointer}.rmx-color-default-btn{display:block;width:100%;padding:4px 8px;margin-bottom:6px;background:none;border:1px solid var(--rmx-border, #e2e8f0);border-radius:var(--rmx-radius-inner, 4px);cursor:pointer;font-size:12px;color:var(--rmx-text-secondary, #64748b);text-align:center;transition:background var(--rmx-transition-fast)}.rmx-color-default-btn:hover{background:var(--rmx-toolbar-button-hover, #f1f5f9)}.rmx-replace-warning{color:var(--rmx-danger, #ef4444);font-size:12px;margin-top:4px;font-weight:500}.rmx-embed-loading-container{position:relative}.rmx-embed-loading-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--rmx-text-secondary, #64748b);font-size:13px}.rmx-image-url-preview{margin-top:8px;text-align:center}.rmx-image-url-preview img{max-width:100%;max-height:120px;border:1px solid var(--rmx-border, #e2e8f0);border-radius:var(--rmx-radius-inner, 4px)}.rmx-image-url-preview-error{font-size:12px;color:var(--rmx-danger, #ef4444)}.rmx-editor.rmx-theme-dark{--rmx-bg: #09090b;--rmx-text: #e2e8f0;--rmx-text-secondary: #94a3b8;--rmx-border: #1e293b;--rmx-border-subtle: #1e293b;--rmx-toolbar-bg: #0f0f12;--rmx-toolbar-border: #1e293b;--rmx-toolbar-button-hover: #1e293b;--rmx-toolbar-button-active: #312e81;--rmx-toolbar-icon: #94a3b8;--rmx-toolbar-icon-active: #a5b4fc;--rmx-primary: #818cf8;--rmx-primary-hover: #6366f1;--rmx-primary-light: rgba(99, 102, 241, .15);--rmx-focus-ring: #818cf8;--rmx-selection: #312e81;--rmx-danger: #f87171;--rmx-danger-light: rgba(248, 113, 113, .1);--rmx-placeholder: #475569;--rmx-modal-bg: #111113;--rmx-modal-overlay: rgba(0, 0, 0, .65);--rmx-statusbar-bg: #0f0f12;--rmx-statusbar-text: #64748b;--rmx-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--rmx-shadow-md: 0 4px 16px rgba(0, 0, 0, .35), 0 1px 3px rgba(0, 0, 0, .2);--rmx-shadow-lg: 0 12px 40px rgba(0, 0, 0, .45), 0 4px 12px rgba(0, 0, 0, .25);--rmx-shadow-float: 0 8px 30px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .2);--rmx-pre-bg: #111113;--rmx-code-bg: rgba(129, 140, 248, .1);--rmx-blockquote-bg: linear-gradient(135deg, rgba(129, 140, 248, .06), rgba(129, 140, 248, .03));--rmx-table-th-bg: #111113;--rmx-find-highlight-bg: #854d0e;--rmx-find-highlight-text: #fef3c7;--rmx-find-current-bg: #f97316;--rmx-find-current-text: #09090b;--rmx-link-decoration: rgba(129, 140, 248, .35);--rmx-code-editor-bg: #09090b;--rmx-code-gutter-bg: #0f0f12;--rmx-code-gutter-border: #1e293b;--rmx-code-caret: #e2e8f0}.rmx-editor.rmx-theme-dark .rmx-code-editor{background:#09090b}.rmx-editor.rmx-theme-dark .rmx-code-gutter{background:#0f0f12;border-right-color:#1e293b}.rmx-editor.rmx-theme-dark .rmx-code-input{caret-color:#e2e8f0}.rmx-editor.rmx-theme-dark .rmx-syn-tag{color:#7ee787}.rmx-editor.rmx-theme-dark .rmx-syn-attr-name{color:#d2a8ff}.rmx-editor.rmx-theme-dark .rmx-syn-attr-value{color:#a5d6ff}.rmx-editor.rmx-theme-dark .rmx-syn-comment{color:#8b949e;font-style:italic}.rmx-editor.rmx-theme-dark .rmx-syn-entity{color:#a5d6ff}.rmx-editor.rmx-theme-dark .rmx-syn-doctype{color:#8b949e}.rmx-editor.rmx-theme-dark .rmx-syn-heading{color:#7ee787;font-weight:600}.rmx-editor.rmx-theme-dark .rmx-syn-bold,.rmx-editor.rmx-theme-dark .rmx-syn-italic{color:#e2e8f0}.rmx-editor.rmx-theme-dark .rmx-syn-code{color:#ffa657;background:#ffffff0f}.rmx-editor.rmx-theme-dark .rmx-syn-code-fence{color:#8b949e}.rmx-editor.rmx-theme-dark .rmx-syn-link{color:#58a6ff}.rmx-editor.rmx-theme-dark .rmx-syn-url{color:#a5d6ff}.rmx-editor.rmx-theme-dark .rmx-syn-image{color:#d2a8ff}.rmx-editor.rmx-theme-dark .rmx-syn-list-marker{color:#ffa657;font-weight:600}.rmx-editor.rmx-theme-dark .rmx-syn-blockquote{color:#8b949e}.rmx-editor.rmx-theme-dark .rmx-syn-hr{color:#6e7681}.rmx-editor.rmx-theme-dark .rmx-syn-keyword{color:#ff7b72}.rmx-editor.rmx-theme-dark .rmx-syn-string{color:#a5d6ff}.rmx-editor.rmx-theme-dark .rmx-syn-number{color:#79c0ff}.rmx-editor.rmx-theme-dark .rmx-syn-function{color:#d2a8ff}.rmx-editor.rmx-theme-dark .rmx-syn-operator{color:#ff7b72}.rmx-editor.rmx-theme-dark .rmx-syn-punctuation{color:#c9d1d9}.rmx-editor.rmx-theme-dark .rmx-syn-builtin,.rmx-editor.rmx-theme-dark .rmx-syn-property{color:#79c0ff}.rmx-editor.rmx-theme-dark .rmx-syn-regex{color:#a5d6ff}.rmx-editor.rmx-theme-dark .rmx-syn-decorator{color:#ffa657}.rmx-editor.rmx-theme-dark .rmx-syn-type,.rmx-editor.rmx-theme-dark .rmx-syn-selector{color:#7ee787}.rmx-editor.rmx-theme-dark .rmx-syn-atrule{color:#ff7b72}.rmx-editor.rmx-theme-dark .rmx-syn-variable{color:#ffa657}.rmx-editor.rmx-theme-ocean{--rmx-bg: #0f172a;--rmx-text: #e2e8f0;--rmx-text-secondary: #94a3b8;--rmx-border: #1e3a5f;--rmx-border-subtle: #1e3a5f;--rmx-toolbar-bg: #0c1426;--rmx-toolbar-border: #1e3a5f;--rmx-toolbar-button-hover: #1e3a5f;--rmx-toolbar-button-active: #1e4976;--rmx-toolbar-icon: #94a3b8;--rmx-toolbar-icon-active: #38bdf8;--rmx-primary: #0ea5e9;--rmx-primary-hover: #0284c7;--rmx-primary-light: rgba(14, 165, 233, .15);--rmx-focus-ring: #0ea5e9;--rmx-selection: #0c4a6e;--rmx-danger: #f87171;--rmx-danger-light: rgba(248, 113, 113, .1);--rmx-placeholder: #475569;--rmx-modal-bg: #0c1426;--rmx-modal-overlay: rgba(0, 0, 0, .6);--rmx-statusbar-bg: #0c1426;--rmx-statusbar-text: #64748b;--rmx-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--rmx-shadow-md: 0 4px 16px rgba(0, 0, 0, .35), 0 1px 3px rgba(0, 0, 0, .2);--rmx-shadow-lg: 0 12px 40px rgba(0, 0, 0, .45), 0 4px 12px rgba(0, 0, 0, .25);--rmx-shadow-float: 0 8px 30px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .2);--rmx-pre-bg: #0c1426;--rmx-code-bg: rgba(14, 165, 233, .1);--rmx-blockquote-bg: linear-gradient(135deg, rgba(14, 165, 233, .06), rgba(14, 165, 233, .03));--rmx-table-th-bg: #0c1426;--rmx-find-highlight-bg: #854d0e;--rmx-find-highlight-text: #fef3c7;--rmx-find-current-bg: #f97316;--rmx-find-current-text: #0f172a;--rmx-link-decoration: rgba(14, 165, 233, .35);--rmx-code-editor-bg: #0f172a;--rmx-code-gutter-bg: #0c1426;--rmx-code-gutter-border: #1e3a5f;--rmx-code-caret: #e2e8f0}.rmx-editor.rmx-theme-ocean .rmx-code-editor{background:#0f172a}.rmx-editor.rmx-theme-ocean .rmx-code-gutter{background:#0c1426;border-right-color:#1e3a5f}.rmx-editor.rmx-theme-ocean .rmx-code-input{caret-color:#e2e8f0}.rmx-editor.rmx-theme-ocean .rmx-syn-tag{color:#38bdf8}.rmx-editor.rmx-theme-ocean .rmx-syn-attr-name{color:#a5b4fc}.rmx-editor.rmx-theme-ocean .rmx-syn-attr-value{color:#67e8f9}.rmx-editor.rmx-theme-ocean .rmx-syn-comment{color:#64748b;font-style:italic}.rmx-editor.rmx-theme-ocean .rmx-syn-entity{color:#67e8f9}.rmx-editor.rmx-theme-ocean .rmx-syn-doctype{color:#64748b}.rmx-editor.rmx-theme-ocean .rmx-syn-heading{color:#38bdf8;font-weight:600}.rmx-editor.rmx-theme-ocean .rmx-syn-bold,.rmx-editor.rmx-theme-ocean .rmx-syn-italic{color:#e2e8f0}.rmx-editor.rmx-theme-ocean .rmx-syn-code{color:#22d3ee;background:#ffffff0f}.rmx-editor.rmx-theme-ocean .rmx-syn-code-fence{color:#64748b}.rmx-editor.rmx-theme-ocean .rmx-syn-link{color:#38bdf8}.rmx-editor.rmx-theme-ocean .rmx-syn-url{color:#67e8f9}.rmx-editor.rmx-theme-ocean .rmx-syn-image{color:#a5b4fc}.rmx-editor.rmx-theme-ocean .rmx-syn-list-marker{color:#22d3ee;font-weight:600}.rmx-editor.rmx-theme-ocean .rmx-syn-blockquote{color:#64748b}.rmx-editor.rmx-theme-ocean .rmx-syn-hr{color:#475569}.rmx-editor.rmx-theme-ocean .rmx-syn-keyword{color:#f472b6}.rmx-editor.rmx-theme-ocean .rmx-syn-string{color:#67e8f9}.rmx-editor.rmx-theme-ocean .rmx-syn-number{color:#38bdf8}.rmx-editor.rmx-theme-ocean .rmx-syn-function{color:#a5b4fc}.rmx-editor.rmx-theme-ocean .rmx-syn-operator{color:#f472b6}.rmx-editor.rmx-theme-ocean .rmx-syn-punctuation{color:#cbd5e1}.rmx-editor.rmx-theme-ocean .rmx-syn-builtin,.rmx-editor.rmx-theme-ocean .rmx-syn-property{color:#38bdf8}.rmx-editor.rmx-theme-ocean .rmx-syn-regex{color:#67e8f9}.rmx-editor.rmx-theme-ocean .rmx-syn-decorator{color:#fb923c}.rmx-editor.rmx-theme-ocean .rmx-syn-type,.rmx-editor.rmx-theme-ocean .rmx-syn-selector{color:#4ade80}.rmx-editor.rmx-theme-ocean .rmx-syn-atrule{color:#f472b6}.rmx-editor.rmx-theme-ocean .rmx-syn-variable{color:#fb923c}.rmx-editor.rmx-theme-forest{--rmx-bg: #14201a;--rmx-text: #d1e7dd;--rmx-text-secondary: #8fbc8f;--rmx-border: #2d4a3e;--rmx-border-subtle: #2d4a3e;--rmx-toolbar-bg: #0f1a14;--rmx-toolbar-border: #2d4a3e;--rmx-toolbar-button-hover: #2d4a3e;--rmx-toolbar-button-active: #1a5c3a;--rmx-toolbar-icon: #8fbc8f;--rmx-toolbar-icon-active: #4ade80;--rmx-primary: #22c55e;--rmx-primary-hover: #16a34a;--rmx-primary-light: rgba(34, 197, 94, .15);--rmx-focus-ring: #22c55e;--rmx-selection: #14532d;--rmx-danger: #f87171;--rmx-danger-light: rgba(248, 113, 113, .1);--rmx-placeholder: #4a7c5f;--rmx-modal-bg: #0f1a14;--rmx-modal-overlay: rgba(0, 0, 0, .6);--rmx-statusbar-bg: #0f1a14;--rmx-statusbar-text: #4a7c5f;--rmx-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--rmx-shadow-md: 0 4px 16px rgba(0, 0, 0, .35), 0 1px 3px rgba(0, 0, 0, .2);--rmx-shadow-lg: 0 12px 40px rgba(0, 0, 0, .45), 0 4px 12px rgba(0, 0, 0, .25);--rmx-shadow-float: 0 8px 30px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .2);--rmx-pre-bg: #0f1a14;--rmx-code-bg: rgba(34, 197, 94, .1);--rmx-blockquote-bg: linear-gradient(135deg, rgba(34, 197, 94, .06), rgba(34, 197, 94, .03));--rmx-table-th-bg: #0f1a14;--rmx-find-highlight-bg: #854d0e;--rmx-find-highlight-text: #fef3c7;--rmx-find-current-bg: #f97316;--rmx-find-current-text: #14201a;--rmx-link-decoration: rgba(34, 197, 94, .35);--rmx-code-editor-bg: #14201a;--rmx-code-gutter-bg: #0f1a14;--rmx-code-gutter-border: #2d4a3e;--rmx-code-caret: #d1e7dd}.rmx-editor.rmx-theme-forest .rmx-code-editor{background:#14201a}.rmx-editor.rmx-theme-forest .rmx-code-gutter{background:#0f1a14;border-right-color:#2d4a3e}.rmx-editor.rmx-theme-forest .rmx-code-input{caret-color:#d1e7dd}.rmx-editor.rmx-theme-forest .rmx-syn-tag{color:#4ade80}.rmx-editor.rmx-theme-forest .rmx-syn-attr-name{color:#86efac}.rmx-editor.rmx-theme-forest .rmx-syn-attr-value{color:#a7f3d0}.rmx-editor.rmx-theme-forest .rmx-syn-comment{color:#4a7c5f;font-style:italic}.rmx-editor.rmx-theme-forest .rmx-syn-entity{color:#a7f3d0}.rmx-editor.rmx-theme-forest .rmx-syn-doctype{color:#4a7c5f}.rmx-editor.rmx-theme-forest .rmx-syn-heading{color:#4ade80;font-weight:600}.rmx-editor.rmx-theme-forest .rmx-syn-bold,.rmx-editor.rmx-theme-forest .rmx-syn-italic{color:#d1e7dd}.rmx-editor.rmx-theme-forest .rmx-syn-code{color:#86efac;background:#ffffff0f}.rmx-editor.rmx-theme-forest .rmx-syn-code-fence{color:#4a7c5f}.rmx-editor.rmx-theme-forest .rmx-syn-link{color:#4ade80}.rmx-editor.rmx-theme-forest .rmx-syn-url{color:#a7f3d0}.rmx-editor.rmx-theme-forest .rmx-syn-image{color:#86efac}.rmx-editor.rmx-theme-forest .rmx-syn-list-marker{color:#86efac;font-weight:600}.rmx-editor.rmx-theme-forest .rmx-syn-blockquote{color:#4a7c5f}.rmx-editor.rmx-theme-forest .rmx-syn-hr{color:#2d4a3e}.rmx-editor.rmx-theme-forest .rmx-syn-keyword{color:#f97583}.rmx-editor.rmx-theme-forest .rmx-syn-string{color:#a7f3d0}.rmx-editor.rmx-theme-forest .rmx-syn-number{color:#4ade80}.rmx-editor.rmx-theme-forest .rmx-syn-function{color:#86efac}.rmx-editor.rmx-theme-forest .rmx-syn-operator{color:#f97583}.rmx-editor.rmx-theme-forest .rmx-syn-punctuation{color:#d1e7dd}.rmx-editor.rmx-theme-forest .rmx-syn-builtin,.rmx-editor.rmx-theme-forest .rmx-syn-property{color:#4ade80}.rmx-editor.rmx-theme-forest .rmx-syn-regex{color:#a7f3d0}.rmx-editor.rmx-theme-forest .rmx-syn-decorator{color:#fbbf24}.rmx-editor.rmx-theme-forest .rmx-syn-type,.rmx-editor.rmx-theme-forest .rmx-syn-selector{color:#86efac}.rmx-editor.rmx-theme-forest .rmx-syn-atrule{color:#f97583}.rmx-editor.rmx-theme-forest .rmx-syn-variable{color:#fbbf24}.rmx-editor.rmx-theme-sunset{--rmx-bg: #1c1210;--rmx-text: #fde8d0;--rmx-text-secondary: #d4a574;--rmx-border: #5c3a28;--rmx-border-subtle: #5c3a28;--rmx-toolbar-bg: #181010;--rmx-toolbar-border: #5c3a28;--rmx-toolbar-button-hover: #5c3a28;--rmx-toolbar-button-active: #7c4a2a;--rmx-toolbar-icon: #d4a574;--rmx-toolbar-icon-active: #fb923c;--rmx-primary: #f97316;--rmx-primary-hover: #ea580c;--rmx-primary-light: rgba(249, 115, 22, .15);--rmx-focus-ring: #f97316;--rmx-selection: #7c2d12;--rmx-danger: #f87171;--rmx-danger-light: rgba(248, 113, 113, .1);--rmx-placeholder: #8b6f47;--rmx-modal-bg: #181010;--rmx-modal-overlay: rgba(0, 0, 0, .6);--rmx-statusbar-bg: #181010;--rmx-statusbar-text: #8b6f47;--rmx-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--rmx-shadow-md: 0 4px 16px rgba(0, 0, 0, .35), 0 1px 3px rgba(0, 0, 0, .2);--rmx-shadow-lg: 0 12px 40px rgba(0, 0, 0, .45), 0 4px 12px rgba(0, 0, 0, .25);--rmx-shadow-float: 0 8px 30px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .2);--rmx-pre-bg: #181010;--rmx-code-bg: rgba(249, 115, 22, .1);--rmx-blockquote-bg: linear-gradient(135deg, rgba(249, 115, 22, .06), rgba(249, 115, 22, .03));--rmx-table-th-bg: #181010;--rmx-find-highlight-bg: #854d0e;--rmx-find-highlight-text: #fef3c7;--rmx-find-current-bg: #fbbf24;--rmx-find-current-text: #1c1210;--rmx-link-decoration: rgba(249, 115, 22, .35);--rmx-code-editor-bg: #1c1210;--rmx-code-gutter-bg: #181010;--rmx-code-gutter-border: #5c3a28;--rmx-code-caret: #fde8d0}.rmx-editor.rmx-theme-sunset .rmx-code-editor{background:#1c1210}.rmx-editor.rmx-theme-sunset .rmx-code-gutter{background:#181010;border-right-color:#5c3a28}.rmx-editor.rmx-theme-sunset .rmx-code-input{caret-color:#fde8d0}.rmx-editor.rmx-theme-sunset .rmx-syn-tag{color:#fb923c}.rmx-editor.rmx-theme-sunset .rmx-syn-attr-name{color:#fbbf24}.rmx-editor.rmx-theme-sunset .rmx-syn-attr-value{color:#fde68a}.rmx-editor.rmx-theme-sunset .rmx-syn-comment{color:#8b6f47;font-style:italic}.rmx-editor.rmx-theme-sunset .rmx-syn-entity{color:#fde68a}.rmx-editor.rmx-theme-sunset .rmx-syn-doctype{color:#8b6f47}.rmx-editor.rmx-theme-sunset .rmx-syn-heading{color:#fb923c;font-weight:600}.rmx-editor.rmx-theme-sunset .rmx-syn-bold,.rmx-editor.rmx-theme-sunset .rmx-syn-italic{color:#fde8d0}.rmx-editor.rmx-theme-sunset .rmx-syn-code{color:#fbbf24;background:#ffffff0f}.rmx-editor.rmx-theme-sunset .rmx-syn-code-fence{color:#8b6f47}.rmx-editor.rmx-theme-sunset .rmx-syn-link{color:#fb923c}.rmx-editor.rmx-theme-sunset .rmx-syn-url{color:#fde68a}.rmx-editor.rmx-theme-sunset .rmx-syn-image{color:#fbbf24}.rmx-editor.rmx-theme-sunset .rmx-syn-list-marker{color:#fbbf24;font-weight:600}.rmx-editor.rmx-theme-sunset .rmx-syn-blockquote{color:#8b6f47}.rmx-editor.rmx-theme-sunset .rmx-syn-hr{color:#5c3a28}.rmx-editor.rmx-theme-sunset .rmx-syn-keyword{color:#fb923c}.rmx-editor.rmx-theme-sunset .rmx-syn-string{color:#fde68a}.rmx-editor.rmx-theme-sunset .rmx-syn-number{color:#fbbf24}.rmx-editor.rmx-theme-sunset .rmx-syn-function{color:#fdba74}.rmx-editor.rmx-theme-sunset .rmx-syn-operator{color:#fb923c}.rmx-editor.rmx-theme-sunset .rmx-syn-punctuation{color:#fde8d0}.rmx-editor.rmx-theme-sunset .rmx-syn-builtin,.rmx-editor.rmx-theme-sunset .rmx-syn-property{color:#fbbf24}.rmx-editor.rmx-theme-sunset .rmx-syn-regex{color:#fde68a}.rmx-editor.rmx-theme-sunset .rmx-syn-decorator{color:#f97316}.rmx-editor.rmx-theme-sunset .rmx-syn-type,.rmx-editor.rmx-theme-sunset .rmx-syn-selector{color:#fdba74}.rmx-editor.rmx-theme-sunset .rmx-syn-atrule{color:#fb923c}.rmx-editor.rmx-theme-sunset .rmx-syn-variable{color:#f97316}.rmx-editor.rmx-theme-rose{--rmx-bg: #1c1018;--rmx-text: #fde2ee;--rmx-text-secondary: #d4809f;--rmx-border: #5c2848;--rmx-border-subtle: #5c2848;--rmx-toolbar-bg: #18101a;--rmx-toolbar-border: #5c2848;--rmx-toolbar-button-hover: #5c2848;--rmx-toolbar-button-active: #7c2858;--rmx-toolbar-icon: #d4809f;--rmx-toolbar-icon-active: #fb7185;--rmx-primary: #f43f5e;--rmx-primary-hover: #e11d48;--rmx-primary-light: rgba(244, 63, 94, .15);--rmx-focus-ring: #f43f5e;--rmx-selection: #881337;--rmx-danger: #f87171;--rmx-danger-light: rgba(248, 113, 113, .1);--rmx-placeholder: #8b4766;--rmx-modal-bg: #18101a;--rmx-modal-overlay: rgba(0, 0, 0, .6);--rmx-statusbar-bg: #18101a;--rmx-statusbar-text: #8b4766;--rmx-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--rmx-shadow-md: 0 4px 16px rgba(0, 0, 0, .35), 0 1px 3px rgba(0, 0, 0, .2);--rmx-shadow-lg: 0 12px 40px rgba(0, 0, 0, .45), 0 4px 12px rgba(0, 0, 0, .25);--rmx-shadow-float: 0 8px 30px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .2);--rmx-pre-bg: #18101a;--rmx-code-bg: rgba(244, 63, 94, .1);--rmx-blockquote-bg: linear-gradient(135deg, rgba(244, 63, 94, .06), rgba(244, 63, 94, .03));--rmx-table-th-bg: #18101a;--rmx-find-highlight-bg: #854d0e;--rmx-find-highlight-text: #fef3c7;--rmx-find-current-bg: #f97316;--rmx-find-current-text: #1c1018;--rmx-link-decoration: rgba(244, 63, 94, .35);--rmx-code-editor-bg: #1c1018;--rmx-code-gutter-bg: #18101a;--rmx-code-gutter-border: #5c2848;--rmx-code-caret: #fde2ee}.rmx-editor.rmx-theme-rose .rmx-code-editor{background:#1c1018}.rmx-editor.rmx-theme-rose .rmx-code-gutter{background:#18101a;border-right-color:#5c2848}.rmx-editor.rmx-theme-rose .rmx-code-input{caret-color:#fde2ee}.rmx-editor.rmx-theme-rose .rmx-syn-tag{color:#fb7185}.rmx-editor.rmx-theme-rose .rmx-syn-attr-name{color:#fda4af}.rmx-editor.rmx-theme-rose .rmx-syn-attr-value{color:#fecdd3}.rmx-editor.rmx-theme-rose .rmx-syn-comment{color:#8b4766;font-style:italic}.rmx-editor.rmx-theme-rose .rmx-syn-entity{color:#fecdd3}.rmx-editor.rmx-theme-rose .rmx-syn-doctype{color:#8b4766}.rmx-editor.rmx-theme-rose .rmx-syn-heading{color:#fb7185;font-weight:600}.rmx-editor.rmx-theme-rose .rmx-syn-bold,.rmx-editor.rmx-theme-rose .rmx-syn-italic{color:#fde2ee}.rmx-editor.rmx-theme-rose .rmx-syn-code{color:#fda4af;background:#ffffff0f}.rmx-editor.rmx-theme-rose .rmx-syn-code-fence{color:#8b4766}.rmx-editor.rmx-theme-rose .rmx-syn-link{color:#fb7185}.rmx-editor.rmx-theme-rose .rmx-syn-url{color:#fecdd3}.rmx-editor.rmx-theme-rose .rmx-syn-image{color:#fda4af}.rmx-editor.rmx-theme-rose .rmx-syn-list-marker{color:#fda4af;font-weight:600}.rmx-editor.rmx-theme-rose .rmx-syn-blockquote{color:#8b4766}.rmx-editor.rmx-theme-rose .rmx-syn-hr{color:#5c2848}.rmx-editor.rmx-theme-rose .rmx-syn-keyword{color:#fb7185}.rmx-editor.rmx-theme-rose .rmx-syn-string{color:#fda4af}.rmx-editor.rmx-theme-rose .rmx-syn-number{color:#f472b6}.rmx-editor.rmx-theme-rose .rmx-syn-function{color:#e879f9}.rmx-editor.rmx-theme-rose .rmx-syn-operator{color:#fb7185}.rmx-editor.rmx-theme-rose .rmx-syn-punctuation{color:#fce7f3}.rmx-editor.rmx-theme-rose .rmx-syn-builtin,.rmx-editor.rmx-theme-rose .rmx-syn-property{color:#f472b6}.rmx-editor.rmx-theme-rose .rmx-syn-regex{color:#fda4af}.rmx-editor.rmx-theme-rose .rmx-syn-decorator{color:#fb923c}.rmx-editor.rmx-theme-rose .rmx-syn-type,.rmx-editor.rmx-theme-rose .rmx-syn-selector{color:#e879f9}.rmx-editor.rmx-theme-rose .rmx-syn-atrule{color:#fb7185}.rmx-editor.rmx-theme-rose .rmx-syn-variable{color:#fb923c}.rmx-comment{background-color:#fbbf2440;border-bottom:2px solid #f59e0b;cursor:pointer;transition:background-color .15s ease;border-radius:2px}.rmx-comment:hover{background-color:#fbbf2466}.rmx-comment-resolved,.rmx-comment[data-comment-resolved=true]{background-color:#94a3b826;border-bottom-color:#94a3b8}.rmx-comment-resolved:hover,.rmx-comment[data-comment-resolved=true]:hover{background-color:#94a3b840}.rmx-comment-only{cursor:default}.rmx-comment-only .rmx-comment{cursor:pointer}.rmx-comments-panel{border-left:1px solid var(--rmx-border, #e2e8f0);background:var(--rmx-modal-bg, #ffffff);overflow-y:auto;padding:12px;font-size:13px;color:var(--rmx-text, #1e293b);min-width:280px;max-width:360px}.rmx-comments-panel-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--rmx-border, #e2e8f0);font-weight:600;font-size:14px}.rmx-comments-panel-count{font-weight:400;font-size:12px;color:var(--rmx-text-secondary, #64748b)}.rmx-comment-thread{border:1px solid var(--rmx-border, #e2e8f0);border-radius:6px;padding:10px 12px;margin-bottom:8px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.rmx-comment-thread:hover{border-color:var(--rmx-primary, #6366f1);box-shadow:var(--rmx-shadow-sm, 0 1px 2px rgba(15, 23, 42, .05))}.rmx-comment-thread.rmx-resolved{opacity:.65}.rmx-comment-thread-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.rmx-comment-author{font-weight:600;font-size:12px;color:var(--rmx-text, #1e293b)}.rmx-comment-time{font-size:11px;color:var(--rmx-text-secondary, #64748b)}.rmx-comment-body{font-size:13px;line-height:1.4;margin-bottom:6px;white-space:pre-wrap;word-break:break-word}.rmx-comment-mention{color:var(--rmx-primary, #6366f1);font-weight:500}.rmx-comment-reply{border-top:1px solid var(--rmx-border-subtle, #f1f5f9);padding-top:6px;margin-top:6px}.rmx-comment-actions{display:flex;gap:6px;margin-top:6px}.rmx-comment-action-btn{border:none;background:none;font-size:11px;color:var(--rmx-text-secondary, #64748b);cursor:pointer;padding:2px 6px;border-radius:3px;transition:background-color .1s ease,color .1s ease}.rmx-comment-action-btn:hover{background:var(--rmx-toolbar-button-hover, #f1f5f9);color:var(--rmx-text, #1e293b)}.rmx-comment-action-btn.rmx-resolve-btn{color:#16a34a}.rmx-comment-action-btn.rmx-delete-btn{color:var(--rmx-danger, #ef4444)}.rmx-comment-status{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:1px 5px;border-radius:3px}.rmx-comment-status.rmx-open{background:#fbbf2433;color:#b45309}.rmx-comment-status.rmx-closed{background:#16a34a26;color:#16a34a}.rmx-theme-dark .rmx-comment{background-color:#fbbf2426;border-bottom-color:#d97706}.rmx-theme-dark .rmx-comment:hover{background-color:#fbbf2440}.rmx-theme-dark .rmx-comment-resolved{background-color:#94a3b81a;border-bottom-color:#475569}@media print{.rmx-comment{background:none!important;border-bottom:1px dotted #999!important}.rmx-comments-panel{break-before:page;border:none;max-width:none}}.rmx-callout{border-radius:6px;border-left:4px solid var(--rmx-callout-color, #6366f1);background:var(--rmx-callout-bg, rgba(99, 102, 241, .06));margin:12px 0;overflow:hidden}.rmx-callout-header{display:flex;align-items:center;gap:6px;padding:8px 12px;font-weight:600;font-size:13px;color:var(--rmx-callout-color, #6366f1);-webkit-user-select:none;user-select:none}.rmx-callout-icon{font-size:15px;line-height:1;flex-shrink:0}.rmx-callout-title{flex:1}.rmx-callout-toggle{border:none;background:none;cursor:pointer;font-size:11px;color:var(--rmx-callout-color, #6366f1);padding:2px 4px;border-radius:3px;opacity:.7;transition:opacity .1s}.rmx-callout-toggle:hover{opacity:1}.rmx-callout-body{padding:2px 12px 10px;font-size:inherit;line-height:inherit}.rmx-callout-body>:first-child{margin-top:0}.rmx-callout-body>:last-child{margin-bottom:0}.rmx-callout-info{--rmx-callout-color: #3b82f6;--rmx-callout-bg: rgba(59, 130, 246, .06)}.rmx-callout-warning{--rmx-callout-color: #f59e0b;--rmx-callout-bg: rgba(245, 158, 11, .06)}.rmx-callout-error{--rmx-callout-color: #ef4444;--rmx-callout-bg: rgba(239, 68, 68, .06)}.rmx-callout-success{--rmx-callout-color: #22c55e;--rmx-callout-bg: rgba(34, 197, 94, .06)}.rmx-callout-tip{--rmx-callout-color: #8b5cf6;--rmx-callout-bg: rgba(139, 92, 246, .06)}.rmx-callout-note{--rmx-callout-color: #6366f1;--rmx-callout-bg: rgba(99, 102, 241, .06)}.rmx-callout-question{--rmx-callout-color: #ec4899;--rmx-callout-bg: rgba(236, 72, 153, .06)}.rmx-theme-dark .rmx-callout-info{--rmx-callout-bg: rgba(59, 130, 246, .12)}.rmx-theme-dark .rmx-callout-warning{--rmx-callout-bg: rgba(245, 158, 11, .12)}.rmx-theme-dark .rmx-callout-error{--rmx-callout-bg: rgba(239, 68, 68, .12)}.rmx-theme-dark .rmx-callout-success{--rmx-callout-bg: rgba(34, 197, 94, .12)}.rmx-theme-dark .rmx-callout-tip{--rmx-callout-bg: rgba(139, 92, 246, .12)}.rmx-theme-dark .rmx-callout-note{--rmx-callout-bg: rgba(99, 102, 241, .12)}.rmx-theme-dark .rmx-callout-question{--rmx-callout-bg: rgba(236, 72, 153, .12)}@media print{.rmx-callout{border-left-width:3px;page-break-inside:avoid}.rmx-callout-toggle{display:none}.rmx-callout-body{display:block!important}}.rmx-link-preview{z-index:1000;background:var(--rmx-modal-bg, #ffffff);border:1px solid var(--rmx-border, #e2e8f0);border-radius:8px;box-shadow:0 4px 12px #0f172a1f;max-width:320px;overflow:hidden;font-size:12px;line-height:1.4;animation:rmx-preview-fadein .15s ease}@keyframes rmx-preview-fadein{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.rmx-link-preview-img{width:100%;height:120px;object-fit:cover;display:block}.rmx-link-preview-text{padding:8px 10px}.rmx-link-preview-title{font-weight:600;font-size:13px;color:var(--rmx-text, #1e293b);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rmx-link-preview-desc{color:var(--rmx-text-secondary, #64748b);font-size:12px;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rmx-link-preview-url{color:var(--rmx-primary, #6366f1);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rmx-link-broken,a[data-link-broken=true]{text-decoration:line-through wavy var(--rmx-danger, #ef4444);opacity:.75;position:relative}.rmx-link-broken:after{content:"⚠";font-size:10px;margin-left:2px;color:var(--rmx-danger, #ef4444);vertical-align:super}.rmx-bookmark{display:inline-block;background:var(--rmx-primary-light, #e0e7ff);color:var(--rmx-primary, #6366f1);padding:1px 6px;border-radius:3px;font-size:12px;font-weight:500;text-decoration:none;cursor:default;-webkit-user-select:none;user-select:none;vertical-align:baseline}.rmx-bookmark:hover{background:var(--rmx-selection, #c7d2fe)}.rmx-internal-link{text-decoration-style:dashed}.rmx-theme-dark .rmx-link-preview{box-shadow:0 4px 12px #0000004d}@media print{.rmx-link-preview{display:none!important}.rmx-bookmark{background:none;color:inherit;padding:0;border:1px dashed #999}}.rmx-merge-tag{display:inline-block;background:var(--rmx-primary-light, #e0e7ff);color:var(--rmx-primary, #6366f1);padding:1px 8px;border-radius:12px;font-size:12px;font-weight:500;font-family:monospace;border:1px solid rgba(99,102,241,.2);vertical-align:baseline;-webkit-user-select:none;user-select:none;cursor:default}.rmx-merge-tag:hover{background:var(--rmx-selection, #c7d2fe)}.rmx-template-preview{cursor:default;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(99,102,241,.03) 10px,rgba(99,102,241,.03) 20px)}.rmx-theme-dark .rmx-merge-tag{background:#6366f133;border-color:#6366f14d}@media print{.rmx-merge-tag{background:none;border:1px dashed #999;border-radius:3px}}.rmx-vim-normal{cursor:default;caret-color:transparent}.rmx-vim-normal:after{content:"-- NORMAL --";position:absolute;bottom:4px;right:8px;font-size:11px;font-weight:600;color:var(--rmx-primary, #6366f1);opacity:.7;pointer-events:none}.rmx-vim-insert{caret-color:var(--rmx-primary, #6366f1)}.rmx-vim-insert:after{content:"-- INSERT --";position:absolute;bottom:4px;right:8px;font-size:11px;font-weight:600;color:#22c55e;opacity:.7;pointer-events:none}.rmx-vim-visual{caret-color:#f59e0b}.rmx-vim-visual:after{content:"-- VISUAL --";position:absolute;bottom:4px;right:8px;font-size:11px;font-weight:600;color:#f59e0b;opacity:.7;pointer-events:none}.rmx-drop-zone{transition:box-shadow .15s ease}.rmx-drop-zone-active{box-shadow:inset 0 0 0 2px var(--rmx-primary, #6366f1)}.rmx-dragging{opacity:.4}.rmx-drop-indicator{position:absolute;left:0;right:0;height:3px;background:var(--rmx-primary, #6366f1);border-radius:2px;pointer-events:none;z-index:100}.rmx-math{display:inline-block;vertical-align:middle}.rmx-math-block{display:block;text-align:center;margin:16px 0;padding:12px;position:relative}.rmx-math-inline{padding:0 2px}.rmx-math-latex{font-family:Computer Modern,"Latin Modern Math","STIX Two Math",serif;font-size:1.1em;color:var(--rmx-text, #1e293b);background:#6366f10a;padding:2px 6px;border-radius:3px}.rmx-math-block .rmx-math-latex{font-size:1.3em}.rmx-equation-number{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--rmx-text-secondary, #64748b)}.rmx-toc{border:1px solid var(--rmx-border, #e2e8f0);border-radius:6px;padding:12px 16px;margin:12px 0;background:var(--rmx-statusbar-bg, #f8fafc)}.rmx-toc:before{content:"Table of Contents";display:block;font-weight:600;font-size:14px;margin-bottom:8px;color:var(--rmx-text, #1e293b)}.rmx-toc ul{list-style:none;padding-left:16px;margin:0}.rmx-toc>ul{padding-left:0}.rmx-toc li{margin:3px 0}.rmx-toc-link{text-decoration:none;color:var(--rmx-primary, #6366f1);font-size:13px;transition:color .1s}.rmx-toc-link:hover{color:var(--rmx-primary-hover, #4f46e5);text-decoration:underline}.rmx-toc-number{color:var(--rmx-text-secondary, #64748b);font-size:12px;font-weight:500}.rmx-outline-panel{border-left:1px solid var(--rmx-border, #e2e8f0);background:var(--rmx-modal-bg, #ffffff);padding:12px;min-width:220px;max-width:280px;overflow-y:auto;font-size:13px}.rmx-outline-panel-title{font-weight:600;font-size:14px;margin-bottom:8px;color:var(--rmx-text, #1e293b)}.rmx-outline-item{padding:3px 0;cursor:pointer;color:var(--rmx-text, #1e293b);transition:color .1s}.rmx-outline-item:hover{color:var(--rmx-primary, #6366f1)}.rmx-outline-item-active{color:var(--rmx-primary, #6366f1);font-weight:600}.rmx-analytics-panel{border:1px solid var(--rmx-border, #e2e8f0);border-radius:6px;padding:12px;font-size:12px;background:var(--rmx-statusbar-bg, #f8fafc)}.rmx-analytics-stat{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px solid var(--rmx-border-subtle, #f1f5f9)}.rmx-analytics-stat:last-child{border-bottom:none}.rmx-analytics-label{color:var(--rmx-text-secondary, #64748b)}.rmx-analytics-value{font-weight:600;color:var(--rmx-text, #1e293b)}.rmx-analytics-warning{color:var(--rmx-danger, #ef4444);font-size:11px;margin-top:4px}.rmx-goal-progress{height:6px;background:var(--rmx-border, #e2e8f0);border-radius:3px;overflow:hidden;margin-top:4px}.rmx-goal-progress-bar{height:100%;background:var(--rmx-primary, #6366f1);border-radius:3px;transition:width .3s ease}.rmx-goal-progress-bar.rmx-goal-complete{background:#22c55e}@media print{.rmx-toc{page-break-after:always}.rmx-analytics-panel{display:none}}.rmx-spelling-error{text-decoration:wavy underline #ef4444;text-decoration-skip-ink:none;cursor:pointer;position:relative}.rmx-spelling-error:hover{background-color:#ef444414}.rmx-grammar-error{text-decoration:wavy underline #3b82f6;text-decoration-skip-ink:none;cursor:pointer;position:relative}.rmx-grammar-error:hover{background-color:#3b82f614}.rmx-style-suggestion{text-decoration:dotted underline #22c55e;text-decoration-skip-ink:none;cursor:pointer;position:relative}.rmx-style-suggestion:hover{background-color:#22c55e14}.rmx-spellcheck-popup{position:fixed;z-index:1000;background:var(--rmx-modal-bg, #ffffff);border:1px solid var(--rmx-border, #e2e8f0);border-radius:8px;box-shadow:0 4px 16px #0f172a1f;padding:6px 0;min-width:200px;max-width:320px;font-size:13px;color:var(--rmx-text, #1e293b);animation:rmx-spellcheck-popup-in .12s ease-out}@keyframes rmx-spellcheck-popup-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.rmx-spellcheck-popup-message{padding:6px 12px;font-size:12px;color:var(--rmx-text-secondary, #64748b);border-bottom:1px solid var(--rmx-border-subtle, #f1f5f9);line-height:1.4}.rmx-spellcheck-popup-suggestions{padding:4px 0}.rmx-spellcheck-popup-suggestion{display:block;width:100%;padding:6px 12px;border:none;background:none;text-align:left;cursor:pointer;font-size:13px;font-weight:500;color:var(--rmx-primary, #6366f1);transition:background-color .1s ease}.rmx-spellcheck-popup-suggestion:hover{background:var(--rmx-toolbar-button-hover, #f1f5f9)}.rmx-spellcheck-popup-actions{border-top:1px solid var(--rmx-border-subtle, #f1f5f9);padding:4px 0}.rmx-spellcheck-popup-action{display:block;width:100%;padding:5px 12px;border:none;background:none;text-align:left;cursor:pointer;font-size:12px;color:var(--rmx-text-secondary, #64748b);transition:background-color .1s ease,color .1s ease}.rmx-spellcheck-popup-action:hover{background:var(--rmx-toolbar-button-hover, #f1f5f9);color:var(--rmx-text, #1e293b)}.rmx-spellcheck-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px}.rmx-spellcheck-badge.rmx-clean{background:#22c55e1f;color:#16a34a}.rmx-spellcheck-badge.rmx-issues{background:#ef44441f;color:#dc2626}.rmx-theme-dark .rmx-spelling-error{text-decoration-color:#f87171}.rmx-theme-dark .rmx-spelling-error:hover{background-color:#f871711f}.rmx-theme-dark .rmx-grammar-error{text-decoration-color:#60a5fa}.rmx-theme-dark .rmx-grammar-error:hover{background-color:#60a5fa1f}.rmx-theme-dark .rmx-style-suggestion{text-decoration-color:#4ade80}.rmx-theme-dark .rmx-style-suggestion:hover{background-color:#4ade801f}@media print{.rmx-spelling-error,.rmx-grammar-error,.rmx-style-suggestion{text-decoration:none!important;background:none!important}.rmx-spellcheck-popup{display:none!important}}
@@ -0,0 +1,2 @@
1
+ import{ag as a,ah as s,J as e,ai as t,aj as r,a6 as o,ak as n,al as i,c as l,am as g,an as m,a5 as d,ao as c,C as u,a7 as T,ap as P,aq as C,ar as S,as as L,at as p,au as A,av as E,aw as M,D as y,ax as I,ay as D,az as O,aA as _,aB as F,aC as R,aD as h,K as k,L as b,aE as v,j as H,aF as B,aG as N,M as x,aH as f,aI as U,aJ as G,aK as w,_ as K,a as W,aL as z,aM as Y,aN as V,aO as j,Z,S as q,aP as J,aQ as Q,aR as X,aS as $,aT as aa,T as sa,l as ea,E as ta,aU as ra,a8 as oa,aV as na,aW as ia,aX as la,aY as ga,N as ma,$ as da,aZ as ca,a_ as ua,a$ as Ta,b0 as Pa,F as Ca,b1 as Sa,b2 as La,b3 as pa,b4 as Aa,b5 as Ea,O as Ma,b6 as ya,P as Ia,b7 as Da,b8 as Oa,b9 as _a,ba as Fa,bb as Ra,bc as ha,bd as ka,be as ba,a0 as va,d as Ha,k as Ba,a1 as Na,a2 as xa,bf as fa,a3 as Ua,bg as Ga,bh as wa,bi as Ka,bj as Wa,bk as za,bl as Ya,m as Va,bm as ja,G as Za,Q as qa,R as Ja,bn as Qa,bo as Xa,g as $a,e as as,bp as ss,bq as es,x as ts,br as rs,bs as os,bt as ns,bu as is,bv as ls,bw as gs,bx as ms,z as ds,n as cs,o as us,U as Ts,by as Ps,bz as Cs,bA as Ss,bB as Ls,bC as ps,V as As,A as Es,bD as Ms,bE as ys,bF as Is,bG as Ds,bH as Os,ae as _s,bI as Fs,f as Rs,B as hs,p as ks,bJ as bs,bK as vs,bL as Hs,bM as Bs,bN as Ns,bO as xs,h as fs,bP as Us,bQ as Gs,bR as ws,bS as Ks,bT as Ws,bU as zs,bV as Ys,bW as Vs,bX as js,bY as Zs,r as qs,bZ as Js,b_ as Qs,b$ as Xs,c0 as $s,c1 as ae,c2 as se,c3 as ee,c4 as te,c5 as re,c6 as oe,q as ne,c7 as ie,c8 as le,v as ge,H as me,c9 as de,ca as ce,cb as ue,b as Te,cc as Pe,cd as Ce,ce as Se,y as Le,W as pe,cf as Ae,s as Ee,X as Me,a4 as ye,cg as Ie,t as De,i as Oe,ch as _e,u as Fe,ci as Re,cj as he,ck as ke,w as be,cl as ve,I as He,Y as Be,cm as Ne}from"./index-BvwyeoMb.js";export{a as ALLOWED_STYLES,s as ALLOWED_TAGS,e as AnalyticsPlugin,t as AutolinkPlugin,r as AutosaveManager,o as AwarenessProtocol,n as BUTTON_COMMANDS,i as BlockTemplatePlugin,l as CalloutPlugin,g as Clipboard,m as CloudProvider,d as CollaborationPlugin,c as CommandRegistry,u as CommentsPlugin,T as CrdtEngine,P as CustomProvider,C as DEFAULT_COLORS,S as DEFAULT_FONTS,L as DEFAULT_FONT_SIZES,p as DEFAULT_KEYBINDINGS,A as DEFAULT_MENU_BAR,E as DEFAULT_TOOLBAR,M as DragDrop,y as DragDropPlugin,I as EditorBus,D as EditorEngine,O as EventBus,_ as FileSystemProvider,F as HEADING_OPTIONS,R as History,h as KeyboardManager,k as KeyboardPlugin,b as LANGUAGE_MAP,v as LOGICAL_PROPERTIES,H as LinkPlugin,B as LocalStorageProvider,N as MODAL_COMMANDS,x as MathPlugin,f as PlaceholderPlugin,U as PluginManager,G as SHORTCUT_MAP,w as SLASH_COMMAND_ITEMS,K as STYLE_PRESETS,W as SUPPORTED_LANGUAGES,z as Sanitizer,Y as Selection,V as SessionStorageProvider,j as SharedResources,Z as SpellcheckPlugin,q as SyntaxHighlightPlugin,J as THEME_PRESETS,Q as THEME_VARIABLES,X as TOOLBAR_ITEM_STYLE_KEYS,$ as TOOLBAR_PRESETS,aa as TOOLTIP_MAP,sa as TablePlugin,ea as TemplatePlugin,ta as TocPlugin,ra as VirtualScroller,oa as WebSocketTransport,na as WordCountPlugin,ia as WorkerPool,la as addFonts,ga as addToolbarItems,ma as analyzeContent,da as analyzeGrammar,ca as applyAutoDirection,ua as applyAutoDirectionAll,Ta as batchDOMMutations,Pa as benchmark,Ca as buildOutline,Sa as cancelIdleTask,La as cleanPastedHTML,pa as clearRecentCommands,Aa as closestBlock,Ea as closestTag,Ma as colemanLiau,ya as convertDocument,Ia as countSyllables,Da as createInputBatcher,Oa as createPlugin,_a as createStorageProvider,Fa as createTheme,Ra as createToolbar,ha as createToolbarItemTheme,ka as defineConfig,ba as deleteColorPreset,va as detectCliches,Ha as detectLanguage,Ba as detectLinks,Na as detectPassiveVoice,xa as detectPunctuationIssues,fa as detectTextDirection,Ua as detectWordiness,Ga as escapeHTML,wa as escapeHTMLAttr,Ka as evaluateTableFormulas,Wa as exportAsDocx,za as exportAsMarkdown,Ya as exportAsPDF,Va as extractTags,ja as filterSlashItems,Za as flattenOutline,qa as fleschKincaid,Ja as fleschReadingEase,Qa as formatHTML,Xa as generateId,$a as getCalloutType,as as getCalloutTypes,ss as getCommandActiveState,es as getCustomCommandItems,ts as getHeadings,rs as getLocale,os as getModKey,ns as getRecentCommands,is as getRegisteredLocales,ls as getShortcutLabel,gs as getSupportedExtensions,ms as getSupportedFormatNames,ds as getSymbolPalette,cs as getTemplate,us as getTemplateLibrary,Ts as gunningFog,Ps as htmlToMarkdown,Cs as insertPlainText,Ss as isBlockEmpty,Ls as isImportableFile,ps as isMac,As as keywordDensity,Es as latexToMathML,Ms as listRegisteredPlugins,ys as loadColorPresets,Is as loadConfig,Ds as loadGoogleFonts,Os as looksLikeMarkdown,_s as markdownToHtml,Fs as measurePerformance,Rs as parseGFMAlert,hs as parseMathExpressions,ks as parseMentions,bs as rafThrottle,vs as recordRecentCommand,Hs as registerAlignmentCommands,Bs as registerAttachmentCommands,Ns as registerBlockCommands,xs as registerBlockConvertCommands,fs as registerCalloutType,Us as registerColorPresetCommands,Gs as registerCommandItems,ws as registerDistractionFreeCommands,Ks as registerFindReplaceCommands,Ws as registerFontCommands,zs as registerFormattingCommands,Ys as registerFullscreenCommands,Vs as registerHeadingCommands,js as registerImageCommands,Zs as registerImportDocumentCommands,qs as registerLanguage,Js as registerLinkCommands,Qs as registerListCommands,Xs as registerLocale,$s as registerMarkdownToggleCommands,ae as registerMediaCommands,se as registerPluginFactory,ee as registerPluginInRegistry,te as registerSourceModeCommands,re as registerSplitViewCommands,oe as registerTableCommands,ne as registerTemplate,ie as removeFonts,le as removeToolbarItems,ge as renderTemplate,me as renderTocHTML,de as resolvePlugins,ce as resolveSeparatorStyle,ue as resolveToolbarItemStyle,Te as runRules,Pe as saveColorPreset,Ce as scheduleIdleTask,Se as searchPluginRegistry,Le as selectNextOccurrence,pe as seoAnalysis,Ae as setLocale,Ee as slugify,Me as splitSentences,ye as summarizeIssues,Ie as t,De as tokenize,Oe as unregisterCalloutType,_e as unregisterCommandItem,Fe as unregisterLanguage,Re as unregisterLocale,he as unregisterPluginFactory,ke as unregisterPluginFromRegistry,be as unregisterTemplate,ve as unwrapTag,He as validateHeadingHierarchy,Be as vocabularyLevel,Ne as wrapInTag};
2
+ //# sourceMappingURL=remyx-core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remyx-core.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,79 @@
1
+ /* ====== Callouts, Alerts & Admonitions ====== */
2
+
3
+ .rmx-callout {
4
+ border-radius: 6px;
5
+ border-left: 4px solid var(--rmx-callout-color, #6366f1);
6
+ background: var(--rmx-callout-bg, rgba(99, 102, 241, 0.06));
7
+ margin: 12px 0;
8
+ overflow: hidden;
9
+ }
10
+
11
+ .rmx-callout-header {
12
+ display: flex;
13
+ align-items: center;
14
+ gap: 6px;
15
+ padding: 8px 12px;
16
+ font-weight: 600;
17
+ font-size: 13px;
18
+ color: var(--rmx-callout-color, #6366f1);
19
+ user-select: none;
20
+ }
21
+
22
+ .rmx-callout-icon {
23
+ font-size: 15px;
24
+ line-height: 1;
25
+ flex-shrink: 0;
26
+ }
27
+
28
+ .rmx-callout-title {
29
+ flex: 1;
30
+ }
31
+
32
+ .rmx-callout-toggle {
33
+ border: none;
34
+ background: none;
35
+ cursor: pointer;
36
+ font-size: 11px;
37
+ color: var(--rmx-callout-color, #6366f1);
38
+ padding: 2px 4px;
39
+ border-radius: 3px;
40
+ opacity: 0.7;
41
+ transition: opacity 0.1s;
42
+ }
43
+ .rmx-callout-toggle:hover { opacity: 1; }
44
+
45
+ .rmx-callout-body {
46
+ padding: 2px 12px 10px;
47
+ font-size: inherit;
48
+ line-height: inherit;
49
+ }
50
+ .rmx-callout-body > :first-child { margin-top: 0; }
51
+ .rmx-callout-body > :last-child { margin-bottom: 0; }
52
+
53
+ /* --- Per-type colors --- */
54
+ .rmx-callout-info { --rmx-callout-color: #3b82f6; --rmx-callout-bg: rgba(59, 130, 246, 0.06); }
55
+ .rmx-callout-warning { --rmx-callout-color: #f59e0b; --rmx-callout-bg: rgba(245, 158, 11, 0.06); }
56
+ .rmx-callout-error { --rmx-callout-color: #ef4444; --rmx-callout-bg: rgba(239, 68, 68, 0.06); }
57
+ .rmx-callout-success { --rmx-callout-color: #22c55e; --rmx-callout-bg: rgba(34, 197, 94, 0.06); }
58
+ .rmx-callout-tip { --rmx-callout-color: #8b5cf6; --rmx-callout-bg: rgba(139, 92, 246, 0.06); }
59
+ .rmx-callout-note { --rmx-callout-color: #6366f1; --rmx-callout-bg: rgba(99, 102, 241, 0.06); }
60
+ .rmx-callout-question{ --rmx-callout-color: #ec4899; --rmx-callout-bg: rgba(236, 72, 153, 0.06); }
61
+
62
+ /* --- Dark theme --- */
63
+ .rmx-theme-dark .rmx-callout-info { --rmx-callout-bg: rgba(59, 130, 246, 0.12); }
64
+ .rmx-theme-dark .rmx-callout-warning { --rmx-callout-bg: rgba(245, 158, 11, 0.12); }
65
+ .rmx-theme-dark .rmx-callout-error { --rmx-callout-bg: rgba(239, 68, 68, 0.12); }
66
+ .rmx-theme-dark .rmx-callout-success { --rmx-callout-bg: rgba(34, 197, 94, 0.12); }
67
+ .rmx-theme-dark .rmx-callout-tip { --rmx-callout-bg: rgba(139, 92, 246, 0.12); }
68
+ .rmx-theme-dark .rmx-callout-note { --rmx-callout-bg: rgba(99, 102, 241, 0.12); }
69
+ .rmx-theme-dark .rmx-callout-question{ --rmx-callout-bg: rgba(236, 72, 153, 0.12); }
70
+
71
+ /* --- Print --- */
72
+ @media print {
73
+ .rmx-callout {
74
+ border-left-width: 3px;
75
+ page-break-inside: avoid;
76
+ }
77
+ .rmx-callout-toggle { display: none; }
78
+ .rmx-callout-body { display: block !important; }
79
+ }
@@ -0,0 +1,117 @@
1
+ /* Collaboration — remote cursor overlays and presence indicators */
2
+
3
+ .rmx-collab-cursors-container {
4
+ position: absolute;
5
+ top: 0;
6
+ left: 0;
7
+ right: 0;
8
+ bottom: 0;
9
+ pointer-events: none;
10
+ z-index: 10;
11
+ overflow: hidden;
12
+ }
13
+
14
+ /* Remote cursor caret */
15
+ .rmx-collab-cursor {
16
+ position: absolute;
17
+ width: 2px;
18
+ border-radius: 1px;
19
+ transition: left 0.1s ease, top 0.1s ease;
20
+ animation: rmx-cursor-blink 1.2s ease-in-out infinite;
21
+ }
22
+
23
+ @keyframes rmx-cursor-blink {
24
+ 0%, 100% { opacity: 1; }
25
+ 50% { opacity: 0.4; }
26
+ }
27
+
28
+ /* Name label above cursor */
29
+ .rmx-collab-cursor-label {
30
+ position: absolute;
31
+ bottom: 100%;
32
+ left: -1px;
33
+ padding: 1px 4px;
34
+ border-radius: 3px 3px 3px 0;
35
+ font-size: 10px;
36
+ font-weight: 600;
37
+ line-height: 14px;
38
+ color: #fff;
39
+ white-space: nowrap;
40
+ pointer-events: none;
41
+ user-select: none;
42
+ opacity: 0.9;
43
+ }
44
+
45
+ /* Remote selection highlight */
46
+ .rmx-collab-selection {
47
+ position: absolute;
48
+ opacity: 0.18;
49
+ border-radius: 2px;
50
+ transition: left 0.1s ease, top 0.1s ease, width 0.1s ease;
51
+ }
52
+
53
+ /* Collaboration bar (presence UI) */
54
+ .rmx-collab-bar {
55
+ display: flex;
56
+ align-items: center;
57
+ gap: 6px;
58
+ padding: 4px 8px;
59
+ font-size: 12px;
60
+ user-select: none;
61
+ }
62
+
63
+ /* Connection status dot */
64
+ .rmx-collab-status-dot {
65
+ width: 8px;
66
+ height: 8px;
67
+ border-radius: 50%;
68
+ flex-shrink: 0;
69
+ }
70
+
71
+ .rmx-collab-status-dot[data-status="connected"] {
72
+ background-color: #22c55e;
73
+ box-shadow: 0 0 4px #22c55e80;
74
+ }
75
+
76
+ .rmx-collab-status-dot[data-status="disconnected"] {
77
+ background-color: #ef4444;
78
+ }
79
+
80
+ .rmx-collab-status-dot[data-status="unconfigured"] {
81
+ background-color: #94a3b8;
82
+ }
83
+
84
+ /* Avatar circle */
85
+ .rmx-collab-avatar {
86
+ width: 24px;
87
+ height: 24px;
88
+ border-radius: 50%;
89
+ display: flex;
90
+ align-items: center;
91
+ justify-content: center;
92
+ font-size: 11px;
93
+ font-weight: 700;
94
+ color: #fff;
95
+ flex-shrink: 0;
96
+ border: 2px solid #fff;
97
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
98
+ cursor: default;
99
+ }
100
+
101
+ .rmx-collab-avatar-local {
102
+ opacity: 0.7;
103
+ }
104
+
105
+ /* Stacked avatars */
106
+ .rmx-collab-bar .rmx-collab-avatar + .rmx-collab-avatar {
107
+ margin-left: -6px;
108
+ }
109
+
110
+ /* Dark theme adjustments */
111
+ .rmx-theme-dark .rmx-collab-avatar {
112
+ border-color: #1e293b;
113
+ }
114
+
115
+ .rmx-theme-dark .rmx-collab-cursor-label {
116
+ opacity: 1;
117
+ }
@@ -0,0 +1,198 @@
1
+ /* ====== Comments & Annotations ====== */
2
+
3
+ /* --- Comment highlight on annotated text --- */
4
+ .rmx-comment {
5
+ background-color: rgba(251, 191, 36, 0.25);
6
+ border-bottom: 2px solid #f59e0b;
7
+ cursor: pointer;
8
+ transition: background-color 0.15s ease;
9
+ border-radius: 2px;
10
+ }
11
+
12
+ .rmx-comment:hover {
13
+ background-color: rgba(251, 191, 36, 0.4);
14
+ }
15
+
16
+ /* Resolved comments: muted styling */
17
+ .rmx-comment-resolved,
18
+ .rmx-comment[data-comment-resolved="true"] {
19
+ background-color: rgba(148, 163, 184, 0.15);
20
+ border-bottom-color: #94a3b8;
21
+ }
22
+
23
+ .rmx-comment-resolved:hover,
24
+ .rmx-comment[data-comment-resolved="true"]:hover {
25
+ background-color: rgba(148, 163, 184, 0.25);
26
+ }
27
+
28
+ /* --- Comment-only mode --- */
29
+ .rmx-comment-only {
30
+ cursor: default;
31
+ }
32
+ .rmx-comment-only .rmx-comment {
33
+ cursor: pointer;
34
+ }
35
+
36
+ /* --- Comments panel sidebar --- */
37
+ .rmx-comments-panel {
38
+ border-left: 1px solid var(--rmx-border, #e2e8f0);
39
+ background: var(--rmx-modal-bg, #ffffff);
40
+ overflow-y: auto;
41
+ padding: 12px;
42
+ font-size: 13px;
43
+ color: var(--rmx-text, #1e293b);
44
+ min-width: 280px;
45
+ max-width: 360px;
46
+ }
47
+
48
+ .rmx-comments-panel-header {
49
+ display: flex;
50
+ align-items: center;
51
+ justify-content: space-between;
52
+ padding-bottom: 8px;
53
+ margin-bottom: 8px;
54
+ border-bottom: 1px solid var(--rmx-border, #e2e8f0);
55
+ font-weight: 600;
56
+ font-size: 14px;
57
+ }
58
+
59
+ .rmx-comments-panel-count {
60
+ font-weight: 400;
61
+ font-size: 12px;
62
+ color: var(--rmx-text-secondary, #64748b);
63
+ }
64
+
65
+ /* --- Thread card --- */
66
+ .rmx-comment-thread {
67
+ border: 1px solid var(--rmx-border, #e2e8f0);
68
+ border-radius: 6px;
69
+ padding: 10px 12px;
70
+ margin-bottom: 8px;
71
+ cursor: pointer;
72
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
73
+ }
74
+
75
+ .rmx-comment-thread:hover {
76
+ border-color: var(--rmx-primary, #6366f1);
77
+ box-shadow: var(--rmx-shadow-sm, 0 1px 2px rgba(15, 23, 42, 0.05));
78
+ }
79
+
80
+ .rmx-comment-thread.rmx-resolved {
81
+ opacity: 0.65;
82
+ }
83
+
84
+ .rmx-comment-thread-header {
85
+ display: flex;
86
+ align-items: center;
87
+ justify-content: space-between;
88
+ margin-bottom: 4px;
89
+ }
90
+
91
+ .rmx-comment-author {
92
+ font-weight: 600;
93
+ font-size: 12px;
94
+ color: var(--rmx-text, #1e293b);
95
+ }
96
+
97
+ .rmx-comment-time {
98
+ font-size: 11px;
99
+ color: var(--rmx-text-secondary, #64748b);
100
+ }
101
+
102
+ .rmx-comment-body {
103
+ font-size: 13px;
104
+ line-height: 1.4;
105
+ margin-bottom: 6px;
106
+ white-space: pre-wrap;
107
+ word-break: break-word;
108
+ }
109
+
110
+ .rmx-comment-mention {
111
+ color: var(--rmx-primary, #6366f1);
112
+ font-weight: 500;
113
+ }
114
+
115
+ /* --- Reply --- */
116
+ .rmx-comment-reply {
117
+ border-top: 1px solid var(--rmx-border-subtle, #f1f5f9);
118
+ padding-top: 6px;
119
+ margin-top: 6px;
120
+ }
121
+
122
+ /* --- Thread actions --- */
123
+ .rmx-comment-actions {
124
+ display: flex;
125
+ gap: 6px;
126
+ margin-top: 6px;
127
+ }
128
+
129
+ .rmx-comment-action-btn {
130
+ border: none;
131
+ background: none;
132
+ font-size: 11px;
133
+ color: var(--rmx-text-secondary, #64748b);
134
+ cursor: pointer;
135
+ padding: 2px 6px;
136
+ border-radius: 3px;
137
+ transition: background-color 0.1s ease, color 0.1s ease;
138
+ }
139
+
140
+ .rmx-comment-action-btn:hover {
141
+ background: var(--rmx-toolbar-button-hover, #f1f5f9);
142
+ color: var(--rmx-text, #1e293b);
143
+ }
144
+
145
+ .rmx-comment-action-btn.rmx-resolve-btn {
146
+ color: #16a34a;
147
+ }
148
+
149
+ .rmx-comment-action-btn.rmx-delete-btn {
150
+ color: var(--rmx-danger, #ef4444);
151
+ }
152
+
153
+ /* --- Status badge --- */
154
+ .rmx-comment-status {
155
+ display: inline-block;
156
+ font-size: 10px;
157
+ font-weight: 600;
158
+ text-transform: uppercase;
159
+ letter-spacing: 0.03em;
160
+ padding: 1px 5px;
161
+ border-radius: 3px;
162
+ }
163
+
164
+ .rmx-comment-status.rmx-open {
165
+ background: rgba(251, 191, 36, 0.2);
166
+ color: #b45309;
167
+ }
168
+
169
+ .rmx-comment-status.rmx-closed {
170
+ background: rgba(22, 163, 74, 0.15);
171
+ color: #16a34a;
172
+ }
173
+
174
+ /* --- Dark theme overrides --- */
175
+ .rmx-theme-dark .rmx-comment {
176
+ background-color: rgba(251, 191, 36, 0.15);
177
+ border-bottom-color: #d97706;
178
+ }
179
+ .rmx-theme-dark .rmx-comment:hover {
180
+ background-color: rgba(251, 191, 36, 0.25);
181
+ }
182
+ .rmx-theme-dark .rmx-comment-resolved {
183
+ background-color: rgba(148, 163, 184, 0.1);
184
+ border-bottom-color: #475569;
185
+ }
186
+
187
+ /* --- Print: show annotations as footnotes --- */
188
+ @media print {
189
+ .rmx-comment {
190
+ background: none !important;
191
+ border-bottom: 1px dotted #999 !important;
192
+ }
193
+ .rmx-comments-panel {
194
+ break-before: page;
195
+ border: none;
196
+ max-width: none;
197
+ }
198
+ }