/* $color-text: #dedce5; */
:root {
  --color-bg: var(--flexoki-black);
  --color-bg2: var(--flexoki-950);
  --color-tx: var(--flexoki-200);
  --color-tx2: var(--flexoki-500);
  --color-tx3: var(--flexoki-700);
  --color-ui: var(--flexoki-900);
  --color-ui2: var(--flexoki-850);
  --color-ui3: var(--flexoki-800);
  color-scheme: dark;
  scrollbar-gutter: stable both-edges;
}

/*! 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;
}

/* Licensed under MIT: https://github.com/kepano/flexoki */
:root {
  --flexoki-black: #100f0f;
  --flexoki-paper: #fffcf0;
  --flexoki-50: #f2f0e5;
  --flexoki-100: #e6e4d9;
  --flexoki-150: #dad8ce;
  --flexoki-200: #cecdc3;
  --flexoki-300: #b7b5ac;
  --flexoki-400: #9f9d96;
  --flexoki-500: #878580;
  --flexoki-600: #6f6e69;
  --flexoki-700: #575653;
  --flexoki-800: #403e3c;
  --flexoki-850: #343331;
  --flexoki-900: #282726;
  --flexoki-950: #1c1b1a;
  --flexoki-red-50: #ffe1d5;
  --flexoki-red-100: #ffcabb;
  --flexoki-red-150: #fdb2a2;
  --flexoki-red-200: #f89a8a;
  --flexoki-red-300: #e8705f;
  --flexoki-red-400: #d14d41;
  --flexoki-red-500: #c03e35;
  --flexoki-red-600: #af3029;
  --flexoki-red-700: #942822;
  --flexoki-red-800: #6c201c;
  --flexoki-red-850: #551b18;
  --flexoki-red-900: #3e1715;
  --flexoki-red-950: #261312;
  --flexoki-orange-50: #ffe7ce;
  --flexoki-orange-100: #fed3af;
  --flexoki-orange-150: #fcc192;
  --flexoki-orange-200: #f9ae77;
  --flexoki-orange-300: #ec8b49;
  --flexoki-orange-400: #da702c;
  --flexoki-orange-500: #cb6120;
  --flexoki-orange-600: #bc5215;
  --flexoki-orange-700: #9d4310;
  --flexoki-orange-800: #71320d;
  --flexoki-orange-850: #59290d;
  --flexoki-orange-900: #40200d;
  --flexoki-orange-950: #27180e;
  --flexoki-yellow-50: #faeec6;
  --flexoki-yellow-100: #f6e2a0;
  --flexoki-yellow-150: #f1d67e;
  --flexoki-yellow-200: #eccb60;
  --flexoki-yellow-300: #dfb431;
  --flexoki-yellow-400: #d0a215;
  --flexoki-yellow-500: #be9207;
  --flexoki-yellow-600: #ad8301;
  --flexoki-yellow-700: #8e6b01;
  --flexoki-yellow-800: #664d01;
  --flexoki-yellow-850: #503d02;
  --flexoki-yellow-900: #3a2d04;
  --flexoki-yellow-950: #241e08;
  --flexoki-green-50: #edeecf;
  --flexoki-green-100: #dde2b2;
  --flexoki-green-150: #cdd597;
  --flexoki-green-200: #bec97e;
  --flexoki-green-300: #a0af54;
  --flexoki-green-400: #879a39;
  --flexoki-green-500: #768d21;
  --flexoki-green-600: #66800b;
  --flexoki-green-700: #536907;
  --flexoki-green-800: #3d4c07;
  --flexoki-green-850: #313d07;
  --flexoki-green-900: #252d09;
  --flexoki-green-950: #1a1e0c;
  --flexoki-cyan-50: #ddf1e4;
  --flexoki-cyan-100: #bfe8d9;
  --flexoki-cyan-150: #a2dece;
  --flexoki-cyan-200: #87d3c3;
  --flexoki-cyan-300: #5abdac;
  --flexoki-cyan-400: #3aa99f;
  --flexoki-cyan-500: #2f968d;
  --flexoki-cyan-600: #24837b;
  --flexoki-cyan-700: #1c6c66;
  --flexoki-cyan-800: #164f4a;
  --flexoki-cyan-850: #143f3c;
  --flexoki-cyan-900: #122f2c;
  --flexoki-cyan-950: #101f1d;
  --flexoki-blue-50: #e1eceb;
  --flexoki-blue-100: #c6dde8;
  --flexoki-blue-150: #abcfe2;
  --flexoki-blue-200: #92bfdb;
  --flexoki-blue-300: #66a0c8;
  --flexoki-blue-400: #4385be;
  --flexoki-blue-500: #3171b2;
  --flexoki-blue-600: #205ea6;
  --flexoki-blue-700: #1a4f8c;
  --flexoki-blue-800: #163b66;
  --flexoki-blue-850: #133051;
  --flexoki-blue-900: #12253b;
  --flexoki-blue-950: #101a24;
  --flexoki-purple-50: #f0eaec;
  --flexoki-purple-100: #e2d9e9;
  --flexoki-purple-150: #d3cae6;
  --flexoki-purple-200: #c4b9e0;
  --flexoki-purple-300: #a699d0;
  --flexoki-purple-400: #8b7ec8;
  --flexoki-purple-500: #735eb5;
  --flexoki-purple-600: #5e409d;
  --flexoki-purple-700: #4f3685;
  --flexoki-purple-800: #3c2a62;
  --flexoki-purple-850: #31234e;
  --flexoki-purple-900: #261c39;
  --flexoki-purple-950: #1a1623;
  --flexoki-magenta-50: #fee4e5;
  --flexoki-magenta-100: #fccfda;
  --flexoki-magenta-150: #f9b9cf;
  --flexoki-magenta-200: #f4a4c2;
  --flexoki-magenta-300: #e47da8;
  --flexoki-magenta-400: #ce5d97;
  --flexoki-magenta-500: #b74583;
  --flexoki-magenta-600: #a02f6f;
  --flexoki-magenta-700: #87285e;
  --flexoki-magenta-800: #641f46;
  --flexoki-magenta-850: #4f1b39;
  --flexoki-magenta-900: #39172b;
  --flexoki-magenta-950: #24131d;
}

/* Sakura.css v1.5.1
 * ================
 * Minimal css theme.
 * Project: https://github.com/oxalorg/sakura/
 */
/* Body */
html {
  font-size: 62.5%;
  font-family: "Atkinson Hyperlegible Next", sans-serif;
}

body {
  font-size: 18px;
  line-height: 1.618;
  max-width: 100ch;
  margin: auto;
  color: var(--color-tx);
  background-color: var(--color-bg);
  padding: 13px;
}

@media (max-width: 684px) {
  body {
    font-size: 15.3px;
  }
}
@media (max-width: 382px) {
  body {
    font-size: 13.5px;
  }
}
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.1;
  font-family: "Sora", serif;
  font-weight: 700;
  margin-top: 6rem;
  margin-bottom: 1.5rem;
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-word;
}

h1 {
  font-size: 2.35em;
}

h2 {
  font-size: 2em;
}

h3 {
  font-size: 1.75em;
}

h4 {
  font-size: 1.5em;
}

h5 {
  font-size: 1.25em;
}

h6 {
  font-size: 1em;
}

p {
  margin-top: 0px;
  margin-bottom: 2.5rem;
}

small,
sub,
sup {
  font-size: 75%;
}

hr {
  border-color: rgb(235.004784689, 134.0765550239, 75.995215311);
}

a {
  text-decoration: none;
  color: rgb(235.004784689, 134.0765550239, 75.995215311);
}
a:visited {
  color: rgb(229.8803827751, 103.0861244019, 30.1196172249);
}
a:hover {
  color: #bc5215;
  text-decoration: underline;
  text-decoration-color: var(--color-tx);
  text-decoration-thickness: 1px;
}

ul {
  padding-left: 1.4em;
  margin-top: 0px;
  margin-bottom: 2.5rem;
}

li {
  margin-bottom: 0.4em;
}

blockquote {
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 1em;
  padding-top: 0.8em;
  padding-bottom: 0.8em;
  padding-right: 0.8em;
  border-left: 5px solid rgb(235.004784689, 134.0765550239, 75.995215311);
  margin-bottom: 2.5rem;
  background-color: var(--color-bg2);
}

blockquote p {
  margin-bottom: 0;
}

img,
video {
  height: auto;
  max-width: 100%;
  margin-top: 0px;
  margin-bottom: 2.5rem;
}

/* Pre and Code */
pre {
  background-color: var(--color-bg2);
  display: block;
  padding: 1em;
  overflow-x: auto;
  margin-top: 0px;
  margin-bottom: 2.5rem;
  font-size: 0.9em;
}

code,
kbd,
samp {
  font-size: 0.9em;
  padding: 0 0.5em;
  background-color: var(--color-bg2);
  white-space: pre-wrap;
}

pre > code {
  padding: 0;
  background-color: transparent;
  white-space: pre;
  font-size: 1em;
}

/* Tables */
table {
  text-align: justify;
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}

td,
th {
  padding: 0.5em;
  border-bottom: 1px solid var(--color-bg2);
}

/* Buttons, forms and input */
input,
textarea {
  border: 1px solid var(--color-tx);
}
input:focus,
textarea:focus {
  border: 1px solid rgb(235.004784689, 134.0765550239, 75.995215311);
}

textarea {
  width: 100%;
}

.button,
button,
input[type=submit],
input[type=reset],
input[type=button],
input[type=file]::file-selector-button {
  display: inline-block;
  padding: 5px 10px;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  background-color: rgb(235.004784689, 134.0765550239, 75.995215311);
  color: var(--color-bg);
  border-radius: 1px;
  border: 1px solid rgb(235.004784689, 134.0765550239, 75.995215311);
  cursor: pointer;
  box-sizing: border-box;
}
.button:hover,
button:hover,
input[type=submit]:hover,
input[type=reset]:hover,
input[type=button]:hover,
input[type=file]::file-selector-button:hover {
  background-color: #bc5215;
  color: var(--color-bg);
  outline: 0;
}

.button[disabled],
button[disabled],
input[type=submit][disabled],
input[type=reset][disabled],
input[type=button][disabled],
input[type=file][disabled] {
  cursor: default;
  opacity: 0.5;
}
.button:focus-visible,
button:focus-visible,
input[type=submit]:focus-visible,
input[type=reset]:focus-visible,
input[type=button]:focus-visible,
input[type=file]:focus-visible {
  outline-style: solid;
  outline-width: 2px;
}

textarea,
select,
input {
  color: var(--color-tx);
  padding: 6px 10px;
  /* The 6px vertically centers text on FF, ignored by Webkit */
  margin-bottom: 10px;
  background-color: var(--color-bg2);
  border: 1px solid var(--color-bg2);
  border-radius: 4px;
  box-shadow: none;
  box-sizing: border-box;
}
textarea:focus,
select:focus,
input:focus {
  border: 1px solid rgb(235.004784689, 134.0765550239, 75.995215311);
  outline: 0;
}

input[type=checkbox]:focus {
  outline: 1px dotted rgb(235.004784689, 134.0765550239, 75.995215311);
}

label,
legend,
fieldset {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.note {
  --alert-bg: var(--flexoki-blue-900);
  --alert-border: var(--flexoki-blue-700);
}

.tip {
  --alert-bg: var(--flexoki-green-900);
  --alert-border: var(--flexoki-green-700);
}

.important {
  --alert-bg: var(--flexoki-purple-900);
  --alert-border: var(--flexoki-purple-700);
}

.warning {
  --alert-bg: var(--flexoki-yellow-900);
  --alert-border: var(--flexoki-yellow-700);
}

.caution {
  --alert-bg: var(--flexoki-red-900);
  --alert-border: var(--flexoki-red-700);
}

.note,
.tip,
.important,
.warning,
.caution {
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 1em;
  padding-top: 0.8em;
  padding-bottom: 0.8em;
  padding-right: 0.8em;
  border-left: 5px solid var(--alert-border, var(--flexoki-700));
  margin-bottom: 2.5rem;
  background-color: var(--color-bg2);
  background-color: var(--alert-bg, var(--flexoki-900));
}
.note p,
.tip p,
.important p,
.warning p,
.caution p {
  margin-bottom: 0;
}
.note .title,
.tip .title,
.important .title,
.warning .title,
.caution .title {
  font-weight: bold;
}
.note .title p,
.tip .title p,
.important .title p,
.warning .title p,
.caution .title p {
  margin: 0;
}
.note p:last-of-type,
.tip p:last-of-type,
.important p:last-of-type,
.warning p:last-of-type,
.caution p:last-of-type {
  margin-bottom: 0;
}

* {
  box-sizing: border-box;
}

body {
  height: 100vh;
  padding: 0;
  --pagefind-ui-scale: 1;
  --pagefind-ui-primary: var(--color-orange-400);
  --pagefind-ui-text: var(--color-tx);
  --pagefind-ui-background: var(--color-bg);
  --pagefind-ui-border: var(--color-bg2);
  --pagefind-ui-tag: var(--color-ui2);
  --pagefind-ui-border-width: 2px;
  --pagefind-ui-border-radius: 8px;
  --pagefind-ui-image-border-radius: 8px;
  --pagefind-ui-image-box-ratio: 3 / 2;
  --pagefind-ui-font: inherit;
}

#search {
  margin-top: 20px;
}

.pagefind-ui__result {
  flex-direction: row-reverse !important;
}

.headnav {
  display: flex;
  justify-content: space-between;
}

.legrid {
  display: grid;
  padding: 50px 25px;
  margin: 0 auto;
  max-width: 80ch;
  grid-template-columns: 100%;
  grid-template-areas: "navigation" "content" "footer";
  grid-template-rows: min-content 1fr min-content;
  gap: 20px;
  min-height: 100%;
}

.headwrap {
  grid-area: navigation;
}

code,
pre {
  font-family: "JetBrains Mono", monospace;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

ul#blog-index,
#blog-index li {
  all: unset;
  padding: 0;
}

ul#blog-index {
  display: grid;
  grid-template-columns: min-content min-content 1fr;
  gap: 10px;
}
ul#blog-index li {
  display: contents;
}

#blog-index time {
  font-family: "JetBrains Mono", monospace;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: var(--color-tx2);
  white-space: nowrap;
}

#blog-index .icon {
  color: var(--flexoki-yellow-400);
}

#blog-index a {
  color: var(--color-tx);
}

#blog-index a:hover {
  color: var(--flexoki-orange-400);
}

a.footnote-back {
  margin-left: 5px;
}

.date-meta {
  display: flex;
  gap: 5px;
  color: var(--color-tx);
  margin-bottom: 2.5rem;
}

.last-update {
  color: var(--color-tx2);
}

.logo {
  display: inline-block;
  width: 200px;
  margin-bottom: 20px;
}

.logo svg {
  fill: var(--color-tx);
}

.logo svg rect {
  stroke: var(--color-tx);
}

footer {
  padding-top: 100px;
}

.wiki {
  border: thin solid var(--color-bg2);
  width: 100%;
  min-height: 200px;
  margin-bottom: 20px;
}

@media screen and (min-width: 800px) {
  .wiki {
    float: right;
    width: 300px;
    margin-left: 20px;
  }
}
#search {
  min-height: 64px;
}

.backlinks-wrapper {
  margin-top: 100px;
}

#page-content iframe {
  max-width: 100%;
}

.shape {
  width: 50px;
  margin-top: 2.5rem;
}

h1 {
  margin-top: 3rem;
}

/*# sourceMappingURL=styles.css.map */
