@layer env.components {
  .env-prose {
    --env-prose-list-item-gap: var(--env-space-4);
    --env-prose-list-marker-size: calc(var(--env-space-4) + var(--env-space-1));
    --env-prose-list-marker-gap: var(--env-space-2);
    min-inline-size: 0;
    font: var(--env-type-body);
    color: var(--env-color-fg-default);
    overflow-wrap: break-word;
  }
  .env-prose :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote, pre, table, hr) {
    margin: 0;
  }
  .env-prose > * + *,
  .env-prose
    :where(blockquote, li)
    > *
    + :not(
      :where(
        a,
        abbr,
        b,
        br,
        button,
        cite,
        code,
        del,
        dfn,
        em,
        i,
        img,
        input,
        ins,
        kbd,
        mark,
        q,
        s,
        samp,
        small,
        span,
        strong,
        sub,
        sup,
        svg,
        time,
        u,
        var
      )
    ) {
    margin-block-start: var(--env-space-4);
  }
  .env-prose > :where(h1, h2, h3, h4, h5, h6):not(:first-child) {
    margin-block-start: var(--env-space-6);
  }
  .env-prose h1 {
    font: var(--env-type-headline);
    letter-spacing: var(--env-type-headline-letter-spacing);
  }
  .env-prose :where(h2, h3, h4, h5, h6) {
    font: var(--env-type-title);
    letter-spacing: var(--env-type-title-letter-spacing);
  }
  .env-prose p {
    font: var(--env-type-body);
  }
  .env-prose strong {
    font-weight: var(--env-font-weight-semibold);
  }
  .env-prose :where(ul, ol) {
    padding-inline-start: 0;
    list-style: none;
  }
  .env-prose :where(li + li) {
    margin-block-start: var(--env-prose-list-item-gap);
  }
  .env-prose :where(li) > :where(ul, ol) {
    --env-prose-list-item-gap: var(--env-space-2);
    margin-block-start: var(--env-space-2);
  }
  .env-prose :where(ul:not(.contains-task-list, [data-type='taskList']), ol) > :where(li) {
    position: relative;
    padding-inline-start: calc(
      var(--env-prose-list-marker-size) + var(--env-prose-list-marker-gap)
    );
  }
  .env-prose :where(ul:not(.contains-task-list, [data-type='taskList']) > li)::before {
    position: absolute;
    inset-block-start: calc((1lh - var(--env-prose-list-marker-size)) / 2);
    inset-inline-start: 0;
    inline-size: var(--env-prose-list-marker-size);
    block-size: var(--env-prose-list-marker-size);
    border-radius: var(--env-radius-full);
    background-color: var(--env-prose-list-marker-fill, transparent);
    content: '';
  }
  .env-prose :where(ol > li)::before {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: calc(100% - var(--env-prose-list-marker-size));
    color: var(--env-color-fg-muted);
    font-variant-numeric: tabular-nums;
    content: counter(list-item) '.';
  }
  .env-prose :where(li ol > li)::before {
    content: counter(list-item, lower-alpha) '.';
  }
  .env-prose :where(ul:not(.contains-task-list, [data-type='taskList']) > li)::after {
    --env-prose-list-mark-box: 0.5625rem;
    position: absolute;
    inset-block-start: calc((1lh - var(--env-prose-list-mark-box)) / 2);
    inset-inline-start: calc(
      (var(--env-prose-list-marker-size) - var(--env-prose-list-mark-box)) / 2
    );
    inline-size: var(--env-prose-list-mark-box);
    block-size: var(--env-prose-list-mark-box);
    border-radius: var(--env-radius-full);
    background-color: var(--env-prose-list-mark-color, var(--env-color-fg-default));
    mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M12%200C12.9%207.4%2016.6%2011.1%2024%2012C16.6%2012.9%2012.9%2016.6%2012%2024C11.1%2016.6%207.4%2012.9%200%2012C7.4%2011.1%2011.1%207.4%2012%200Z'/%3e%3c/svg%3e") center / contain no-repeat;
    content: '';
  }
  .env-prose :where(li ul:not(.contains-task-list, [data-type='taskList']) > li)::before {
    background-color: transparent;
  }
  .env-prose :where(li ul:not(.contains-task-list, [data-type='taskList']) > li)::after {
    --env-prose-list-mark-box: 0.4375rem;
    background-color: var(--env-color-fg-muted);
    mask: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M12%200C12.9%207.4%2016.6%2011.1%2024%2012C16.6%2012.9%2012.9%2016.6%2012%2024C11.1%2016.6%207.4%2012.9%200%2012C7.4%2011.1%2011.1%207.4%2012%200Z'/%3e%3c/svg%3e") center / contain no-repeat;
  }
  @media (forced-colors: active) {
    .env-prose :where(ul:not(.contains-task-list, [data-type='taskList']) > li)::after {
      background-color: CanvasText;
      forced-color-adjust: none;
    }
  }
  .env-prose blockquote {
    padding-inline-start: var(--env-space-4);
    border-inline-start: 2px solid var(--env-color-border-muted);
    color: var(--env-color-fg-muted);
  }
  .env-prose img {
    max-inline-size: 100%;
    block-size: auto;
  }
  .env-prose hr {
    border: 0;
    border-block-start: 1px solid var(--env-color-border-muted);
  }
  .env-prose table {
    inline-size: 100%;
    border-collapse: collapse;
    font: var(--env-type-body-sm);
    text-align: start;
  }
  .env-prose :where(th, td) {
    --env-code-overflow-wrap: break-word;
    padding: var(--env-space-3) var(--env-space-4);
    border-block-end: 1px solid var(--env-color-border-muted);
    overflow-wrap: break-word;
  }
  .env-prose th {
    font-weight: var(--env-font-weight-medium);
    text-align: start;
  }
  .env-prose .footnotes {
    font: var(--env-type-body-sm);
    color: var(--env-color-fg-muted);
  }
}
