.tiptap-editor{display:flex;flex-direction:column;border:1px solid var(--admin-line);border-radius:.5rem;background:var(--admin-surface,#fff);overflow:hidden}.tiptap-toolbar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;background:var(--admin-paper,#fafafa);border-bottom:1px solid var(--admin-line);box-shadow:0 1px 2px rgba(0,0,0,.05)}.tiptap-toolbar__group{display:flex;gap:.25rem;padding:0 .5rem;border-right:1px solid var(--admin-line-soft,rgba(0,0,0,.08))}.tiptap-toolbar__group:last-child{border-right:none}.tiptap-toolbar__btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:.25rem;border:none;border-radius:.375rem;background:transparent;color:var(--admin-ink-soft,#666);cursor:pointer;transition:all .15s ease}.tiptap-toolbar__btn:hover:not(:disabled){background:var(--admin-surface-deep,#f0f0f0);color:var(--admin-ink,#222)}.tiptap-toolbar__btn:active:not(:disabled){transform:scale(.95)}.tiptap-toolbar__btn.is-active{background:var(--admin-green-soft,#e6f7f0);color:var(--admin-green,oklch(46% .14 175));font-weight:600}.tiptap-toolbar__btn:disabled{opacity:.4;cursor:not-allowed}.tiptap-toolbar__btn:focus-visible{outline:2px solid var(--admin-green,oklch(46% .14 175));outline-offset:2px}.tiptap-toolbar__select{padding:.375rem .5rem;border:1px solid var(--admin-line);border-radius:.375rem;background:var(--admin-surface,#fff);color:var(--admin-ink,#222);font-size:.875rem;cursor:pointer;transition:all .15s ease}.tiptap-toolbar__select:focus,.tiptap-toolbar__select:hover{border-color:var(--admin-green,oklch(46% .14 175))}.tiptap-toolbar__select:focus{outline:2px solid var(--admin-green,oklch(46% .14 175));outline-offset:2px}.tiptap-toolbar__color-picker{position:relative}.tiptap-color-palette{position:absolute;top:100%;left:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);gap:.375rem;margin-top:.5rem;padding:.75rem;border:1px solid var(--admin-line);border-radius:.5rem;background:var(--admin-surface,#fff);box-shadow:0 4px 12px rgba(0,0,0,.15)}.tiptap-color-swatch{width:2rem;height:2rem;border:2px solid transparent;border-radius:.375rem;cursor:pointer;transition:all .15s ease}.tiptap-color-swatch:hover{transform:scale(1.1);border-color:var(--admin-green,oklch(46% .14 175));box-shadow:0 2px 8px rgba(0,0,0,.2)}.tiptap-color-swatch:focus-visible{outline:2px solid var(--admin-green,oklch(46% .14 175));outline-offset:2px}.tiptap-dialog{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--admin-paper-deep,#f5f5f5);border-bottom:1px solid var(--admin-line)}.tiptap-dialog__input{flex:1;padding:.5rem .75rem;border:1px solid var(--admin-line);border-radius:.375rem;background:var(--admin-surface,#fff);color:var(--admin-ink,#222);font-size:.875rem}.tiptap-dialog__input:focus{outline:2px solid var(--admin-green,oklch(46% .14 175));outline-offset:0;border-color:var(--admin-green,oklch(46% .14 175))}.tiptap-dialog__btn{padding:.5rem 1rem;border:1px solid var(--admin-line);border-radius:.375rem;background:var(--admin-surface,#fff);color:var(--admin-ink,#222);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.tiptap-dialog__btn:hover{background:var(--admin-surface-deep,#f0f0f0)}.tiptap-dialog__btn--primary{background:var(--admin-green,oklch(46% .14 175));color:var(--admin-on-accent);border-color:var(--admin-green,oklch(46% .14 175))}.tiptap-dialog__btn--primary:hover{background:var(--admin-green-light,oklch(40% .14 175))}.tiptap-content{flex:1;overflow-y:auto;padding:1rem;background:var(--admin-surface,#fff)}.tiptap-content .ProseMirror{min-height:300px;outline:none;color:var(--admin-ink,#222);font-size:1rem;line-height:1.625}.tiptap-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--admin-muted,#999);pointer-events:none}.tiptap-content .ProseMirror h1{margin:1.5rem 0 1rem;font-size:2rem;font-weight:700;line-height:1.25;color:var(--admin-ink,#222)}.tiptap-content .ProseMirror h2{margin:1.25rem 0 .875rem;font-size:1.5rem;font-weight:600;line-height:1.3;color:var(--admin-ink,#222)}.tiptap-content .ProseMirror h3{margin:1rem 0 .75rem;font-size:1.25rem;font-weight:600;line-height:1.35;color:var(--admin-ink,#222)}.tiptap-content .ProseMirror p{margin:.5rem 0}.tiptap-content .ProseMirror strong{font-weight:600}.tiptap-content .ProseMirror em{font-style:italic}.tiptap-content .ProseMirror u{text-decoration:underline}.tiptap-content .ProseMirror s{text-decoration:line-through}.tiptap-content .ProseMirror code{padding:.125rem .375rem;border-radius:.25rem;background:var(--admin-paper-deep,#f5f5f5);color:var(--admin-green,oklch(46% .14 175));font-family:var(--font-mono,monospace);font-size:.875em}.tiptap-content .ProseMirror ol,.tiptap-content .ProseMirror ul{margin:.75rem 0;padding-left:1.5rem}.tiptap-content .ProseMirror ul{list-style-type:disc}.tiptap-content .ProseMirror ol{list-style-type:decimal}.tiptap-content .ProseMirror li{margin:.25rem 0}.tiptap-content .ProseMirror blockquote{margin:1rem 0;padding-left:1rem;border-left:4px solid var(--admin-green,oklch(46% .14 175));color:var(--admin-ink-soft,#666);font-style:italic}.tiptap-content .ProseMirror pre{margin:1rem 0;padding:1rem;border-radius:.5rem;background:var(--admin-paper-deep,#f5f5f5);overflow-x:auto}.tiptap-content .ProseMirror pre code{padding:0;background:transparent;color:var(--admin-ink,#222);font-family:var(--font-mono,monospace);font-size:.875rem}.tiptap-content .ProseMirror hr{margin:2rem 0;border:none;border-top:2px solid var(--admin-line)}.tiptap-content .ProseMirror a{color:var(--admin-green,oklch(46% .14 175));text-decoration:underline;cursor:pointer}.tiptap-content .ProseMirror a:hover{color:var(--admin-green-light,oklch(40% .14 175))}.tiptap-content .ProseMirror img{max-width:100%;height:auto;border-radius:.5rem;margin:1rem 0}@media (max-width:768px){.tiptap-toolbar{gap:.375rem;padding:.5rem}.tiptap-toolbar__group{padding:0 .375rem}.tiptap-toolbar__btn{width:1.75rem;height:1.75rem}.tiptap-toolbar__select{font-size:.8125rem;padding:.25rem .375rem}.tiptap-color-palette{grid-template-columns:repeat(4,1fr);gap:.25rem;padding:.5rem}.tiptap-color-swatch{width:1.5rem;height:1.5rem}}