.tiptap {
  outline: none;
}

.tiptap p.is-editor-empty:first-child::before {
  content: attr(data-placeholder);
  float: left;
  color: #9ca3af;
  pointer-events: none;
  height: 0;
}

.tiptap h1 {
  font-size: 2em;
  font-weight: 700;
  margin: 0.67em 0;
}

.tiptap h2 {
  font-size: 1.5em;
  font-weight: 600;
  margin: 0.5em 0;
}

.tiptap h3 {
  font-size: 1.17em;
  font-weight: 600;
  margin: 0.5em 0;
}

.tiptap h4 {
  font-size: 1em;
  font-weight: 600;
  margin: 0.5em 0;
}

.tiptap ul {
  list-style-type: disc;
  padding-left: 1.5em;
  margin: 0.5em 0;
}

.tiptap ol {
  list-style-type: decimal;
  padding-left: 1.5em;
  margin: 0.5em 0;
}

.tiptap li {
  margin: 0.25em 0;
}

.tiptap blockquote {
  border-left: 3px solid #d1d5db;
  padding-left: 1em;
  margin: 0.5em 0;
  color: #6b7280;
  font-style: italic;
}

.tiptap pre {
  background: #1f2937;
  color: #e5e7eb;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  margin: 0.5em 0;
  font-family: monospace;
  font-size: 0.875em;
  overflow-x: auto;
}

.tiptap code {
  background: #f3f4f6;
  border-radius: 0.25rem;
  padding: 0.125em 0.25em;
  font-size: 0.875em;
}

.tiptap pre code {
  background: none;
  padding: 0;
  color: inherit;
}

.tiptap hr {
  border: none;
  border-top: 2px solid #e5e7eb;
  margin: 1em 0;
}

.tiptap img {
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
  margin: 0.5em 0;
}

.tiptap a {
  color: #2563eb;
  text-decoration: underline;
  cursor: pointer;
}

.tiptap p {
  margin: 0.25em 0;
}

.tiptap iframe {
  max-width: 100%;
  border-radius: 0.5rem;
  margin: 0.5em 0;
}

.tiptap .ProseMirror-selectednode {
  outline: 2px solid #3b82f6;
  border-radius: 0.25rem;
}

.tiptap mark {
  border-radius: 0.125rem;
  padding: 0 0.125em;
}
