[data-c42-rich-text-editor] {
  display: flex;
  flex-direction: column;
  color: var(--c42-color-fg, #111827);
  background: var(--c42-color-bg, #ffffff);
  border: 1px solid var(--c42-color-border, #e5e7eb);
  border-radius: var(--c42-radius, 0.75rem);
  overflow: hidden;
}

[data-c42-rte-toolbar] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  padding: 0.375rem;
  border-block-end: 1px solid var(--c42-color-border, #e5e7eb);
  background: var(--c42-color-muted-bg, #f9fafb);
}

[data-c42-rte-command] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 2rem;
  block-size: 2rem;
  padding: 0 0.5rem;
  font: inherit;
  color: var(--c42-color-fg, #111827);
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--c42-radius-sm, 0.5rem);
  cursor: pointer;
}

[data-c42-rte-command]:hover {
  background: var(--c42-color-muted-bg, #e5e7eb);
}

[data-c42-rte-command][data-active='true'],
[data-c42-rte-command][aria-pressed='true'] {
  color: var(--c42-color-accent, #4f46e5);
  background: var(--c42-color-accent-soft, #eef2ff);
  border-color: var(--c42-color-accent, #4f46e5);
}

[data-c42-rte-command]:focus-visible {
  outline: 2px solid var(--c42-color-accent, #4f46e5);
  outline-offset: 2px;
}

[data-c42-rte-content] {
  min-block-size: 8rem;
  padding: 0.75rem 1rem;
  line-height: 1.6;
  outline: none;
}

[data-c42-rte-content][data-empty]::before {
  content: attr(data-placeholder);
  color: var(--c42-color-muted, #9ca3af);
  pointer-events: none;
}

[data-c42-rte-content] a {
  color: var(--c42-color-accent, #4f46e5);
}
