@charset "UTF-8";
body {
  font-size: 1.2rem;
  line-height: 1.7rem;
  font-display: swap;
  font-family: 'Muli', sans-serif;
  -webkit-font-smoothing: antialiased;
  color: rgba(46, 48, 58, 0.96);
  margin: 0px; }

h1,
h2 {
  color: rgba(46, 48, 58, 0.96); }

h1 {
  font-weight: 700;
  font-style: normal;
  font-size: 2.3em;
  margin-left: -3px;
  line-height: 1;
  letter-spacing: -0.04em;
  margin-top: 40px;
  padding-top: 0;
  margin-bottom: 8px;
  text-align: center; }

h2 {
  letter-spacing: -0.02em;
  font-weight: 300;
  font-style: normal;
  font-size: 2.0em;
  margin-left: -1.5px;
  line-height: 1.2;
  margin-top: 40px;
  margin-bottom: 2px; }

a {
  color: #ad141e;
  transition: color 0.1s linear; }

em {
  font-style: italic;
  text-align: center; }

hr {
  width: 25%;
  margin-top: 3rem;
  margin-bottom: 3rem;
  border-style: solid; }

table {
  width: 100%;
  font-size: 16px; }

#text-table-of-contents a {
  font-size: 18px; }

blockquote {
  background: #f9f9f9;
  border-left: 10px solid #ccc;
  margin: 1.5em 0px;
  padding: 1em 20px;
  quotes: "“" "”" "‘" "’"; }
  blockquote:before {
    color: #ccc;
    content: open-quote;
    font-size: 4em;
    line-height: 0.1em;
    vertical-align: -0.4em; }
  blockquote:after {
    visibility: hidden;
    content: close-quote;
    font-size: 0em;
    line-height: 0; }
  blockquote p {
    font-size: 0.9em;
    line-height: 1.3em;
    display: inline; }

.menu {
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: space-between; }
  .menu a {
    text-decoration: none; }
  .menu > a {
    display: flex;
    align-items: center;
    color: inherit; }
  .menu > a img {
    padding: 0;
    margin-right: 10px;
    border-radius: 45px; }
  .menu ul {
    display: flex;
    list-style: none;
    align-items: center; }
  .menu ul li {
    padding-left: 1em; }
    .menu ul li:first-child {
      padding-left: 0; }

@media (max-width: 1024px) {
  .menu {
    padding-top: 1em;
    flex-direction: column;
    align-items: flex-start; }
    .menu > a {
      margin: 0px auto; }
    .menu ul {
      padding: 0;
      margin-bottom: 0;
      list-style: default; } }
.footer {
  margin: 40px auto 20px auto;
  font-size: 0.8em;
  line-height: 1.4em;
  display: flex;
  justify-content: space-between; }
  .footer a {
    text-decoration: none; }

@media (max-width: 1024px) {
  .footer {
    flex-direction: column; } }
/**
 * Syntax highlighting styles
 */
.highlight {
  background: rgba(0, 0, 0, 0.05); }
  .highlight .c {
    color: #998;
    font-style: italic; }
  .highlight .err {
    color: #a61717;
    background-color: #e3d2d2; }
  .highlight .k {
    font-weight: bold; }
  .highlight .o {
    font-weight: bold; }
  .highlight .cm {
    color: #998;
    font-style: italic; }
  .highlight .cp {
    color: #999;
    font-weight: bold; }
  .highlight .c1 {
    color: #998;
    font-style: italic; }
  .highlight .cs {
    color: #999;
    font-weight: bold;
    font-style: italic; }
  .highlight .gd {
    color: #000;
    background-color: #fdd; }
  .highlight .gd .x {
    color: #000;
    background-color: #faa; }
  .highlight .ge {
    font-style: italic; }
  .highlight .gr {
    color: #a00; }
  .highlight .gh {
    color: #999; }
  .highlight .gi {
    color: #000;
    background-color: #dfd; }
  .highlight .gi .x {
    color: #000;
    background-color: #afa; }
  .highlight .go {
    color: #888; }
  .highlight .gp {
    color: #555; }
  .highlight .gs {
    font-weight: bold; }
  .highlight .gu {
    color: #aaa; }
  .highlight .gt {
    color: #a00; }
  .highlight .kc {
    font-weight: bold; }
  .highlight .kd {
    font-weight: bold; }
  .highlight .kp {
    font-weight: bold; }
  .highlight .kr {
    font-weight: bold; }
  .highlight .kt {
    color: #458;
    font-weight: bold; }
  .highlight .m {
    color: #099; }
  .highlight .s {
    color: #d14; }
  .highlight .na {
    color: #008080; }
  .highlight .nb {
    color: #0086B3; }
  .highlight .nc {
    color: #458;
    font-weight: bold; }
  .highlight .no {
    color: #008080; }
  .highlight .ni {
    color: #800080; }
  .highlight .ne {
    color: #900;
    font-weight: bold; }
  .highlight .nf {
    color: #900;
    font-weight: bold; }
  .highlight .nn {
    color: #555; }
  .highlight .nt {
    color: #000080; }
  .highlight .nv {
    color: #008080; }
  .highlight .ow {
    font-weight: bold; }
  .highlight .w {
    color: #bbb; }
  .highlight .mf {
    color: #099; }
  .highlight .mh {
    color: #099; }
  .highlight .mi {
    color: #099; }
  .highlight .mo {
    color: #099; }
  .highlight .sb {
    color: #d14; }
  .highlight .sc {
    color: #d14; }
  .highlight .sd {
    color: #d14; }
  .highlight .s2 {
    color: #d14; }
  .highlight .se {
    color: #d14; }
  .highlight .sh {
    color: #d14; }
  .highlight .si {
    color: #d14; }
  .highlight .sx {
    color: #d14; }
  .highlight .sr {
    color: #009926; }
  .highlight .s1 {
    color: #d14; }
  .highlight .ss {
    color: #990073; }
  .highlight .bp {
    color: #999; }
  .highlight .vc {
    color: #008080; }
  .highlight .vg {
    color: #008080; }
  .highlight .vi {
    color: #008080; }
  .highlight .il {
    color: #099; }

.container.purple a {
  color: #54226d; }
.container.purple hr {
  border-color: #54226d; }
.container.purple .scroll-indicator-container .scroll-indicator-progress {
  background-color: #54226d; }
.container.purple .title {
  background: #54226d;
  color: #eac0e7; }
  .container.purple .title h1 {
    color: #eac0e7; }
  .container.purple .title a {
    color: #eac0e7; }
.container.purple .notice {
  background: #54226d;
  color: #eac0e7;
  padding: 5px 10px; }
.container.purple blockquote:before {
  color: #54226d; }

.container.brownish a {
  color: #964729; }
.container.brownish hr {
  border-color: #964729; }
.container.brownish .scroll-indicator-container .scroll-indicator-progress {
  background-color: #964729; }
.container.brownish .title {
  background: #964729;
  color: #5f0303; }
  .container.brownish .title h1 {
    color: #5f0303; }
  .container.brownish .title a {
    color: #5f0303; }
.container.brownish .notice {
  background: #964729;
  color: #5f0303;
  padding: 5px 10px; }
.container.brownish blockquote:before {
  color: #964729; }

.container.blueish a {
  color: #151d84; }
.container.blueish hr {
  border-color: #151d84; }
.container.blueish .scroll-indicator-container .scroll-indicator-progress {
  background-color: #151d84; }
.container.blueish .title {
  background: #151d84;
  color: #d671ec; }
  .container.blueish .title h1 {
    color: #d671ec; }
  .container.blueish .title a {
    color: #d671ec; }
.container.blueish .notice {
  background: #151d84;
  color: #d671ec;
  padding: 5px 10px; }
.container.blueish blockquote:before {
  color: #151d84; }

.container.yellowgreen a {
  color: #266922; }
.container.yellowgreen hr {
  border-color: #266922; }
.container.yellowgreen .scroll-indicator-container .scroll-indicator-progress {
  background-color: #266922; }
.container.yellowgreen .title {
  background: #266922;
  color: #fde32b; }
  .container.yellowgreen .title h1 {
    color: #fde32b; }
  .container.yellowgreen .title a {
    color: #fde32b; }
.container.yellowgreen .notice {
  background: #266922;
  color: #fde32b;
  padding: 5px 10px; }
.container.yellowgreen blockquote:before {
  color: #266922; }

.container.pinkred a {
  color: #d45252; }
.container.pinkred hr {
  border-color: #d45252; }
.container.pinkred .scroll-indicator-container .scroll-indicator-progress {
  background-color: #d45252; }
.container.pinkred .title {
  background: #d45252;
  color: #f7d2e2; }
  .container.pinkred .title h1 {
    color: #f7d2e2; }
  .container.pinkred .title a {
    color: #f7d2e2; }
.container.pinkred .notice {
  background: #d45252;
  color: #f7d2e2;
  padding: 5px 10px; }
.container.pinkred blockquote:before {
  color: #d45252; }

.container.orangepink a {
  color: #FFA801; }
.container.orangepink hr {
  border-color: #FFA801; }
.container.orangepink .scroll-indicator-container .scroll-indicator-progress {
  background-color: #FFA801; }
.container.orangepink .title {
  background: #FFA801;
  color: #d83fd2; }
  .container.orangepink .title h1 {
    color: #d83fd2; }
  .container.orangepink .title a {
    color: #d83fd2; }
.container.orangepink .notice {
  background: #FFA801;
  color: #d83fd2;
  padding: 5px 10px; }
.container.orangepink blockquote:before {
  color: #FFA801; }

.container.yellowblue a {
  color: #000; }
.container.yellowblue hr {
  border-color: #fde32b; }
.container.yellowblue .scroll-indicator-container .scroll-indicator-progress {
  background-color: #fde32b; }
.container.yellowblue .title {
  background: #fde32b;
  color: #000; }
  .container.yellowblue .title h1 {
    color: #000; }
  .container.yellowblue .title a {
    color: #000; }
.container.yellowblue .notice {
  background: #fde32b;
  color: #000;
  padding: 5px 10px; }
.container.yellowblue blockquote:before {
  color: #fde32b; }

.appetizer {
  font-style: italic;
  font-size: 1.2em;
  line-height: 1.3em;
  font-weight: 200;
  color: rgba(46, 48, 58, 0.6); }

/*****************************/
/* Scroll progress indicator */
/*****************************/
.scroll-indicator-container {
  height: 10px;
  position: fixed;
  width: 100%;
  top: 0px;
  left: 0px; }
  .scroll-indicator-container .scroll-indicator-progress {
    height: 100%; }

/*************/
/* container */
/*************/
.container {
  width: 45%;
  margin: 10px auto 0px auto; }

@media (max-width: 1440px) {
  .container {
    width: 60%; } }
@media (max-width: 1024px) {
  .container {
    width: 80%; } }
/***********/
/* Content */
/***********/
.title {
  margin: 1em 0 2em 0;
  padding: 2em; }
  .title h1 {
    text-align: center;
    margin: 0px;
    font-size: 5rem;
    padding-bottom: 0.2em;
    line-height: 5.5rem; }
  .title section {
    text-align: center; }
  @media (max-width: 1024px) {
    .title h1 {
      font-size: 2rem;
      line-height: 2.5rem; } }

.sidenote {
  background: #f9f9f9;
  border-left: 10px solid #ccc;
  margin: 1.5em 0px;
  padding: 1em 20px;
  font-size: 0.9em;
  line-height: 1.3em; }
  .sidenote:before {
    display: block;
    margin: 0 0 1em 0;
    color: #ccc;
    font-weight: 700;
    content: "sidenote   "; }
  .sidenote .highlight {
    background: none;
    padding: 0; }

.emphasis_block {
  background: #f9f9f9;
  border-left: 10px solid #ccc;
  margin: 1.5em 0px;
  padding: 1em 20px;
  font-size: 0.9em;
  line-height: 1.3em; }

/**************/
/* Front page */
/**************/
#home {
  margin-top: 40px; }

.posts h2 {
  font-weight: bold;
  margin-bottom: 10px; }

.posts ul {
  list-style: none;
  margin: 0px;
  padding: 0px; }

.posts li {
  display: flex;
  justify-content: space-between;
  margin: 5px 0px; }

.posts .date {
  font-style: italic;
  color: #a2a2a2;
  font-size: 14px; }

pre.highlight {
  text-align: left;
  overflow: auto;
  margin-bottom: 0.7em;
  font-family: Monaco,'Courier New','Courier',monospace;
  font-size: 1em;
  line-height: 1.1em;
  padding: 1em;
  white-space: pre-wrap;
  margin-left: 0px;
  margin-right: 0px;
  box-shadow: none; }

.highlighter-rouge + .highlighter-rouge pre {
  margin-top: -0.5em;
  background: rgba(191, 239, 206, 0.5);
  margin-bottom: 20px; }
