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

  > *:last-child {
    margin-bottom: 0;
  }

  @media (max-width: $breakpoint-small) {
    font-size: var(--font-base);
  }

  // Headers
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: var(--font-weight-bold);
    margin-bottom: var(--spacing-medium);

    &:not(:first-child) {
      margin-top: var(--spacing-large);
    }
  }

  h1 {
    font-size: 1.7em;
  }
  h2 {
    font-size: 1.5em;
  }
  h3 {
    font-size: 1.4em;
  }
  h4 {
    font-size: 1.3em;
  }
  h5 {
    font-size: 1.2em;
  }
  h6 {
    font-size: 1em;
  }

  p,
  blockquote,
  dl,
  ul,
  ol,
  pre,
  table {
    margin-top: var(--spacing-medium);
  }
  
  blockquote {
    white-space: normal;
    
    p:first-child {
      margin-top: 0;
    }
  }

  // Tables
  table {
    margin-bottom: 1.2rem;
    padding: var(--spacing-medium);
    word-break: normal;

    tr {
      td,
      th,
      td:first-of-type,
      th:first-of-type,
      td:last-of-type,
      th:last-of-type {
        padding: var(--spacing-small) var(--spacing-medium);
      }
    }

    th {
      border-bottom: 2px solid var(--color-border);
      letter-spacing: 0.1rem;
      text-align: left;
      text-transform: uppercase;
    }

    tr {
      &:not(:last-of-type) {
        td {
          border-bottom: 1px solid var(--color-border);
        }
      }
    }
  }

  // Image
  img {
    margin-bottom: var(--spacing-medium);
    padding-top: var(--spacing-medium);
    max-height: var(--inline-player-max-height);
    object-position: left;

    @media (max-width: $breakpoint-small) {
      font-size: 0.8em;
    }
  }

  // Horizontal Rule
  hr {
    margin-bottom: 2rem;
    position: relative;
    top: 1rem;
  }

  // Code blocks
  pre {
    white-space: normal;
    background: transparent;
    word-break: break-all;

    code {
      margin-bottom: var(--spacing-medium);
      padding: var(--spacing-medium);
      display: block;
      white-space: pre-wrap;
    }
  }

  // Inline code
  code {
    background-color: var(--color-blockquote);
    display: inline-block;
    margin: var(--spacing-miniscule);
    border-radius: 0.2rem;
    font-size: var(--font-small);
    padding: calc(var(--spacing-miniscule) - 4px) var(--spacing-miniscule);
  }

  a {
    @extend .button--link;
  }

  a,
  button {
    display: inline-block;

    .button__label {
      white-space: normal;
    }
  }

  button {
    white-space: normal;
    text-align: left;
  }

  .preview-link {
    padding: 0;
    margin: 1rem 0;
    background-color: var(--color-primary-alt);
    border-left: 0.5rem solid var(--color-primary);
    display: block;
    align-items: center;
    word-break: break-all;
    overflow: hidden;

    .claim-preview {
      border: 0;
      background: transparent;
    }

    .media__subtitle {
      display: block;
    }
  }

  .preview-link__thumbnail {
    width: 12rem;
  }

  .preview-link__description {
    margin-top: var(--spacing-small);
  }
}

.editor-preview {
  background-color: var(--color-input-bg);
}