.rich-editor{position:relative}.rich-editor-layout{gap:1.5rem;width:100%;display:flex}.rich-editor-layout>.rich-editor{flex:1;min-width:0}.rich-editor .ProseMirror{min-height:12rem;color:inherit;background-color:inherit;outline:none;padding:1rem 1.5rem 5rem;font-family:inherit;line-height:1.75}.rich-editor .ProseMirror:focus-visible{outline:none}.rich-editor .ProseMirror[contenteditable=false]{min-height:0;padding-bottom:1rem}.rich-editor .ProseMirror ::selection{background-color:color-mix(in oklab, var(--accent) 25%, transparent)}.rich-editor .ProseMirror .ProseMirror-selectednode{outline:2px solid var(--accent);outline-offset:-2px;border-radius:.25rem}.rich-editor .ProseMirror p.is-editor-empty:first-child:before{float:left;height:0;color:var(--field-placeholder);pointer-events:none;content:attr(data-placeholder)}.rich-editor .ProseMirror h1,.rich-editor .ProseMirror h2,.rich-editor .ProseMirror h3{scroll-margin-top:5rem}.rich-editor .ProseMirror h1{margin:1.5rem 0 .75rem;font-size:1.875rem;font-weight:700;line-height:1.3}.rich-editor .ProseMirror h2{margin:1.25rem 0 .5rem;font-size:1.5rem;font-weight:600;line-height:1.35}.rich-editor .ProseMirror h3{margin:1rem 0 .375rem;font-size:1.25rem;font-weight:600;line-height:1.4}.rich-editor .ProseMirror h1:first-child,.rich-editor .ProseMirror h2:first-child,.rich-editor .ProseMirror h3:first-child{margin-top:0}.rich-editor .ProseMirror a{color:var(--link);text-underline-offset:2px;cursor:pointer;text-decoration:underline}.rich-editor .ProseMirror a:hover{color:var(--accent)}.rich-editor .ProseMirror code{font-family:var(--font-mono,monospace);background-color:var(--surface-tertiary);border:1px solid var(--border);border-radius:.25rem;padding:.125rem .375rem;font-size:.85em;font-weight:500}.rich-editor .ProseMirror pre code{font-weight:inherit;background-color:#0000;border:none;border-radius:0;padding:0}.rich-editor .ProseMirror .code-block-wrapper{margin:.75rem 0;position:relative}.rich-editor .ProseMirror .code-block-wrapper pre{font-family:var(--font-mono,monospace);background-color:var(--surface-secondary);border:1px solid var(--border);border-radius:.5rem;padding:2rem 1rem 1rem;font-size:.875rem;line-height:1.6;overflow-x:auto}.rich-editor .ProseMirror .code-block-header{z-index:1;justify-content:flex-end;align-items:center;gap:.25rem;display:flex;position:absolute;top:.125rem;right:.5rem}.rich-editor .ProseMirror .code-block-lang-select{min-height:24px;font-family:var(--font-mono,monospace);color:var(--muted-foreground);cursor:pointer;border:1px solid var(--border);background-color:#0000;border-radius:.25rem;outline:none;padding:.125rem .375rem;font-size:.7rem}.rich-editor .ProseMirror .code-block-lang-select:hover{background-color:var(--surface-tertiary)}.rich-editor .ProseMirror .code-block-lang-select:focus-visible{border-color:var(--accent)}.rich-editor .ProseMirror .code-block-lang-label{min-height:24px;font-family:var(--font-mono,monospace);color:var(--muted-foreground);-webkit-user-select:none;user-select:none;align-items:center;padding:.125rem .375rem;font-size:.7rem;display:inline-flex}.rich-editor .ProseMirror .code-block-copy-btn{width:24px;height:24px;color:var(--muted-foreground);cursor:pointer;border:1px solid var(--border);background:0 0;border-radius:.25rem;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-flex}.rich-editor .ProseMirror .code-block-copy-btn:hover{color:var(--foreground);background-color:var(--surface-tertiary)}.rich-editor .ProseMirror blockquote{color:var(--muted);border-left:3px solid var(--border);margin:.75rem 0;padding-left:1rem}.rich-editor .ProseMirror hr{cursor:pointer;background:0 0;background-image:linear-gradient(var(--separator), var(--separator));background-position:50%;background-repeat:no-repeat;background-size:100% 1px;border:none;margin:.5rem 0;padding:.75rem 0}.rich-editor .ProseMirror hr.ProseMirror-selectednode{background-image:linear-gradient(var(--accent), var(--accent))}.rich-editor .ProseMirror ul{margin:.5rem 0;padding-left:1.5rem;list-style-type:disc}.rich-editor .ProseMirror ol{margin:.5rem 0;padding-left:1.5rem;list-style-type:decimal}.rich-editor .ProseMirror li{margin:.25rem 0}.rich-editor .ProseMirror ul[data-type=taskList]{padding-left:0;list-style:none}.rich-editor .ProseMirror ul[data-type=taskList] li{align-items:flex-start;gap:.5rem;display:flex}.rich-editor .ProseMirror ul[data-type=taskList] li input[type=checkbox]{accent-color:var(--accent);margin-top:.375rem}.rich-editor .ProseMirror table{border-collapse:collapse;width:100%;margin:.75rem 0}.rich-editor .ProseMirror th,.rich-editor .ProseMirror td{vertical-align:top;border:1px solid var(--border);min-width:6rem;padding:.5rem .75rem}.rich-editor .ProseMirror th{text-align:left;background-color:var(--surface-secondary);font-weight:600}.rich-editor .ProseMirror .selectedCell{background-color:color-mix(in oklab, var(--accent) 10%, transparent)}.rich-editor .table-control-btn{width:20px;height:20px;color:var(--muted);cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.rich-editor .table-control-btn:hover{color:var(--foreground);background:var(--default);border-color:var(--accent)}.rich-editor .table-control-btn.table-control-add{width:20px;height:20px;color:var(--accent);border-color:var(--accent);border-style:dashed}.rich-editor .table-control-btn.table-control-add:hover{color:var(--accent-foreground);background:var(--accent);border-style:solid}.rich-editor .ProseMirror .tableWrapper{position:relative;overflow-x:auto}.rich-editor .ProseMirror .image-view-wrapper{flex-direction:column;align-items:center;margin:.75rem 0;display:flex}.rich-editor .ProseMirror .image-view-wrapper[data-align=left]{align-items:flex-start}.rich-editor .ProseMirror .image-view-wrapper[data-align=center]{align-items:center}.rich-editor .ProseMirror .image-view-wrapper[data-align=right]{align-items:flex-end}.rich-editor .ProseMirror .image-view-container{max-width:100%;line-height:0;display:inline-block;position:relative}.rich-editor .ProseMirror .image-view-img{border-radius:.5rem;width:100%;max-width:100%;height:auto;display:block}.rich-editor .ProseMirror .image-resize-handle{z-index:10;pointer-events:auto;touch-action:none;background:0 0;border-style:solid;border-width:1.5px;border-radius:2px;width:12px;height:12px;position:absolute}.rich-editor .ProseMirror .image-resize-handle[data-position=top-left]{cursor:nwse-resize;border-color:var(--accent) transparent transparent var(--accent);top:4px;left:4px}.rich-editor .ProseMirror .image-resize-handle[data-position=top-right]{cursor:nesw-resize;border-color:var(--accent) var(--accent) transparent transparent;top:4px;right:4px}.rich-editor .ProseMirror .image-resize-handle[data-position=bottom-left]{cursor:nesw-resize;border-color:transparent transparent var(--accent) var(--accent);bottom:4px;left:4px}.rich-editor .ProseMirror .image-resize-handle[data-position=bottom-right]{cursor:nwse-resize;border-color:transparent var(--accent) var(--accent) transparent;bottom:4px;right:4px}@media (pointer:coarse){.rich-editor .ProseMirror .image-resize-handle{width:20px;height:20px}}.rich-editor .ProseMirror img:not(.image-view-img){border-radius:.5rem;max-width:100%;height:auto;margin:.75rem 0}.rich-editor .ProseMirror .callout-container{border-left:4px solid var(--border);border-radius:.5rem;margin:.75rem 0;padding:.75rem 1rem}.rich-editor .ProseMirror .callout-container[data-callout-type=info]{background-color:var(--status-info-bg);border-left-color:var(--status-info)}.rich-editor .ProseMirror .callout-container[data-callout-type=warning]{background-color:var(--status-warning-bg);border-left-color:var(--status-warning)}.rich-editor .ProseMirror .callout-container[data-callout-type=error]{background-color:var(--status-error-bg);border-left-color:var(--status-error)}.rich-editor .ProseMirror .callout-container[data-callout-type=success]{background-color:var(--status-success-bg);border-left-color:var(--status-success)}.rich-editor .ProseMirror .video-embed,.rich-editor .ProseMirror div[data-youtube-video]{aspect-ratio:16/9;border-radius:.5rem;width:100%;margin:.75rem 0;position:relative;overflow:hidden}.rich-editor .ProseMirror .video-embed iframe,.rich-editor .ProseMirror div[data-youtube-video] iframe{border:none;width:100%;height:100%;display:block;position:absolute;inset:0}.rich-editor .ProseMirror .has-focus{box-shadow:0 0 0 2px color-mix(in oklab, var(--accent) 15%, transparent);border-radius:.25rem}.rich-editor .ProseMirror .ProseMirror-gapcursor:after{border-top-color:var(--foreground)}.rich-editor .video-input-anchor{z-index:20;justify-content:center;display:flex;position:absolute;left:0;right:0}.rich-editor .video-input-popover{background-color:var(--surface);border:1px solid var(--border);border-radius:.5rem;flex-direction:column;gap:.5rem;width:min(24rem,90%);padding:.75rem;display:flex;box-shadow:0 8px 30px #0000001f}.rich-editor .video-input-header{align-items:center;gap:.5rem;display:flex}.rich-editor .video-input-field{min-height:2.25rem;color:var(--foreground);background-color:var(--surface-secondary);border:1px solid var(--border);border-radius:.375rem;outline:none;flex:1;padding:.25rem .5rem;font-size:.875rem}.rich-editor .video-input-field:focus{border-color:var(--accent)}.rich-editor .video-input-field::placeholder{color:var(--muted-foreground)}.rich-editor .video-input-error{color:var(--status-error);margin:0;font-size:.75rem}.rich-editor .video-input-actions{justify-content:flex-end;gap:.5rem;display:flex}.rich-editor .video-input-btn-cancel,.rich-editor .video-input-btn-insert{cursor:pointer;border:1px solid var(--border);border-radius:.375rem;min-height:2rem;padding:.25rem .75rem;font-size:.8125rem}.rich-editor .video-input-btn-cancel{color:var(--muted-foreground);background-color:#0000}.rich-editor .video-input-btn-cancel:hover{background-color:var(--surface-secondary)}.rich-editor .video-input-btn-insert{color:var(--accent-foreground);background-color:var(--accent);border-color:var(--accent)}.rich-editor .video-input-btn-insert:hover{opacity:.9}.rich-editor .video-input-btn-insert:disabled{cursor:not-allowed;opacity:.4}.rich-editor .ProseMirror .ProseMirror-dropcursor{color:var(--accent)}.rich-toc-item-text{-webkit-line-clamp:2;line-clamp:2;text-wrap:pretty;-webkit-box-orient:vertical;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}@media (pointer:coarse){.drag-handle button{opacity:.7!important}}.rich-editor .ProseMirror span[data-type=emoji] img{vertical-align:middle;width:1.2em;height:1.2em;margin:0;line-height:1;display:inline-block}
