.editor-wrapper{border:1px solid #d9d9d9;border-radius:8px;background:#fff}.editor-toolbar{padding:8px 12px;border-bottom:1px solid #f0f0f0;background:#fafafa;border-radius:8px 8px 0 0;display:flex;gap:8px}.editor-toolbar button{padding:4px 12px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;cursor:pointer;font-size:14px}.editor-toolbar button:hover{border-color:#1890ff;color:#1890ff}.editor-toolbar button.is-active{background:#1890ff;color:#fff;border-color:#1890ff}.editor-toolbar button:disabled{opacity:.5;cursor:not-allowed}.editor-content{padding:20px;min-height:500px;max-height:calc(100vh - 300px);overflow-y:auto}.editor-content .ProseMirror{outline:none;font-size:16px;line-height:1.8}.editor-content .ProseMirror p{margin:0 0 1em}.editor-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#adb5bd;pointer-events:none;height:0}.chapter-item{padding:8px 12px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .2s}.chapter-item:hover{background-color:#f5f5f5}.chapter-item.selected{background-color:#e6f7ff;border-right:3px solid #1890ff}.chapter-content{display:flex;align-items:center;gap:8px}.chapter-drag-handle{cursor:grab;padding:4px;display:flex;align-items:center;opacity:.6;transition:opacity .2s}.chapter-drag-handle:hover{opacity:1}.chapter-drag-handle:active{cursor:grabbing}.chapter-title{flex:1;font-size:14px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-item.selected .chapter-title{color:#1890ff;font-weight:500}#root{width:100%;min-height:100vh}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.ProseMirror{outline:none;min-height:500px;padding:20px;font-size:16px;line-height:1.8}.ProseMirror p{margin:0 0 1em}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#adb5bd;pointer-events:none;height:0}
