/* https://www.joshwcomeau.com/css/custom-css-reset/ */
/*
  1. Use a more-intuitive box-sizing model.
*/
*, *::before, *::after {
  box-sizing: border-box;
}

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

/*
  3. Allow percentage-based heights in the application
*/
html, body {
  height: 100%;
}

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

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

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

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

/*
  9. Create a root stacking context
*/
#root, #__next {
  isolation: isolate;
}

.wrapper-main, .wrapper-header, .wrapper-footer {
  width: 100%;
  margin: 0 auto;
  max-width: 900px;
}

/* Sticky Footer */
.wrapper {
  min-height: calc(100vh - 40px);
}

.wrapper-footer {
  height: 40px;
}

/* End Sticky Footer */
/* Style inspiration and settings adapted from https://github.com/jgthms/web-design-in-4-minutes*/
/* Base */
html {
  font-size: 18px;
}

/* 01 Font family */
body {
  font-family: "Courier New", "Helvetica", sans-serif;
}

/* 03 Spacing */
.padded {
  padding-top: 30px;
  padding-bottom: 30px;
  line-height: 30px;
}

.main-content {
  padding-top: 30px;
  padding-bottom: 30px;
  line-height: 30px;
}

div.main-content h2 {
  padding-top: 15px;
  padding-bottom: 5px;
}

header h1, h5 {
  display: inline;
}

/* 04 Color and contrast */
body {
  color: #c5ccce;
  background-color: #282f3a;
}

h1,
h2,
strong {
  color: #dcdede;
}

header h5 {
  font-weight: lighter;
}

/* 05 Balance */
code {
  padding: 2px 4px;
  vertical-align: text-bottom;
}

/* 06 Primary color */
a {
  color: #7e92a2;
}

/* 07 Secondary colors */
h1,
h2,
strong {
  font-weight: 500;
}

.footer-text {
  display: block;
  position: relative;
  font-size: 14px;
}

.header {
  padding-top: 35px;
}

.header nav {
  padding-top: 10px;
  padding-bottom: 20px;
}

.header nav a {
  padding-right: 3px;
}

.float-left {
  float: left;
}

.float-right {
  float: right;
}

.float-center {
  text-align: center;
}

.post-item {
  display: block;
  position: relative;
  line-height: 24px;
  padding-bottom: 5px;
  margin: 5px 0;
}

.post-summary {
  padding-top: 30px;
  padding-bottom: 30px;
}

.post-nav {
  padding-top: 100px;
  text-align: center;
}

.category-summary {
  padding-top: 30px;
  padding-bottom: 30px;
}

.category-all-nav, .category-header {
  display: block;
  position: relative;
  line-height: 24px;
  margin: 5px 0;
  padding-bottom: 10px;
  padding-top: 10px;
}

.post-info {
  padding-bottom: 30px;
  margin: 20px 0 5px;
  padding-top: 20px;
}

.post-content {
  line-height: 35px;
  padding-bottom: 50px;
  text-align: justify;
}

.post-content h1, h3, code, pre {
  padding-bottom: 10px;
  padding-top: 10px;
}

.post-content h2 {
  padding-bottom: 20px;
  padding-top: 20px;
}

.post-content p {
  text-align: justify;
}

@media only screen and (max-width: 479px) {
  .mobile-hide {
    display: none !important;
  }
  .footer-text {
    float: left !important;
  }
  html {
    margin: 1em !important;
  }
}
.mermaid {
  text-align: center;
  margin: 2rem auto;
  max-width: 100%;
  overflow-x: auto;
  background-color: white;
  padding: 1rem;
  border-radius: 8px;
  border: 1px solid #e1e5e9;
}
.mermaid svg {
  max-width: 100%;
  height: auto;
  background-color: white;
}

@media (max-width: 768px) {
  .mermaid {
    margin: 1rem auto;
    font-size: 0.9rem;
    padding: 0.5rem;
  }
}
/* Rouge syntax highlighter line numbers styling - only for code blocks */
.highlight .rouge-table {
  border: 0;
  margin: 0;
  width: 100%;
}

.highlight .rouge-table tbody {
  border: 0;
}

.highlight .rouge-table tbody tr {
  border: 0;
}

.highlight .rouge-table tbody tr td {
  border: 0;
  padding: 0;
  vertical-align: top;
}

/* Line numbers column - only for multi-line code blocks */
.highlight .rouge-gutter {
  background: #2d2d2d;
  color: #666;
  border-right: 1px solid #565656;
  text-align: right;
  user-select: none;
  width: 3em;
  padding: 1em 0.8em 1em 0;
}

.highlight .rouge-gutter .lineno {
  color: #666;
  font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
  line-height: 1.5;
}

/* Code column - only for multi-line code blocks */
.highlight .rouge-code {
  background: #2d2d2d;
  padding: 1em;
  overflow-x: auto;
}

.highlight .rouge-code pre {
  margin: 0;
  background: transparent;
  border: 0;
  padding: 0;
  color: #ccc;
  font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
  line-height: 1.5;
}

/* Container styling for multi-line code blocks */
.highlight {
  background: #2d2d2d;
  border-radius: 4px;
  margin: 0.5em 0;
  overflow: hidden;
}

/* Remove default pre styling for Rouge multi-line blocks */
.highlight pre {
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
}

/* Inline code styling - NO line numbers */
code.highlighter-rouge {
  background: #2d2d2d;
  color: #ccc;
  padding: 0.2em 0.4em;
  border-radius: 3px;
  font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
  font-size: 0.9em;
}

/* Prevent line numbers on inline code */
code.highlighter-rouge .rouge-table,
code.highlighter-rouge .rouge-gutter,
code.highlighter-rouge .lineno {
  display: none !important;
}

.line-numbers .line-numbers-rows {
  background: inherit;
}

/* Rouge Syntax Highlighting Theme - Tomorrow Night */
.highlight {
  background: #2d2d2d;
  color: #ccc;
}

.highlight .hll {
  background-color: #393939;
}

.highlight .c {
  color: #999999;
  font-style: italic;
} /* Comment */
.highlight .err {
  color: #f2777a;
} /* Error */
.highlight .k {
  color: #cc99cd;
} /* Keyword */
.highlight .l {
  color: #f99157;
} /* Literal */
.highlight .n {
  color: #cccccc;
} /* Name */
.highlight .o {
  color: #66cccc;
} /* Operator */
.highlight .p {
  color: #cccccc;
} /* Punctuation */
.highlight .cm {
  color: #999999;
  font-style: italic;
} /* Comment.Multiline */
.highlight .cp {
  color: #999999;
  font-style: italic;
} /* Comment.Preproc */
.highlight .c1 {
  color: #999999;
  font-style: italic;
} /* Comment.Single */
.highlight .cs {
  color: #999999;
  font-style: italic;
} /* Comment.Special */
.highlight .gd {
  color: #f2777a;
} /* Generic.Deleted */
.highlight .ge {
  font-style: italic;
} /* Generic.Emph */
.highlight .gh {
  color: #cccccc;
  font-weight: bold;
} /* Generic.Heading */
.highlight .gi {
  color: #99cc99;
} /* Generic.Inserted */
.highlight .gp {
  color: #999999;
  font-weight: bold;
} /* Generic.Prompt */
.highlight .gs {
  font-weight: bold;
} /* Generic.Strong */
.highlight .gu {
  color: #66cccc;
  font-weight: bold;
} /* Generic.Subheading */
.highlight .kc {
  color: #cc99cd;
} /* Keyword.Constant */
.highlight .kd {
  color: #cc99cd;
} /* Keyword.Declaration */
.highlight .kn {
  color: #66cccc;
} /* Keyword.Namespace */
.highlight .kp {
  color: #cc99cd;
} /* Keyword.Pseudo */
.highlight .kr {
  color: #cc99cd;
} /* Keyword.Reserved */
.highlight .kt {
  color: #ffcc66;
} /* Keyword.Type */
.highlight .ld {
  color: #99cc99;
} /* Literal.Date */
.highlight .m {
  color: #f99157;
} /* Literal.Number */
.highlight .s {
  color: #99cc99;
} /* Literal.String */
.highlight .na {
  color: #6699cc;
} /* Name.Attribute */
.highlight .nb {
  color: #cccccc;
} /* Name.Builtin */
.highlight .nc {
  color: #ffcc66;
} /* Name.Class */
.highlight .no {
  color: #f2777a;
} /* Name.Constant */
.highlight .nd {
  color: #66cccc;
} /* Name.Decorator */
.highlight .ni {
  color: #cccccc;
} /* Name.Entity */
.highlight .ne {
  color: #f2777a;
} /* Name.Exception */
.highlight .nf {
  color: #6699cc;
} /* Name.Function */
.highlight .nl {
  color: #cccccc;
} /* Name.Label */
.highlight .nn {
  color: #ffcc66;
} /* Name.Namespace */
.highlight .nx {
  color: #6699cc;
} /* Name.Other */
.highlight .py {
  color: #cccccc;
} /* Name.Property */
.highlight .nt {
  color: #66cccc;
} /* Name.Tag */
.highlight .nv {
  color: #f2777a;
} /* Name.Variable */
.highlight .ow {
  color: #66cccc;
} /* Operator.Word */
.highlight .w {
  color: #cccccc;
} /* Text.Whitespace */
.highlight .mf {
  color: #f99157;
} /* Literal.Number.Float */
.highlight .mh {
  color: #f99157;
} /* Literal.Number.Hex */
.highlight .mi {
  color: #f99157;
} /* Literal.Number.Integer */
.highlight .mo {
  color: #f99157;
} /* Literal.Number.Oct */
.highlight .sb {
  color: #99cc99;
} /* Literal.String.Backtick */
.highlight .sc {
  color: #cccccc;
} /* Literal.String.Char */
.highlight .sd {
  color: #999999;
} /* Literal.String.Doc */
.highlight .s2 {
  color: #99cc99;
} /* Literal.String.Double */
.highlight .se {
  color: #f99157;
} /* Literal.String.Escape */
.highlight .sh {
  color: #99cc99;
} /* Literal.String.Heredoc */
.highlight .si {
  color: #f99157;
} /* Literal.String.Interpol */
.highlight .sx {
  color: #99cc99;
} /* Literal.String.Other */
.highlight .sr {
  color: #99cc99;
} /* Literal.String.Regex */
.highlight .s1 {
  color: #99cc99;
} /* Literal.String.Single */
.highlight .ss {
  color: #99cc99;
} /* Literal.String.Symbol */
.highlight .bp {
  color: #cccccc;
} /* Name.Builtin.Pseudo */
.highlight .vc {
  color: #f2777a;
} /* Name.Variable.Class */
.highlight .vg {
  color: #f2777a;
} /* Name.Variable.Global */
.highlight .vi {
  color: #f2777a;
} /* Name.Variable.Instance */
.highlight .il {
  color: #f99157;
} /* Literal.Number.Integer.Long */

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