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; }

body > header, article, body > footer {
  padding: 1.5em; }

@media (min-width: 40em) {
  body > header, article, body > footer {
    padding: 1.5em calc(34% - 12rem); } }
body > header {
  background: #2b2b2b;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05); }
