---
import '@fontsource-variable/jetbrains-mono'
import '@fontsource-variable/jetbrains-mono/wght-italic.css'

interface Props {
  class: string
}
const className = Astro.props.class
---
<div data-pagefind-body class=`prose dark:prose-invert prose-base max-w-none custom-md ${className}`>
    <!--<div class="prose dark:prose-invert max-w-none custom-md">-->
    <!--<div class="max-w-none custom-md">-->
    <slot/>
</div>

<script>
  const observer = new MutationObserver(addPreCopyButton);
  observer.observe(document.body, { childList: true, subtree: true });
  
  document.addEventListener("DOMContentLoaded", addPreCopyButton);

  function addPreCopyButton() {
    observer.disconnect();
    
    let codeBlocks = Array.from(document.querySelectorAll("pre"));

    for (let codeBlock of codeBlocks) {
      if (codeBlock.parentElement?.nodeName === "DIV" && codeBlock.parentElement?.classList.contains("code-block")) continue

      let wrapper = document.createElement("div");
      wrapper.className = "relative code-block";

      let copyButton = document.createElement("button");
      copyButton.className = "copy-btn btn-regular-dark absolute active:scale-90 h-8 w-8 top-2 right-2 opacity-75 text-sm p-1.5 rounded-lg transition-all ease-in-out";

      codeBlock.setAttribute("tabindex", "0");
      if (codeBlock.parentNode) {
        codeBlock.parentNode.insertBefore(wrapper, codeBlock);
      }

      let copyIcon = `<svg class="copy-btn-icon copy-icon" xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px"><path d="M368.37-237.37q-34.48 0-58.74-24.26-24.26-24.26-24.26-58.74v-474.26q0-34.48 24.26-58.74 24.26-24.26 58.74-24.26h378.26q34.48 0 58.74 24.26 24.26 24.26 24.26 58.74v474.26q0 34.48-24.26 58.74-24.26 24.26-58.74 24.26H368.37Zm0-83h378.26v-474.26H368.37v474.26Zm-155 238q-34.48 0-58.74-24.26-24.26-24.26-24.26-58.74v-515.76q0-17.45 11.96-29.48 11.97-12.02 29.33-12.02t29.54 12.02q12.17 12.03 12.17 29.48v515.76h419.76q17.45 0 29.48 11.96 12.02 11.97 12.02 29.33t-12.02 29.54q-12.03 12.17-29.48 12.17H213.37Zm155-238v-474.26 474.26Z"/></svg>`
      let successIcon = `<svg class="copy-btn-icon success-icon" xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px"><path d="m389-377.13 294.7-294.7q12.58-12.67 29.52-12.67 16.93 0 29.61 12.67 12.67 12.68 12.67 29.53 0 16.86-12.28 29.14L419.07-288.41q-12.59 12.67-29.52 12.67-16.94 0-29.62-12.67L217.41-430.93q-12.67-12.68-12.79-29.45-.12-16.77 12.55-29.45 12.68-12.67 29.62-12.67 16.93 0 29.28 12.67L389-377.13Z"/></svg>`
      copyButton.innerHTML = `<div>${copyIcon} ${successIcon}</div>
      `

      wrapper.appendChild(codeBlock);
      wrapper.appendChild(copyButton);

      let timeout: ReturnType<typeof setTimeout>;
      copyButton.addEventListener("click", async () => {
        if (timeout) {
            clearTimeout(timeout);
        }
        let text = codeBlock?.querySelector("code")?.innerText;
        if (text === undefined) return;
        await navigator.clipboard.writeText(text);
        copyButton.classList.add("success");
        timeout = setTimeout(() => {
          copyButton.classList.remove("success");
        }, 1000);
      });
    }
    
    observer.observe(document.body, { childList: true, subtree: true });
  }
</script>

<!-- Styles for copy-code-button -->
<style lang="css" is:global>
    @tailwind base;
    @tailwind components;
    @tailwind utilities;

    @layer components {
        .btn-regular-dark {
            @apply flex items-center justify-center
            bg-[oklch(0.45_0.01_var(--hue))] hover:bg-[oklch(0.50_0.01_var(--hue))] active:bg-[oklch(0.55_0.01_var(--hue))]
            dark:bg-[oklch(0.30_0.02_var(--hue))] dark:hover:bg-[oklch(0.35_0.03_var(--hue))] dark:active:bg-[oklch(0.40_0.03_var(--hue))]
        }
        .btn-regular-dark.success {
            @apply bg-[oklch(0.75_0.14_var(--hue))] dark:bg-[oklch(0.75_0.14_var(--hue))]
        }

        .copy-btn-icon {
            @apply absolute top-1/2 left-1/2 transition -translate-x-1/2 -translate-y-1/2
        }
        .copy-btn .copy-icon {
            @apply opacity-100 fill-white dark:fill-white/75
        }
        .copy-btn.success .copy-icon {
            @apply opacity-0 fill-[var(--deep-text)]
        }
        .copy-btn .success-icon {
            @apply opacity-0
        }
        .copy-btn.success .success-icon {
            @apply opacity-100
        }
    }
</style>

<style lang="stylus" is:global>
  .custom-md
    h1, h2, h3, h4, h5, h6
      .anchor
        margin: -0.125rem !important
        margin-left: 0.2ch !important
        padding: 0.125rem !important
        user-select: none !important
        opacity: 0 !important
        text-decoration: none !important
        transition: opacity 0.15s ease-in-out, background 0.15s ease-in-out !important

        .anchor-icon
          margin-left: 0.45ch !important
          margin-right: 0.45ch !important

      &:hover
        .anchor
          opacity: 1 !important

    a:not(.no-styling)
      position: relative
      background: none
      margin: -0.25rem
      padding: 0.25rem
      border-radius: 0.375rem
      font-weight: 500
      color: var(--primary)
      text-decoration-line: underline
      text-decoration-color: var(--link-underline)
      text-decoration-thickness: 0.125rem
      text-decoration-style: dashed
      text-underline-offset: 0.25rem
      /*&:after*/
      /*  content: ''*/
      /*  position: absolute*/
      /*  left: 2px*/
      /*  right: 2px*/
      /*  bottom: 4px*/
      /*  height: 6px*/
      /*  border-radius: 3px*/
      /*  background: var(--link-hover)*/
      /*  transition: background 0.15s ease-in-out;*/
      /*  z-index: -1;*/

      &:hover
        background: var(--link-hover)
        text-decoration-color: var(--link-hover)

      &:active
        background: var(--link-active)
        text-decoration-color: var(--link-active)

    code
      font-family: 'JetBrains Mono Variable', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace
      background: var(--inline-code-bg)
      color: var(--inline-code-color)
      padding: 0.125rem 0.25rem
      border-radius: 0.25rem
      overflow: hidden
      counter-reset: line

      &:before
        content: none

      &:after
        content: none

      span.line
        &:before
          content: counter(line)
          counter-increment: line
          direction: rtl
          display: inline-block
          margin-right: 1rem
          width: 1rem
          color: rgba(255, 255, 255, 0.25)
        &:last-child:empty, &:last-child:has(> span:empty:only-child)
          display: none

    pre
      background: var(--codeblock-bg) !important
      border-radius: 0.75rem
      padding-left: 1.25rem
      padding-right: 1.25rem

      code
        color: unset
        font-size: 0.875rem
        padding: 0
        background: none

        ::selection
          background: var(--codeblock-selection)

        span.br::selection
          background: var(--codeblock-selection)

    ul
      li
        &::marker
          color: var(--primary)

    ol
      li
        &::marker
          color: var(--primary)

    blockquote
      font-style: normal
      font-weight: inherit
      border-left-color: rgba(0, 0, 0, 0)
      position: relative;

      &:before
        content: ''
        position: absolute
        left: -0.25rem
        display: block
        transition: background 0.15s ease-in-out;
        background: var(--btn-regular-bg)
        height: 100%
        width: 0.25rem
        border-radius: 1rem

      p
        &:before
          content: none

        &:after
          content: none

    blockquote.admonition
      .bdm-title
        display: flex
        align-items: center
        margin-bottom: -.9rem
        font-weight: bold

        &:before
          content: ' '
          display: inline-block
          font-size: inherit
          overflow: visible
          margin-right: .6rem
          height: 1em
          width: 1em
          vertical-align: -.126em
          mask-size: contain
          mask-position: center
          mask-repeat: no-repeat
          transform: translateY(-0.0625rem)
      &.bdm-tip
        .bdm-title
          color: var(--admonitions-color-tip)

          &:before
            background: var(--admonitions-color-tip)
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' width='16' height='16' aria-hidden='true'%3E%3Cpath d='M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z'%3E%3C/path%3E%3C/svg%3E")

        &:before
          background: var(--admonitions-color-tip)
      &.bdm-note
        .bdm-title
          color: var(--admonitions-color-note)

          &:before
            background: var(--admonitions-color-note)
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' width='16' height='16' aria-hidden='true'%3E%3Cpath fill='var(--admonitions-color-tip)' d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'%3E%3C/path%3E%3C/svg%3E")

        &:before
          background: var(--admonitions-color-note)
      &.bdm-important
        .bdm-title
          color: var(--admonitions-color-important)

          &:before
            background: var(--admonitions-color-important)
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' width='16' height='16' aria-hidden='true'%3E%3Cpath d='M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'%3E%3C/path%3E%3C/svg%3E")

        &:before
          background: var(--admonitions-color-important)
      &.bdm-warning
        .bdm-title
          color: var(--admonitions-color-warning)

          &:before
            background: var(--admonitions-color-warning)
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' width='16' height='16' aria-hidden='true'%3E%3Cpath d='M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'%3E%3C/path%3E%3C/svg%3E")

        &:before
          background: var(--admonitions-color-warning)
      &.bdm-caution
        .bdm-title
          color: var(--admonitions-color-caution)

          &:before
            background: var(--admonitions-color-caution)
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' width='16' height='16' aria-hidden='true'%3E%3Cpath d='M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z'%3E%3C/path%3E%3C/svg%3E")

        &:before
          background: var(--admonitions-color-caution)

    img
      border-radius: 0.75rem

    hr
      border-color: var(--line-divider)
      border-style: dashed

    iframe
      border-radius: 0.75rem
      margin-left: auto
      margin-right: auto
      max-width: 100%

  a.card-github
    display: block
    background: var(--license-block-bg)
    position: relative
    margin: 0.5rem 0
    padding: 1.1rem 1.5rem 1.1rem 1.5rem
    color: var(--tw-prose-body)
    border-radius: var(--radius-large)
    text-decoration-thickness: 0px
    text-decoration-line: none

    &:hover
      background-color: var(--btn-regular-bg-hover)

      .gc-titlebar
        color: var(--btn-content)

      .gc-stars, .gc-forks, .gc-license, .gc-description
        color: var(--tw-prose-headings)

        &:before
          background-color: var(--tw-prose-headings)

    &:active
      scale: .98
      background-color: var(--btn-regular-bg-active);

    .gc-titlebar
      display: flex
      align-items: center
      justify-content: space-between
      margin-bottom: 0.5rem
      color: var(--tw-prose-headings)
      font-size: 1.25rem
      font-weight: 500

      .gc-titlebar-left
        display: flex
        flex-flow: row nowrap
        gap: 0.5rem

      .gc-repo
        font-weight: bold

      .gc-owner
        font-weight: 300
        position: relative
        display: flex
        flex-flow: row nowrap
        gap: 0.5rem
        align-items: center

      .gc-avatar
        display: block
        overflow: hidden
        width: 1.5rem
        height: 1.5rem
        margin-top: -0.1rem
        background-color: var(--primary)
        background-size: cover
        border-radius: 50%

    .gc-description
      margin-bottom: 0.7rem
      font-size: 1rem
      font-weight: 300
      line-height: 1.5rem
      color: var(--tw-prose-body)

    .gc-infobar
      display: flex
      flex-flow: row nowrap
      gap: 1.5rem
      color: var(--tw-prose-body)
      width: fit-content

    .gc-language
      display: none

    .gc-stars, .gc-forks, .gc-license, .github-logo
      font-weight: 500
      font-size: 0.875rem
      opacity: 0.9;

      &:before
        content: ' '
        display: inline-block
        height: 1.3em
        width: 1.3em
        margin-right: .4rem
        vertical-align: -.24em
        font-size: inherit
        background-color: var(--tw-prose-body)
        overflow: visible
        mask-size: contain
        mask-position: center
        mask-repeat: no-repeat
        transition-property: background-color, background;
        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1)
        transition-duration: 0.15s

    .gc-stars
      &:before
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='16' viewBox='0 0 16 16' version='1.1' width='16'%3E%3Cpath d='M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z'%3E%3C/path%3E%3C/svg%3E")

    .gc-license
      &:before
        margin-right: .5rem
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='16' viewBox='0 0 16 16' version='1.1' width='16'%3E%3Cpath d='M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z'%3E%3C/path%3E%3C/svg%3E")

    .gc-forks
      &:before
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='16' viewBox='0 0 16 16' version='1.1' width='16'%3E%3Cpath d='M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z'%3E%3C/path%3E%3C/svg%3E")

    .github-logo
      font-size: 1.25rem

      &:before
        background-color: var(--tw-prose-headings)
        margin-right: 0
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='31' height='32' viewBox='0 0 496 512'%3E%3Cpath fill='%23a1f7cb' d='M165.9 397.4c0 2-2.3 3.6-5.2 3.6c-3.3.3-5.6-1.3-5.6-3.6c0-2 2.3-3.6 5.2-3.6c3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9c2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9c.3 2 2.9 3.3 5.9 2.6c2.9-.7 4.9-2.6 4.6-4.6c-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2c12.8 2.3 17.3-5.6 17.3-12.1c0-6.2-.3-40.4-.3-61.4c0 0-70 15-84.7-29.8c0 0-11.4-29.1-27.8-36.6c0 0-22.9-15.7 1.6-15.4c0 0 24.9 2 38.6 25.8c21.9 38.6 58.6 27.5 72.9 20.9c2.3-16 8.8-27.1 16-33.7c-55.9-6.2-112.3-14.3-112.3-110.5c0-27.5 7.6-41.3 23.6-58.9c-2.6-6.5-11.1-33.3 2.6-67.9c20.9-6.5 69 27 69 27c20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27c13.7 34.7 5.2 61.4 2.6 67.9c16 17.7 25.8 31.5 25.8 58.9c0 96.5-58.9 104.2-114.8 110.5c9.2 7.9 17 22.9 17 46.4c0 33.7-.3 75.4-.3 83.6c0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252C496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2c1.6 1.6 3.9 2.3 5.2 1c1.3-1 1-3.3-.7-5.2c-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9c1.6 1 3.6.7 4.3-.7c.7-1.3-.3-2.9-2.3-3.9c-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2c2.3 2.3 5.2 2.6 6.5 1c1.3-1.3.7-4.3-1.3-6.2c-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9c1.6 2.3 4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2c-1.4-2.3-4-3.3-5.6-2'/%3E%3C/svg%3E")

  a.card-github.fetch-waiting
    pointer-events: none
    opacity: 0.7
    transition: opacity 0.15s ease-in-out

    .gc-description, .gc-infobar, .gc-avatar
      background-color: var(--tw-prose-body)
      color: transparent
      opacity: 0.5;
      animation: pulsate 2s infinite linear
      user-select: none

      &:before
        background-color: transparent

    .gc-repo
      margin-left: -0.1rem

    .gc-description, .gc-infobar
      border-radius: 0.5rem

  a.card-github.fetch-error
    pointer-events: all
    opacity: 1

  @keyframes pulsate
    0%
      opacity: 0.15
    50%
      opacity: 0.25
    100%
      opacity: 0.15

  .card-github, .gc-description, .gc-titlebar, .gc-stars, .gc-forks, .gc-license, .gc-avatar, github-logo
    transition-property: all
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1)
    transition-duration: 0.15s

</style>

<style lang="css" is:global>
    @tailwind base;
    @tailwind components;
    @tailwind utilities;

    @layer components {
        .custom-md h1 {
            @apply text-3xl
        }
    }

</style>