* {
  margin: 0;
  padding: 0;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}

.fonts-loaded-1 body {
  font-family: "Atkinson Hyperlegible Next Faux";
}
.fonts-loaded-1 code,
kbd,
pre,
samp,
tt,
var {
  font-family: "Atkinson Hyperlegible Mono Faux";
}
.fonts-loaded-2 body {
  font-family: "Atkinson Hyperlegible Next";
}
.fonts-loaded-2 code,
kbd,
pre,
samp,
tt,
var {
  font-family: "Atkinson Hyperlegible Mono";
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-regular-critical-text-26f063ce94c98ddd2a923c588e0ae8cf55eaa0a791b1d45cbef416e1ded0ef5c.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Next Faux";
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-italic-greek-db1274ebc20a871f20f3bde24d903b884e4d0f160df0a3ac38075b60f8fb3b70.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Next";
  font-style: italic;
  font-weight: 200 800;
  unicode-range: U+394, U+3A9, U+3BC, U+3C0;
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-italic-latin-0cb1f637e0ef7d20f857ac0cffc04c2b7ec8498d89d3ae21aa92713f5daaeaf6.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Next";
  font-style: italic;
  font-weight: 200 800;
  unicode-range:
    U+20-7E, U+A0-AC, U+AE-B4, U+B6-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC,
    U+2009, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030,
    U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+2215;
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-italic-latin-extended-79661cc4a6b6abd476bb093a57e170ee984e1be9ff00aada042fd01addb512e5.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Next";
  font-style: italic;
  font-weight: 200 800;
  unicode-range:
    U+100-107, U+10A-113, U+116-11B, U+11E-123, U+126-127, U+12A-12B, U+12E-133,
    U+136-137, U+139-13E, U+141-148, U+150-155, U+158-15B, U+15E-165, U+16A-16B,
    U+16E-17E, U+192, U+218-21B, U+237, U+1E80-1E85, U+1E9E, U+1EF2-1EF3,
    U+2020, U+20B9, U+2113;
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-italic-vietnamese-62bc432b9a3060872669d774c955b6dd1ce40e5287985aa8a7a93f8c6d894ce5.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Next";
  font-style: italic;
  font-weight: 200 800;
  unicode-range: U+102-103, U+110-111, U+1EF2-1EF3;
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-regular-greek-3ba8f520a498de5def7a78a8d656e4a476a824dd8e64d70bc3091797cd304997.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Next";
  font-style: normal;
  font-weight: 200 800;
  unicode-range: U+394, U+3A9, U+3BC, U+3C0;
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-regular-latin-8457efda9fd63561092389f42061eabe4218d54c0ee061be10e2a70ca0e097f1.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Next";
  font-style: normal;
  font-weight: 200 800;
  unicode-range:
    U+20-7E, U+A0-AC, U+AE-B4, U+B6-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC,
    U+2009, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030,
    U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+2215;
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-regular-latin-extended-6903198b1c5addbca3a76aa6809f015dee73e221c9a32dda5052adb53eee44cd.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Next";
  font-style: normal;
  font-weight: 200 800;
  unicode-range:
    U+100-107, U+10A-113, U+116-11B, U+11E-123, U+126-127, U+12A-12B, U+12E-133,
    U+136-137, U+139-13E, U+141-148, U+150-155, U+158-15B, U+15E-165, U+16A-16B,
    U+16E-17E, U+192, U+218-21B, U+237, U+1E80-1E85, U+1E9E, U+1EF2-1EF3,
    U+2020, U+20B9, U+2113;
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-next/atkinson-hyperlegible-next-regular-vietnamese-368e2feaa0aff86c614a7879ed98f8c91975feb5bb0bb323665dd5e74d7f2099.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Next";
  font-style: normal;
  font-weight: 200 800;
  unicode-range: U+102-103, U+110-111, U+1EF2-1EF3;
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-mono/atkinson-hyperlegible-mono-regular-critical-code-c02ba7d25cb6c529cd6a2d7230d10e76b95a107459d14051f91a385a7cc1aa97.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Mono Faux";
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-mono/atkinson-hyperlegible-mono-italic-greek-2123268ac2076cfd171d30247a4635507eb25bd61554f08c0e889cc7e62de7a5.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Mono";
  font-style: italic;
  font-weight: 200 800;
  unicode-range: U+394, U+3A9, U+3BC, U+3C0;
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-mono/atkinson-hyperlegible-mono-italic-latin-2cc5de46081e36ff76f0d771713afa8ee1d3cef251e5107a65111bf2549e91cc.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Mono";
  font-style: italic;
  font-weight: 200 800;
  unicode-range:
    U+20-7E, U+A0-AC, U+AE-B4, U+B6-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC,
    U+2009, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030,
    U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+2215;
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-mono/atkinson-hyperlegible-mono-italic-latin-extended-320d888dcc41f2329b1369b70e7d3a4aa38452d45ac7b9f5cef3d556a079514d.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Mono";
  font-style: italic;
  font-weight: 200 800;
  unicode-range:
    U+100-107, U+10A-113, U+116-11B, U+11E-123, U+126-127, U+12A-12B, U+12E-133,
    U+136-137, U+139-13E, U+141-148, U+150-155, U+158-15B, U+15E-165, U+16A-16B,
    U+16E-17E, U+192, U+218-21B, U+237, U+1E80-1E85, U+1E9E, U+1EF2-1EF3, U+2020;
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-mono/atkinson-hyperlegible-mono-italic-vietnamese-c3615ca241f314b12a6a5ea127d1084deb47b69fd6c697466abb7939798a6fb6.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Mono";
  font-style: italic;
  font-weight: 200 800;
  unicode-range: U+102-103, U+110-111, U+1EF2-1EF3;
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-mono/atkinson-hyperlegible-mono-regular-greek-852d5c6d33d6421bd98b02fcf2f7e9f0a92ea5bafa95519bef23970ad952830f.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Mono";
  font-style: normal;
  font-weight: 200 800;
  unicode-range: U+394, U+3A9, U+3BC, U+3C0;
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-mono/atkinson-hyperlegible-mono-regular-latin-be6b8cb67aa0827f1c874cd6f48766b74a8c82611ceddb23c8564008d6d2475b.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Mono";
  font-style: normal;
  font-weight: 200 800;
  unicode-range:
    U+20-7E, U+A0-AC, U+AE-B4, U+B6-FF, U+131, U+152-153, U+2C6, U+2DA, U+2DC,
    U+2009, U+2013-2014, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030,
    U+2039-203A, U+2044, U+20AC, U+2122, U+2212, U+2215;
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-mono/atkinson-hyperlegible-mono-regular-latin-extended-7d7714cc826c2dbf462f0e5aa79e490e3ac1118843b6c2b0873029f43fd9f6f6.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Mono";
  font-style: normal;
  font-weight: 200 800;
  unicode-range:
    U+100-107, U+10A-113, U+116-11B, U+11E-123, U+126-127, U+12A-12B, U+12E-133,
    U+136-137, U+139-13E, U+141-148, U+150-155, U+158-15B, U+15E-165, U+16A-16B,
    U+16E-17E, U+192, U+218-21B, U+237, U+1E80-1E85, U+1E9E, U+1EF2-1EF3, U+2020;
}

@font-face {
  src: url("/fonts/atkinson-hyperlegible-mono/atkinson-hyperlegible-mono-regular-vietnamese-180bdac85d5ddf6ece01e865e8a598041571022c37f6113fa7556ed0c856b7be.woff2")
    format("woff2");
  font-display: swap;
  font-family: "Atkinson Hyperlegible Mono";
  font-style: normal;
  font-weight: 200 800;
  unicode-range: U+102-103, U+110-111, U+1EF2-1EF3;
}

:root {
  --font-sans: "Atkinson Hyperlegible Next", sans-serif;
  --font-mono: "Atkinson Hyperlegible Mono", monospace;
  --base-font-size: clamp(1.065rem, 0.973rem + 0.463vw, 1.331rem);
  --bg-color: #fff3eb;
  --fg-color: #1b1008;
  --link-fg-color: #013a6b;
  --visited-link-color: #4a275f;
  --code-block-bg-color: #eee2da;
  --code-block-fg-color: #100601;
  --heading-fg-color: #53453c;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg-color: #21242e;
    --fg-color: #bfc4d2;
    --link-fg-color: #99b8f3;
    --visited-link-color: #c3aae9;
    --code-block-bg-color: #2d303b;
    --code-block-fg-color: #bfc4d2;
    --heading-fg-color: #bfc4d2;
  }
}

html {
  font-size: var(--base-font-size);
}

body {
  margin: auto;
  padding-inline: 16px;
  font-family: var(--font-sans);
  line-height: 1.5;
  max-width: 66ch;
  background-color: var(--bg-color);
  color: var(--fg-color);
}

p,
dl,
ol,
ul,
pre,
menu {
  margin: 1em 0;
}

blockquote,
figure {
  margin: 1em 2.5em;
}

ul,
ol,
menu {
  padding-left: 2.5em;
}

dd {
  margin-left: 2.5em;
}

hr {
  margin: 0.5em 0;
}

ul ul,
ol ol,
ul ol,
ol ul {
  margin: 0;
}

li + li {
  margin-top: 0.5em;
}
li :is(ul, ol) li {
  margin-top: 0.5em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--heading-fg-color);
}

h2,
h3,
h4,
h5,
h6 {
  margin-top: 1em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500;
  line-height: initial;
}

h2 + :is(h3, h4, h5, h6),
h2 + section :is(h3, h4, h5, h6),
h3 + :is(h4, h5, h6),
h3 + section :is(h4, h5, h6),
h4 + :is(h5, h6),
h4 + section :is(h5, h6),
h5 + h6,
h5 + section h6 {
  margin-top: 0.25em;
}

:is(h1, h2, h3, h4, h5, h6) + :not(section, h1, h2, h3, h4, h5, h6) {
  margin-top: 0.75em;
}

nav[class="articles"] :is(h1, h2, h3, h4, h5, h6) + ul {
  margin-top: 0.25em;
}

code,
kbd,
pre,
samp,
tt,
var {
  font-family: var(--font-mono);
  color: var(--code-block-fg-color);
}

h1 {
  font-size: 2rem;
}
h2 {
  font-size: 1.5rem;
}
h3 {
  font-size: 1.25rem;
}
h4,
h5,
h6 {
  font-size: 1rem;
}

img,
picture {
  max-width: 100%;
  height: fit-content;
  display: block;
}

p code,
p kbd,
li code,
li kbd {
  background-color: var(--code-block-bg-color);
}

ul li p {
  margin-bottom: 0;
}

pre {
  overflow: auto;
  padding: 1em;
  background-color: var(--code-block-bg-color);
  border-radius: 0.25em;
}

nav[class="navbar"] ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  font-size: 1.25rem;
  padding-left: 0;
  margin-top: 0.5em;
  margin-bottom: 0.75em;
  gap: 0.75em;
}

nav[class="navbar"] li {
  display: inline-block;
  margin-top: 0;
}

a,
a code {
  color: var(--link-fg-color);
}

a code {
  background-color: var(--bg-color);
}

a:hover,
a:focus,
a:hover code,
a:focus code {
  font-weight: 500;
}

a:visited,
a:visited code {
  color: var(--visited-link-color);
}
a:visited:hover,
a:visited:focus,
a:visited:hover code,
a:visited:focus code {
  font-weight: 500;
}

nav[class="navbar"] a:visited {
  color: var(--link-fg-color);
}
nav[class="navbar"] a:visited:hover,
nav[class="navbar"] a:visited:focus {
  font-weight: 500;
}

a:focus,
summary:focus,
[tabindex="0"]:focus,
form :focus {
  outline: 3px solid currentColor;
}

@supports selector(:focus-visible) {
  a:focus:not(:focus-visible),
  [tabindex="0"]:focus:not(:focus-visible) {
    outline: none;
  }
}
