.tiptap-editor{outline:none;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:18px;line-height:1.75;color:#1a1a1a;min-height:600px}.tiptap-editor p.is-editor-empty:first-child:before{font-style:italic}.tiptap-editor .is-empty:before,.tiptap-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#adb5bd;pointer-events:none;height:0}.tiptap-editor h1{font-family:Playfair Display,Georgia,serif;font-size:2.25rem;font-weight:700;line-height:1.2;margin-top:2rem;margin-bottom:1rem;color:#1a1a1a}.tiptap-editor h1:first-child{margin-top:0}.tiptap-editor h2{font-size:1.75rem;line-height:1.3;margin-top:2rem;margin-bottom:.75rem}.tiptap-editor h2,.tiptap-editor h3{font-family:Playfair Display,Georgia,serif;font-weight:600;color:#1a1a1a}.tiptap-editor h3{font-size:1.375rem;line-height:1.4;margin-top:1.5rem;margin-bottom:.5rem}.tiptap-editor p{margin-bottom:1rem;color:#292929}.tiptap-editor blockquote{border-left:3px solid #1a1a1a;padding-left:1.25rem;margin:1.5rem 0;font-style:italic;color:#555}.tiptap-editor blockquote p{font-size:1.25rem;line-height:1.6;font-weight:300}.tiptap-editor ul{list-style:disc}.tiptap-editor ol,.tiptap-editor ul{padding-left:1.5rem;margin-bottom:1rem}.tiptap-editor ol{list-style:decimal}.tiptap-editor li{margin-bottom:.5rem}.tiptap-editor li p{margin-bottom:.25rem}.tiptap-editor ul[data-type=taskList]{list-style:none;padding-left:0}.tiptap-editor ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:.5rem}.tiptap-editor ul[data-type=taskList] li label{flex-shrink:0;margin-top:.25rem}.tiptap-editor code{background-color:#f4f4f5;padding:.125rem .375rem;border-radius:.25rem;font-size:.875rem;font-family:JetBrains Mono,Courier New,monospace}.tiptap-editor pre{background-color:#1e1e1e;color:#e5e5e5;padding:1rem;border-radius:.5rem;overflow-x:auto;margin:1.5rem 0}.tiptap-editor pre code{background:none;padding:0;color:inherit;font-size:.875rem}.tiptap-editor img{width:100%;height:auto;border-radius:.5rem;cursor:default}.image-node-wrapper{margin:1.5rem 0}.image-node-container{position:relative;border-radius:.5rem;overflow:visible}.image-node-container img{display:block;width:100%;height:auto;border-radius:.5rem}.image-node-container.is-selected{outline:3px solid #10b981;outline-offset:2px;border-radius:.5rem}.image-node-toolbar{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.25rem;opacity:0;transition:opacity .2s ease;pointer-events:none}.image-node-container.is-selected .image-node-toolbar,.image-node-container:hover .image-node-toolbar{opacity:1;pointer-events:auto}.image-delete-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background:rgba(239,68,68,.9);color:white;border:none;border-radius:.5rem;cursor:pointer;backdrop-filter:blur(4px);box-shadow:0 2px 8px rgba(0,0,0,.15);transition:background-color .15s,transform .15s}.image-delete-btn:hover{background:rgba(220,38,38,1);transform:scale(1.05)}.tiptap-editor hr{border:none;border-top:1px solid #e5e5e5;margin:2rem 0}.tiptap-editor a{color:#1a1a1a;text-decoration:underline;text-decoration-color:#9ca3af;text-underline-offset:3px;transition:text-decoration-color .2s}.tiptap-editor a:hover{text-decoration-color:#1a1a1a}.tiptap-editor mark{background-color:#fef08a;padding:0 2px;border-radius:2px}.tiptap-editor s{text-decoration:line-through}.tiptap-editor div[data-youtube-video]{margin:1.5rem 0}.tiptap-editor div[data-youtube-video] iframe{width:100%;aspect-ratio:16/9;border-radius:.5rem}.tiptap-bubble-menu{display:flex;align-items:center;gap:1px;background:#1a1a1a;border-radius:.5rem;padding:.25rem;box-shadow:0 4px 14px rgba(0,0,0,.2)}.tiptap-bubble-menu button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:transparent;color:#e5e5e5;border-radius:.25rem;cursor:pointer;transition:background-color .15s,color .15s}.tiptap-bubble-menu button:hover{background:rgba(255,255,255,.1);color:#fff}.tiptap-bubble-menu button.is-active{background:rgba(255,255,255,.2);color:#fff}.tiptap-bubble-menu .separator{width:1px;height:1.25rem;background:rgba(255,255,255,.2);margin:0 .125rem}.slash-command-menu{background:white;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 4px 16px rgba(0,0,0,.12);padding:.25rem;max-height:320px;overflow-y:auto;min-width:220px}.slash-command-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:.375rem;cursor:pointer;transition:background-color .15s}.slash-command-item.is-selected,.slash-command-item:hover{background:#f3f4f6}.slash-command-item .icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;font-size:1.125rem;flex-shrink:0}.slash-command-item .text{display:flex;flex-direction:column}.slash-command-item .text .title{font-size:.875rem;font-weight:500;color:#1f2937}.slash-command-item .text .description{font-size:.75rem;color:#6b7280}.add-block-container{position:sticky;top:6rem;z-index:20;float:left;margin-left:-3.5rem;margin-top:.25rem}.add-block-button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1.5px solid #d1d5db;border-radius:50%;background:white;color:#9ca3af;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px rgba(0,0,0,.06)}.add-block-button.is-open,.add-block-button:hover{border-color:#10b981;color:#10b981;box-shadow:0 2px 8px rgba(16,185,129,.15)}.add-block-menu{position:absolute;top:2.5rem;left:0;background:white;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 8px 30px rgba(0,0,0,.12);padding:.5rem;min-width:260px;z-index:50;animation:addMenuIn .15s ease-out}@keyframes addMenuIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.add-block-menu-header{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;padding:.25rem .5rem .5rem}.add-block-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}.add-block-menu-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;border-radius:.375rem;border:none;background:transparent;color:#374151;font-size:.8rem;cursor:pointer;transition:background-color .12s;white-space:nowrap}.add-block-menu-item:hover{background:#f3f4f6;color:#111827}.add-block-menu-item svg{flex-shrink:0;color:#6b7280}.add-block-menu-item:hover svg{color:#10b981}@media (max-width:768px){.add-block-container{margin-left:-2.5rem}.add-block-menu{left:-.5rem;min-width:240px}.add-block-menu-grid{grid-template-columns:1fr}}.image-upload-overlay{position:absolute;inset:0;background:rgba(255,255,255,.8);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:30;border-radius:.5rem}.image-upload-overlay-content{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 2rem;background:white;border-radius:.75rem;box-shadow:0 4px 20px rgba(0,0,0,.1)}.image-upload-overlay-content p{font-size:.875rem;color:#374151;font-weight:500;margin:0}.image-upload-spinner{width:2rem;height:2rem;border:3px solid #e5e7eb;border-top-color:#10b981;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.editor-drag-handle{position:absolute;left:-2rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:.25rem;color:#d1d5db;cursor:grab;transition:color .15s,background-color .15s;z-index:10;user-select:none}.editor-drag-handle:hover{color:#6b7280;background:#f3f4f6}.editor-drag-handle.is-dragging{cursor:grabbing;opacity:.3}@media (max-width:700px){.editor-drag-handle{display:none!important}}.editor-mobile-block{display:none}@media (max-width:700px){.editor-mobile-block{display:flex;position:fixed;inset:0;z-index:200;background:white;align-items:center;justify-content:center;flex-direction:column;padding:2rem}}.tiptap-editor:focus{outline:none}.tiptap-editor .ProseMirror-dropcursor{color:#10b981}.tiptap-editor .ProseMirror-gapcursor:after{border-top-color:#1a1a1a}