.rich-text-editor{max-width:100%;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);overflow:hidden}.editor-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.editor-toolbar .toolbar-group{display:flex;gap:4px}.editor-toolbar .toolbar-group:not(:last-child):after{content:"";width:1px;height:24px;background:#e2e8f0;margin:0 8px;align-self:center}.editor-toolbar .toolbar-btn{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;font-weight:500;color:#475569;cursor:pointer;transition:all .15s ease}.editor-toolbar .toolbar-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.editor-toolbar .toolbar-btn.is-active{background:#3b82f6;border-color:#3b82f6;color:#fff}.editor-toolbar .toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.editor-content-wrapper{min-height:400px;height:calc(100vh - 96px);overflow-y:auto}.tiptap{padding:24px;min-height:400px;outline:none;font-size:16px;line-height:1.6;color:#1e293b}.tiptap :first-child{margin-top:0}.tiptap :last-child{margin-bottom:0}.tiptap h1,.tiptap h2,.tiptap h3,.tiptap h4,.tiptap h5,.tiptap h6{font-weight:600;margin:1.5em 0 .5em;line-height:1.3}.tiptap h1:first-child,.tiptap h2:first-child,.tiptap h3:first-child,.tiptap h4:first-child,.tiptap h5:first-child,.tiptap h6:first-child{margin-top:0}.tiptap h1{font-size:2em;color:#0f172a}.tiptap h2{font-size:1.5em;color:#1e293b}.tiptap h3{font-size:1.25em;color:#334155}.tiptap p{margin:1em 0;word-break:break-word}.tiptap ol,.tiptap ul{margin:1em 0;padding-left:1.5em}.tiptap ol li,.tiptap ul li{margin:.25em 0}.tiptap ol li p,.tiptap ul li p{margin:0}.tiptap ul{list-style-type:disc}.tiptap ol{list-style-type:decimal}.tiptap blockquote{margin:1.5em 0;padding:1em 1.5em;border-left:4px solid #3b82f6;background:#f8fafc;border-radius:0 8px 8px 0;font-style:italic;color:#475569}.tiptap hr{margin:2em 0;border:none;height:2px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent)}.tiptap pre{background:#1e293b;border-radius:8px;color:#e2e8f0;font-family:JetBrainsMono,Fira Code,Consolas,monospace;margin:1.5rem 0;padding:1rem 1.25rem;overflow-x:auto;font-size:14px;line-height:1.5}.tiptap pre code{background:none;color:inherit;padding:0;font-size:inherit}.tiptap pre .hljs-comment,.tiptap pre .hljs-quote{color:#64748b}.tiptap pre .hljs-attribute,.tiptap pre .hljs-link,.tiptap pre .hljs-name,.tiptap pre .hljs-regexp,.tiptap pre .hljs-selector-class,.tiptap pre .hljs-selector-id,.tiptap pre .hljs-tag,.tiptap pre .hljs-template-variable,.tiptap pre .hljs-variable{color:#f87171}.tiptap pre .hljs-built_in,.tiptap pre .hljs-builtin-name,.tiptap pre .hljs-literal,.tiptap pre .hljs-meta,.tiptap pre .hljs-number,.tiptap pre .hljs-params,.tiptap pre .hljs-type{color:#fbbf24}.tiptap pre .hljs-bullet,.tiptap pre .hljs-string,.tiptap pre .hljs-symbol{color:#34d399}.tiptap pre .hljs-section,.tiptap pre .hljs-title{color:#60a5fa}.tiptap pre .hljs-keyword,.tiptap pre .hljs-selector-tag{color:#a78bfa}.tiptap pre .hljs-emphasis{font-style:italic}.tiptap pre .hljs-strong{font-weight:700}.tiptap code{background:#f1f5f9;border-radius:4px;color:#e11d48;font-family:JetBrainsMono,Fira Code,Consolas,monospace;font-size:.9em;padding:.2em .4em}.tiptap img{max-width:100%;height:auto;border-radius:8px;margin:1em 0;box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.tiptap p.is-editor-empty:first-child:before{color:#94a3b8;content:attr(data-placeholder);float:left;height:0;pointer-events:none;font-style:italic}.tiptap .collaboration-carets__caret{border-left:2px solid #3b82f6;border-right:2px solid #3b82f6;margin-left:-1px;margin-right:-1px;pointer-events:none;position:relative;word-break:normal}.tiptap .collaboration-carets__label{border-radius:6px 6px 6px 0;color:#fff;font-size:11px;font-style:normal;font-weight:600;left:-1px;line-height:normal;padding:.2rem .4rem;position:absolute;top:-1.6em;user-select:none;white-space:nowrap;box-shadow:0 2px 4px rgba(0,0,0,.1)}.tiptap:focus{outline:none}.tiptap ::selection{background:rgba(219,234,254,.5294117647)}@media(max-width:768px){.editor-toolbar{padding:8px 12px}.editor-toolbar .toolbar-group{gap:2px}.editor-toolbar .toolbar-group:not(:last-child):after{margin:0 4px}.editor-toolbar .toolbar-btn{min-width:28px;height:28px;padding:0 6px;font-size:11px}.tiptap{padding:16px;font-size:15px}}