.text-editor { min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); background: var(--nt-000); }
.text-editor[hidden] { display: none; }
.text-editor-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: var(--sp-2); align-items: center; padding: var(--sp-2) var(--sp-3); border-bottom: 1px solid var(--lz-border); background: var(--lz-bg); }
.text-editor-toolbar button { padding: var(--sp-2) var(--sp-3); border: 1px solid var(--lz-border-strong); border-radius: var(--r-xs); color: var(--lz-text); background: var(--nt-000); transition: background-color var(--t-fast), border-color var(--t-fast), color var(--t-fast); }
.text-editor-save:not(:disabled) { color: var(--nt-000); border-color: var(--primary-bg); background: var(--primary-bg); }
.text-editor-wysiwyg-actions { display: flex; flex-wrap: wrap; gap: var(--sp-1); min-width: 0; }
.text-editor-wysiwyg-actions[hidden] { display: none; }
.text-editor-divider { width: 1px; align-self: stretch; margin-inline: var(--sp-1); background: var(--lz-border); }
.text-editor-wysiwyg, #text-editor-input, .text-editor-preview { min-height: 320px; overflow: auto; padding: var(--sp-5); color: var(--lz-text); background: var(--nt-000); }
.text-editor-wysiwyg[hidden] { display: none; }
#text-editor-input { width: 100%; height: 100%; resize: none; border: 0; outline: 0; font: var(--fs-md)/1.7 var(--font-mono); }
.text-editor-wysiwyg-content { min-height: 100%; outline: 0; line-height: 1.7; }
.text-editor-wysiwyg-content > :first-child { margin-top: 0; }
.text-editor-wysiwyg-content blockquote { margin-left: 0; padding-left: var(--sp-4); border-left: 3px solid var(--green-200); color: var(--nt-700); }
.text-editor-wysiwyg-content pre { overflow: auto; padding: var(--sp-4); border-radius: var(--r-xs); background: var(--lz-sunken); }
.text-editor-wysiwyg-content table { width: 100%; border-collapse: collapse; }
.text-editor-wysiwyg-content th, .text-editor-wysiwyg-content td { min-width: 5rem; padding: var(--sp-2); border: 1px solid var(--lz-border-strong); text-align: left; vertical-align: top; }
.text-editor-wysiwyg-content th { background: var(--lz-sunken); }
.text-editor-wysiwyg-content ul[data-type="taskList"] { padding-left: var(--sp-5); list-style: none; }
.text-editor-wysiwyg-content ul[data-type="taskList"] li { display: flex; gap: var(--sp-2); }

@media (max-width: 680px) {
  .text-editor-toolbar { grid-template-columns: 1fr auto; }
  .text-editor-wysiwyg-actions { grid-column: 1 / -1; order: 3; }
  .text-editor-divider { display: none; }
  .text-editor-wysiwyg, #text-editor-input, .text-editor-preview { padding: var(--sp-4); }
}
