.tiptap-editor.is-editor-empty>p.is-editor-empty:first-child:last-child:before,.tiptap-editor>p.is-editor-empty:first-child:last-child:before{content:attr(data-placeholder);pointer-events:none;--tw-text-opacity:1;color:rgb(214 209 201/var(--tw-text-opacity,1));float:left;height:0}.tiptap-editor.ProseMirror .ProseMirror-gapcursor{position:relative;pointer-events:none}.tiptap-editor.ProseMirror .ProseMirror-gapcursor:after{content:"";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid black;animation:ProseMirror-cursor-blink 1.1s steps(2,start) infinite}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}.tiptap-editor:focus-within{outline:none}.editor-scroll-pad .tiptap-editor.ProseMirror{padding-bottom:60vh}.hr-wrapper{position:relative;padding:1.25rem 15%}.hr-wrapper hr{border-top-width:1px;--tw-border-opacity:1;border-color:rgb(231 227 220/var(--tw-border-opacity,1));border-bottom:none;border-left:none;border-right:none;margin:0}.hr-wrapper.hr-deleting{animation:hr-fade-out .25s ease forwards;pointer-events:none}@keyframes hr-fade-out{0%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(.3)}}.hr-delete-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:white;border:1px solid #e5e5e5;border-radius:50%;color:#999;cursor:pointer;opacity:0;transition:opacity .15s ease,color .1s ease,border-color .1s ease;z-index:5}.hr-wrapper:hover .hr-delete-btn{opacity:1}.hr-delete-btn:hover{color:#ef4444;border-color:#fca5a5;background:#fef2f2}.bubble-menu{display:flex;align-items:center;gap:.125rem;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(28 25 23/var(--tw-bg-opacity,1));padding:.25rem;--tw-shadow:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.bubble-menu button{border-radius:.25rem;padding:.375rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.bubble-menu button.is-active,.bubble-menu button:hover{--tw-bg-opacity:1;background-color:rgb(68 64 60/var(--tw-bg-opacity,1))}.bubble-menu-link-input{background:transparent;border:none;outline:none;color:white;font-size:13px;width:200px;padding:2px 6px}.bubble-menu-link-input::-moz-placeholder{color:rgba(255,255,255,.35)}.bubble-menu-link-input::placeholder{color:rgba(255,255,255,.35)}.image-node-wrapper{position:relative;margin:1em 0}.image-insert-zone{position:absolute;left:-40px;z-index:25}.image-insert-zone,.image-insert-zone-plus{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.image-insert-zone-plus{border-radius:6px;color:var(--ink-300,#aaa);cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease}.image-node-wrapper:hover>.image-insert-zone .image-insert-zone-plus{opacity:1}.image-insert-zone-above{top:-2px}.image-insert-zone-below{bottom:-2px}.image-insert-zone-plus:hover{color:var(--ink-600,#555);background:var(--ink-100,#f0f0f0)}.image-node-wrapper.image-centered{display:flex;flex-direction:column;align-items:center}.tiptap-editor .react-renderer.node-image+.react-renderer.node-image,.tiptap-editor .react-renderer.node-image:has(+.react-renderer.node-image){display:inline-block;vertical-align:top;width:50%;padding:4px;margin:0}.tiptap-editor .react-renderer.node-image+.react-renderer.node-image+.react-renderer.node-image,.tiptap-editor .react-renderer.node-image+.react-renderer.node-image:has(+.react-renderer.node-image),.tiptap-editor .react-renderer.node-image:has(+.react-renderer.node-image+.react-renderer.node-image){width:33.333%}.tiptap-editor .react-renderer.node-image+.react-renderer.node-image .image-node-wrapper,.tiptap-editor .react-renderer.node-image:has(+.react-renderer.node-image) .image-node-wrapper{margin:0}.image-node-container{position:relative;display:inline-block;max-width:100%;border-radius:8px;cursor:default;transition:box-shadow .15s ease;line-height:0;font-size:0}.image-node-container.is-selected{box-shadow:0 0 0 2px rgba(59,130,246,.5);border-radius:8px}.image-node-container .image-node-img{display:block;max-width:100%;height:auto;border-radius:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.image-resize-handle{position:absolute;top:0;bottom:0;width:6px;cursor:col-resize;opacity:0;transition:opacity .15s ease;z-index:10}.image-resize-handle:after{content:"";position:absolute;top:50%;transform:translateY(-50%);width:4px;height:40px;border-radius:2px;background:rgba(59,130,246,.7)}.image-resize-handle-left{left:-3px}.image-resize-handle-left:after{left:1px}.image-resize-handle-right{right:-3px}.image-resize-handle-right:after{right:1px}.image-node-container.is-selected .image-resize-handle,.image-node-container:hover .image-resize-handle{opacity:1}.image-resize-indicator{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.7);color:white;font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;pointer-events:none;z-index:20}.image-upload-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.7);border-radius:8px;z-index:15}.image-upload-spinner{width:24px;height:24px;color:#888;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.image-caption{font-size:14px;line-height:1.5;color:#666;text-align:center;padding:6px 4px 2px;outline:none;width:100%;min-height:1.5em}.image-caption:empty:before{content:attr(data-placeholder);color:#bbb;pointer-events:none}.image-caption a{color:#666;text-decoration:underline;text-underline-offset:2px}.image-crop-overlay{position:absolute;inset:0;z-index:25}.image-crop-dim{position:absolute;background:rgba(0,0,0,.5)}.image-crop-rect{position:absolute;border:2px solid white;box-shadow:0 0 0 1px rgba(0,0,0,.3);cursor:move}.image-crop-handle{position:absolute;width:10px;height:10px;background:white;border:1px solid rgba(0,0,0,.3);border-radius:2px}.image-crop-handle-nw{top:-5px;left:-5px;cursor:nw-resize}.image-crop-handle-ne{top:-5px;right:-5px;cursor:ne-resize}.image-crop-handle-sw{bottom:-5px;left:-5px;cursor:sw-resize}.image-crop-handle-se{bottom:-5px;right:-5px;cursor:se-resize}.image-crop-actions{position:absolute;bottom:-36px;left:50%;transform:translateX(-50%);display:flex;gap:4px;z-index:30}.image-crop-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;cursor:pointer;font-size:14px;transition:background .1s ease}.image-crop-btn-confirm{background:#22c55e;color:white}.image-crop-btn-confirm:hover{background:#16a34a}.image-crop-btn-cancel{background:#ef4444;color:white}.image-crop-btn-cancel:hover{background:#dc2626}.image-toolbar{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;transition:opacity .15s ease;z-index:20}.image-node-container.is-selected .image-toolbar,.image-node-container:hover .image-toolbar{opacity:1}.image-toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:rgba(0,0,0,.6);border:none;border-radius:6px;color:white;cursor:pointer;transition:background .15s ease}.image-toolbar-btn:hover{background:rgba(0,0,0,.8)}.image-toolbar-btn-delete:hover{background:rgba(220,38,38,.85)}.image-zoom-trigger{position:absolute;bottom:8px;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:rgba(0,0,0,.5);border:none;border-radius:50%;color:white;cursor:zoom-in;opacity:0;transition:opacity .15s ease;z-index:20}.image-node-container:hover .image-zoom-trigger{opacity:.7}.image-zoom-trigger:hover{opacity:1!important}.chat-block-wrapper{margin:.75em 0}.chat-block{border:1px solid #e5e7eb;border-radius:10px;background:#fafafa;overflow:hidden}.chat-block-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid #e5e7eb}.chat-block-label{gap:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.chat-block-close,.chat-block-label{display:flex;align-items:center;color:#9ca3af}.chat-block-close{justify-content:center;width:22px;height:22px;border:none;background:transparent;border-radius:4px;cursor:pointer;transition:color .1s,background .1s}.chat-block-close:hover{color:#ef4444;background:#fef2f2}.chat-block-messages{max-height:400px;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:8px}.chat-msg-user-bubble{background:#f3f4f6;border-radius:8px;padding:6px 10px;font-size:14px;line-height:1.5;color:#374151;align-self:flex-end;max-width:85%;margin-left:auto;white-space:pre-wrap}.chat-msg-assistant{font-size:14px;line-height:1.6;color:#1f2937}.chat-msg-para{position:relative;padding:2px 0;white-space:pre-wrap}.chat-keep-btn{display:none;position:absolute;right:0;top:2px;font-size:11px;font-weight:500;color:#6b7280;background:white;border:1px solid #e5e7eb;border-radius:4px;padding:1px 6px;cursor:pointer;transition:color .1s,border-color .1s}.chat-msg-para:hover .chat-keep-btn{display:inline-block}.chat-keep-btn:hover{color:#2563eb;border-color:#93c5fd}.chat-block-input-row{display:flex;align-items:flex-end;gap:6px;padding:8px 12px;border-top:1px solid #e5e7eb}.chat-block-input{flex:1;resize:none;border:none;outline:none;overflow:hidden;background:transparent;font-size:14px;line-height:1.5;color:#1f2937;padding:4px 0;font-family:inherit}.chat-block-input::-moz-placeholder{color:#9ca3af}.chat-block-input::placeholder{color:#9ca3af}.chat-block-send{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:#9ca3af;border-radius:6px;cursor:pointer;flex-shrink:0;transition:color .1s}.chat-block-send:hover:not(:disabled){color:#2563eb}.chat-block-send:disabled{opacity:.4;cursor:default}.tiptap-editor .list-item-actions{display:inline-flex;align-items:center;vertical-align:middle;margin-left:6px;opacity:0;transition:opacity .15s ease}.tiptap-editor li:hover>div>.list-item-actions,.tiptap-editor li:hover>p>.list-item-actions{opacity:1}.tiptap-editor li:has(li:hover)>div>.list-item-actions,.tiptap-editor li:has(li:hover)>p>.list-item-actions{opacity:0}.tiptap-editor .list-item-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;color:#c4c4c4;border-radius:4px;cursor:pointer;transition:color .1s,background .1s;padding:0}.tiptap-editor .list-item-copy-btn:hover{color:#666;background:#f5f5f5}.tiptap-editor .list-item-delete-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;color:#c4c4c4;border-radius:4px;cursor:pointer;transition:color .1s,background .1s,opacity .15s;padding:0;opacity:0;z-index:5}.tiptap-editor li:hover>p>.list-item-delete-btn{opacity:1}.tiptap-editor li:has(li:hover)>p>.list-item-delete-btn{opacity:0}.tiptap-editor .list-item-delete-btn:hover{color:#ef4444;background:#fef2f2}.tiptap-editor li.list-item-draggable:hover{background:rgba(0,0,0,.02);border-radius:4px;margin-right:-48px;padding-right:48px}.tiptap-editor li.list-item-draggable{position:relative}.tiptap-editor li.list-item-draggable:after{content:"";position:absolute;left:-16px;top:calc(.775em - 6px);width:12px;height:12px;background-image:radial-gradient(circle,#ccc 1px,transparent 0);background-size:4px 4px;background-position:0 0;cursor:grab;opacity:0;transition:opacity .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:5}.tiptap-editor li.list-item-draggable:hover:after{opacity:1}.tiptap-editor li.list-item-draggable.has-subitems:after{display:none}.tiptap-editor ol,.tiptap-editor ul{margin-top:.25em}.tiptap-editor ul[data-type=taskList]{list-style:none;padding-left:0;margin:.15em 0 .75em}.tiptap-editor ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:.5em;margin:.1em 0}.tiptap-editor ul[data-type=taskList] li:first-child{margin-top:0}.tiptap-editor ul[data-type=taskList] li:last-child{margin-bottom:.25em}.tiptap-editor ul[data-type=taskList] li>label{display:flex;align-items:center;flex-shrink:0;margin-top:.15em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tiptap-editor ul[data-type=taskList] li>label input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid #c4c4c4;border-radius:4px;cursor:pointer;position:relative;transition:background .15s,border-color .15s}.tiptap-editor ul[data-type=taskList] li>label input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.tiptap-editor ul[data-type=taskList] li>label input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.tiptap-editor ul[data-type=taskList] li[data-checked=true]>div,.tiptap-editor ul[data-type=taskList] li[data-checked=true]>div>p{text-decoration:line-through;color:#9ca3af}.tiptap-editor ul[data-type=taskList] ul[data-type=taskList]{margin-left:1.5em}.tiptap-editor .comment-block{position:relative;font-family:SF Mono,ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.875em;line-height:1.6;color:#9ca3af;padding-left:0;margin:.125em 0}.tiptap-editor .comment-block:before{content:"//";position:absolute;right:100%;margin-right:.5em;color:#d1d5db;pointer-events:none}.hashtag-pill,.tiptap-editor .comment-block:before{-webkit-user-select:none;-moz-user-select:none;user-select:none}.hashtag-pill{display:inline-flex;align-items:center;gap:2px;padding:1px 7px;border-radius:9999px;background:var(--accent-light,#f0f0f0);color:var(--accent,#555);font-family:SF Mono,ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.85em;font-weight:500;line-height:1.4;vertical-align:baseline;white-space:nowrap;cursor:default}.hashtag-pill-remove{display:none;align-items:center;justify-content:center;width:14px;height:14px;border:none;background:transparent;color:inherit;opacity:.5;cursor:pointer;padding:0;font-size:13px;line-height:1;border-radius:50%;transition:opacity .1s,background .1s}.hashtag-pill:hover .hashtag-pill-remove{display:inline-flex}.hashtag-pill-remove:hover{opacity:1;background:rgba(0,0,0,.1)}