/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}
/* Config
   ========================================================================== */

:root {
  /**
   * Font families.
   */

  --font-family-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-family-alt: "xkcd Script", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,
    sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-family-code: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

  /**
   * Font scales (major-third).
   */
  --font-scale-base: 1;
  --font-scale-hero: 1 * 5/4 * 5/4 * 5/4 * 5/4 * 5/4 * 5/4;
  --font-scale-1: 1 * 5/4 * 5/4 * 5/4 * 5/4 * 5/4;
  --font-scale-2: 1 * 5/4 * 5/4 * 5/4;
  --font-scale-3: 1 * 5/4 * 5/4;
  --font-scale-4: 1 * 5/4;
  --font-scale-5: 1;
  --font-scale-6: 1 * 4/5;

  /**
   * Fluid typography ranges.
   */

  --fluid-min-font-size: 16;
  --fluid-max-font-size: calc(var(--fluid-min-font-size) * 5 / 4 * 5 / 4);

  --fluid-min-screen-size: 480;
  --fluid-max-screen-size: 1600;

  /**
   * Grid.
   */

  --grid-max-content-width: 40em;

  /**
   * Spacing.
   */

  --space-xs: 0.25rem;
  --space-s: 0.5rem;
  --space-m: 1rem;
  --space-l: 1.5rem;
  --space-xl: 2rem;
  --space-xxl: 4rem;

  /**
   * Borders.
   */

  --border-radius: 0.25rem;

  --border-width-s: 0.125rem;
  --border-width-l: 0.25rem;

  /**
   * Background pattern.
   */

  --background-pattern-grid: 120px;
  --background-pattern-subdivisions: 4;

  --background-pattern-image: linear-gradient(var(--color-overlay-1) 1px, transparent 1px),
    linear-gradient(var(--color-overlay-2) 1px, transparent 1px),
    linear-gradient(90deg, var(--color-overlay-1) 1px, transparent 1px),
    linear-gradient(90deg, var(--color-overlay-2) 1px, transparent 1px),
    linear-gradient(
      transparent 3px,
      var(--color-accent-background) 3px,
      var(--color-accent-background) calc(var(--background-pattern-grid) - 2px),
      transparent calc(var(--background-pattern-grid) - 2px)
    ),
    linear-gradient(
      90deg,
      var(--color-overlay-2) 3px,
      transparent 3px,
      transparent calc(var(--background-pattern-grid) - 2px),
      var(--color-overlay-2) calc(var(--background-pattern-grid) - 2px)
    );
  --background-pattern-position: 1rem 1rem;
  --background-pattern-repeat: repeat;
  --background-pattern-size: calc(var(--background-pattern-grid) / var(--background-pattern-subdivisions))
      calc(var(--background-pattern-grid) / var(--background-pattern-subdivisions)),
    var(--background-pattern-grid) var(--background-pattern-grid),
    calc(var(--background-pattern-grid) / var(--background-pattern-subdivisions))
      calc(var(--background-pattern-grid) / var(--background-pattern-subdivisions)),
    var(--background-pattern-grid) var(--background-pattern-grid),
    var(--background-pattern-grid) var(--background-pattern-grid),
    var(--background-pattern-grid) var(--background-pattern-grid);

  /**
   * Background underline.
   */

  --background-underline-position: -0.25rem 0.95rem;
  --background-underline-repeat: no-repeat;

  --background-underline-image: url("data:image/svg+xml,%3Csvg width='524' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.547 11.144C160 3.586 320.042 3.949 518.83 9.154M5.55 10.563C151.527 5.619 297.42 5.346 519.01 9.916' stroke='%23ffffff' stroke-width='3'/%3E%3C/svg%3E");
}

@media (prefers-color-scheme: dark) {
  :root {
    /**
     * Background underline.
     */

    --background-underline-image: url("data:image/svg+xml,%3Csvg width='524' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.547 11.144C160 3.586 320.042 3.949 518.83 9.154M5.55 10.563C151.527 5.619 297.42 5.346 519.01 9.916' stroke='%231d1f24' stroke-width='3'/%3E%3C/svg%3E");
  }
}

/**
 * Make typography fluid for bigger displays.
 * https://www.smashingmagazine.com/2016/05/fluid-typography/
 */

:root {
  --font-size: calc(var(--fluid-min-font-size) * 1px);
}

@media (min-width: 480px) {
  :root {
    --font-size: calc(
      (var(--fluid-min-font-size) * 1px) + (var(--fluid-max-font-size) - var(--fluid-min-font-size)) *
        (100vw - (var(--fluid-min-screen-size) * 1px)) / (var(--fluid-max-screen-size) - var(--fluid-min-screen-size))
    );
  }
}

@media (min-width: 1600px) {
  :root {
    --font-size: calc(var(--fluid-max-font-size) * 1px);
  }
}
/* Color
   ========================================================================== */

:root {
  /**
   * Color palette.
   * https://mineral-ui.netlify.app/color
   */

  --color-white: #ffffff;
  --color-black: #1d1f24;

  --color-blue-10: #f0f5fc;
  --color-blue-20: #cfe0fc;
  --color-blue-30: #accbfc;
  --color-blue-40: #84b1fa;
  --color-blue-50: #5691f0;
  --color-blue-60: #3272d9;
  --color-blue-70: #1d5bbf;
  --color-blue-80: #114599;
  --color-blue-90: #103570;
  --color-blue-100: #15233b;

  --color-bronze-10: #fcf2e6;
  --color-bronze-20: #fad8af;
  --color-bronze-30: #f5bc76;
  --color-bronze-40: #e89c3f;
  --color-bronze-50: #cf7911;
  --color-bronze-60: #ad5f00;
  --color-bronze-70: #8a4d03;
  --color-bronze-80: #693d07;
  --color-bronze-90: #4d2f0b;
  --color-bronze-100: #33210c;

  --color-dusk-10: #f4f2f7;
  --color-dusk-20: #e3dcf7;
  --color-dusk-30: #cec2f0;
  --color-dusk-40: #b5a6e3;
  --color-dusk-50: #9886cf;
  --color-dusk-60: #7a68b3;
  --color-dusk-70: #645396;
  --color-dusk-80: #4f4178;
  --color-dusk-90: #3a3154;
  --color-dusk-100: #282436;

  --color-gray-10: #f5f7fa;
  --color-gray-20: #ebeff5;
  --color-gray-30: #dde3ed;
  --color-gray-40: #c8d1e0;
  --color-gray-50: #afbacc;
  --color-gray-60: #8e99ab;
  --color-gray-70: #707a8a;
  --color-gray-80: #58606e;
  --color-gray-90: #434a54;
  --color-gray-100: #333840;

  --color-green-10: #e1faeb;
  --color-green-20: #abedc5;
  --color-green-30: #7ddba3;
  --color-green-40: #57c282;
  --color-green-50: #3ba164;
  --color-green-60: #2a854e;
  --color-green-70: #20693d;
  --color-green-80: #1a5230;
  --color-green-90: #153d25;
  --color-green-100: #112b1b;

  --color-indigo-10: #f2f2fc;
  --color-indigo-20: #dcdcfc;
  --color-indigo-30: #c2c2fc;
  --color-indigo-40: #a7a7fa;
  --color-indigo-50: #8585f2;
  --color-indigo-60: #6767e6;
  --color-indigo-70: #4d4dd1;
  --color-indigo-80: #3737b3;
  --color-indigo-90: #28288a;
  --color-indigo-100: #202057;

  --color-magenta-10: #faf0f4;
  --color-magenta-20: #fad4e4;
  --color-magenta-30: #fab4d1;
  --color-magenta-40: #f78bb8;
  --color-magenta-50: #ed5393;
  --color-magenta-60: #d6246e;
  --color-magenta-70: #b01355;
  --color-magenta-80: #8a1244;
  --color-magenta-90: #611535;
  --color-magenta-100: #421527;

  --color-purple-10: #f5f0fa;
  --color-purple-20: #ead9fa;
  --color-purple-30: #dabcf7;
  --color-purple-40: #c79bf2;
  --color-purple-50: #ae74e8;
  --color-purple-60: #9656d6;
  --color-purple-70: #7d3cbd;
  --color-purple-80: #642b9e;
  --color-purple-90: #4b2175;
  --color-purple-100: #371c52;

  --color-red-10: #faf0f0;
  --color-red-20: #fad4d4;
  --color-red-30: #fab6b6;
  --color-red-40: #fa8e8e;
  --color-red-50: #f55353;
  --color-red-60: #de1b1b;
  --color-red-70: #b80d0d;
  --color-red-80: #8f0e0e;
  --color-red-90: #661414;
  --color-red-100: #451717;

  --color-sky-10: #e8f4fa;
  --color-sky-20: #bbe5fa;
  --color-sky-30: #8dd4f7;
  --color-sky-40: #53baed;
  --color-sky-50: #229ad6;
  --color-sky-60: #0c7bb3;
  --color-sky-70: #066391;
  --color-sky-80: #064d70;
  --color-sky-90: #093952;
  --color-sky-100: #0c2938;

  --color-slate-10: #edf4f7;
  --color-slate-20: #cbe3f5;
  --color-slate-30: #a7ceeb;
  --color-slate-40: #84b7db;
  --color-slate-50: #5e95bd;
  --color-slate-60: #48799c;
  --color-slate-70: #376180;
  --color-slate-80: #2d4d63;
  --color-slate-90: #243947;
  --color-slate-100: #1d2830;

  --color-teal-10: #e4f7f6;
  --color-teal-20: #a8ede9;
  --color-teal-30: #6cd9d2;
  --color-teal-40: #45bfb7;
  --color-teal-50: #28a199;
  --color-teal-60: #17827b;
  --color-teal-70: #116963;
  --color-teal-80: #0d524d;
  --color-teal-90: #0b3d3a;
  --color-teal-100: #092b29;
}

:root {
  /**
   * Normal color scheme.
   */

  --color-background: var(--color-white);
  --color-foreground: var(--color-black);

  --color-accent-background: var(--color-blue-90);
  --color-accent-foreground: var(--color-white);

  --color-subtle-background: var(--color-gray-10);
  --color-subtle-foreground: var(--color-gray-80);

  --color-heading: var(--color-gray-100);

  --color-link: var(--color-blue-80);
  --color-link-hover: var(--color-blue-60);

  --color-accent-link: var(--color-white);

  --color-border: var(--color-gray-60);

  --color-neutral-1: var(--color-gray-20);
  --color-neutral-2: var(--color-gray-30);
  --color-neutral-3: var(--color-gray-40);
  --color-neutral-4: var(--color-gray-50);
  --color-neutral-5: var(--color-gray-60);
  --color-neutral-6: var(--color-gray-70);

  --color-overlay-1: rgba(255, 255, 255, 0.1);
  --color-overlay-2: rgba(255, 255, 255, 0.1);
  --color-overlay-3: rgba(255, 255, 255, 0.75);

  --color-code-addition: var(--color-green-40);
  --color-code-built-in: var(--color-teal-60);
  --color-code-comment: var(--color-gray-60);
  --color-code-deletion: var(--color-red-40);
  --color-code-error: var(--color-red-40);
  --color-code-keyword: var(--color-gray-100);
  --color-code-meta: var(--color-gray-60);
  --color-code-number: var(--color-sky-60);
  --color-code-regexp: var(--color-green-60);
  --color-code-string: var(--color-red-60);
  --color-code-symbol: var(--color-magenta-60);
  --color-code-tag: var(--color-blue-80);
  --color-code-title: var(--color-red-70);
  --color-code-type: var(--color-sky-70);
}

@media (prefers-color-scheme: dark) {
  :root {
    /**
     * Dark color scheme.
     */

    --color-background: var(--color-black);
    --color-foreground: var(--color-white);

    --color-accent-background: var(--color-blue-20);
    --color-accent-foreground: var(--color-black);

    --color-subtle-background: var(--color-gray-100);
    --color-subtle-foreground: var(--color-gray-40);

    --color-heading: var(--color-gray-10);

    --color-link: var(--color-blue-20);
    --color-link-hover: var(--color-blue-40);

    --color-accent-link: var(--color-black);

    --color-border: var(--color-gray-40);

    --color-neutral-1: var(--color-gray-10);
    --color-neutral-2: var(--color-gray-20);
    --color-neutral-3: var(--color-gray-30);
    --color-neutral-4: var(--color-gray-40);
    --color-neutral-5: var(--color-gray-50);
    --color-neutral-6: var(--color-gray-60);

    --color-overlay-1: rgba(0, 0, 0, 0.1);
    --color-overlay-2: rgba(0, 0, 0, 0.1);
    --color-overlay-3: rgba(0, 0, 0, 0.5);

    --color-code-addition: var(--color-green-60);
    --color-code-built-in: var(--color-teal-40);
    --color-code-comment: var(--color-gray-40);
    --color-code-deletion: var(--color-red-60);
    --color-code-error: var(--color-red-60);
    --color-code-keyword: var(--color-gray-10);
    --color-code-meta: var(--color-gray-40);
    --color-code-number: var(--color-sky-40);
    --color-code-regexp: var(--color-green-40);
    --color-code-string: var(--color-red-40);
    --color-code-symbol: var(--color-magenta-40);
    --color-code-tag: var(--color-blue-20);
    --color-code-title: var(--color-red-30);
    --color-code-type: var(--color-sky-30);
  }
}
/* Box reset
   ========================================================================== */

html {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

/* Typography
   ========================================================================== */

html {
  font-family: var(--font-family-body);
  font-size: var(--font-size);
  line-height: 1.5;
}

h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-family-alt);
}

pre,
code,
kbd,
samp {
  font-family: var(--font-family-code);
}

/* Base styles
   ========================================================================== */

/**
 * Root.
 */

html {
  background-color: var(--color-black);
}

body {
  background-color: var(--color-background);
  color: var(--color-foreground);
  margin: 0;
}

/**
 * Headings.
 */

h1 {
  font-size: calc(var(--font-scale-1) * 1rem);
}
h2 {
  font-size: calc(var(--font-scale-2) * 1rem);
}
h3 {
  font-size: calc(var(--font-scale-3) * 1rem);
}
h4 {
  font-size: calc(var(--font-scale-4) * 1rem);
}
h5 {
  font-size: calc(var(--font-scale-5) * 1rem);
}
h6 {
  font-size: calc(var(--font-scale-6) * 1rem);
}
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-heading);
  font-weight: normal;
  margin: var(--space-l) 0 var(--space-s);
  text-transform: uppercase;
}

/**
 * Structural elements.
 */

blockquote {
  border-inline-start: var(--border-width-l) solid var(--color-border);
  border-inline-end: 0;
  font-style: italic;
  margin-inline-start: 0;
  margin-inline-end: 0;
  padding-inline-start: calc(var(--space-l) - var(--space-xs));
  padding-inline-end: 0;
}
blockquote > :first-child {
  margin-block-start: 0;
}
blockquote > :last-child {
  margin-block-end: 0;
}

hr {
  border: 0;
  color: var(--color-border);
  height: 1.5rem;
  text-align: center;
}
hr::after {
  content: "***";
  letter-spacing: 1rem;
  vertical-align: middle;
}

/**
 * List elements.
 */

ol,
ul {
  padding-inline-start: var(--space-l);
  padding-inline-end: 0;
}
li > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

dt {
  color: var(--color-heading);
  font-weight: bolder;
}
dd {
  margin-inline-start: var(--space-l);
  margin-inline-end: 0;
}

/**
 * Table elements.
 */

.table-wrapper {
  border: var(--border-width-s) solid var(--color-border);
  border-radius: var(--border-radius);
  overflow-x: auto;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
th,
td {
  padding: 0 var(--space-s);
  text-align: center;
  white-space: nowrap;
}
thead {
  border-bottom: var(--border-width-s) solid var(--color-border);
}
tfoot {
  border-top: var(--border-width-s) solid var(--color-border);
}
thead th,
tfoot td {
  color: var(--color-heading);
  font-weight: bolder;
  line-height: 2.25rem;
}
tbody tr:nth-child(2n + 1) {
  background-color: var(--color-subtle-background);
}

/**
 * Form elements.
 */

button,
input,
label,
output,
select,
textarea {
  color: var(--color-foreground);
  display: block;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  width: 100%;
}
button,
input[type="checkbox"],
input[type="checkbox"] + label,
input[type="radio"],
input[type="radio"] + label,
input[type="reset"],
input[type="submit"] {
  display: inline-block;
  width: auto;
}
button,
fieldset,
input,
output,
select,
textarea {
  background-color: var(--color-background);
  border-radius: var(--border-radius);
  border: var(--border-width-s) solid var(--color-border);
  margin-block-end: var(--space-m);
  padding: var(--space-s);
}
input[type="range"] {
  background: transparent;
  border: none;
}
label {
  margin-block-end: var(--space-s);
}
legend {
  margin: 0 calc(var(--space-xs) * -1);
  padding: 0 var(--space-xs);
}

input[disabled],
input[readonly],
output,
textarea[disabled],
textarea[readonly] {
  color: var(--color-subtle-foreground);
}
input[disabled],
textarea[disabled] {
  background-color: var(--color-subtle-background);
}
button,
input[type="reset"],
input[type="submit"] {
  background-color: var(--color-subtle-background);
  cursor: pointer;
}

textarea {
  resize: vertical;
}

::placeholder {
  color: var(--color-subtle-foreground);
  opacity: 1;
}

/**
 * Media elements.
 */

figure {
  position: relative;
}
figcaption {
  background-color: var(--color-overlay-3);
  font-size: calc(var(--font-scale-6) * 1rem);
  font-style: italic;
  padding: var(--space-s);
  opacity: 1;
  pointer-events: none;
  text-align: center;
  position: absolute;
  bottom: 0;
}

img {
  border: var(--border-width-s) solid var(--color-border);
  border-radius: var(--border-radius);
  display: block;
  height: auto;
  max-width: 100%;
  margin-inline-start: auto;
  margin-inline-end: auto;
  overflow: hidden;
}

canvas {
  border: var(--border-width-s) solid var(--color-border);
  border-radius: var(--border-radius);
  display: block;
  height: auto;
  max-width: 100%;
  margin-inline-start: auto;
  margin-inline-end: auto;
  overflow: hidden;
}

.iframe-wrapper {
  border: var(--border-width-s) solid var(--color-border);
  border-radius: var(--border-radius);
  overflow: hidden;
  padding-block-end: 56.25%;
  position: relative;
}
iframe {
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

/**
 * Text formatting elements.
 */

a {
  color: var(--color-link);
  transition: color 0.1s ease-in-out, opacity 0.1s ease-in-out;
}
a:focus,
a:hover {
  color: var(--color-link-hover);
}

b,
strong {
  color: var(--color-heading);
}
mark {
  background-color: var(--color-accent-background);
  color: var(--color-accent-foreground);
}

code,
samp {
  background-color: var(--color-subtle-background);
  border-radius: var(--border-radius);
  display: inline-block;
  padding: 0 var(--space-xs);
}

pre > code {
  background-color: transparent;
  display: block;
  padding: 0;
}

kbd {
  background-color: var(--color-subtle-background);
  border-radius: var(--border-radius);
  box-shadow: 0 0 1px var(--color-foreground), 0 0 0 2px var(--color-background) inset;
  display: inline-block;
  padding: 0 var(--space-s);
  white-space: nowrap;
}

/**
 * Misc.
 */

::selection {
  background-color: var(--color-foreground);
  color: var(--color-background);
}
/* Accessibility
   ========================================================================== */

.hidden {
  display: none;
}

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  width: 1px;
  overflow: hidden;
  padding: 0;
  white-space: nowrap;
  position: absolute;
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
  clip: auto;
  height: auto;
  width: auto;
  overflow: visible;
  white-space: normal;
  position: static;
}

/* Grid
   ========================================================================== */

/**
 * Rely on implicit named lines.
 * https://cloudfour.com/thinks/breaking-out-with-css-grid-layout/
 */

.grid-root {
  display: grid;
  grid-template-columns:
    [full-start] minmax(1em, 1fr)
    [main-start] minmax(0, var(--grid-max-content-width)) [main-end]
    minmax(1em, 1fr) [full-end];
  grid-template-rows: auto min-content;
  min-height: 100vh;
}

.grid-full {
  display: inherit;
  grid-column: full;
  grid-template-columns: inherit;
  grid-template-rows: min-content;
}

.grid-main {
  grid-column: main;
}

.grid-content {
  display: inherit;
  grid-column: full;
  grid-template-columns: inherit;
}
.grid-content > * {
  grid-column: main;
}

/* Text
   ========================================================================== */

.text-transparent {
  color: transparent;
}

.text-start {
  text-align: start;
}
.text-center {
  text-align: center;
}
.text-end {
  text-align: end;
}

.text-scale-1 {
  font-size: calc(var(--font-scale-1) * 1rem);
}
.text-scale-2 {
  font-size: calc(var(--font-scale-2) * 1rem);
}
.text-scale-3 {
  font-size: calc(var(--font-scale-3) * 1rem);
}
.text-scale-4 {
  font-size: calc(var(--font-scale-4) * 1rem);
}
.text-scale-5 {
  font-size: calc(var(--font-scale-5) * 1rem);
}
.text-scale-6 {
  font-size: calc(var(--font-scale-6) * 1rem);
}
/* Syntax highlighting
   ========================================================================== */

/* Background */
.chroma {
  background-color: var(--color-subtle-background);
}
/* Other */
.chroma .x {
}
/* Error */
.chroma .err {
  background-color: var(--color-code-error);
}
/* LineTableTD */
.chroma .lntd {
  border: 0;
  margin: 0;
  padding: 0;
  vertical-align: top;
}
/* LineTable */
.chroma .lntable {
  border-spacing: 0;
  border: 0;
  display: block;
  margin: 0;
  overflow: auto;
  padding: 0;
  width: auto;
}
/* LineHighlight */
.chroma .hl {
  position: relative;
}
.chroma .hl::before {
  color: var(--color-code-comment);
  content: "=>";
  position: absolute;
  left: calc(var(--space-xl) * -1);
}
/* LineNumbersTable */
.chroma .lnt {
  color: var(--color-code-comment);
  margin-inline-end: var(--space-m);
}
/* LineNumbers */
.chroma .ln {
  color: var(--color-code-comment);
  margin-inline-end: var(--space-m);
}
/* Keyword */
.chroma .k {
  color: var(--color-code-keyword);
  font-weight: bold;
}
/* KeywordConstant */
.chroma .kc {
  color: var(--color-code-keyword);
  font-weight: bold;
}
/* KeywordDeclaration */
.chroma .kd {
  color: var(--color-code-keyword);
  font-weight: bold;
}
/* KeywordNamespace */
.chroma .kn {
  color: var(--color-code-keyword);
  font-weight: bold;
}
/* KeywordPseudo */
.chroma .kp {
  color: var(--color-code-keyword);
  font-weight: bold;
}
/* KeywordReserved */
.chroma .kr {
  color: var(--color-code-keyword);
  font-weight: bold;
}
/* KeywordType */
.chroma .kt {
  color: var(--color-code-keyword);
  font-weight: bold;
}
/* Name */
.chroma .n {
}
/* NameAttribute */
.chroma .na {
}
/* NameBuiltin */
.chroma .nb {
}
/* NameBuiltinPseudo */
.chroma .bp {
}
/* NameClass */
.chroma .nc {
  font-weight: bold;
}
/* NameConstant */
.chroma .no {
}
/* NameDecorator */
.chroma .nd {
  font-weight: bold;
}
/* NameEntity */
.chroma .ni {
}
/* NameException */
.chroma .ne {
  font-weight: bold;
}
/* NameFunction */
.chroma .nf {
  font-weight: bold;
}
/* NameFunctionMagic */
.chroma .fm {
}
/* NameLabel */
.chroma .nl {
  font-weight: bold;
}
/* NameNamespace */
.chroma .nn {
}
/* NameOther */
.chroma .nx {
}
/* NameProperty */
.chroma .py {
}
/* NameTag */
.chroma .nt {
}
/* NameVariable */
.chroma .nv {
}
/* NameVariableClass */
.chroma .vc {
}
/* NameVariableGlobal */
.chroma .vg {
}
/* NameVariableInstance */
.chroma .vi {
}
/* NameVariableMagic */
.chroma .vm {
}
/* Literal */
.chroma .l {
}
/* LiteralDate */
.chroma .ld {
}
/* LiteralString */
.chroma .s {
  color: var(--color-code-string);
}
/* LiteralStringAffix */
.chroma .sa {
  color: var(--color-code-string);
}
/* LiteralStringBacktick */
.chroma .sb {
  color: var(--color-code-string);
}
/* LiteralStringChar */
.chroma .sc {
  color: var(--color-code-string);
}
/* LiteralStringDelimiter */
.chroma .dl {
  color: var(--color-code-string);
}
/* LiteralStringDoc */
.chroma .sd {
  color: var(--color-code-string);
}
/* LiteralStringDouble */
.chroma .s2 {
  color: var(--color-code-string);
}
/* LiteralStringEscape */
.chroma .se {
  color: var(--color-code-string);
}
/* LiteralStringHeredoc */
.chroma .sh {
  color: var(--color-code-string);
}
/* LiteralStringInterpol */
.chroma .si {
  color: var(--color-code-string);
}
/* LiteralStringOther */
.chroma .sx {
  color: var(--color-code-string);
}
/* LiteralStringRegex */
.chroma .sr {
  color: var(--color-code-regexp);
}
/* LiteralStringSingle */
.chroma .s1 {
  color: var(--color-code-string);
}
/* LiteralStringSymbol */
.chroma .ss {
  color: var(--color-code-symbol);
}
/* LiteralNumber */
.chroma .m {
  color: var(--color-code-number);
}
/* LiteralNumberBin */
.chroma .mb {
  color: var(--color-code-number);
}
/* LiteralNumberFloat */
.chroma .mf {
  color: var(--color-code-number);
}
/* LiteralNumberHex */
.chroma .mh {
  color: var(--color-code-number);
}
/* LiteralNumberInteger */
.chroma .mi {
  color: var(--color-code-number);
}
/* LiteralNumberIntegerLong */
.chroma .il {
  color: var(--color-code-number);
}
/* LiteralNumberOct */
.chroma .mo {
  color: var(--color-code-number);
}
/* Operator */
.chroma .o {
  font-weight: bold;
}
/* OperatorWord */
.chroma .ow {
  font-weight: bold;
}
/* Punctuation */
.chroma .p {
}
/* Comment */
.chroma .c {
  color: var(--color-code-comment);
  font-style: italic;
}
/* CommentHashbang */
.chroma .ch {
  color: var(--color-code-meta);
  font-style: italic;
}
/* CommentMultiline */
.chroma .cm {
  color: var(--color-code-comment);
  font-style: italic;
}
/* CommentSingle */
.chroma .c1 {
  color: var(--color-code-comment);
  font-style: italic;
}
/* CommentSpecial */
.chroma .cs {
  color: var(--color-code-meta);
  font-weight: bold;
}
/* CommentPreproc */
.chroma .cp {
  color: var(--color-code-meta);
  font-weight: bold;
}
/* CommentPreprocFile */
.chroma .cpf {
  color: var(--color-code-meta);
  font-weight: bold;
}
/* Generic */
.chroma .g {
}
/* GenericDeleted */
.chroma .gd {
  background-color: var(--color-code-deletion);
}
/* GenericEmph */
.chroma .ge {
  font-style: italic;
}
/* GenericError */
.chroma .gr {
  color: var(--color-code-error);
}
/* GenericHeading */
.chroma .gh {
  color: var(--color-code-meta);
}
/* GenericInserted */
.chroma .gi {
  background-color: var(--color-code-addition);
}
/* GenericOutput */
.chroma .go {
}
/* GenericPrompt */
.chroma .gp {
}
/* GenericStrong */
.chroma .gs {
  font-weight: bold;
}
/* GenericSubheading */
.chroma .gu {
}
/* GenericTraceback */
.chroma .gt {
}
/* GenericUnderline */
.chroma .gl {
  text-decoration: underline;
}
/* TextWhitespace */
.chroma .w {
}
/* Skip navigation
   ========================================================================== */

.skip-navigation__link:focus {
  background-color: var(--color-background);
  color: var(--color-foreground);
  padding: var(--space-s) var(--space-m);
  position: absolute;
  left: var(--space-s);
  top: var(--space-s);
}

/* Grid content
   ========================================================================== */

.grid-content {
  margin: var(--space-xl) 0;
}
.grid-content > * {
  margin: var(--space-s) 0;
}
.grid-content > :first-child {
  margin-block-start: 0;
}

/**
 * Headings.
 */

.grid-content > h2,
.grid-content > h3,
.grid-content > h4,
.grid-content > h5,
.grid-content > h6 {
  margin: var(--space-l) 0 var(--space-s);
}

/**
 * Code.
 */

.grid-content pre:not([class]),
.grid-content .highlight {
  background-color: var(--color-subtle-background);
  display: inherit;
  grid-column: full;
  grid-template-columns: inherit;
  grid-template-rows: min-content;
  overflow-x: auto;
}
.grid-content pre:not([class]) > code,
.grid-content .highlight pre.chroma {
  grid-column: main;
  margin: var(--space-m) 0;
}

/* Body header
   ========================================================================== */

.body-header {
  color: var(--color-accent-foreground);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 1;
}

.body-header__nav {
  align-items: baseline;
  align-self: flex-start;
  display: flex;
  justify-content: space-between;
  position: sticky;
  top: 0;
}

.body-header__heading {
  font-size: var(--font-scale-base);
  margin: 0;
}

.body-header__items {
  list-style: none;
  margin: 0 calc(var(--space-s) * -1);
  padding: 0;
}

.body-header__item {
  display: inline-block;
  padding: 0 var(--space-s);
}

.body-header__link {
  color: var(--color-accent-link);
  display: inline-block;
  font-family: var(--font-family-alt);
  margin: var(--space-m) 0 0;
  padding: 0 0 var(--space-s);
  text-decoration: none;
  text-transform: uppercase;
}

.body-header__link:focus,
.body-header__link:hover,
.body-header__link.body-header__link--active {
  background-image: var(--background-underline-image);
  background-position: var(--background-underline-position);
  background-repeat: var(--background-underline-repeat);
  color: var(--color-accent-link);
}

/* Body footer
   ========================================================================== */

.body-footer {
  background-color: var(--color-accent-background);
  background-image: var(--background-pattern-image);
  background-position: var(--background-pattern-position);
  background-repeat: var(--background-pattern-repeat);
  background-size: var(--background-pattern-size);
  color: var(--color-accent-foreground);
  font-family: var(--font-family-alt);
  text-align: center;
  text-transform: uppercase;
}

.body-footer a {
  background-image: var(--background-underline-image);
  background-position: var(--background-underline-position);
  background-repeat: var(--background-underline-repeat);
  color: var(--color-accent-link);
  padding: 0 0 var(--space-s);
  text-decoration: none;
}

/* Terms list
   ========================================================================== */

.terms-list__items {
  list-style: none;
  padding: 0;
  text-align: center;
}

.terms-list__item {
  display: inline-block;
  margin: 0 var(--space-s);
}

.terms-list__link {
  display: block;
  font-family: var(--font-family-alt);
  line-height: 1.05;
  margin-block-end: var(--space-s);
  text-decoration: none;
  text-transform: uppercase;
}

/* Article list
   ========================================================================== */

.article-list__items {
  list-style: none;
  padding: 0;
}

.article-list__item {
  display: block;
  margin: var(--space-l) 0;
}
.article-list__item:first-child {
  margin-block-start: var(--space-s);
}
.article-list__item:last-child {
  margin-block-end: 0;
}

.article-list__link {
  display: block;
  font-family: var(--font-family-alt);
  font-size: calc(var(--font-scale-2) * 1rem);
  line-height: 1.05;
  margin-block-end: var(--space-s);
  text-decoration: none;
  text-transform: uppercase;
}

.article-list__meta {
  color: var(--color-subtle-foreground);
  font-family: var(--font-family-alt);
  font-size: calc(var(--font-scale-6) * 1rem);
  margin-block-end: var(--space-s);
  text-transform: uppercase;
}

.article-list__summary {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

/* Article header
   ========================================================================== */

.article-header {
  background-color: var(--color-accent-background);
  background-image: var(--background-pattern-image);
  background-position: var(--background-pattern-position);
  background-repeat: var(--background-pattern-repeat);
  background-size: var(--background-pattern-size);
  color: var(--color-accent-foreground);
  font-family: var(--font-family-alt);
  text-align: center;
  text-transform: uppercase;
}

.article-header__heading {
  align-items: flex-end;
  color: inherit;
  display: flex;
  font-size: calc(var(--font-scale-hero) * 1rem);
  -webkit-hyphens: auto;
  hyphens: auto;
  justify-content: center;
  line-height: 1.05;
  margin: var(--space-xxl) 0 var(--space-m);
}

/* Article footer
   ========================================================================== */

.article-footer {
  margin-block-end: var(--space-xl);
}

.article-footer__container {
  display: flex;
  flex-direction: row;
}

.article-footer__image {
  border: 0.125rem solid var(--color-border);
  border-radius: 50%;
  height: auto;
  width: 3rem;
  margin-inline-end: var(--space-m);
}

.article-footer__meta {
  flex: 1;
  font-style: italic;
  margin: 0;
}

/* Article headings
   ========================================================================== */

.article-heading__permalink {
  opacity: 0;
  will-change: opacity;
  margin: 0 var(--space-s);
  text-decoration: none;
}
.article-heading:focus > .article-heading__permalink,
.article-heading:hover > .article-heading__permalink {
  opacity: 1;
}

/* Article sections
   ========================================================================== */

.article-related,
.article-resources {
  display: inherit;
  margin: 0;
}

.article-related > *,
.article-resources > * {
  margin: var(--space-s) 0;
}

.article-related__heading {
  margin: var(--space-l) 0 var(--space-s);
}

/* Full-width wrapper
   ========================================================================== */

.full-width-wrapper {
  background-color: var(--color-subtle-background);
  grid-column: full;
  grid-template-columns: none;
  overflow-x: auto;
}
.full-width-wrapper > * {
  border: 0;
  border-radius: 0;
  width: 100%;
}

/* Content-width wrapper
   ========================================================================== */

.content-width-wrapper {
  background-color: var(--color-subtle-background);
  display: inherit;
  grid-column: full;
  grid-template-columns: inherit;
  overflow-x: auto;
}
.content-width-wrapper > * {
  grid-column: main;
}

/* Dividers
   ========================================================================== */

.divider-header,
.divider-footer {
  background-color: var(--color-background);
  height: var(--space-xl);
}

.divider-header {
  clip-path: polygon(100% 98.73%, 0% 98.73%, 0% 21.93%, 0.37% 24.17%, 0.43% 24.57%, 0.74% 25.70%, 1.08% 30.03%, 1.09% 30.37%, 1.34% 29.83%, 1.65% 27.23%, 1.96% 29.70%, 1.97% 29.83%, 2.15% 32.23%, 2.28% 33.90%, 2.29% 34.23%, 2.53% 37.00%, 2.77% 41.13%, 3.01% 41.67%, 3.02% 41.67%, 3.23% 45.73%, 3.26% 46.80%, 3.47% 50.90%, 3.82% 49.33%, 4.14% 49.77%, 4.16% 49.87%, 4.56% 49.33%, 4.81% 50.17%, 4.93% 51.40%, 5.16% 50.40%, 5.22% 49.33%, 5.50% 48.67%, 5.67% 48.83%, 6.10% 42.67%, 6.29% 42.07%, 6.41% 42.67%, 6.71% 44.20%, 6.90% 46.50%, 6.95% 46.80%, 7.20% 46.87%, 7.29% 46.80%, 7.68% 47.80%, 8.05% 49.87%, 8.48% 47.80%, 8.93% 52.93%, 8.95% 53.70%, 9.22% 57.03%, 9.48% 56.03%, 9.60% 58.10%, 9.90% 62.73%, 10.02% 63.27%, 10.19% 64.77%, 10.35% 68.70%, 10.39% 69.90%, 10.66% 71.77%, 10.84% 73.00%, 11.13% 77.27%, 11.19% 78.67%, 11.43% 78.30%, 11.56% 77.63%, 11.73% 77.77%, 11.92% 77.63%, 12.08% 76.83%, 12.27% 76.10%, 12.62% 75.93%, 12.69% 76.10%, 12.81% 74.77%, 12.98% 72.50%, 13.21% 72.93%, 13.32% 74.03%, 13.61% 70.43%, 14.00% 71.50%, 14.05% 71.97%, 14.20% 72.97%, 14.35% 74.53%, 14.71% 80.70%, 15.25% 80.20%, 15.59% 75.03%, 15.94% 77.63%, 16.13% 79.27%, 16.19% 79.17%, 16.29% 79.37%, 16.58% 79.17%, 16.63% 75.33%, 16.62% 70.93%, 16.89% 74.10%, 16.93% 75.03%, 17.22% 75.33%, 17.33% 75.03%, 17.73% 77.63%, 17.98% 77.70%, 18.09% 77.10%, 18.47% 80.20%, 18.87% 82.77%, 18.98% 82.93%, 19.27% 80.20%, 19.54% 82.27%, 19.73% 83.77%, 19.86% 82.77%, 20.02% 82.90%, 20.17% 81.73%, 20.27% 81.00%, 20.35% 82.27%, 20.54% 81.13%, 20.59% 80.20%, 20.77% 80.70%, 20.97% 79.17%, 21.14% 79.67%, 21.32% 80.70%, 21.35% 81.67%, 21.51% 81.23%, 21.66% 83.40%, 21.68% 84.83%, 21.86% 82.57%, 22.08% 79.17%, 22.30% 78.90%, 22.48% 78.67%, 22.52% 78.37%, 22.79% 78.13%, 23.14% 76.30%, 23.16% 76.10%, 23.27% 74.13%, 23.45% 70.93%, 23.73% 69.40%, 23.87% 70.23%, 24.04% 70.93%, 24.18% 71.80%, 24.33% 72.47%, 24.46% 71.97%, 24.61% 71.47%, 24.83% 72.13%, 24.96% 73.00%, 25.15% 70.73%, 25.42% 67.83%, 25.47% 67.87%, 25.80% 66.33%, 25.98% 60.67%, 26.10% 58.13%, 26.20% 55.53%, 26.55% 50.40%, 26.85% 44.73%, 27.11% 44.20%, 27.21% 42.00%, 27.22% 38.57%, 27.46% 35.33%, 27.62% 34.43%, 27.93% 35.47%, 28.16% 36.63%, 28.41% 37.10%, 28.51% 37.53%, 28.77% 38.53%, 29.11% 37.53%, 29.34% 42.17%, 29.55% 41.77%, 29.67% 40.63%, 30.07% 42.17%, 30.24% 42.57%, 30.38% 42.17%, 30.58% 44.87%, 30.70% 47.30%, 30.96% 45.97%, 31.12% 44.73%, 31.13% 44.77%, 31.33% 43.70%, 31.42% 41.63%, 31.50% 39.60%, 31.61% 37.70%, 31.78% 34.97%, 31.97% 33.60%, 32.07% 32.93%, 32.50% 30%, 32.57% 29.83%, 32.95% 27.77%, 33.14% 27.23%, 33.31% 26.73%, 33.59% 28.80%, 33.76% 28.00%, 33.89% 26.23%, 34.09% 24.90%, 34.22% 24.67%, 34.67% 22.10%, 34.86% 23.03%, 35.05% 24.70%, 35.17% 24.90%, 35.28% 24.17%, 35.54% 20.07%, 35.79% 18.00%, 35.95% 16.80%, 36.05% 16.97%, 36.19% 19.90%, 36.22% 21.07%, 36.45% 25.13%, 36.61% 26.23%, 36.84% 29.83%, 37.04% 28.27%, 37.23% 29.83%, 37.40% 33.93%, 37.69% 34.43%, 37.85% 35.80%, 37.96% 37.00%, 38.17% 41.67%, 38.41% 41.13%, 38.60% 40.13%, 38.83% 44.20%, 39.15% 43.20%, 39.48% 45.77%, 39.75% 44.20%, 39.78% 43.07%, 39.89% 40.63%, 40.07% 44.63%, 40.09% 45.77%, 40.25% 46.67%, 40.33% 46.27%, 40.42% 47.73%, 40.46% 49.87%, 40.71% 50.87%, 41.07% 49.33%, 41.22% 53.67%, 41.27% 55.53%, 41.57% 54.57%, 41.57% 54.50%, 41.77% 54.30%, 41.85% 54.50%, 42.05% 55.73%, 42.18% 56.57%, 42.24% 53.73%, 42.28% 50.90%, 42.50% 52.43%, 42.68% 52.93%, 42.83% 53.80%, 42.92% 55.00%, 43.16% 55.53%, 43.52% 56.03%, 43.69% 58.60%, 43.98% 58.60%, 44.18% 56.93%, 44.32% 56.03%, 44.54% 52.43%, 44.81% 53.43%, 45.09% 52.93%, 45.35% 52.93%, 45.74% 52.93%, 45.94% 54.50%, 46.17% 57.07%, 46.17% 57.07%, 46.34% 51.93%, 46.56% 51.93%, 46.74% 50.90%, 46.75% 49.70%, 46.73% 45.77%, 46.78% 44.40%, 46.89% 42.67%, 47.17% 41.67%, 47.53% 46.27%, 47.72% 50.30%, 47.76% 51.40%, 47.90% 53.73%, 48.13% 57.57%, 48.31% 60.67%, 48.41% 62.17%, 48.53% 63.73%, 48.79% 62.73%, 48.98% 66.83%, 49.08% 65.83%, 49.15% 64.27%, 49.38% 64.27%, 49.52% 59.60%, 49.76% 58.10%, 49.94% 56.00%, 49.96% 56.03%, 50.24% 55.53%, 50.29% 55.27%, 50.66% 54.50%, 50.92% 58.10%, 51.21% 55.00%, 51.36% 52.30%, 51.49% 50.40%, 51.66% 51.60%, 51.77% 53.47%, 51.89% 53.20%, 52.08% 53.47%, 52.25% 52.93%, 52.34% 51.93%, 52.50% 52.80%, 52.62% 53.47%, 52.63% 53.37%, 52.89% 50.90%, 53.08% 51.10%, 53.11% 51.43%, 53.27% 51.53%, 53.37% 51.40%, 53.49% 52.73%, 53.63% 54.50%, 53.80% 55.10%, 54.04% 56.03%, 54.22% 53.97%, 54.45% 55.20%, 54.51% 56.03%, 54.70% 55.53%, 54.96% 55.53%, 55.24% 56.53%, 55.58% 59.63%, 55.79% 57.57%, 55.98% 60.30%, 56.02% 61.70%, 56.18% 61.23%, 56.32% 60.13%, 56.48% 60.80%, 56.63% 61.17%, 56.90% 64.27%, 57.10% 63.23%, 57.38% 63.73%, 57.61% 60.13%, 57.83% 62.20%, 58.11% 64.77%, 58.29% 64.27%, 58.37% 58.60%, 58.54% 59.63%, 58.72% 58.10%, 58.92% 60.67%, 59.10% 60.40%, 59.23% 59.63%, 59.34% 61.43%, 59.45% 63.23%, 59.69% 60.67%, 59.79% 56.77%, 59.85% 53.97%, 60.23% 59.13%, 60.41% 58.80%, 60.54% 58.10%, 60.82% 57.07%, 61.01% 56.07%, 61.21% 54.50%, 61.36% 53.90%, 61.44% 53.97%, 61.51% 51.50%, 61.55% 48.33%, 61.69% 46.33%, 61.78% 45.77%, 61.98% 40.63%, 62.23% 38.97%, 62.29% 39.07%, 62.56% 36.50%, 62.69% 35.50%, 62.83% 34.43%, 63.04% 32.90%, 63.22% 30.70%, 63.30% 29.30%, 63.44% 27.90%, 63.57% 26.73%, 63.69% 23.87%, 63.77% 21.60%, 63.91% 19.83%, 64.11% 16.97%, 64.34% 19.47%, 64.35% 19.70%, 64.36% 19.87%, 64.37% 20.07%, 64.68% 21.60%, 64.71% 21.60%, 64.97% 19.03%, 65.12% 18.00%, 65.46% 21.07%, 65.76% 20.57%, 66.06% 27.23%, 66.31% 30.33%, 66.48% 25.70%, 66.50% 21.03%, 66.51% 20.03%, 66.74% 18.90%, 66.80% 19.03%, 67.07% 15.57%, 67.11% 14.90%, 67.28% 17.00%, 67.41% 19.53%, 67.78% 19.03%, 68.07% 16.97%, 68.33% 19.03%, 68.66% 20.03%, 68.95% 21.40%, 68.98% 21.60%, 69.26% 20.07%, 69.47% 21.07%, 69.75% 21.60%, 69.79% 18.40%, 69.78% 16.43%, 70.03% 14.90%, 70.27% 20.07%, 70.52% 18.00%, 70.92% 16.43%, 71.18% 15.70%, 71.23% 15.43%, 71.35% 13.97%, 71.59% 11.83%, 71.68% 11.30%, 71.75% 9.97%, 71.85% 8.23%, 71.98% 7.93%, 72.12% 8.73%, 72.26% 9.00%, 72.40% 9.77%, 72.72% 10.33%, 72.77% 10.30%, 73.05% 9.27%, 73.33% 12.83%, 73.60% 13.50%, 73.65% 13.37%, 73.88% 13.37%, 74.00% 13.17%, 74.27% 13.37%, 74.59% 15.43%, 74.93% 13.90%, 75.08% 12.67%, 75.18% 11.83%, 75.36% 10.80%, 75.69% 10.30%, 75.90% 10.80%, 76.20% 12.33%, 76.47% 10.80%, 76.45% 8.20%, 76.41% 5.63%, 76.54% 6.67%, 76.71% 9.77%, 76.80% 7.70%, 76.84% 5.13%, 77.00% 5.63%, 77.04% 6.03%, 77.23% 8.73%, 77.40% 8.87%, 77.51% 8.20%, 77.69% 9.77%, 77.75% 10.77%, 78.23% 12.83%, 78.43% 14.60%, 78.51% 15.43%, 78.74% 14.43%, 78.99% 15.43%, 79.27% 15.93%, 79.49% 15.73%, 79.54% 15.93%, 79.62% 13.37%, 79.61% 12.10%, 79.65% 10.30%, 79.79% 12.37%, 79.85% 13.90%, 79.99% 14.07%, 80.04% 13.90%, 80.18% 13.90%, 80.26% 15.50%, 80.33% 16.97%, 80.48% 17.07%, 80.53% 16.97%, 80.73% 16.97%, 80.81% 16.53%, 81.01% 15.93%, 81.11% 16.20%, 81.19% 16.43%, 81.30% 12.33%, 81.39% 11.57%, 81.44% 11.83%, 81.70% 9.77%, 81.88% 11.53%, 81.95% 12.87%, 82.03% 11.50%, 82.09% 10.30%, 82.26% 12.83%, 82.47% 16.43%, 82.69% 14.90%, 82.71% 14.07%, 82.70% 12.83%, 82.77% 12.60%, 83.00% 14.00%, 83.04% 13.90%, 83.20% 14.80%, 83.28% 15.43%, 83.45% 14.77%, 83.49% 14.43%, 83.55% 13.77%, 83.68% 12.83%, 83.78% 12.07%, 83.88% 11.30%, 84.08% 11.83%, 84.32% 9.27%, 84.47% 11.47%, 84.59% 13.37%, 84.72% 13.03%, 84.80% 12.83%, 85.13% 9.27%, 85.16% 7.53%, 85.28% 5.13%, 85.44% 5.90%, 85.60% 6.67%, 85.80% 9.77%, 85.96% 13.90%, 86.16% 14.90%, 86.31% 12.33%, 86.41% 11.33%, 86.48% 10.30%, 86.53% 8.50%, 86.57% 6.67%, 86.82% 7.20%, 87.04% 12.33%, 87.25% 10.30%, 87.45% 9.77%, 87.64% 10.30%, 87.78% 12.83%, 87.95% 10.80%, 88.09% 10.80%, 88.21% 12.33%, 88.33% 10.30%, 88.58% 10.30%, 88.83% 8.23%, 88.97% 9.23%, 89.12% 9.23%, 89.20% 8.97%, 89.32% 8.73%, 89.44% 7.43%, 89.57% 6.17%, 89.73% 4.90%, 89.80% 4.63%, 89.94% 3.07%, 90.09% 1.53%, 90.25% 0.77%, 90.40% 0%, 90.68% 1.53%, 90.91% 3.60%, 91.11% 2.07%, 91.36% 1.03%, 91.51% 3.60%, 91.59% 3.20%, 91.70% 2.07%, 91.93% 5.67%, 92.05% 3.10%, 92.20% 6.67%, 92.36% 9.77%, 92.39% 7.67%, 92.42% 6.67%, 92.65% 7.70%, 92.84% 11.30%, 92.93% 9.77%, 93.01% 6.67%, 93.11% 4.63%, 93.27% 4.77%, 93.39% 4.63%, 93.53% 5.10%, 93.72% 5.13%, 93.98% 5.13%, 94.08% 6.97%, 94.22% 9.27%, 94.53% 12.33%, 94.78% 10.30%, 94.96% 9.77%, 95.12% 15.93%, 95.37% 18.50%, 95.52% 19.67%, 95.60% 20.07%, 95.65% 20.30%, 95.84% 23.13%, 96.15% 23.63%, 96.35% 24.47%, 96.40% 25.20%, 96.61% 22.10%, 96.83% 22.10%, 96.93% 24.83%, 97.00% 26.23%, 97.18% 27.50%, 97.32% 28.27%, 97.54% 26.73%, 97.77% 27.23%, 97.84% 28.80%, 97.91% 28.80%, 98.04% 28.13%, 98.09% 28.27%, 98.17% 30.37%, 98.27% 32.37%, 98.48% 34.43%, 98.74% 33.43%, 99.02% 36.50%, 99.18% 37.40%, 99.31% 37.07%, 99.55% 36.50%, 99.70% 36.00%, 99.74% 36.67%, 99.85% 37.53%, 99.94% 41.13%, 100% 41.13%, 100% 98.73%);
  margin-block-end: calc(var(--border-width-s) * -1);
}

.divider-footer {
  clip-path: polygon(0% 0%, 0% 91.67%, 0.30% 92.18%, 0.61% 95.03%, 0.88% 97.28%, 0.92% 97.47%, 1.06% 95.08%, 1.15% 92.55%, 1.38% 92.13%, 1.66% 92.40%, 1.87% 92.10%, 2.28% 88.60%, 2.37% 87.58%, 2.63% 86.75%, 2.85% 84.45%, 2.86% 84.28%, 3.28% 85.08%, 3.51% 82.60%, 3.91% 85.05%, 4.22% 87.08%, 4.58% 85.42%, 4.80% 83.17%, 4.98% 82.13%, 5.15% 81.52%, 5.15% 81.52%, 5.29% 80.88%, 5.61% 81.38%, 5.65% 81.70%, 5.71% 82.20%, 5.94% 83.33%, 6.40% 84.95%, 6.65% 86.03%, 6.68% 85.78%, 6.75% 85.23%, 6.95% 84.10%, 7.22% 82.85%, 7.50% 82.85%, 7.93% 81.20%, 8.28% 84.45%, 8.57% 85.88%, 8.69% 86.07%, 8.80% 83.07%, 8.85% 81.15%, 8.92% 81.45%, 8.97% 81.70%, 9.33% 81.15%, 9.70% 82.12%, 9.80% 83.17%, 10.21% 84.30%, 10.64% 83.95%, 11.05% 82.70%, 11.39% 80.65%, 11.48% 80.97%, 11.87% 83.10%, 12.29% 83.95%, 12.33% 83.90%, 12.64% 80.20%, 12.90% 80.33%, 13.00% 81.00%, 13.33% 79.35%, 13.63% 74.83%, 14.00% 76.03%, 14.27% 76.25%, 14.36% 76.00%, 14.63% 72.73%, 15.07% 74.75%, 15.42% 76.50%, 15.60% 77.20%, 15.70% 76.75%, 15.92% 75.13%, 16.37% 72.25%, 16.70% 70.18%, 16.93% 73.23%, 17.02% 75.10%, 17.19% 74.68%, 17.19% 74.68%, 17.35% 74.25%, 17.55% 75.50%, 17.89% 74.25%, 18.12% 75.75%, 18.27% 77.50%, 18.60% 76.25%, 18.73% 75.25%, 18.86% 74.20%, 19.06% 74.17%, 19.08% 74.25%, 19.17% 74.60%, 19.55% 72.95%, 19.88% 74.17%, 19.98% 76.02%, 20.11% 77.85%, 20.20% 77.55%, 20.54% 78.65%, 20.94% 75.13%, 20.96% 74.53%, 21.16% 71.60%, 21.23% 71.22%, 21.50% 71.63%, 21.79% 71.22%, 22.03% 71.63%, 22.12% 76.35%, 22.13% 77.35%, 22.23% 78.08%, 22.23% 78.05%, 22.37% 78.97%, 22.69% 76.07%, 22.90% 73.22%, 23.23% 69.60%, 23.29% 68.70%, 23.61% 69.10%, 23.97% 68.95%, 24.08% 68.65%, 24.22% 69.58%, 24.44% 71.10%, 24.69% 68.92%, 24.74% 67.82%, 25.07% 70.27%, 25.16% 71.88%, 25.30% 74.77%, 25.72% 79.67%, 25.81% 80.33%, 26.04% 82.53%, 26.22% 82.83%, 26.23% 82.83%, 26.43% 83.33%, 26.64% 84.53%, 26.87% 84.97%, 27.11% 87.38%, 27.24% 89.48%, 27.53% 86.28%, 27.68% 83.28%, 27.90% 82.28%, 28.07% 82.03%, 28.25% 81.03%, 28.53% 79.58%, 28.91% 72.98%, 29.17% 72.15%, 29.45% 69.65%, 29.45% 69.55%, 29.47% 69.30%, 29.79% 67.93%, 29.80% 67.93%, 29.82% 67.95%, 29.94% 68.03%, 30.08% 67.98%, 30.39% 68.83%, 30.68% 68.83%, 30.91% 67.55%, 30.96% 67.55%, 31.18% 71.28%, 31.21% 72.08%, 31.50% 70.03%, 31.83% 70.03%, 32.21% 71.23%, 32.39% 74.75%, 32.42% 76.13%, 32.78% 75.30%, 33.31% 76.50%, 33.61% 75.25%, 33.67% 74.45%, 33.96% 75.05%, 34.05% 75.65%, 34.14% 76.42%, 34.46% 74.82%, 34.79% 77.27%, 34.96% 78.65%, 35.28% 80.52%, 35.50% 80.47%, 35.56% 79.30%, 35.68% 78.47%, 35.75% 77.65%, 36.00% 73.95%, 36.21% 75.13%, 36.22% 75.22%, 36.39% 76.38%, 36.61% 76.72%, 36.62% 76.75%, 36.80% 77.20%, 37.00% 75.90%, 37.10% 75.15%, 37.27% 75.58%, 37.40% 75.93%, 37.64% 78.40%, 37.87% 77.58%, 37.98% 75.83%, 38.17% 72.22%, 38.19% 71.30%, 38.30% 67.70%, 38.41% 66.95%, 38.63% 65.20%, 38.89% 63.97%, 39.02% 64.70%, 39.27% 65.60%, 39.44% 65.35%, 39.58% 65.60%, 39.73% 66.57%, 39.96% 68.02%, 40.17% 66.38%, 40.23% 65.15%, 40.56% 67.20%, 40.84% 68.38%, 40.85% 68.38%, 40.94% 68.40%, 41.34% 68.80%, 41.75% 69.60%, 42.10% 68.93%, 42.17% 68.38%, 42.42% 69.13%, 42.58% 71.23%, 42.73% 71.53%, 42.76% 70.40%, 42.88% 69.75%, 43.03% 69.15%, 43.20% 70.18%, 43.27% 71.18%, 43.53% 72.83%, 43.60% 72.83%, 43.75% 74.08%, 43.98% 76.08%, 44.02% 76.20%, 44.10% 76.45%, 44.23% 76.50%, 44.50% 79.33%, 44.55% 80.18%, 44.72% 83.85%, 45.18% 85.08%, 45.46% 86.03%, 45.53% 86.48%, 45.64% 87.10%, 45.64% 87.10%, 45.92% 87.50%, 46.13% 86.68%, 46.18% 86.28%, 46.56% 87.48%, 46.73% 89.98%, 46.89% 92.38%, 47.11% 93.98%, 47.34% 96.05%, 47.54% 96.48%, 47.59% 96.05%, 47.71% 95.30%, 47.97% 93.58%, 48.21% 89.00%, 48.23% 88.25%, 48.58% 86.58%, 48.82% 88.33%, 48.89% 88.63%, 49.10% 85.75%, 49.35% 81.63%, 49.64% 81.15%, 49.76% 81.20%, 49.90% 77.33%, 49.94% 74.23%, 50.17% 71.48%, 50.26% 70.93%, 50.72% 68.43%, 50.94% 65.20%, 50.97% 63.10%, 51.14% 59.75%, 51.20% 59.00%, 51.45% 51.18%, 51.62% 49.35%, 51.66% 49.53%, 51.91% 49.03%, 52.02% 48.70%, 52.25% 44.58%, 52.42% 42.08%, 52.51% 41.70%, 52.89% 42.50%, 53.18% 40.03%, 53.43% 37.93%, 53.53% 37.55%, 53.56% 37.15%, 53.74% 36.30%, 53.99% 33.83%, 54.03% 32.90%, 54.28% 31.78%, 54.56% 32.58%, 54.71% 30.13%, 54.84% 30.28%, 54.94% 31.75%, 55.13% 32.68%, 55.17% 32.55%, 55.36% 33.93%, 55.50% 35.00%, 55.53% 35.00%, 55.75% 35.83%, 55.88% 36.83%, 55.94% 37.05%, 56.06% 36.55%, 56.17% 35.80%, 56.43% 38.13%, 56.44% 38.25%, 56.65% 37.85%, 56.66% 37.68%, 56.94% 37.00%, 57.16% 37.25%, 57.19% 37.00%, 57.41% 34.65%, 57.42% 34.53%, 57.57% 34.03%, 57.58% 34.05%, 57.65% 34.10%, 57.79% 33.63%, 57.88% 33.28%, 58.11% 34.90%, 58.44% 39.00%, 58.63% 39.75%, 58.68% 39.40%, 58.95% 39.80%, 59.17% 39.15%, 59.19% 38.98%, 59.50% 38.55%, 59.50% 38.55%, 59.75% 37.88%, 59.77% 37.73%, 60.15% 38.95%, 60.35% 39.48%, 60.39% 38.93%, 60.57% 38.73%, 60.57% 38.73%, 60.58% 38.75%, 60.65% 38.93%, 60.88% 40.15%, 61.13% 43.00%, 61.33% 43.55%, 61.49% 43.80%, 61.70% 46.55%, 61.82% 48.30%, 61.97% 49.18%, 62.12% 49.93%, 62.46% 48.68%, 62.77% 49.93%, 63.02% 48.25%, 63.38% 48.25%, 63.77% 47.83%, 64.18% 50.68%, 64.59% 55.60%, 65.08% 53.28%, 65.32% 51.85%, 65.58% 51.28%, 65.61% 51.03%, 65.89% 51.43%, 66.30% 48.95%, 66.45% 46.15%, 66.58% 43.60%, 66.81% 42.25%, 66.88% 41.95%, 67.32% 41.95%, 67.68% 42.73%, 68.02% 43.55%, 68.12% 44.13%, 68.37% 45.18%, 68.76% 50.50%, 68.93% 54.65%, 69.14% 59.93%, 69.41% 59.43%, 69.46% 59.10%, 69.82% 61.10%, 70.16% 59.08%, 70.47% 56.18%, 70.78% 53.30%, 71.10% 51.65%, 71.33% 49.65%, 71.46% 47.93%, 71.88% 50.38%, 72.11% 49.53%, 72.41% 49.73%, 72.46% 49.95%, 72.70% 51.88%, 72.80% 52.80%, 73.29% 50.73%, 73.34% 50.23%, 73.59% 48.68%, 73.80% 45.78%, 74.05% 43.73%, 74.05% 43.73%, 74.21% 42.90%, 74.44% 43.30%, 74.56% 45.75%, 74.69% 44.93%, 74.97% 42.45%, 75.14% 43.00%, 75.17% 42.85%, 75.40% 43.28%, 75.42% 43.45%, 75.61% 42.45%, 75.85% 44.05%, 75.98% 45.38%, 76.04% 45.30%, 76.28% 47.33%, 76.51% 47.40%, 76.63% 46.90%, 76.79% 46.20%, 76.91% 45.68%, 76.91% 45.68%, 77.25% 44.83%, 77.60% 44.83%, 77.81% 44.00%, 78.01% 44.90%, 78.05% 45.63%, 78.20% 47.75%, 78.37% 50.13%, 78.51% 51.13%, 78.65% 52.15%, 78.94% 50.10%, 79.13% 48.43%, 79.15% 48.43%, 79.17% 48.43%, 79.42% 45.98%, 79.70% 44.73%, 79.94% 44.30%, 80.14% 43.90%, 80.31% 43.28%, 80.35% 42.65%, 80.67% 40.60%, 80.76% 40.68%, 80.91% 40.58%, 81.21% 39.33%, 81.50% 37.68%, 81.73% 37.40%, 81.75% 37.45%, 81.83% 37.65%, 82.06% 39.30%, 82.24% 41.15%, 82.29% 41.35%, 82.62% 37.65%, 82.83% 37.23%, 83.05% 36.80%, 83.31% 36.80%, 83.55% 36.38%, 83.76% 33.90%, 83.90% 32.65%, 83.95% 31.90%, 84.18% 31.83%, 84.54% 29.33%, 84.56% 28.95%, 85.06% 28.93%, 85.19% 28.50%, 85.42% 26.45%, 85.62% 24.80%, 85.97% 26.03%, 86.06% 27.10%, 86.25% 28.85%, 86.33% 29.10%, 86.34% 28.93%, 86.54% 26.80%, 86.77% 27.05%, 86.80% 28.05%, 87.05% 25.55%, 87.23% 24.70%, 87.23% 24.70%, 87.28% 24.73%, 87.53% 24.33%, 87.81% 24.70%, 88.09% 23.88%, 88.09% 23.78%, 88.35% 21.83%, 88.51% 19.75%, 88.69% 15.78%, 88.76% 14.43%, 89.10% 11.53%, 89.33% 12.75%, 89.37% 13.18%, 89.51% 12.75%, 89.73% 12.33%, 89.96% 9.85%, 90.14% 10.25%, 90.35% 9.43%, 90.63% 13.10%, 90.84% 12.70%, 91.05% 12.70%, 91.22% 13.93%, 91.29% 13.48%, 91.40% 13.08%, 91.68% 13.48%, 91.97% 16.40%, 92.11% 17.98%, 92.40% 19.20%, 92.68% 22.88%, 92.96% 24.53%, 92.99% 24.53%, 93.07% 23.43%, 93.24% 21.23%, 93.40% 22.40%, 93.43% 23.25%, 93.52% 23.20%, 93.53% 23.15%, 93.70% 23.25%, 94.03% 24.05%, 94.35% 27.55%, 94.35% 27.75%, 94.67% 26.90%, 94.70% 26.15%, 94.86% 24.03%, 95.29% 26.90%, 95.40% 25.25%, 95.67% 19.50%, 95.86% 19.88%, 96.11% 21.10%, 96.25% 20.70%, 96.39% 20.28%, 96.68% 18.20%, 97.00% 15.33%, 97.28% 12.03%, 97.60% 11.20%, 98.05% 11.60%, 98.29% 13.23%, 98.44% 14.03%, 98.57% 13.20%, 98.87% 11.95%, 99.05% 11.95%, 99.38% 16.88%, 99.61% 16.45%, 99.82% 16.05%, 100% 15.10%, 100% 0%, 0% 0%);
  margin-block-start: calc(var(--border-width-s) * -1);
}
/* xkcd Script
   ========================================================================== */

@font-face {
  src: url(/fonts/xkcd-script.woff2) format("woff2"),
    url(/fonts/xkcd-script.woff) format("woff"),
    url(/fonts/xkcd-script.ttf) format("truetype");
  font-family: "xkcd Script";
  font-display: swap;
  font-style: normal;
  font-weight: normal;
}
