body {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Roboto", sans-serif;
  font-size: 16px;
  font-size: calc(0.8rem + 0.25vw);
  font-weight: 400;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body, blockquote, figure {
  margin: 0; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 400; }

b, strong, th {
  font-weight: 600; }

a {
  color: inherit;
  text-decoration: inherit;
  transition: color 0.2s; }
  a.selected, a:hover {
    color: #dd3333; }

article a {
  color: #68f; }

article header a, article footer a {
  color: inherit; }

header time {
  color: #949494; }

hr {
  border: 1px solid rgba(148, 148, 148, 0.3);
  margin: 2em 0; }

blockquote {
  background: rgba(148, 148, 148, 0.06);
  border-left: 4px solid #68f;
  padding: 1px 1.5em; }

img {
  border-radius: 2px;
  max-width: 100%;
  height: auto;
  margin: 0.5em 0; }

table {
  box-shadow: 0 0 0 1px rgba(148, 148, 148, 0.12) inset;
  border-spacing: 1px;
  width: 100%;
  overflow-x: auto; }

tr:hover, tr:nth-child(odd) td {
  background: rgba(148, 148, 148, 0.06); }

th, td {
  box-shadow: 0 0 0 1px rgba(148, 148, 148, 0.12);
  padding: 0.5em 1em; }

pre {
  background: rgba(34, 34, 34, 0.8);
  color: white;
  border-radius: 2px;
  font-size: 0.8em;
  margin: 1.5em 0;
  padding: 0.8em 1.2em;
  overflow-x: auto; }

p code {
  font-size: 0.9em;
  background: rgba(148, 148, 148, 0.15);
  opacity: 0.75;
  border-radius: 2px;
  margin: 0 0.1em;
  padding: 0.2em 0.4em; }

.c {
  color: #a29f90; }

.err {
  color: #960050;
  background-color: #1e0010; }

.k {
  color: #66d9ef; }

.l {
  color: #ae81ff; }

.n {
  color: #f8f8f2; }

.o {
  color: #f92672; }

.p {
  color: #f8f8f2; }

.cm, .cp, .c1, .cs {
  color: #75715e; }

.ge {
  font-style: italic; }

.gs {
  font-weight: bold; }

.kc, .kd {
  color: #66d9ef; }

.kn {
  color: #f92672; }

.kp, .kr, .kt {
  color: #66d9ef; }

.ld {
  color: #e6db74; }

.m {
  color: #ae81ff; }

.s {
  color: #e6db74; }

.na {
  color: #a6e22e; }

.nb {
  color: #f8f8f2; }

.nc {
  color: #a6e22e; }

.no {
  color: #66d9ef; }

.nd {
  color: #a6e22e; }

.ni {
  color: #f8f8f2; }

.ne, .nf {
  color: #a6e22e; }

.nl, .nn {
  color: #f8f8f2; }

.nx {
  color: #a6e22e; }

.py {
  color: #f8f8f2; }

.nt {
  color: #f92672; }

.nv {
  color: #f8f8f2; }

.ow {
  color: #f92672; }

.w {
  color: #f8f8f2; }

.mf, .mh, .mi, .mo {
  color: #ae81ff; }

.sb, .sc, .sd, .s2 {
  color: #e6db74; }

.se {
  color: #ae81ff; }

.sh, .si, .sx, .sr, .s1, .ss {
  color: #e6db74; }

.bp, .vc, .vg, .vi {
  color: #f8f8f2; }

.il {
  color: #ae81ff; }

.gu {
  color: #75715e; }

.gd {
  color: #f92672; }

.gi {
  color: #a6e22e; }

body > header, body > footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center; }

header h1, header h2 {
  margin: 0; }

nav {
  margin: 0.5em -0.8em;
  width: 100%; }

nav a {
  padding: 1em 0.8em; }

@media (prefers-color-scheme: light) {
  html {
    background: #ffffff !important;
    color: #282828 !important;
    fill: #282828 !important; } }
@media (prefers-color-scheme: dark) {
  html {
    background: #282828 !important;
    color: #ffffff !important;
    fill: #ffffff !important; } }
.light {
  background: #ffffff;
  color: #282828; }

.dark {
  background: #282828;
  color: #ffffff; }

@font-face {
  font-family: "PT Sans";
  src: local("PT Sans"), local("PTSans-Regular"), url("../fonts/PTSans-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal; }
@font-face {
  font-family: "PT Sans";
  src: local("PT Sans Bold"), local("PTSans-Bold"), url("../fonts/PTSans-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Roboto", sans-serif;
  font-size: 16px;
  font-size: calc(0.8rem + 0.25vw);
  font-weight: 400;
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body, blockquote, figure {
  margin: 0; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 400; }

b, strong, th {
  font-weight: 600; }

a {
  color: inherit;
  text-decoration: inherit;
  transition: color 0.2s; }
  a.selected, a:hover {
    color: #dd3333; }

article a {
  color: #68f; }

article header a, article footer a {
  color: inherit; }

header time {
  color: #949494; }

hr {
  border: 1px solid rgba(148, 148, 148, 0.3);
  margin: 2em 0; }

blockquote {
  background: rgba(148, 148, 148, 0.06);
  border-left: 4px solid #68f;
  padding: 1px 1.5em; }

img {
  border-radius: 2px;
  max-width: 100%;
  height: auto;
  margin: 0.5em 0; }

table {
  box-shadow: 0 0 0 1px rgba(148, 148, 148, 0.12) inset;
  border-spacing: 1px;
  width: 100%;
  overflow-x: auto; }

tr:hover, tr:nth-child(odd) td {
  background: rgba(148, 148, 148, 0.06); }

th, td {
  box-shadow: 0 0 0 1px rgba(148, 148, 148, 0.12);
  padding: 0.5em 1em; }

pre {
  background: rgba(34, 34, 34, 0.8);
  color: white;
  border-radius: 2px;
  font-size: 0.8em;
  margin: 1.5em 0;
  padding: 0.8em 1.2em;
  overflow-x: auto; }

p code {
  font-size: 0.9em;
  background: rgba(148, 148, 148, 0.15);
  opacity: 0.75;
  border-radius: 2px;
  margin: 0 0.1em;
  padding: 0.2em 0.4em; }

body > header, body > footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center; }

header h1, header h2 {
  margin: 0; }

nav {
  margin: 0.5em -0.8em;
  width: 100%; }

nav a {
  padding: 1em 0.8em; }

.title {
  font-size: 1.3em; }

.more {
  margin: 2em 0 1em; }

.more a {
  border-radius: 2px;
  border: 1.5px solid #68f;
  padding: 0.4em 0.8em;
  transition: 0.2s background, 0.2s color; }

.more a:hover {
  color: #fff;
  background: #68f;
  text-decoration: inherit; }

.archive {
  font-size: 1.1em; }

.archive time {
  display: inline-block;
  min-width: 10ch;
  margin: 0 0.2em; }

.icon {
  height: 1em;
  width: 1em;
  fill: currentColor;
  transition: 0.2s color;
  vertical-align: middle;
  margin-bottom: 0.15em; }

a:hover .icon {
  color: #949494; }

.full table {
  display: table;
  width: 100%; }

.katex {
  overflow-x: auto;
  overflow-y: hidden; }

.rouge-table, .rouge-table th, .rouge-table td, .rouge-table tr, .rouge-table pre {
  font-size: inherit;
  background: inherit !important;
  box-shadow: none;
  width: initial;
  margin: 0;
  padding: 0; }
.rouge-table .gl pre {
  margin: 0 1.5em 0 0.25em;
  opacity: 0.5; }

.highlight pre {
  background: rgba(55, 55, 55, 0.9);
  color: white; }
.highlight .c {
  color: #a29f90; }
.highlight .err {
  color: #960050;
  background-color: #1e0010; }
.highlight .k {
  color: #66d9ef; }
.highlight .l {
  color: #ae81ff; }
.highlight .n {
  color: #f8f8f2; }
.highlight .o {
  color: #f92672; }
.highlight .p {
  color: #f8f8f2; }
.highlight .cm, .highlight .cp, .highlight .c1, .highlight .cs {
  color: #75715e; }
.highlight .ge {
  font-style: italic; }
.highlight .gs {
  font-weight: bold; }
.highlight .kc, .highlight .kd {
  color: #66d9ef; }
.highlight .kn {
  color: #f92672; }
.highlight .kp, .highlight .kr, .highlight .kt {
  color: #66d9ef; }
.highlight .ld {
  color: #e6db74; }
.highlight .m {
  color: #ae81ff; }
.highlight .s {
  color: #e6db74; }
.highlight .na {
  color: #a6e22e; }
.highlight .nb {
  color: #f8f8f2; }
.highlight .nc {
  color: #a6e22e; }
.highlight .no {
  color: #66d9ef; }
.highlight .nd {
  color: #a6e22e; }
.highlight .ni {
  color: #f8f8f2; }
.highlight .ne, .highlight .nf {
  color: #a6e22e; }
.highlight .nl, .highlight .nn {
  color: #f8f8f2; }
.highlight .nx {
  color: #a6e22e; }
.highlight .py {
  color: #f8f8f2; }
.highlight .nt {
  color: #f92672; }
.highlight .nv {
  color: #f8f8f2; }
.highlight .ow {
  color: #f92672; }
.highlight .w {
  color: #f8f8f2; }
.highlight .mf, .highlight .mh, .highlight .mi, .highlight .mo {
  color: #ae81ff; }
.highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2 {
  color: #e6db74; }
.highlight .se {
  color: #ae81ff; }
.highlight .sh, .highlight .si, .highlight .sx, .highlight .sr, .highlight .s1, .highlight .ss {
  color: #e6db74; }
.highlight .bp, .highlight .vc, .highlight .vg, .highlight .vi {
  color: #f8f8f2; }
.highlight .il {
  color: #ae81ff; }
.highlight .gu {
  color: #75715e; }
.highlight .gd {
  color: #f92672; }
.highlight .gi {
  color: #a6e22e; }

html {
  background: #dbdbdb;
  padding: 0 calc(38% - 21em); }

body {
  box-shadow: 0 0 0.3em #cecece; }

body > header, body > footer {
  background: #353535;
  color: #ffffff; }

@media (min-width: 32em) {
  body > header, body > article, body > footer {
    padding: 1.65em calc(22% - 6em); } }
@media (prefers-color-scheme: dark) {
  body, body > header, body > footer {
    box-shadow: 0 0 0 1px #3c3c3c; }

  html, body > header, body > footer {
    background: #282828; } }
