.editor-menubar{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-light);align-items:center}.toolbar-group{display:flex;gap:4px;padding-right:8px;border-right:1px solid var(--border-light)}.toolbar-group:last-child{border-right:none;padding-right:0}.toolbar-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid transparent;border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.toolbar-button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-light);color:var(--text-primary)}.toolbar-button:active:not(:disabled){background:var(--border-light);border-color:var(--text-tertiary)}.toolbar-button.active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.toolbar-button:disabled{opacity:.4;cursor:not-allowed}.toolbar-button.danger{color:var(--brand-primary)}.toolbar-button.danger:hover:not(:disabled){background:var(--border-light);border-color:var(--brand-primary);color:var(--brand-primary)}.toolbar-button.danger.active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.toolbar-button svg{width:18px;height:18px}@media(max-width:768px){.editor-menubar{gap:6px;padding:8px 12px}.toolbar-button{width:32px;height:32px}.toolbar-button svg{width:16px;height:16px}.toolbar-group{padding-right:6px}.toolbar-button:nth-child(n+20){display:none}}@media(max-width:480px){.editor-menubar{gap:4px;padding:6px 8px}.toolbar-group{display:none}.toolbar-group:first-child,.toolbar-group:nth-child(2){display:flex}.toolbar-button{width:28px;height:28px}}.toolbar-button:focus{outline:2px solid var(--brand-primary);outline-offset:-2px}.toolbar-button:focus:not(:focus-visible){outline:none}.toolbar-button:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px}.toolbar-button:active{transform:scale(.95)}.toolbar-button{position:relative}.toolbar-button[title]:hover:after{content:attr(title);position:absolute;bottom:-28px;left:50%;transform:translate(-50%);padding:4px 8px;background:var(--text-primary);color:var(--bg-primary);border-radius:4px;font-size:12px;white-space:nowrap;z-index:1000;pointer-events:none}@media(prefers-contrast:more){.toolbar-button{border:1px solid var(--text-secondary)}.toolbar-button:hover:not(:disabled){border-color:var(--text-primary)}.toolbar-button.active{background:var(--brand-primary);color:#fff;font-weight:600}}.tiptap-editor-wrapper{display:flex;flex-direction:column;border:1px solid var(--border-light);border-radius:8px;background:var(--bg-primary);overflow:hidden}.editor-loading{padding:20px;text-align:center;color:var(--text-tertiary)}.tiptap-editor-container{flex:1;overflow-y:auto;max-height:600px}.tiptap-editor-content{padding:20px;outline:none;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:16px;line-height:1.6;color:var(--text-primary)}.tiptap-editor-content strong{font-weight:700}.tiptap-editor-content em{font-style:italic}.tiptap-editor-content u{text-decoration:underline}.tiptap-editor-content code{background:var(--bg-secondary);padding:.125rem .35rem;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em;color:var(--brand-primary)}.tiptap-editor-content h1,.tiptap-editor-content h2,.tiptap-editor-content h3,.tiptap-editor-content h4,.tiptap-editor-content h5,.tiptap-editor-content h6{color:var(--text-primary)}.tiptap-editor-content h1{font-size:2em;font-weight:700;margin:.67em 0}.tiptap-editor-content h2{font-size:1.5em;font-weight:700;margin:.75em 0}.tiptap-editor-content h3{font-size:1.17em;font-weight:700;margin:.83em 0}.tiptap-editor-content h4,.tiptap-editor-content h5,.tiptap-editor-content h6{font-weight:700;margin:1em 0}.tiptap-editor-content p{margin:1em 0}.tiptap-editor-content p.is-editor-empty:first-child:before{color:var(--text-tertiary);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.tiptap-editor-content ul{list-style:disc;padding-left:1.5em;margin:.5em 0;color:var(--text-primary)}.tiptap-editor-content ol{list-style:decimal;padding-left:1.5em;margin:.5em 0;color:var(--text-primary)}.tiptap-editor-content li{margin:.25em 0}.tiptap-editor-content blockquote{border-left:4px solid var(--border-light);padding-left:1em;margin-left:0;color:var(--text-secondary);font-style:italic}.tiptap-editor-content pre{background:var(--bg-secondary);color:var(--text-primary);padding:1em;border-radius:6px;overflow-x:auto;margin:1em 0;border:1px solid var(--border-light)}.tiptap-editor-content pre code{background:none;color:inherit;padding:0}.tiptap-editor-content img{max-width:100%;height:auto;border-radius:6px;margin:1em 0}.tiptap-editor-content table{border-collapse:collapse;margin:1em 0;width:100%}.tiptap-editor-content table th,.tiptap-editor-content table td{border:1px solid var(--border-light);padding:.75em;text-align:left;color:var(--text-primary)}.tiptap-editor-content table th{background:var(--bg-secondary);font-weight:600}.tiptap-editor-content table tbody tr:hover{background:var(--bg-secondary)}.tiptap-editor-content a{color:var(--brand-primary);text-decoration:underline;cursor:pointer}.tiptap-editor-content a:hover{opacity:.8;text-decoration-thickness:2px}.tiptap-editor-content hr{border:none;border-top:2px solid var(--border-light);margin:1.5em 0}.tiptap-editor-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--bg-secondary);border-top:1px solid var(--border-light);font-size:14px}.editor-stats{display:flex;gap:20px;color:var(--text-tertiary)}.stat-item{display:flex;gap:6px}.stat-label{font-weight:500;color:var(--text-secondary)}.stat-value{color:var(--text-primary);font-weight:600}.editor-status{display:flex;align-items:center;gap:8px;color:var(--brand-primary);font-size:13px}.status-saving{display:flex;align-items:center;gap:6px;color:var(--brand-primary)}.spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--bg-primary);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status-saved{display:flex;align-items:center}@media(max-width:768px){.tiptap-editor-container{max-height:400px}.tiptap-editor-footer{flex-direction:column;align-items:flex-start;gap:8px}.editor-stats{flex-wrap:wrap;gap:12px}}
