@charset "UTF-8";
/*
  1. Use a more-intuitive box-sizing model.
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

/*
  2. Remove default margin
*/
* {
  margin: 0;
}

html {
  scroll-behavior: smooth;
}

/*
  Typographic tweaks!
  3. Add accessible line-height
  4. Improve text rendering
*/
body {
  -webkit-font-smoothing: antialiased;
}

/*
  5. Improve media defaults
*/
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

/*
  6. Remove built-in form typography styles
*/
input,
button,
textarea,
select {
  font: inherit;
}

/*
  7. Avoid text overflows
*/
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

:root {
  color-scheme: light dark;
  --name-slant: -10;
  --text-font-stack: "Recursive", system-ui, sans-serif;
  --border-thickness: 2px;
  --light-background: oklch(98.99% 0.006 8.36);
  --dark-background: oklch(8% 0.026 10.56);
  --background: light-dark(var(--light-background), var(--dark-background));
  --light-background-secondary: oklch(60.72% 0.267 23.1 / 10%);
  --dark-background-secondary: oklch(65.11% 0.224 14.62 / 10%);
  --background-secondary: light-dark(var(--light-background-secondary), var(--dark-background-secondary));
  --light-background-tertiary: oklch(96.87% 0.006 4.64);
  --dark-background-tertiary: oklch(18.07% 0.001 15.94);
  --background-tertiary: light-dark(var(--light-background-secondary), var(--dark-background-secondary));
  --light-text: oklch(26.4% 0.108 19.88);
  --dark-text: oklch(94% 0.034 9.54);
  --text: light-dark(var(--light-text), var(--dark-text));
  --light-text-secondary: oklch(31.85% 0.134 21.05 / 70%);
  --dark-text-secondary: oklch(94% 0.034 9.54 / 70%);
  --text-secondary: light-dark(var(--light-text-secondary), var(--dark-text-secondary));
  --light-text--emphasized: oklch(10.08% 0.033 10.56);
  --dark-text--emphasized: oklch(98.99% 0.006 8.36);
  --text-emphasized: light-dark(var(--light-text--emphasized), var(--dark-text--emphasized));
  --light-accent: oklch(60.72% 0.267 23.1);
  --dark-accent: oklch(65.11% 0.224 14.62);
  --accent: light-dark(var(--light-accent), var(--dark-accent));
  --light-accent-secondary: oklch(60.72% 0.267 23.1 / 50%);
  --dark-accent-secondary: oklch(65.11% 0.224 14.62 / 50%);
  --accent-secondary: light-dark(var(--light-accent-secondary), var(--dark-accent-tertiary));
  --light-accent-tertiary: oklch(60.72% 0.267 23.1 / 12.5%);
  --dark-accent-tertiary: oklch(65.11% 0.224 14.62 / 12.5%);
  --accent-tertiary: light-dark(var(--light-accent-tertiary), var(--dark-accent-tertiary));
  --light-link-underline: oklch(60.72% 0.267 23.1 / 40%);
  --dark-link-underline: oklch(65.11% 0.224 14.62 / 50%);
  --link-underline: light-dark(var(--light-link-underline), var(--dark-link-underline));
  --light-highlight: oklch(60.72% 0.267 23.1 / 20%);
  --dark-highlight: oklch(65.11% 0.224 14.62 / 60%);
  --highlight: light-dark(var(--light-highlight), var(--dark-highlight));
  --light-gridlines: oklch(60.72% 0.267 23.1 / 25%);
  --dark-gridlines: oklch(60.72% 0.267 23.1 / 35%);
  --gridlines-color: light-dark(var(--light-gridlines), var(--dark-gridlines));
  --gridlines: radial-gradient(var(--gridlines-color), 1px, transparent 1px);
}

/* Can be removed once [light-dark()](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/light-dark) is supported in Safari desktop. */
@media (prefers-color-scheme: light) {
  :root {
    --background: var(--light-background);
    --background-secondary: var(--light-background-secondary);
    --background-tertiary: var(--light-background-tertiary);
    --text: var(--light-text);
    --text-secondary: var(--light-text-secondary);
    --text-emphasized: var(--light-text--emphasized);
    --accent: var(--light-accent);
    --accent-secondary: var(--light-accent-secondary);
    --accent-tertiary: var(--light-accent-tertiary);
    --link-underline: var(--light-link-underline);
    --highlight: var(--light-highlight);
    --gridlines-color: var(--light-gridlines);
  }
}
@media (prefers-color-scheme: dark) {
  :root {
    --background: var(--dark-background);
    --background-secondary: var(--dark-background-secondary);
    --background-tertiary: var(--dark-background-tertiary);
    --text: var(--dark-text);
    --text-secondary: var(--dark-text-secondary);
    --text-emphasized: var(--dark-text--emphasized);
    --accent: var(--dark-accent);
    --accent-secondary: var(--dark-accent-secondary);
    --accent-tertiary: var(--dark-accent-tertiary);
    --link-underline: var(--dark-link-underline);
    --highlight: var(--dark-highlight);
    --gridlines-color: var(--dark-gridlines);
  }
}
/* @link https://utopia.fyi/type/calculator?c=320,18,1.2,1240,20,1.25,6,3,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
:root {
  --step--3: clamp(0.512rem, 0.5532rem + -0.0531vi, 0.5425rem);
  --step--2: clamp(0.64rem, 0.6549rem + -0.0192vi, 0.651rem);
  --step--1: clamp(0.7813rem, 0.7747rem + 0.0326vi, 0.8rem);
  --step-0: clamp(1.125rem, 1.0815rem + 0.2174vi, 1.25rem);
  --step-1: clamp(1.35rem, 1.2761rem + 0.3696vi, 1.5625rem);
  --step-2: clamp(1.62rem, 1.5041rem + 0.5793vi, 1.9531rem);
  --step-3: clamp(1.944rem, 1.771rem + 0.8651vi, 2.4414rem);
  --step-4: clamp(2.3328rem, 2.0827rem + 1.2504vi, 3.0518rem);
  --step-5: clamp(2.7994rem, 2.4462rem + 1.7658vi, 3.8147rem);
  --step-6: clamp(3.3592rem, 2.8691rem + 2.4507vi, 4.7684rem);
}

:root {
  font-size: var(--step-0);
  line-height: 1.5em;
  --font-weight-normal: 500;
  --font-weight-semibold: 625;
  --font-weight-bold: 781;
  --font-weight-black: 976;
  font-family: var(--text-font-stack);
  font-weight: var(--font-weight-normal);
  font-display: fallback;
  hanging-punctuation: first allow-end last;
}

::selection {
  background: var(--highlight);
}

pre {
  overflow: auto;
  background: var(--background-tertiary);
  border-radius: 0.5rlh;
  margin-inline: -0.5lh;
  padding: 0.5lh;
}

tt,
code,
samp,
pre,
var,
kbd {
  font-variation-settings: "MONO" 1;
  font-family: var(--text-font-stack);
}

abbr {
  cursor: help;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: var(--border-thickness);
}
abbr a {
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: var(--border-thickness);
}

p > code,
var,
kbd {
  font-variation-settings: "MONO" 1;
  white-space: break-spaces;
  font-size: 80%;
  padding: 0.2em 0.4em;
  margin: 0;
  background: var(--background-tertiary);
  border-radius: 0.3em;
}

.mono {
  font-variation-settings: "MONO" 1;
}

.highlight {
  background: var(--background-tertiary);
}

code {
  font-variation-settings: "MONO" 1;
  max-width: 100%;
  overflow: auto;
  border-radius: 0.5rlh;
  margin-inline: -1lh;
  padding: 1lh;
}

em,
i,
cite {
  font-variation-settings: "slnt" -15, "CRSV" 1;
}

dfn {
  font-variation-settings: "slnt" -15, "CRSV" 0;
  font-weight: var(--font-weight-semibold);
}

strong,
b {
  font-weight: var(--font-weight-semibold);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--font-weight-bold);
  font-variation-settings: "CASL" 0.5, "slnt" 0, "CRSV" 1;
  line-height: 1.2;
}

h1 {
  text-wrap: balance;
  font-size: var(--step-6);
  margin-block: 1rlh;
}

h2 {
  font-size: var(--step-5);
  margin-block: 1rlh;
}

h3 {
  font-weight: var(--font-weight-normal);
  font-size: var(--step-4);
  margin-block: 1rlh;
}

h4 {
  font-weight: var(--font-weight-bold);
  font-size: var(--step-3);
  margin-block: 1rlh;
}

h5 {
  font-weight: var(--font-weight-semibold);
  font-size: var(--step-2);
  line-height: 1rlh;
  margin-block: 1rlh;
}

h6 {
  font-weight: var(--font-weight-normal);
  font-size: var(--step-1);
  margin-block: 1rlh;
}

small {
  font-size: 0.875em;
}

sub,
sup {
  font-size: 0.75em;
}

sub,
sup {
  position: relative;
  line-height: 0;
}

sup a {
  color: var(--text-secondary);
  text-decoration: none;
}

small,
.small {
  font-size: var(--step--1);
}

.smaller {
  font-size: var(--step--2);
}

.smallest {
  font-size: var(--step--3);
}

dl {
  margin-block: 1lh;
}

dt {
  font-weight: var(--font-weight-semibold);
}

dd {
  margin-inline-start: 1lh;
}

*:not(li) > ul,
*:not(li) > ol {
  padding: 0;
  list-style-position: outside;
}

ul.fa-ul {
  margin-left: 0;
  padding-inline-start: 1.2em;
  list-style-position: inside;
}
ul.fa-ul .fa-li {
  margin-inline: 0.25em !important;
}

address {
  font-style: inherit;
}

blockquote {
  margin-block: 1rlh;
  margin-inline: -1rlh;
  padding-block: 1lh;
  padding-inline: 1lh;
  border-left: var(--border-thickness) solid;
}
blockquote p:first-child {
  margin-top: 0;
}
blockquote p:last-child {
  margin-bottom: 0;
}
blockquote footer {
  text-align: right;
}
blockquote footer cite {
  font-weight: var(--font-weight-semibold);
}
blockquote footer cite::before {
  content: "— ";
}

hr {
  margin-block: 2rlh;
  margin-inline: var(--step-6);
  height: var(--border-thickness);
  border: none;
}

details summary {
  list-style: none;
  cursor: pointer;
  position: relative;
}
details summary::-webkit-details-marker {
  display: none;
}
details summary::before {
  margin-left: -1lh;
  content: "";
  position: absolute;
  top: 0;
  width: 1lh;
  height: 1lh;
  mask-image: url('data:image/svg+xml;charset=UTF-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon"><path fill-rule="evenodd" d="M8.22 5.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06-1.06L11.94 10 8.22 6.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd"/></svg>');
}
details summary + * {
  margin-block: 0.5lh;
}
details summary time {
  font-variant-numeric: tabular-nums;
  margin-inline-end: 1rlh;
}
details[open] summary::before {
  transform: rotate(90deg);
}

input[type=submit],
button,
.button {
  hanging-punctuation: none;
  height: 0.925lh;
  display: inline-block;
  align-items: center;
  justify-content: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  text-decoration: none;
  border: none;
  cursor: pointer;
  text-align: center;
  border-radius: 0.25em;
  padding: 0 0.5em;
  background: var(--accent-tertiary);
  color: var(--accent);
  font-size: inherit;
  font-weight: var(--font-weight-semibold);
  transition: color 0.2s ease-in-out, background 0.2s ease-in-out, scale 0.2s ease-in-out;
  outline: 0.2s ease-in-out;
  outline: 0.05lh solid var(--accent-secondary);
}
input[type=submit] svg,
input[type=submit] i,
button svg,
button i,
.button svg,
.button i {
  display: inline-flex;
  width: 0.875em;
  margin-inline-end: var(--step--3);
}
input[type=submit]:hover, input[type=submit]:focus,
button:hover,
button:focus,
.button:hover,
.button:focus {
  color: var(--background);
  background: var(--accent);
  outline: 0.05lh solid var(--accent);
  scale: 103%;
}
input[type=submit]:active,
button:active,
.button:active {
  color: var(--background);
  background: var(--accent);
  outline: 0.05lh solid var(--accent);
  scale: 100%;
}
input[type=submit]:not(:last-child),
button:not(:last-child),
.button:not(:last-child) {
  margin-inline-end: var(--step--1);
}

.button-secondary {
  color: var(--accent);
  text-decoration: none;
  font-weight: var(--font-weight-semibold);
}
.button-secondary:hover {
  text-decoration: underline;
}

.button-borderlesss {
  display: flex;
  align-items: center;
  text-decoration: none;
  font-weight: var(--font-weight-semibold);
  transition: scale 0.2s ease-in-out, color 0.2s ease-in-out;
}
.button-borderlesss i {
  margin-inline-end: 0.5em;
}
.button-borderlesss:hover, .button-borderlesss:focus {
  scale: 103%;
}
.button-borderlesss:active {
  scale: 100%;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-secondary {
  color: var(--text-secondary);
}

.tag-title {
  color: var(--text-secondary);
  font-variation-settings: "CASL" 0, "CRSV" 0;
}

.footnotes {
  font-size: 0.875em;
  margin-block-start: 2lh;
  padding-block: 1lh;
  color: var(--text-secondary);
}
.footnotes li > p {
  margin-block: 0;
}

a.reversefootnote {
  color: var(--accent-secondary);
  text-decoration: none;
}

body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: repeat(3, auto);
  gap: 1rlh;
  max-width: 25rlh;
  margin: 0 auto;
  padding-inline: 1rlh;
}

#markdown-toc {
  font-size: var(--step--1);
  line-height: 1rlh;
  list-style-type: none;
}
#markdown-toc::before {
  content: "§";
  font-weight: var(--font-weight-semibold);
}
@media (min-width: 72em) {
  #markdown-toc {
    top: 1rlh;
    float: left;
    margin-inline-start: -8rlh;
    max-width: 6rlh;
    padding-inline-start: 1lh;
  }
}
#markdown-toc ul {
  padding-inline-start: 0.5em;
  list-style-type: none;
}
#markdown-toc li a {
  text-decoration: none;
}
#markdown-toc li a:hover {
  text-decoration: underline;
}

body:has(input[id=toggle-grid]:checked) {
  background-size: 1rlh 1rlh;
  background-position-x: 0.5rlh;
  background-position-y: 0.5rlh;
  background-image: var(--gridlines);
}

main {
  min-height: 10rlh;
}
main h1 {
  font-size: var(--step-3);
  margin-block: 0;
}
main h2 {
  font-size: var(--step-2);
  line-height: 1rlh;
  margin-block: 1rlh;
}
main h3 {
  font-size: var(--step-1);
  line-height: 1rlh;
}
main h4,
main h5,
main h6 {
  font-size: var(--s0);
  line-height: 1rlh;
}
main p {
  margin-block: 1lh;
}

ul.post-list li,
ul.date-list li {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}
ul.post-list li time,
ul.date-list li time {
  font-size: var(--step--1);
  line-height: 1rlh;
  margin-inline-start: 0.5rlh;
  flex-shrink: 0;
  /* this ensures that the time will not shrink */
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

img {
  max-width: 100%;
  block-size: auto;
  margin-block: 1rlh;
  border-radius: 0.5em;
}
img.inline {
  display: inline;
  border-radius: none;
  margin-block: 0;
  margin-inline: auto;
  height: auto;
  max-height: 1lh;
  vertical-align: middle;
}
img.crop-top {
  object-position: 50% 10%;
}
img.crop-middle {
  object-position: 50% 50%;
}
img.crop-bottom {
  object-position: 50% 90%;
}

figure {
  margin-block: 1lh;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
}
figure img {
  margin-block: 0;
}
figure figcaption {
  font-variation-settings: "slnt" -15, "CRSV" 1;
  display: block;
  text-align: center;
  line-height: 1lh;
  color: var(--text-secondary);
  font-size: var(--step--1);
}

caption {
  padding-block-end: 1rlh;
  text-align: center;
  font-weight: var(--font-weight-semibold);
}

mainimg {
  max-width: 108%;
  margin-inline: -4%;
}

audio {
  width: 100%;
}

.top-margin {
  margin-block-start: 1lh;
}

iframe {
  border: none;
}

.video-wrapper {
  margin-block: 1lh;
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.center {
  margin-inline: auto;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

thead,
tfoot {
  background: var(--background-secondary);
}

th,
td {
  border: 1px solid var(--link-underline);
  padding: 0.5lh;
  text-align: left;
}

table.borderless thead,
table.borderless tfoot {
  background: unset;
}
table.borderless th,
table.borderless td {
  border: none;
  padding-inline-start: 0;
  vertical-align: top;
}

.wrap {
  white-space: normal;
}

.nowrap {
  white-space: nowrap;
}

i.fa-sm {
  display: inline-block;
  min-width: 0.825em;
}

.toggle {
  margin-bottom: 0 !important;
  position: relative;
  display: inline-block;
  width: 1.3rlh;
  height: 0.8rlh;
  appearance: none;
  outline: none;
  background-color: #c6c6c6;
  border-radius: 0.8rlh;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
  transition: background-color 0.2s;
}
@media (prefers-color-scheme: dark) {
  .toggle {
    background-color: #555;
  }
}
.toggle:after {
  content: "";
  position: absolute;
  top: 0.1rlh;
  left: 0.1rlh;
  width: 0.6rlh;
  height: 0.6rlh;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: all 0.2s;
}
.toggle:active {
  background-color: #bbb;
}
.toggle:active:after {
  transform: translatex(0.1rlh);
}
@media (prefers-color-scheme: dark) {
  .toggle:active {
    background-color: #777;
  }
}
.toggle:checked {
  background-color: var(--accent);
}
@media (prefers-color-scheme: dark) {
  .toggle:checked {
    background-color: var(--accent);
  }
}
.toggle:checked:after {
  transform: translatex(0.5rlh);
}
.toggle:checked:active:after {
  transform: translatex(0.4rlh);
}

.switch label {
  margin-inline-end: var(--step--3);
}

.nav-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.nav-item:not(:last-child) {
  margin-inline-end: 0.5rlh;
}

.nav-icon {
  height: 1lh;
  width: 1lh;
  text-align: center;
}

.nav-title {
  display: inline-block;
  text-align: center;
  margin-inline-start: 0.3em;
}

.changelog .summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.changelog .time-description {
  flex-grow: 1;
  display: flex;
  align-items: flex-start;
  margin-inline-end: 0.5rlh;
}
.changelog time {
  margin-inline-end: 0.5rlh;
  white-space: nowrap;
}
.changelog .commit {
  margin-inline-start: 0.5rlh;
  display: flex;
  flex-shrink: 0;
  align-items: flex-start;
}
.changelog .commit i {
  height: 0.875em;
}

.initials {
  font-variation-settings: "CASL" 1, "wght" var(--font-weight-black), "slnt" var(--name-slant), "CRSV" 1;
}

.full-name {
  font-weight: var(--font-weight-bold);
  font-variation-settings: "CASL" 1, "wght" var(--font-weight-bold), "slnt" var(--name-slant), "CRSV" 1;
}

header#masthead {
  border-bottom: var(--border-thickness) solid;
  padding-block: 1rlh;
}
header#masthead .identity {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
}
header#masthead .identity .avatar {
  height: 2.5lh;
  width: auto;
  border-radius: 50%;
  margin: 0;
  transition: transform 0.2s ease-in-out;
}
header#masthead nav {
  text-transform: lowercase;
  margin-block-end: 1rlh;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header#masthead nav a {
  font-weight: var(--font-weight-semibold);
  text-decoration: none;
}
@keyframes pulse {
  0%, 100% {
    font-variation-settings: "CASL" 1, "wght" var(--font-weight-black), "slnt" var(--name-slant), "CRSV" 1;
  }
  50% {
    font-variation-settings: "CASL" 1, "wght" var(--font-weight-bold), "slnt" var(--name-slant), "CRSV" 1;
  }
}
header#masthead h1 {
  margin-block: 0;
}
header#masthead h1 a {
  text-decoration: none;
  transition: font-variation-settings 0.45s ease-in-out;
}
header#masthead h1 a:hover {
  animation: pulse 0.9s ease-in-out infinite;
}
header#masthead p {
  line-height: 1lh;
}
header#masthead p a > i {
  display: inline-block;
  min-width: 0.8em;
}
header#masthead p a {
  display: inline-block;
  transition: transform 0.2s ease-in-out, color 0.2s ease-in-out;
  text-decoration: none;
}
header#masthead p a:hover, header#masthead p a:focus {
  transform: scale(103%);
}
header#masthead p a:active {
  transform: scale(100%);
}
header#masthead p a.secondary {
  font-size: var(--step--2);
  line-height: 1;
  font-variation-settings: "slnt" -15, "CRSV" 1;
}
header#masthead p a.secondary i {
  min-width: 1.2em;
}
header#masthead .buttons {
  display: flex;
  flex-wrap: wrap;
}
header#masthead .buttons a {
  margin-top: 1lh;
}

main ~ footer {
  font-size: var(--step--1);
  line-height: 1rlh;
  padding-block: 1rlh;
  border-top: var(--border-thickness) solid;
  color: var(--text-secondary);
  text-transform: lowercase;
}
main ~ footer i {
  display: inline-block;
  width: 1em;
}
main ~ footer .textual {
  font-size: var(--step--2);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
main ~ footer .controls {
  font-size: var(--step--1);
}
main ~ footer .initials {
  display: block;
  font-size: var(--step-1);
  line-height: 1rlh;
}
main ~ footer p a {
  text-decoration: none;
}
main ~ footer .switch {
  display: inline-flex;
  align-items: center;
}
main ~ footer .links {
  grid-column: span 2;
}
main ~ footer .links nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
main ~ footer .links a {
  text-decoration: none;
  justify-self: start;
}
main ~ footer .social {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
main ~ footer .footer-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  row-gap: 1lh;
}
main ~ footer .col-1-3-row-1 {
  display: grid;
  grid-column: 1/4;
  grid-template-columns: repeat(2, 1fr);
  justify-content: start;
}
main ~ footer .col-4-6-row-1 {
  grid-column: 4/7;
}
main ~ footer .col-1-6-row-2 {
  display: flex;
  justify-content: space-between;
  grid-column: 1/7;
  grid-row: 2;
}
main ~ footer .col-1-5-row-3 {
  grid-column: 1/6;
  grid-row: 3;
}
main ~ footer .col-6-row-3 {
  grid-column: 6/7;
  grid-row: 3;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
main ~ footer .col-3-4 a {
  text-align: left;
  display: block;
}
main ~ footer ::placeholder {
  /* Universal selector for all browsers */
  color: var(--accent-secondary);
}
main ~ footer .embeddable-buttondown-form label {
  display: block;
  text-align: end;
  font-weight: var(--font-weight-semibold);
}
main ~ footer .embeddable-buttondown-form input[type=email] {
  background: none;
  border: none;
  border-radius: 0.25em;
  display: block;
  height: 0.8lh;
  padding: 0;
  margin-inline: 0;
  margin-block: 0.2em;
  width: 9em;
  margin-left: auto;
}
main ~ footer .embeddable-buttondown-form input[type=email]:focus {
  outline: 2px solid var(--accent-secondary);
  /* Red focus ring */
}
main ~ footer .embeddable-buttondown-form button[type=submit],
main ~ footer .embeddable-buttondown-form input[type=submit] {
  margin-left: auto;
  width: 9em;
  display: block;
}

article header h1 {
  margin-block: 0;
}
article header h1 a {
  text-decoration: none;
}
article header h1 a:hover {
  text-decoration: underline;
}
article header .metadata {
  font-size: var(--step--1);
  line-height: 1rlh;
}
article header .metadata a {
  text-decoration: none;
}
article header .metadata a:hover {
  text-decoration: underline;
}
article header .metadata time a {
  font-weight: inherit;
}
article header .metadata span.via {
  font-variation-settings: "slnt" -15, "CRSV" 1;
}
article header .metadata span.via p {
  display: inline;
}
article.link header h1 {
  font-size: var(--step-1);
  line-height: 1lh;
}
article.link header h1 a {
  color: var(--accent);
}
article.feedback header h1 {
  font-variation-settings: "CASL" 0, "CRSV" 0;
  font-size: var(--step-0);
  text-wrap: wrap;
}
article.feedback h2 {
  font-variation-settings: "CASL" 0, "CRSV" 0;
  font-size: var(--step-0);
  color: var(--text-secondary);
}
article.feedback h3 {
  font-variation-settings: "CASL" 0, "wght" var(--font-weight-semibold), "CRSV" 0;
  font-size: unset;
  margin-block-end: -1lh;
}
article.long section.content > p:last-of-type::after {
  content: " ▲";
}
article section.content p {
  hyphens: auto;
}
article .thanks {
  font-variation-settings: "slnt" -15, "CRSV" 1;
  font-size: var(--step--1);
}
article details.narration i {
  display: inline-block;
  width: 1em;
}
article details.narration summary {
  color: var(--text-secondary);
  font-size: var(--step--1);
}

main h2.page-subtitle {
  margin-block: 0;
}

.title-and-icon {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.title-and-icon i {
  color: var(--text-secondary);
  margin-inline-start: 1em;
}

.header-container {
  margin-block-end: 1rlh;
}

article:not(:last-child) {
  /* Add a 1-rem margin at the bottom */
  margin-bottom: 2rlh;
}

.pagination {
  margin-block-start: 1rlh;
  display: flex;
  justify-content: space-between;
}
.pagination a {
  color: var(--text-secondary);
}

body {
  background-color: var(--background);
  color: var(--text);
  accent-color: var(--accent);
  caret-color: var(--accent);
}

:focus-visible {
  outline: 2px solid var(--accent-secondary);
}

header#masthead {
  color: var(--text-emphasized);
  border-color: var(--accent);
}
header#masthead nav a.active {
  color: var(--accent);
}
header#masthead p a {
  font-weight: var(--font-weight-semibold);
  color: var(--text-emphasized);
}
header#masthead p a:hover {
  color: var(--accent);
}
header#masthead p a.secondary {
  color: var(--text-secondary);
}
header#masthead p a.secondary:hover {
  color: var(--accent);
}

h1,
h2,
h3 {
  color: var(--text-emphasized);
}

h4,
h5 {
  color: var(--text);
}

h5 {
  color: var(--text-secondary);
}

h6 {
  color: var(--text-secondary);
}

a {
  color: inherit;
  text-decoration-color: var(--link-underline);
  transition-property: color, text-decoration-color;
  transition-duration: 0.15s;
  transition-timing-function: ease-in-out;
}
a:hover {
  color: var(--accent);
  text-decoration-color: var(--accent);
}

hr {
  background-color: var(--text-secondary);
}

ul.post-list li time,
ul.date-list li time {
  color: var(--text-secondary);
}

article header h1 a {
  color: var(--text);
}
article header .metadata {
  color: var(--text-secondary);
}
article .tags {
  margin-block-start: 1rlh;
  font-size: var(--step--1);
  line-height: 1rlh;
  color: var(--text-secondary);
}
article .tags a.tag {
  text-decoration: none;
}
article.long section.content > p:last-of-type::after {
  color: var(--accent);
}
article .thanks {
  color: var(--text-secondary);
}

details summary::before {
  transform: rotate(0);
  background-color: var(--text-secondary);
  transition: 0.25s transform ease;
}
details summary time {
  color: var(--text-secondary);
}

main ~ footer {
  border-color: var(--accent);
}

mark {
  color: inherit;
  background: var(--highlight);
  margin: 0 -0.3em;
  border-radius: 0.7em 0.3em;
  padding: 0.15em 0.3em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

blockquote {
  background: var(--background-secondary);
  border-color: var(--accent);
}

.changelog a.commit {
  text-decoration: none;
  color: var(--accent);
}

a.accent-underlined {
  text-decoration: underline;
  color: var(--accent);
}

#markdown-toc {
  color: var(--text-secondary);
}
#markdown-toc::before {
  color: var(--text);
}
#markdown-toc li a:hover {
  color: var(--accent);
  text-decoration-color: var(--accent);
}

figure figcaption {
  color: var(--text-secondary);
}

abbr {
  text-decoration-color: var(--link-underline);
}

main h2.page-subtitle {
  color: var(--text-secondary);
}

.tag-cloud {
  font-size: var(--step--1);
  color: var(--text-secondary);
}
.tag-cloud a {
  text-decoration: none;
}
.tag-cloud a::before {
  content: "#";
}

/* Dracula Theme v1.2.5
 *
 * https://github.com/zenorocha/dracula-theme
 *
 * Copyright 2016, All rights reserved
 *
 * Code licensed under the MIT license
 * http://zenorocha.mit-license.org
 *
 * @author Rob G <wowmotty@gmail.com>
 * @author Chris Bracco <chris@cbracco.me>
 * @author Zeno Rocha <hi@zenorocha.com>
 * @author Piruin Panichphol <piruin.p@gmail.com>
 */
/*
 * Variables
 */
/*
 * Styles
 */
.highlight {
  background: #282a36;
  color: #f8f8f2;
}
.highlight .hll,
.highlight .s,
.highlight .sa,
.highlight .sb,
.highlight .sc,
.highlight .dl,
.highlight .sd,
.highlight .s2,
.highlight .se,
.highlight .sh,
.highlight .si,
.highlight .sx,
.highlight .sr,
.highlight .s1,
.highlight .ss {
  color: #f1fa8c;
}
.highlight .go {
  color: #44475a;
}
.highlight .err,
.highlight .g,
.highlight .l,
.highlight .n,
.highlight .x,
.highlight .p,
.highlight .ge,
.highlight .gr,
.highlight .gh,
.highlight .gi,
.highlight .gp,
.highlight .gs,
.highlight .gu,
.highlight .gt,
.highlight .ld,
.highlight .no,
.highlight .nd,
.highlight .ni,
.highlight .ne,
.highlight .nn,
.highlight .nx,
.highlight .py,
.highlight .w,
.highlight .bp {
  color: #f8f8f2;
}
.highlight .gh,
.highlight .gi,
.highlight .gu {
  font-weight: bold;
}
.highlight .ge {
  text-decoration: underline;
}
.highlight .bp {
  font-style: italic;
}
.highlight .c,
.highlight .ch,
.highlight .cm,
.highlight .cpf,
.highlight .c1,
.highlight .cs {
  color: #6272a4;
}
.highlight .kd,
.highlight .kt,
.highlight .nb,
.highlight .nl,
.highlight .nv,
.highlight .vc,
.highlight .vg,
.highlight .vi,
.highlight .vm {
  color: #8be9fd;
}
.highlight .kd,
.highlight .nb,
.highlight .nl,
.highlight .nv,
.highlight .vc,
.highlight .vg,
.highlight .vi,
.highlight .vm {
  font-style: italic;
}
.highlight .na,
.highlight .nc,
.highlight .nf,
.highlight .fm {
  color: #50fa7b;
}
.highlight .k,
.highlight .o,
.highlight .cp,
.highlight .kc,
.highlight .kn,
.highlight .kp,
.highlight .kr,
.highlight .nt,
.highlight .ow {
  color: #ff79c6;
}
.highlight .m,
.highlight .mb,
.highlight .mf,
.highlight .mh,
.highlight .mi,
.highlight .mo,
.highlight .il {
  color: #bd93f9;
}
.highlight .gd {
  color: #ff5555;
}

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