:root {
  --text-color: #333333;
  --bg-color: #ffffff;
  --link-color: #0056b3;
  --link-hover-color: #003d82;
  --border-color: #e5e5e5;
  --code-bg: #f5f5f5;
  --code-color: #333;
  --gutter-color: #888;
  --font-body: 'Noto Sans', sans-serif;
  --font-code: 'Fira Code', monospace;
  --max-width: 800px;
}

body {
  font-family: var(--font-body);
  color: var(--text-color);
  background-color: var(--bg-color);
  line-height: 1.6;
  margin: 0;
  padding: 0;
}

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 20px;
}

a {
  color: var(--link-color);
  text-decoration: none;
}

a:hover {
  color: var(--link-hover-color);
  text-decoration: underline;
}

/* Header */
.site-header {
  border-bottom: 1px solid var(--border-color);
  padding: 20px 0;
  margin-bottom: 40px;
}

.site-header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.site-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-color);
}

.site-title:hover {
  text-decoration: none;
  color: var(--link-color);
}

.site-nav a {
  margin-left: 20px;
  color: var(--text-color);
}

.site-nav a:hover {
  color: var(--link-color);
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  font-weight: 700;
}

p {
  margin-bottom: 1.2em;
}

/* Code & Syntax Highlighting */
code, pre {
  font-family: var(--font-code);
  font-size: 0.9em;
}

p code, li code {
  background-color: var(--code-bg);
  padding: 0.2em 0.4em;
  border-radius: 3px;
}

.highlighter-rouge, figure.highlight {
  background-color: var(--code-bg);
  border-radius: 5px;
  padding: 10px;
  overflow-x: auto;
  margin-bottom: 1.5em;
}

.highlighter-rouge pre {
  margin: 0;
}

/* Rouge Line Numbers */
.rouge-table {
  border-collapse: collapse;
  width: 100%;
}

.rouge-table td {
  padding: 0;
  border: none;
}

.rouge-table td.rouge-gutter.gl {
  width: 3em;
  padding-right: 1em;
  text-align: right;
  color: var(--gutter-color);
  user-select: none;
}

/* Footer */
.site-footer {
  border-top: 1px solid var(--border-color);
  padding: 40px 0;
  margin-top: 60px;
  text-align: center;
  color: #666;
  font-size: 0.9em;
}

/* Pagination */
.pagination {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
}

/* Post list */
.post-list {
  list-style: none;
  padding: 0;
}

.post-list li {
  margin-bottom: 40px;
}

.post-meta {
  font-size: 0.9em;
  color: #666;
  margin-bottom: 10px;
}

.read-more {
  display: inline-block;
  margin-top: 15px;
  font-weight: bold;
}

/* Rouge Pygments Minimal Style */
.c {
  color: #999988;
  font-style: italic;
} /* Comment */
.err {
  color: #a61717;
  background-color: #e3d2d2;
} /* Error */
.k {
  font-weight: bold;
} /* Keyword */
.o {
  font-weight: bold;
} /* Operator */
.cm {
  color: #999988;
  font-style: italic;
} /* Comment.Multiline */
.cp {
  color: #999999;
  font-weight: bold;
} /* Comment.Preproc */
.c1 {
  color: #999988;
  font-style: italic;
} /* Comment.Single */
.cs {
  color: #999999;
  font-weight: bold;
  font-style: italic;
} /* Comment.Special */
.gd {
  color: #000000;
  background-color: #ffdddd;
} /* Generic.Deleted */
.ge {
  font-style: italic;
} /* Generic.Emph */
.gr {
  color: #aa0000;
} /* Generic.Error */
.gh {
  color: #999999;
} /* Generic.Heading */
.gi {
  color: #000000;
  background-color: #ddffdd;
} /* Generic.Inserted */
.go {
  color: #888888;
} /* Generic.Output */
.gp {
  color: #555555;
} /* Generic.Prompt */
.gs {
  font-weight: bold;
} /* Generic.Strong */
.gu {
  color: #aaaaaa;
} /* Generic.Subheading */
.gt {
  color: #aa0000;
} /* Generic.Traceback */
.kc {
  font-weight: bold;
} /* Keyword.Constant */
.kd {
  font-weight: bold;
} /* Keyword.Declaration */
.kn {
  font-weight: bold;
} /* Keyword.Namespace */
.kp {
  font-weight: bold;
} /* Keyword.Pseudo */
.kr {
  font-weight: bold;
} /* Keyword.Reserved */
.kt {
  color: #445588;
  font-weight: bold;
} /* Keyword.Type */
.m {
  color: #009999;
} /* Literal.Number */
.s {
  color: #d14;
} /* Literal.String */
.na {
  color: #008080;
} /* Name.Attribute */
.nb {
  color: #0086B3;
} /* Name.Builtin */
.nc {
  color: #445588;
  font-weight: bold;
} /* Name.Class */
.no {
  color: #008080;
} /* Name.Constant */
.ni {
  color: #800080;
} /* Name.Entity */
.ne {
  color: #990000;
  font-weight: bold;
} /* Name.Exception */
.nf {
  color: #990000;
  font-weight: bold;
} /* Name.Function */
.nn {
  color: #555555;
} /* Name.Namespace */
.nt {
  color: #000080;
} /* Name.Tag */
.nv {
  color: #008080;
} /* Name.Variable */
.ow {
  font-weight: bold;
} /* Operator.Word */
.w {
  color: #bbbbbb;
} /* Text.Whitespace */
.mf {
  color: #009999;
} /* Literal.Number.Float */
.mh {
  color: #009999;
} /* Literal.Number.Hex */
.mi {
  color: #009999;
} /* Literal.Number.Integer */
.mo {
  color: #009999;
} /* Literal.Number.Oct */
.sb {
  color: #d14;
} /* Literal.String.Backtick */
.sc {
  color: #d14;
} /* Literal.String.Char */
.sd {
  color: #d14;
} /* Literal.String.Doc */
.s2 {
  color: #d14;
} /* Literal.String.Double */
.se {
  color: #d14;
} /* Literal.String.Escape */
.sh {
  color: #d14;
} /* Literal.String.Heredoc */
.si {
  color: #d14;
} /* Literal.String.Interpol */
.sx {
  color: #d14;
} /* Literal.String.Other */
.sr {
  color: #009926;
} /* Literal.String.Regex */
.s1 {
  color: #d14;
} /* Literal.String.Single */
.ss {
  color: #990073;
} /* Literal.String.Symbol */
.bp {
  color: #999999;
} /* Name.Builtin.Pseudo */
.vc {
  color: #008080;
} /* Name.Variable.Class */
.vg {
  color: #008080;
} /* Name.Variable.Global */
.vi {
  color: #008080;
} /* Name.Variable.Instance */
.il {
  color: #009999;
} /* Literal.Number.Integer.Long */

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