/* Text-only module instructions: use the same surfaces and focus treatment
   as form-textarea. Toolbar labels stay visible without an icon stylesheet. */
trix-editor {
  display: block;
  min-height: 5.5rem;
  padding: 0.5rem 0.75rem;
  color: var(--text-primary);
  background: var(--surface-input, var(--surface-card));
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
}
trix-editor:hover { border-color: var(--border-strong); }
trix-editor:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent);
}
trix-editor:empty::before { content: attr(placeholder); color: var(--text-muted); }
trix-toolbar { display: block; color: var(--text-primary); }
trix-toolbar .trix-button-row,
trix-toolbar .trix-button-group,
trix-toolbar .trix-dialog__link-fields { display: flex; flex-wrap: wrap; gap: 0.25rem; }
trix-toolbar .trix-button-row { gap: 0.5rem; margin-bottom: 0.5rem; }
trix-toolbar .trix-button,
trix-toolbar .trix-input {
  padding: 0.375rem 0.5rem;
  font-size: 0.875rem;
  color: var(--text-primary);
  background: var(--surface-input, var(--surface-card));
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
}
trix-toolbar .trix-button:not(:disabled) { cursor: pointer; }
trix-toolbar .trix-button:hover { background: var(--surface-hover); }
trix-toolbar .trix-button.trix-active { background: var(--accent-bg); border-color: var(--accent); }
trix-toolbar .trix-button:disabled { opacity: 0.5; }
trix-toolbar :is(.trix-button, .trix-input):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
trix-toolbar .trix-button-group--file-tools,
trix-toolbar .trix-dialog { display: none; }
trix-toolbar .trix-dialog[data-trix-active] { display: block; margin-bottom: 0.5rem; }
trix-toolbar .trix-input { flex: 1; min-width: 0; }

.trix-content { color: var(--text-primary); line-height: 1.6; overflow-wrap: anywhere; }
.trix-content h1 { font-size: 1.25rem; font-weight: 600; margin-bottom: 0.5rem; }
.trix-content :is(ul, ol) { padding-inline-start: 1.5rem; }
.trix-content ul { list-style: disc; }
.trix-content ol { list-style: decimal; }
.trix-content a { color: var(--accent); text-decoration: underline; }
.trix-content blockquote {
  border-inline-start: 3px solid var(--accent);
  padding-inline-start: 0.75rem;
  color: var(--text-secondary);
}
.trix-content pre {
  padding: 0.75rem;
  font-family: var(--font-mono);
  background: var(--surface-elevated);
  border-radius: var(--radius-md);
  white-space: pre;
  overflow-x: auto;
}
