.editor-table-drag-handle{position:absolute;left:-28px;top:0;bottom:0;width:24px;display:flex;align-items:center;justify-content:center;cursor:grab;opacity:0;transition:opacity .15s;color:var(--color-fg-muted);z-index:5;user-select:none;border-radius:4px 0 0 4px}.editor-table-drag-handle:hover,.editor-table-drag-handle--active{opacity:1;background:var(--color-accent-subtle);color:var(--color-accent-fg)}.editor-table-drag-handle svg{width:14px;height:14px}.ProseMirror tr:hover .editor-table-drag-handle{opacity:.5}.editor-table-col-resize{position:absolute;top:0;bottom:0;width:5px;cursor:col-resize;z-index:10;background:transparent;transition:background .15s;border-radius:0 2px 2px 0}.editor-table-col-resize:hover,.editor-table-col-resize--active{background:var(--color-accent-fg)}.editor-table-col-resize:after{content:"";position:absolute;inset:0 -4px}.editor-table-col-resize-indicator{position:fixed;top:0;bottom:0;width:2px;background:var(--color-accent-fg);z-index:9999;pointer-events:none;opacity:0;transition:opacity .1s}.editor-table-col-resize-indicator--active{opacity:.6}.editor-table-context-menu{position:fixed;background:var(--color-canvas-default, #fff);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 30px #00000026;padding:var(--space-1);min-width:200px;z-index:11000;animation:table-context-in .12s ease-out;backdrop-filter:none;-webkit-backdrop-filter:none}.dark .editor-table-context-menu{background:var(--color-canvas-overlay)}@keyframes table-context-in{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.editor-table-context-menu .ctx-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1\.5) var(--space-2);border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left;font-size:.8125rem;color:var(--color-fg);font-family:inherit;transition:background .1s}.editor-table-context-menu .ctx-item:hover{background:var(--color-accent-subtle)}.editor-table-context-menu .ctx-item svg{width:14px;height:14px;flex-shrink:0;color:var(--color-fg-muted)}.editor-table-context-menu .ctx-separator{height:1px;background:var(--color-border-muted);margin:var(--space-1) 0}.editor-table-context-menu .ctx-danger:hover{color:var(--color-danger-fg);background:var(--color-danger-subtle)}.editor-table-context-menu .ctx-danger:hover svg{color:var(--color-danger-fg)}.ctx-color-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:var(--space-1) var(--space-2)}.ctx-color-swatch{width:22px;height:22px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:border-color .1s}.ctx-color-swatch:hover{border-color:var(--color-accent-fg)}.ctx-color-swatch--active{border-color:var(--color-accent-fg);box-shadow:0 0 0 1px var(--color-accent-fg)}.ProseMirror .selectedCell{background:var(--color-accent-subtle);border-color:var(--color-accent-muted)!important}.ProseMirror .selectedCell th,.ProseMirror .selectedCell td{border-color:var(--color-accent-muted)!important}.editor-table-toolbar{position:fixed;display:flex;align-items:center;gap:2px;padding:4px 6px;background:var(--color-canvas-default, #fff);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 4px 16px #0000001a;z-index:999;transition:opacity .15s;backdrop-filter:none;-webkit-backdrop-filter:none}.dark .editor-table-toolbar{background:var(--color-canvas-overlay)}.editor-table-toolbar.hidden{display:none}.editor-table-toolbar .et-btn{width:26px;height:24px}.editor-table-toolbar .et-btn--danger:hover{color:var(--color-danger-fg);background:var(--color-danger-subtle)}.editor-table-add-row{display:block;width:100%;height:4px;position:relative;cursor:pointer;z-index:3}.editor-table-add-row:after{content:"+";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;background:var(--color-accent-subtle);border:1px solid var(--color-accent-muted);color:var(--color-accent-fg);font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;line-height:1}.editor-table-add-row:hover:after{opacity:1}.editor-table-add-col{display:inline-block;width:4px;height:100%;position:relative;cursor:pointer;vertical-align:top}.editor-table-add-col:after{content:"+";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;background:var(--color-accent-subtle);border:1px solid var(--color-accent-muted);color:var(--color-accent-fg);font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;line-height:1}.editor-table-add-col:hover:after{opacity:1}.editor-table-row-num{position:absolute;left:-28px;top:50%;transform:translateY(-50%);width:22px;text-align:center;font-size:11px;color:var(--color-fg-subtle);font-variant-numeric:tabular-nums;pointer-events:none;user-select:none}.editor-table-wrap{position:relative}.cell-bg-gray{background-color:#f3f2ef!important}.cell-bg-brown{background-color:oklch(.95 .05 75)!important}.cell-bg-orange{background-color:oklch(.95 .08 55)!important}.cell-bg-yellow{background-color:#ffefb1!important}.cell-bg-green{background-color:#d6fad6!important}.cell-bg-blue{background-color:oklch(.94 .05 255)!important}.cell-bg-purple{background-color:oklch(.94 .06 295)!important}.cell-bg-pink{background-color:oklch(.94 .06 345)!important}.cell-bg-red{background-color:oklch(.95 .06 25)!important}.dark .cell-bg-gray{background-color:#1f2227!important}.dark .cell-bg-brown{background-color:#2a2011!important}.dark .cell-bg-orange{background-color:#301c0e!important}.dark .cell-bg-yellow{background-color:#282109!important}.dark .cell-bg-green{background-color:#182619!important}.dark .cell-bg-blue{background-color:#131e2b!important}.dark .cell-bg-purple{background-color:#1e192e!important}.dark .cell-bg-pink{background-color:#2a1521!important}.dark .cell-bg-red{background-color:#321a18!important}.ProseMirror .tableWrapper{overflow-x:auto}.ProseMirror table{position:relative}.ProseMirror table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background:var(--color-accent-fg);pointer-events:none;opacity:0;transition:opacity .15s;z-index:20}.ProseMirror table.resize-cursor{cursor:ew-resize}.ProseMirror table.resize-cursor .column-resize-handle{opacity:1}.ProseMirror .diagram-block{margin:.75rem 0;padding:.75rem;border:1px solid var(--color-border-muted);border-radius:10px;background:var(--color-canvas-subtle, #f6f8fa);overflow-x:auto;cursor:pointer;transition:border-color .15s,box-shadow .15s}.dark .ProseMirror .diagram-block{background:var(--color-surface-raised, #16181d)}.ProseMirror .diagram-block:hover{border-color:var(--color-accent)}.ProseMirror .diagram-block.ProseMirror-selectednode{outline:2px solid var(--color-accent);outline-offset:1px}.diagram-block .diagram-svg,.diagram-dialog-preview .diagram-svg{display:flex;justify-content:center;min-height:24px}.diagram-block .diagram-svg svg,.diagram-dialog-preview .diagram-svg svg{max-width:100%;height:auto}.diagram-loading{color:var(--color-fg-muted);font-size:.8125rem;padding:.5rem 0;text-align:center}.diagram-error{color:var(--color-danger-fg, #b91c1c);font-size:.8125rem;padding:.5rem 0;white-space:pre-wrap;word-break:break-word}.diagram-dialog-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#00000073;backdrop-filter:blur(2px)}.diagram-dialog{width:min(920px,100%);max-height:90vh;display:flex;flex-direction:column;background:var(--color-surface, #ffffff);border:1px solid var(--color-border-muted);border-radius:14px;box-shadow:0 24px 60px #00000059;overflow:hidden}.dark .diagram-dialog{background:var(--color-surface-raised, #16181d)}.diagram-dialog-header{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border-subtle)}.diagram-dialog-title{margin:0;font-size:.9375rem;font-weight:600;color:var(--color-fg-heading)}.diagram-dialog-subtitle{font-size:.75rem;color:var(--color-fg-muted);padding:1px 8px;border:1px solid var(--color-border-muted);border-radius:999px}.diagram-dialog-close{margin-left:auto;border:none;background:transparent;color:var(--color-fg-muted);font-size:1.25rem;line-height:1;cursor:pointer;padding:.25rem .5rem;border-radius:6px}.diagram-dialog-close:hover{background:var(--color-canvas-subtle);color:var(--color-fg-heading)}.diagram-dialog-body{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem 1.25rem;min-height:0;flex:1;overflow:hidden}@media(max-width:720px){.diagram-dialog-body{grid-template-columns:1fr;grid-template-rows:1fr 1fr;overflow-y:auto}}.diagram-dialog-source{width:100%;height:100%;min-height:320px;resize:none;padding:.75rem;font-family:var(--font-mono, ui-monospace, "SFMono-Regular", Menlo, monospace);font-size:.8125rem;line-height:1.5;color:var(--color-fg-heading);background:var(--color-canvas-subtle, #f6f8fa);border:1px solid var(--color-border-muted);border-radius:10px;outline:none}.diagram-dialog-source:focus{border-color:var(--color-accent)}.dark .diagram-dialog-source{background:var(--color-surface, #0d0f13)}.diagram-dialog-preview{min-height:320px;overflow:auto;padding:.75rem;border:1px dashed var(--color-border-muted);border-radius:10px;background:var(--color-canvas-subtle, #f6f8fa);position:relative}.dark .diagram-dialog-preview{background:var(--color-surface, #0d0f13)}.diagram-dialog-preview-hint{color:var(--color-fg-muted);font-size:.75rem;display:block;text-align:center;padding-top:1rem}.diagram-dialog-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid var(--color-border-subtle)}.diagram-dialog-cancel{padding:.5rem .875rem;font-size:.8125rem;font-weight:500;color:var(--color-fg-heading);background:transparent;border:1px solid var(--color-border-muted);border-radius:8px;cursor:pointer}.diagram-dialog-cancel:hover{background:var(--color-canvas-subtle)}.diagram-dialog-save{padding:.5rem .875rem;font-size:.8125rem;font-weight:600;color:var(--color-fg-on-accent, #ffffff);background:var(--color-accent);border:none;border-radius:8px;cursor:pointer}.diagram-dialog-save:hover{background:var(--color-accent-emphasis, var(--color-accent))}
