.markdown-body {
  color: #1f1f1f;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-size: 15px;
  line-height: 1.75;
}

.markdown-body--ops {
  color: #e2e8f0;
}

.markdown-body > :first-child {
  margin-top: 0;
}

.markdown-body > :last-child {
  margin-bottom: 0;
}

.markdown-body .katex-display {
  margin: 12px 0;
  padding: 8px 0;
  overflow: auto hidden;
}

.markdown-body .katex {
  font-size: 1.05em;
}

.markdown-body .katex-inline {
  white-space: nowrap;
}

.markdown-body table tr:hover td {
  background-color: #f0f4f9;
}

.markdown-body--ops table tr:hover td {
  background-color: rgba(255, 255, 255, .06);
}

.markdown-body del {
  color: #9aa0a6;
  text-decoration: line-through;
}

.markdown-body--ops del {
  color: #64748b;
}

.markdown-body ul:has( > li > input[type="checkbox"]) {
  padding-left: .5em;
  list-style: none;
}

.markdown-body pre {
  background: none;
  margin: 0;
  padding: 0;
}

.markdown-body code:not(pre code) {
  font-family: SF Mono, Fira Code, JetBrains Mono, Menlo, Monaco, Consolas, monospace;
}

.markdown-body.streaming > :last-child {
  margin-bottom: 0;
}

.markdown-body.streaming:after {
  content: "▎";
  color: #444746;
  font-weight: 400;
  animation: 1s step-end infinite cursor-blink;
}

.markdown-body--ops.streaming:after {
  color: #94a3b8;
}

@keyframes cursor-blink {
  0%, to {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}

@keyframes shimmer-sweep {
  0% {
    background-position: 100% 0;
  }

  to {
    background-position: -100% 0;
  }
}
