.llm-text-editor{--llm-bg: #ffffff;--llm-bg-secondary: #f8f9fa;--llm-bg-hover: #e9ecef;--llm-bg-active: #dee2e6;--llm-text: #212529;--llm-text-secondary: #6c757d;--llm-text-placeholder: #adb5bd;--llm-border: #dee2e6;--llm-border-focus: #86b7fe;--llm-primary: #0d6efd;--llm-primary-hover: #0b5ed7;--llm-success: #198754;--llm-danger: #dc3545;--llm-warning: #ffc107;--llm-ai-addition: #d4edda;--llm-ai-addition-text: #155724;--llm-ai-deletion: #f8d7da;--llm-ai-deletion-text: #721c24;--llm-ghost-text: #adb5bd;--llm-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--llm-shadow: 0 1px 3px rgba(0, 0, 0, .1);--llm-shadow-lg: 0 4px 6px rgba(0, 0, 0, .1);--llm-spacing-xs: 4px;--llm-spacing-sm: 8px;--llm-spacing-md: 16px;--llm-spacing-lg: 24px;--llm-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--llm-font-mono: "SF Mono", SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;--llm-font-size: 16px;--llm-line-height: 1.6;--llm-radius-sm: 4px;--llm-radius: 6px;--llm-radius-lg: 8px;--llm-transition: .15s ease}.llm-text-editor[data-theme=dark]{--llm-bg: #1e1e1e;--llm-bg-secondary: #252526;--llm-bg-hover: #2d2d2d;--llm-bg-active: #3c3c3c;--llm-text: #d4d4d4;--llm-text-secondary: #9d9d9d;--llm-text-placeholder: #6d6d6d;--llm-border: #3c3c3c;--llm-border-focus: #0078d4;--llm-primary: #0078d4;--llm-primary-hover: #106ebe;--llm-success: #4ec9b0;--llm-danger: #f14c4c;--llm-warning: #cca700;--llm-ai-addition: #2d4a3e;--llm-ai-addition-text: #4ec9b0;--llm-ai-deletion: #4a2d2d;--llm-ai-deletion-text: #f14c4c;--llm-ghost-text: #6d6d6d;--llm-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--llm-shadow: 0 1px 3px rgba(0, 0, 0, .4);--llm-shadow-lg: 0 4px 6px rgba(0, 0, 0, .5)}.llm-text-editor{position:relative;display:flex;flex-direction:column;background-color:var(--llm-bg);border:1px solid var(--llm-border);border-radius:var(--llm-radius);font-family:var(--llm-font-family);font-size:var(--llm-font-size);line-height:var(--llm-line-height);color:var(--llm-text);box-shadow:var(--llm-shadow-sm);overflow:hidden}.llm-text-editor:focus-within{border-color:var(--llm-border-focus);box-shadow:0 0 0 3px #0d6efd26}.llm-text-editor[data-theme=dark]:focus-within{box-shadow:0 0 0 3px #0078d440}.llm-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--llm-spacing-xs);padding:var(--llm-spacing-sm);background-color:var(--llm-bg-secondary);border-bottom:1px solid var(--llm-border)}.llm-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--llm-radius-sm);color:var(--llm-text-secondary);cursor:pointer;transition:all var(--llm-transition)}.llm-toolbar-btn:hover:not(:disabled){background-color:var(--llm-bg-hover);color:var(--llm-text)}.llm-toolbar-btn:focus-visible{outline:2px solid var(--llm-border-focus);outline-offset:1px}.llm-toolbar-btn.active{background-color:var(--llm-bg-active);color:var(--llm-primary)}.llm-toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.llm-toolbar-btn svg{width:16px;height:16px}.llm-toolbar-btn[data-action=correctAll]{background-color:var(--llm-primary);color:#fff;border-color:var(--llm-primary)}.llm-toolbar-btn[data-action=correctAll]:hover:not(:disabled){background-color:var(--llm-primary-hover);border-color:var(--llm-primary-hover);color:#fff}.llm-toolbar-separator{width:1px;height:20px;margin:0 var(--llm-spacing-xs);background-color:var(--llm-border)}.llm-editor-content{flex:1;min-height:200px;max-height:600px;overflow-y:auto}.llm-editor-input{min-height:200px;padding:var(--llm-spacing-md);outline:none}.llm-editor-input:focus{outline:none}.llm-editor-input p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--llm-text-placeholder);pointer-events:none;height:0}.llm-editor-input{font-family:var(--llm-font-family);font-size:var(--llm-font-size);line-height:var(--llm-line-height);color:var(--llm-text)}.llm-editor-input p{margin:0 0 1em}.llm-editor-input p:last-child{margin-bottom:0}.llm-editor-input h1,.llm-editor-input h2,.llm-editor-input h3{margin:1.5em 0 .5em;font-weight:600;line-height:1.3}.llm-editor-input h1:first-child,.llm-editor-input h2:first-child,.llm-editor-input h3:first-child{margin-top:0}.llm-editor-input h1{font-size:2em}.llm-editor-input h2{font-size:1.5em}.llm-editor-input h3{font-size:1.25em}.llm-editor-input strong{font-weight:600}.llm-editor-input em{font-style:italic}.llm-editor-input s{text-decoration:line-through}.llm-editor-input a{color:var(--llm-primary);text-decoration:underline;cursor:pointer}.llm-editor-input a:hover{color:var(--llm-primary-hover)}.llm-editor-input ul,.llm-editor-input ol{margin:0 0 1em;padding-left:1.5em}.llm-editor-input li{margin-bottom:.25em}.llm-editor-input li p{margin:0}.llm-editor-input blockquote{margin:1em 0;padding:.5em 1em;border-left:3px solid var(--llm-border);background-color:var(--llm-bg-secondary);color:var(--llm-text-secondary)}.llm-editor-input code{padding:.2em .4em;font-family:var(--llm-font-mono);font-size:.875em;background-color:var(--llm-bg-secondary);border-radius:var(--llm-radius-sm)}.llm-editor-input pre{margin:1em 0;padding:1em;font-family:var(--llm-font-mono);font-size:.875em;background-color:var(--llm-bg-secondary);border-radius:var(--llm-radius);overflow-x:auto}.llm-editor-input pre code{padding:0;background:none}.llm-editor-input [style*="text-align: left"]{text-align:left}.llm-editor-input [style*="text-align: center"]{text-align:center}.llm-editor-input [style*="text-align: right"]{text-align:right}.llm-link-popover{position:absolute;z-index:100;min-width:300px;background-color:var(--llm-bg);border:1px solid var(--llm-border);border-radius:var(--llm-radius);box-shadow:var(--llm-shadow-lg);padding:var(--llm-spacing-sm)}.llm-link-popover-content{display:flex;flex-direction:column;gap:var(--llm-spacing-sm)}.llm-link-popover-input{width:100%;padding:var(--llm-spacing-sm);font-size:14px;border:1px solid var(--llm-border);border-radius:var(--llm-radius-sm);background-color:var(--llm-bg);color:var(--llm-text);outline:none}.llm-link-popover-input:focus{border-color:var(--llm-border-focus);box-shadow:0 0 0 2px #0d6efd26}.llm-link-popover-actions{display:flex;gap:var(--llm-spacing-xs);justify-content:flex-end}.llm-link-popover-btn{padding:var(--llm-spacing-xs) var(--llm-spacing-sm);font-size:13px;border:1px solid var(--llm-border);border-radius:var(--llm-radius-sm);background-color:var(--llm-bg);color:var(--llm-text);cursor:pointer;transition:all var(--llm-transition)}.llm-link-popover-btn:hover{background-color:var(--llm-bg-hover)}.llm-link-popover-btn-primary{background-color:var(--llm-primary);border-color:var(--llm-primary);color:#fff}.llm-link-popover-btn-primary:hover{background-color:var(--llm-primary-hover);border-color:var(--llm-primary-hover)}.llm-text-editor[data-readonly=true]{opacity:.85}.llm-text-editor[data-readonly=true] .llm-toolbar{pointer-events:none;opacity:.5}.llm-text-editor[data-readonly=true] .llm-editor-input{cursor:default}.llm-text-editor[data-readonly=true]:after{content:"";position:absolute;top:var(--llm-spacing-sm);right:var(--llm-spacing-sm);width:8px;height:8px;background-color:var(--llm-warning);border-radius:50%;opacity:.7}.llm-text-editor[data-loading=true]{position:relative}.llm-text-editor[data-loading=true]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ffffffb3;z-index:50;display:flex;align-items:center;justify-content:center}.llm-text-editor[data-theme=dark][data-loading=true]:before{background-color:#1e1e1eb3}.llm-editor-image{max-width:100%;height:auto;border-radius:var(--llm-radius-sm);margin:var(--llm-spacing-sm) 0}.llm-editor-input img.ProseMirror-selectednode{outline:2px solid var(--llm-primary);outline-offset:2px}.llm-text-editor.llm-editor-focused{border-color:var(--llm-border-focus)}.llm-text-editor.llm-editor-dragover{border-color:var(--llm-primary);border-style:dashed;background-color:var(--llm-bg-secondary)}.llm-text-editor.llm-editor-dragover .llm-editor-content:after{content:"Drop image here";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:var(--llm-spacing-md) var(--llm-spacing-lg);background:var(--llm-primary);color:#fff;border-radius:var(--llm-radius);font-size:var(--llm-font-size);font-weight:500;pointer-events:none;z-index:10}.llm-text-editor.llm-editor-dragover .llm-editor-content{position:relative}.llm-text-editor[dir=rtl] .llm-toolbar{flex-direction:row-reverse}.llm-text-editor[dir=rtl] .llm-editor-input{text-align:right}.llm-text-editor{contain:layout style}.llm-editor-content{contain:layout}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media print{.llm-text-editor{border:none;box-shadow:none}.llm-toolbar{display:none}.llm-editor-content{max-height:none;overflow:visible}.llm-editor-input{padding:0}.llm-link-popover{display:none}}.llm-progress-indicator{position:absolute;top:0;left:0;right:0;background:var(--llm-bg);border-bottom:1px solid var(--llm-border);padding:8px 12px;display:flex;align-items:center;opacity:0;transform:translateY(-100%);transition:opacity .15s ease,transform .15s ease;z-index:100}.llm-progress-indicator-visible{opacity:1;transform:translateY(0)}.llm-progress-content{display:flex;align-items:center;gap:10px;width:100%}.llm-progress-spinner{width:18px;height:18px;color:var(--llm-primary);flex-shrink:0}.llm-progress-spinner svg{width:100%;height:100%;animation:llm-spin 1s linear infinite}@keyframes llm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.llm-progress-message{font-size:13px;color:var(--llm-text);flex-grow:1}.llm-progress-bar-container{width:100px;height:4px;background:var(--llm-border);border-radius:2px;overflow:hidden;flex-shrink:0}.llm-progress-bar{height:100%;background:var(--llm-primary);border-radius:2px;transition:width .2s ease;width:0%}.llm-progress-cancel{width:24px;height:24px;padding:4px;border:none;background:transparent;color:var(--llm-text-secondary);cursor:pointer;border-radius:var(--llm-radius-sm);flex-shrink:0;transition:background-color var(--llm-transition),color var(--llm-transition)}.llm-progress-cancel:hover{background:var(--llm-bg-hover);color:var(--llm-text)}.llm-progress-cancel:focus{outline:2px solid var(--llm-border-focus);outline-offset:2px}.llm-progress-cancel svg{width:100%;height:100%}.llm-progress-indicator-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;transform:none;border:none}.llm-text-editor[data-theme=dark] .llm-progress-indicator-overlay{background:#1e1e1ee6}.llm-progress-indicator-overlay .llm-progress-spinner{width:32px;height:32px}.llm-progress-indicator-overlay .llm-progress-message{text-align:center;flex-grow:0}.llm-retry-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;opacity:0;transition:opacity .2s ease;z-index:10000}.llm-retry-modal-backdrop-visible{opacity:1}.llm-retry-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);background:var(--llm-bg);border-radius:var(--llm-radius-lg);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;opacity:0;transition:opacity .2s ease,transform .2s ease;z-index:10001;max-width:400px;width:calc(100% - 32px)}.llm-retry-modal-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.llm-retry-modal-content{padding:var(--llm-spacing-lg);text-align:center}.llm-retry-modal-icon{width:48px;height:48px;margin:0 auto 16px;color:var(--llm-danger)}.llm-retry-modal-icon svg{width:100%;height:100%}.llm-retry-modal-title{font-size:18px;font-weight:600;margin:0 0 8px;color:var(--llm-text)}.llm-retry-modal-message{font-size:14px;color:var(--llm-text-secondary);margin:0 0 24px;line-height:1.5}.llm-retry-modal-actions{display:flex;gap:12px;justify-content:center}.llm-retry-modal-btn{padding:10px 20px;border-radius:var(--llm-radius);font-size:14px;font-weight:500;cursor:pointer;transition:background-color var(--llm-transition),border-color var(--llm-transition);border:1px solid var(--llm-border);background:var(--llm-bg);color:var(--llm-text)}.llm-retry-modal-btn:hover{background:var(--llm-bg-hover)}.llm-retry-modal-btn:focus{outline:2px solid var(--llm-border-focus);outline-offset:2px}.llm-retry-modal-btn-primary{background:var(--llm-primary);border-color:var(--llm-primary);color:#fff}.llm-retry-modal-btn-primary:hover{background:var(--llm-primary-hover);border-color:var(--llm-primary-hover)}.llm-ghost-text{color:var(--llm-ghost-text);font-style:italic;opacity:.7;pointer-events:none;-webkit-user-select:none;user-select:none}.llm-ghost-text:before{content:""}.llm-ghost-text-hint{position:absolute;bottom:var(--llm-spacing-sm);right:var(--llm-spacing-sm);font-size:11px;color:var(--llm-text-secondary);opacity:0;transition:opacity var(--llm-transition);pointer-events:none;background:var(--llm-bg);padding:2px 6px;border-radius:var(--llm-radius-sm);box-shadow:var(--llm-shadow-sm)}.llm-text-editor:has(.llm-ghost-text) .llm-ghost-text-hint{opacity:1}.llm-diff-view{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--llm-bg);z-index:200;display:flex;flex-direction:column;overflow:hidden}.llm-diff-header{display:flex;justify-content:space-between;align-items:center;padding:var(--llm-spacing-sm) var(--llm-spacing-md);background:var(--llm-bg-secondary);border-bottom:1px solid var(--llm-border)}.llm-diff-title{display:flex;align-items:center;gap:var(--llm-spacing-sm)}.llm-diff-title-text{font-weight:600;font-size:14px;color:var(--llm-text)}.llm-diff-count{font-size:12px;color:var(--llm-text-secondary)}.llm-diff-actions{display:flex;gap:var(--llm-spacing-xs)}.llm-diff-btn{padding:var(--llm-spacing-xs) var(--llm-spacing-sm);font-size:12px;border:1px solid var(--llm-border);border-radius:var(--llm-radius-sm);background:var(--llm-bg);color:var(--llm-text);cursor:pointer;transition:all var(--llm-transition)}.llm-diff-btn:hover{background:var(--llm-bg-hover)}.llm-diff-btn:focus-visible{outline:2px solid var(--llm-border-focus);outline-offset:1px}.llm-diff-btn-accept-all{background:var(--llm-success);border-color:var(--llm-success);color:#fff}.llm-diff-btn-accept-all:hover{background:#157347;border-color:#157347}.llm-diff-btn-reject-all{background:var(--llm-danger);border-color:var(--llm-danger);color:#fff}.llm-diff-btn-reject-all:hover{background:#bb2d3b;border-color:#bb2d3b}.llm-diff-btn-close{width:24px;padding:0;display:flex;align-items:center;justify-content:center}.llm-diff-btn-primary{background:var(--llm-primary);border-color:var(--llm-primary);color:#fff}.llm-diff-btn-primary:hover{background:var(--llm-primary-hover);border-color:var(--llm-primary-hover)}.llm-diff-content{flex:1;padding:var(--llm-spacing-md);overflow-y:auto;font-family:var(--llm-font-family);font-size:var(--llm-font-size);line-height:var(--llm-line-height);white-space:pre-wrap;word-wrap:break-word}.llm-diff-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--llm-spacing-sm) var(--llm-spacing-md);background:var(--llm-bg-secondary);border-top:1px solid var(--llm-border)}.llm-diff-legend{display:flex;gap:var(--llm-spacing-md);font-size:12px;color:var(--llm-text-secondary)}.llm-diff-legend-item{display:flex;align-items:center;gap:var(--llm-spacing-xs)}.llm-diff-legend-deletion,.llm-diff-legend-addition{display:inline-block;width:12px;height:12px;border-radius:2px}.llm-diff-legend-deletion{background:var(--llm-ai-deletion)}.llm-diff-legend-addition{background:var(--llm-ai-addition)}.llm-diff-equal{color:var(--llm-text)}.llm-diff-deletion{background:var(--llm-ai-deletion);color:var(--llm-ai-deletion-text);text-decoration:line-through;border-radius:2px;padding:0 2px}.llm-diff-addition{background:var(--llm-ai-addition);color:var(--llm-ai-addition-text);text-decoration:underline;border-radius:2px;padding:0 2px}.llm-diff-change{position:relative;display:inline;cursor:pointer}.llm-diff-change:hover .llm-diff-change-actions{opacity:1;visibility:visible}.llm-diff-change-actions{position:absolute;top:-24px;left:50%;transform:translate(-50%);display:flex;gap:2px;background:var(--llm-bg);border:1px solid var(--llm-border);border-radius:var(--llm-radius-sm);padding:2px;box-shadow:var(--llm-shadow);opacity:0;visibility:hidden;transition:opacity var(--llm-transition),visibility var(--llm-transition);z-index:10}.llm-diff-change-btn{width:18px;height:18px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:2px;font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background var(--llm-transition)}.llm-diff-change-accept{color:var(--llm-success)}.llm-diff-change-accept:hover{background:var(--llm-ai-addition)}.llm-diff-change-reject{color:var(--llm-danger)}.llm-diff-change-reject:hover{background:var(--llm-ai-deletion)}.llm-diff-accepted{opacity:.5}.llm-diff-rejected{opacity:.3;text-decoration:line-through}.llm-text-editor[data-disabled=true]{opacity:.6;pointer-events:none;cursor:not-allowed}.llm-text-editor[data-disabled=true] .llm-toolbar{opacity:.5}.llm-text-editor[data-disabled=true] .llm-editor-input{background-color:var(--llm-bg-secondary)}.llm-offline-indicator{position:absolute;top:var(--llm-spacing-sm);right:var(--llm-spacing-sm);display:flex;align-items:center;gap:var(--llm-spacing-xs);padding:var(--llm-spacing-xs) var(--llm-spacing-sm);background:var(--llm-warning);color:#000;font-size:12px;border-radius:var(--llm-radius-sm);z-index:50}.llm-offline-indicator:before{content:"";width:8px;height:8px;background:currentColor;border-radius:50%;animation:llm-pulse 2s infinite}@keyframes llm-pulse{0%,to{opacity:1}50%{opacity:.5}}
