.wqhhiy0xs{font-family:Plex,sans-serif;margin:2em 0 1em 0}.wqhhiy0xs{color:var(--hard-font)}.wqhhiy0xs h1{margin:1em 0 1.5em 0;font-size:4em;font-weight:700}
.wlf4grx98{margin:0.3em;display:inline-block;color:color-mix(in srgb,var(--accent-color),transparent 25%)}
.whhd_mqrm{--background-color;--color;background:none;border:none;cursor:pointer;padding:0;margin:0;padding:0.5rem;border-radius:5px;box-shadow:var(--box-shadow-hard);background:var(--background-color, var(--hard-font));color:var(--color, var(--page-background));width:3rem;height:3rem;display:flex;justify-content:center;align-items:center;transition:opacity 0.2s,transform 0.2s ease-in-out}.whhd_mqrm svg{display:block}.whhd_mqrm:hover{transform:scale(1.1) translateY(-0.5rem)}.whhd_mqrm:active{transform:scale(0.9) translateY(-0.2rem)}.whhd_mqrm.hidden{opacity:0;pointer-events:none;transform:scale(0.75)}
.wnz60ajv2{border-radius:2px;padding:0 3px;transition:transform 0.2s;display:inline-block}.wnz60ajv2:hover{color:var(--accent-color-invert);background-color:color-mix(in srgb,var(--accent-color),transparent 25%);transform:scale(1.03)}.wnz60ajv2:active{text-decoration:none;color:var(--accent-color-invert);background-color:var(--accent-color);transform:scale(0.98)}
.weo7suiyx{position:relative;.code pre {
      padding-top: 2em !important;
    }}.weo7suiyx .copied-message{padding:0.5em;border-radius:0.5em;margin:0.5em;position:absolute;top:1.5em;right:0;height:1.5em;background-color:var(--page-background);color:var(--accent-color);transition:opacity 0.2s;z-index:1000;text-align:right;opacity:0}.weo7suiyx.fullscreen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;.code {
      height: 100%;

      pre {
        height: 100%;
        margin: 0 !important;
      }
    }

    .controls {
      right: var(--scrollbar-width);

    }}.weo7suiyx .controls{margin-right:0.2em;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:0.7em;position:absolute;top:0;right:0;>* {
      margin: 0.5em;
    }

    .language {
      font-variant-ligatures: none;
      font-family: 'JetBrains Mono',
        monospace;
      color: var(--accent-color);
    }}.weo7suiyx button{background:none;border:none;cursor:pointer;padding:0;margin:0;:hover {
      color: var(--accent-color);
    }

    :active {
      color: var(--accent-color);
      transform: scale(0.95);
    }

    svg {
      width: 1em;
      height: 1em;
    }}.weo7suiyx button.expand{.bi-arrows-angle-contract {
      display: none;
    }

    .bi-arrows-angle-expand {
      display: block;
    }}.weo7suiyx button.minimize{.bi-arrows-angle-contract {
      display: block;
    }

    .bi-arrows-angle-expand {
      display: none;
    }}.weo7suiyx{.controls {
      opacity: 0;
      transition: all 0.2s;
    }}.weo7suiyx:hover{.controls {
      opacity: 0.75;
    }}
.wo6x54knh{font-family:Plex,sans-serif;margin:2em 0 1em 0;.anchor {
      margin-left: -1.2em;
      padding: 0;
      padding-right: 0.2em;
      color: var(--hard-font);
    }}.wo6x54knh .anchor{opacity:0}.wo6x54knh:hover .anchor{opacity:0.5;color:var(--hard-font)}.wo6x54knh .anchor:hover{opacity:0.75;color:var(--accent-color)}.wo6x54knh .anchor:active{opacity:1;color:var(--accent-color)}.wo6x54knh h1{font-size:2.5}.wo6x54knh h2{font-size:2em}.wo6x54knh h3{font-size:1.5em}.wo6x54knh h4{font-size:1.25em}.wo6x54knh h5{font-size:1em}
.wkqjxy8c4{border:var(--border);border-left:5px solid color-mix(in srgb,var(--accent-color),transparent 50%);box-shadow:var(--box-shadow);padding:0.7em;margin:2em 0em;padding-left:1em;background-color:var(--code-color);font-style:italic;overflow:auto;*:not(blockquote) {
      margin: 0;
    }}
.wedv3ty31 figure{box-sizing:content-box;border-radius:3px;box-shadow:var(--box-shadow);display:flex;flex-direction:column;border:var(--border);margin:3em auto;max-width:100%;img {
      margin: 0;
      box-shadow: none;
      border: 0;

      /* Max width is the width of the container */
      max-width: 100%;
    }

    figcaption {
      flex-shrink: 1;
      font-size: 0.8em;
      padding: 0.5em;
    }}
.wrlbgwbjy .head{margin:5em 0 7em 0;text-align:center}.wrlbgwbjy .head .subtitle{font-size:1.2em;margin-top:2.5em}.wrlbgwbjy .head .written-by{color:color-mix(in srgb,var(--hard-font),transparent 35%);font-weight:600}.wrlbgwbjy .head .date{color:color-mix(in srgb,var(--hard-font),transparent 35%);font-weight:600}.wrlbgwbjy .head>big-title>h1{margin-bottom:0em;margin-top:0em}.wrlbgwbjy .content{padding:0 6em}.wrlbgwbjy .back-to-top{z-index:1000;position:sticky;top:90%;margin-right:1rem;margin-left:auto}.wrlbgwbjy .padding-for-back-to-top{height:5rem}
.wohdx8lqx{display:block;*:not(.letter) {
      fill: var(--hard-font);
    }

    *.letter {
      fill: var(--page-background);
    }}
.wl-u0knvy{display:block;*:not(.letter) {
      fill: var(--color, var(--hard-font));
    }

    *.letter {
      fill: var(--page-background);
    }}
.wk29moz9z{--color;font-weight:500;padding:0 3px;font-family:Plex,sans-serif;color:var(--color, var(--hard-font));transition:transform 0.2s;display:inline-block;position:relative}.wk29moz9z::before{content:"";position:absolute;width:100%;height:2px;background-color:var(--color, var(--hard-font));bottom:0;left:0;transform-origin:right;transform:scaleX(0);transition:transform .3s ease-in-out}.wk29moz9z:hover::before,.wk29moz9z.active::before{transform-origin:left;transform:scaleX(1)}.wk29moz9z:active{transform:scale(0.96)}
.whpvuasz6{display:flex;justify-content:space-between;align-items:center;max-width:calc(100vw - var(--page-margin));width:var(--page-max-width)}.whpvuasz6 nav{display:flex;gap:2em;a {
      --color: color-mix(in srgb, var(--accent-color), transparent 25%);
    }



    span {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 0.5em;

      .icon {
        display: flex;
        justify-content: center;
        align-items: center;

        svg {

          height: 1em;
          width: auto;
        }
      }
    }}.whpvuasz6 keycap svg{height:auto;width:70px}.whpvuasz6 .home:hover{transition:transform 0.2s;transform:scale(1.03)}.whpvuasz6 .home:active{transform:scale(0.98)}
.wa6_jdk4c{display:flex;flex-grow:1;justify-content:center;text-align:center}.wa6_jdk4c a{color:color-mix(in srgb,var(--accent-color),white 35%)}
