@layer components {
  img[data-astro-cid-anmasofe] {
    display: inline;
    margin-right: var(--spacing-2);
  }
}
@layer layouts {
  main[data-astro-cid-sgg5joot] {
    --gutter: 12px;
    display: grid;
    width: 100%;
    min-height: 100svh;
    font-size: 20px;
    grid-column-gap: 0;
    grid-row-gap: 2rem;
    grid-template-columns: var(--gutter)
        minmax(0, 1fr)
        var(--gutter);
    grid-template-rows: min-content min-content auto min-content;
    grid-template-areas: ". title ."
                         ". header ."
                         ". article ."
                         ". writing ."
                         "footer footer footer";

    @media only screen and (width <= 1023px) {
      overflow-wrap: break-word;
    }
  }

  @media only screen and (width >= 1024px) {
    main[data-astro-cid-sgg5joot] {
      --article-width: min(var(--breakpoints-md),
          calc(100% - var(--article-sidebar-width) -
              (3 * var(--article-column-gap))));
      --article-sidebar-width: 300px;
      --article-column-gap: 1rem;
      margin-inline: 0;
      grid-column-gap: var(--article-column-gap);
      grid-template-columns: 1.9fr
          var(--article-sidebar-width)
          var(--article-width)
          2fr;
      grid-template-rows: min-content auto min-content;
      grid-template-areas: ". . title ."
                           ". header article ."
                           ". header writing ."
                           "footer footer footer footer";
    }
  }

  @media only screen and (width >= 1280px) {
    main[data-astro-cid-sgg5joot] {
      --article-sidebar-width: 350px;
      --article-column-gap: 3rem;
    }
  }

  footer[data-astro-cid-sgg5joot] {
    grid-area: footer;
    font-size: .8rem;
    margin-block-start: 1rem;
    padding: 1rem;
    gap: var(--spacing-5);
    background: var(--bg-footer);
    color: var(--text-footer);
    transition: color var(--durations-color-scheme),
        background var(--durations-color-scheme);

    @media only screen and (width >= 1024px) {
      margin-block-start: 2rem;
      padding: 4rem;
    }
  }

  .writing[data-astro-cid-sgg5joot] {
    grid-area: writing;

    & hr {
      margin-block: var(--spacing-5);
      color: var(--text-faded);
    }

    & a {
      display: flex;
      flex-direction: row;
      gap: var(--spacing-2);
      text-decoration: none;
      color: var(--text-faded);

      &:hover {
        color: var(--text);

        & .text {
          text-decoration: underline;
        }
      }

      @media only screen and (width >= 768px) {
        font-size: 1.5rem;
      }
    }
  }

  div[data-astro-cid-sgg5joot].page-footer-content {
    margin: auto;
    max-width: var(--breakpoints-xl);
  }
}
@layer components {
  .table-of-contents[data-astro-cid-ncn7dy3m] {
    & a {
      text-decoration: none;

      &:not(:hover) {
        color: inherit;
      }
    }

    list-style-type: none;
    margin: 0;
    padding: 0;

    @media only screen and (width <= 1023px) {
      list-style-position: inside;
      list-style-type: square;
    }

    &:hover {
      & li {
        color: var(--text);
      }
    }

    & li {
      padding: var(--spacing-half);

      @media only screen and (width <= 1023px) {
        &:not([aria-level="1"]) {
          padding-left: var(--spacing-4);
        }
      }

      @media only screen and (width >= 1024px) {
        color: var(--text-faded);
        transition: color var(--durations-color-scheme);

        &:not([aria-level="1"]) {
          padding-left: var(--spacing-5);
        }

        &:has( > a[aria-current="true"]) {
          color: var(--text);
        }
      }
    }
  }
}
@layer components {
  div[data-astro-cid-5nfssd2t] {
    background: var(--bg-card);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-5);
    margin-block-end: var(--spacing-5);
    font-style: italic;
  }

  ol[data-astro-cid-5nfssd2t] {
    margin-block-start: var(--spacing-3);
  }
}
@layer components {
  p[data-astro-cid-vmyrzwwp].callout {
    background: var(--bg-card);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-5);
    font-size: 1rem;
  }
}
@layer components {
  a[data-astro-cid-zqfiwurf].language {
    font-weight: 700;
  }
}
@layer components {
  .question-heading[data-astro-cid-fltxy64k] :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 0;
  }
}
@layer components {
  p[data-astro-cid-epbigdkp] {
    margin-top: 0;
  }
}
@layer components {
  
}
@layer components {
  span[data-astro-cid-2bds7d4n] {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-1);
  }
}
@layer components {
  ul[data-astro-cid-ly72nysz] {
    padding: 0;
    margin: 0;
    display: inline-flex;
    flex-wrap: wrap;
  }

  ul[data-astro-cid-ly72nysz] > li:not(:first-of-type) {
    margin-inline-start: .25rem;
  }

  ul[data-astro-cid-ly72nysz] > li:not(:last-of-type) {
    margin-inline-end: .25rem;
  }

  a[data-astro-cid-ly72nysz] {
    padding: .25rem;
    text-decoration: none;
  }
}
@layer page {
  header[data-astro-cid-irli65n7] {
    font-size: 1rem;
    grid-area: header;

    @media only screen and (width <= 1023px) {
      display: "block";
    }
  }

  div[data-astro-cid-irli65n7].metadata-sections {
    display: grid;
    gap: var(--spacing-4);

    @media only screen and (width <= 1023px) {
      &:has( + nav) {
        margin-block-end: var(--spacing-8);
      }
    }

    @media only screen and (width >= 1024px) {
      gap: var(--spacing-8);
    }
  }

  div[data-astro-cid-irli65n7].metadata-section {
    color: var(--text);
    flex-direction: row;
    align-items: center;
    gap: var(--spacing-5);
    font-size: 1rem;
    line-height: normal;
    display: flex;

    @media only screen and (width >= 1024px) {
      gap: var(--spacing-1);
      color: var(--text-faded);
      flex-direction: column;
      align-items: flex-start;
    }

    & a {
      text-decoration: none;

      &:not(:hover) {
        color: inherit;
      }
    }

    & svg {
      .calendar[data-astro-cid-irli65n7] & {
        margin-left: -2px;
      }

      .tags[data-astro-cid-irli65n7] & {
        margin-left: -1px;
      }

      .author[data-astro-cid-irli65n7] & {
        margin-left: -1px;
      }

      .source[data-astro-cid-irli65n7] & {
        margin-left: 0;
      }
    }
  }

  span[data-astro-cid-irli65n7].tags {
    margin-top: var(--spacing-1);
  }

  div[data-astro-cid-irli65n7].sticky-wrapper {
    display: flex;
    flex-direction: column;

    @media only screen and (width >= 1024px) {
      flex-direction: column-reverse;
      position: sticky;
      align-self: start;
      top: var(--spacing-3);
    }
  }

  h1[data-astro-cid-irli65n7] {
    grid-area: title;
    max-width: 100%;
    margin-bottom: 0;
  }

  nav[data-astro-cid-irli65n7] {
    @media only screen and (width >= 1024px) {
      margin-block-end: var(--spacing-8);
    }

    & h2 {
      @media only screen and (width <= 1023px) {
        margin-top: 0;
      }

      @media only screen and (width >= 1024px) {
        margin: 0;
        font-size: 1rem;
        line-height: var(--line-height-loose);
        font-weight: 700;
        text-transform: uppercase;
        margin-bottom: 1rem;
        text-decoration: none;
      }
    }
  }
}
@layer page {
    article {
      grid-area: article;
      max-width: 100%;

      /* For articles shorter than the viewport */
      align-self: flex-start;

      & .auto-link-toc-anchor {
        color: var(--text);
        &::after {
          opacity: 0.1;

          transition: opacity var(--durations-color-scheme);
          content: "\00a0\0023"; /* non-breaking space followed by "#" */
        }
        &:hover {
          &::after {
            opacity: 1 !important;
          }
        }
      }

      & section.footnotes {
        & > ol {
          padding-left: 40px;
          counter-reset: list-item 0;
          list-style-type: decimal;
          list-style-position: outside;
        }

        & li:target {
          color: var(--text-highlight);
          background: var(--bg-highlight);
          transition:
            background var(--durations-slowest),
            color var(--durations-slowest);
          &::marker {
            color: var(--text);
          }
          & a {
            color: inherit;
          }
        }
      }

      & .markdown-table-wrapper {
        margin-block: var(--spacing-5);
        @media only screen and (min-width: 768px) {
          margin-block: var(--spacing-7);
        }
        @media only screen and (min-width: 1024px) {
          margin-block: var(--spacing-10);
        }
        max-width: 100%;
        overflow-x: auto;
      }

      & table {
        background: var(--bg-card);
        border-radius: var(--border-radius-md);
        padding: var(--spacing-5);

        transition: background var(--durations-color-scheme);

        & th,
        & td {
          padding: var(--spacing-1) var(--spacing-3);
          font-size: 16px;
          border-bottom: var(--border-table);

          @media only screen and (min-width: 640px) {
            padding: var(--spacing-2) var(--spacing-3);
          }
          @media only screen and (min-width: 768px) {
            font-size: 20px;
            border: none;
            padding: var(--spacing-3);
          }
          @media only screen and (min-width: 1024px) {
            padding: var(--spacing-4);
          }
        }
        & th {
          font-size: 1.5rem;
          text-align: left;
        }
        & td {
          vertical-align: top;
        }
      }

      /* lists */
      & ul,
      & ol {
        margin-block-start: var(--spacing-5);
        margin-block-end: var(--spacing-2);
        &:first-child,
        ul > li > &,
        ol > li > & {
          /* Nested lists and lists that appear first in their container don't need as much top-margin */
          margin-block-start: var(--spacing-2);
        }
      }
      & li:not(:first-child) {
        margin-block-start: var(--spacing-2);
        margin-block-end: var(--spacing-1);
      }

      /* description lists (e.g. glossaries) */
      & dl {
        margin-block-start: var(--spacing-5);
        margin-block-end: var(--spacing-2);
        &:first-child {
          margin-block-start: var(--spacing-2);
        }
      }
      & dt {
        font-weight: 700;
        &:not(:first-child) {
          margin-block-start: var(--spacing-5);
        }
      }

      /* separate rule: workaround for https://github.com/parcel-bundler/lightningcss/issues/964 */
      & blockquote {
        background: var(--bg-card);
        border-radius: var(--border-radius-md);
        padding: var(--spacing-5);

        transition: background var(--durations-color-scheme);
        margin-block-end: 0;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        border-left-width: 5px;
        border-left-color: var(--color-gray-400);

        &:not(:first-child) {
          margin-block-start: var(--spacing-5);
        }

        & p {
          padding-left: var(--spacing-3);
        }
      }

      @media only screen and (min-width: 1024px) {
        margin-inline: auto;
      }

      & ul {
        list-style-type: circle;
        padding-left: 40px;
      }
      & ol {
        list-style-type: decimal;
        padding-left: 40px;
      }

      figure:not([data-no-style]) {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-2);

        figcaption {
          font-size: 1rem;
          font-style: italic;
          color: var(--color-gray-400);
          a {
            color: inherit;
          }
        }
      }

      & figure:not([data-no-style]),
      & > img:not([data-no-style]),
      & :not(blockquote, figure) > p > img:not([data-no-style]) {
        &:not([data-invertible]) {
          background: var(--bg-card);
          border-radius: var(--border-radius-md);
          padding: var(--spacing-5);

          transition: background var(--durations-color-scheme);

          @media only screen and (min-width: 1024px) {
            padding: var(--spacing-8);
          }
        }

        &:not(:first-child) {
          margin-block: var(--spacing-8);
        }
        @media only screen and (min-width: 1024px) {
          padding: var(--spacing-8);
        }
      }

      &
        :is(
          [data-icon="ant-design:apple-filled"],
          [data-icon="ant-design:linux-outlined"],
          [data-icon="ant-design:windows-filled"]
        ) {
        display: inline;
      }
    }
  }