@font-face {
  font-family: 'IBM Plex Mono';
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url(/fonts/IBMPlexMono-italic-100.ttf) format("truetype"); }

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url(/fonts/IBMPlexMono-italic-200.ttf) format("truetype"); }

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/IBMPlexMono-italic-300.ttf) format("truetype"); }

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/IBMPlexMono-italic-400.ttf) format("truetype"); }

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/IBMPlexMono-italic-500.ttf) format("truetype"); }

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/IBMPlexMono-italic-600.ttf) format("truetype"); }

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/IBMPlexMono-italic-700.ttf) format("truetype"); }

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url(/fonts/IBMPlexMono-normal-100.ttf) format("truetype"); }

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(/fonts/IBMPlexMono-normal-200.ttf) format("truetype"); }

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/IBMPlexMono-normal-300.ttf) format("truetype"); }

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/IBMPlexMono-normal-400.ttf) format("truetype"); }

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/IBMPlexMono-normal-500.ttf) format("truetype"); }

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/IBMPlexMono-normal-600.ttf) format("truetype"); }

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/IBMPlexMono-normal-700.ttf) format("truetype"); }

body[a="dark"] {
  filter: invert(1); }
  body[a="dark"] img {
    filter: invert(1); }
    body[a="dark"] img.ioda {
      filter: invert(0); }

@media (prefers-color-scheme: dark) {
  body[a="auto"] {
    filter: invert(1); }
    body[a="auto"] img {
      filter: invert(1); }
      body[a="auto"] img.ioda {
        filter: invert(0); } }

html,
body {
  background: white; }

html {
  height: 100%; }

body {
  color: black;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 16px;
  line-height: 1.4;
  margin: 0;
  min-height: 100%;
  overflow-wrap: break-word; }

.post-meta {
  text-align: right; }

h2,
h3,
h4,
h5,
h6 {
  margin-top: 3rem; }

hr {
  margin: 2rem 0; }

p {
  margin: 1rem 0; }

li {
  margin: 0.4rem 0; }

.w {
  max-width: 640px;
  margin: 0 auto;
  padding: 4rem 2rem; }

.toc {
  display: inline-block;
  border: thin solid black;
  padding: 1rem; }
  .toc h2 {
    margin: 0;
    font-size: 1.25em; }
  .toc ul {
    margin: 0; }

hr {
  text-align: center;
  border: 0; }
  hr:before {
    content: "/////"; }
  hr:after {
    content: attr(data-content) "/////"; }

pre {
  padding: 1em;
  overflow-x: auto; }

table {
  width: 100%; }

table,
th,
td {
  border: thin solid black;
  border-collapse: collapse;
  padding: 0.4rem; }

code {
  font-family: 'IBM Plex Mono', monospace !important;
  background-color: #eee8d5;
  padding: 0.05em 0.25em;
  font-size: 1em; }

blockquote {
  font-style: italic;
  border: thin solid black;
  padding: 1rem;
  margin: 0; }
  blockquote p {
    margin: 0; }

img, video {
  max-width: 100%;
  display: block;
  margin: 0 auto; }

figcaption {
  text-align: center;
  opacity: 0.5; }

.build-info {
  text-align: center;
  font-size: 0.75em;
  color: #aeaeae; }

/* Fixes iOS font sizing anomaly */
code {
  text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }
