dvn-rich-editor {
  display: block;
  position: relative;
  --actions-container-width: 5rem;
  --content-gap-size: 24px;
}
dvn-rich-editor .component-area {
  display: flex;
}
dvn-rich-editor .component-area .drag-controls {
  width: var(--actions-container-width);
  height: var(--content-gap-size);
  display: flex;
  align-items: center;
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 1;
  align-self: flex-start;
}
dvn-rich-editor .component-area .drag-controls:hover {
  opacity: 1;
}
dvn-rich-editor .component-area .drag-controls .drag-icon {
  cursor: grab;
  font-size: 1.2em;
  color: var(--color-text-secondary);
}
dvn-rich-editor .drop-area {
  display: flex;
  align-items: center;
  height: var(--content-gap-size);
}
dvn-rich-editor .drop-area:hover {
  transition: opacity 0.3s;
  opacity: 1;
}
dvn-rich-editor .drop-area .drop-area-line {
  height: 2px;
  flex: 1;
  background: var(--color-primary);
  align-self: center;
  margin-left: var(--actions-container-width);
}
dvn-rich-editor .insert-item-area {
  display: flex;
  align-items: center;
  opacity: 0;
  transition: opacity 0.3s;
  height: var(--content-gap-size);
  position: relative;
}
dvn-rich-editor .insert-item-area:hover {
  opacity: 1;
}
dvn-rich-editor .insert-item-area .insert-item-area-controls {
  width: var(--actions-container-width);
  text-align: right;
  position: absolute;
  padding-right: 6px;
}
dvn-rich-editor .insert-item-area .insert-item-area-controls > * {
  z-index: 0;
}
dvn-rich-editor .insert-item-area .insert-item-area-line {
  height: 2px;
  flex: 1;
  background: var(--color-border);
  margin-left: var(--actions-container-width);
}
dvn-rich-editor a {
  color: var(--color-primary);
  text-decoration: none;
  outline: none;
}
dvn-rich-editor [contenteditable]:focus {
  outline: 0px solid transparent;
}