:root {
  --primary-color: #333;
  --secondary-color: #666;
  --background-color: #fff;
  --accent-color: #0077b5;
}

body.dark-theme {
  --primary-color: #e0e0e0;
  --secondary-color: #b0b0b0;
  --background-color: #2a2a2a;
  --accent-color: #ffff11;
  --text-highlight: #4e4e46;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.6;
  color: var(--primary-color);
  background-color: var(--background-color);
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

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

a:hover {
  text-decoration: underline;
}

header {
  margin-bottom: 40px;
}

nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

nav ul {
  list-style-type: none;
  padding: 0;
  display: flex;
}

nav ul li {
  margin-left: 20px;
}

.site-title {
  font-size: 1.5em;
  font-weight: bold;
  color: var(--primary-color);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--primary-color);
}

.post-list {
  list-style-type: none;
  padding: 0;
}

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

.post-list h2 {
  margin-bottom: 10px;
}

time {
  color: var(--secondary-color);
  font-size: 0.9em;
}

article.post {
  margin-top: 40px;
  font-size: 1.2em;
}

footer {
  margin-top: 40px;
  text-align: center;
  color: var(--secondary-color);
  font-size: 0.9em;
}

#theme-toggle {
  position: fixed;
  top: 20px;
  right: 20px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  z-index: 1000;
}

@media (max-width: 600px) {
  body {
    padding: 10px;
  }

  nav {
    flex-direction: column;
    align-items: flex-start;
  }

  nav ul {
    margin-top: 10px;
  }

  nav ul li {
    margin-left: 0;
    margin-right: 20px;
  }
}

.profile-section {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.profile-photo {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  margin-right: 20px;
}

.profile-info {
  flex-grow: 1;
}

.social-icons {
  margin-top: 10px;

  a {
    margin-right: 10px;
    font-size: 1.2em;
    color: var(--secondary-color);

    &:hover {
      color: var(--accent-color);
    }
  }
}

.post-tags {
  margin-top: 10px;

  a {
    display: inline-block;
    background-color: var(--text-highlight);
    color: white;
    padding: 2px 8px;
    border-radius: 3px;
    margin-right: 5px;
    font-size: 0.8em;

    &:hover {
      text-decoration: none;
      opacity: 0.8;
    }
  }
}

.pagination {
  margin-top: 30px;
  text-align: center;

  a,
  span,
  em {
    padding: 5px 10px;
    margin: 0 2px;
    border: 1px solid var(--secondary-color);
    border-radius: 3px;
  }

  em {
    background-color: var(--text-highlight);
    color: white;
  }
}


.highlight pre {
  background-color: #272822;
  overflow: auto;
}

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

.highlight .c {
  color: #75715e
}

/* Comment */
.highlight .err {
  color: #960050;
  background-color: #1e0010
}

/* Error */
.highlight .k {
  color: #66d9ef
}

/* Keyword */
.highlight .l {
  color: #ae81ff
}

/* Literal */
.highlight .n {
  color: #f8f8f2
}

/* Name */
.highlight .o {
  color: #f92672
}

/* Operator */
.highlight .p {
  color: #f8f8f2
}

/* Punctuation */
.highlight .cm {
  color: #75715e
}

/* Comment.Multiline */
.highlight .cp {
  color: #75715e
}

/* Comment.Preproc */
.highlight .c1 {
  color: #75715e
}

/* Comment.Single */
.highlight .cs {
  color: #75715e
}

/* Comment.Special */
.highlight .ge {
  font-style: italic
}

/* Generic.Emph */
.highlight .gs {
  font-weight: bold
}

/* Generic.Strong */
.highlight .kc {
  color: #66d9ef
}

/* Keyword.Constant */
.highlight .kd {
  color: #66d9ef
}

/* Keyword.Declaration */
.highlight .kn {
  color: #f92672
}

/* Keyword.Namespace */
.highlight .kp {
  color: #66d9ef
}

/* Keyword.Pseudo */
.highlight .kr {
  color: #66d9ef
}

/* Keyword.Reserved */
.highlight .kt {
  color: #66d9ef
}

/* Keyword.Type */
.highlight .ld {
  color: #e6db74
}

/* Literal.Date */
.highlight .m {
  color: #ae81ff
}

/* Literal.Number */
.highlight .s {
  color: #e6db74
}

/* Literal.String */
.highlight .na {
  color: #a6e22e
}

/* Name.Attribute */
.highlight .nb {
  color: #f8f8f2
}

/* Name.Builtin */
.highlight .nc {
  color: #a6e22e
}

/* Name.Class */
.highlight .no {
  color: #66d9ef
}

/* Name.Constant */
.highlight .nd {
  color: #a6e22e
}

/* Name.Decorator */
.highlight .ni {
  color: #f8f8f2
}

/* Name.Entity */
.highlight .ne {
  color: #a6e22e
}

/* Name.Exception */
.highlight .nf {
  color: #a6e22e
}

/* Name.Function */
.highlight .nl {
  color: #f8f8f2
}

/* Name.Label */
.highlight .nn {
  color: #f8f8f2
}

/* Name.Namespace */
.highlight .nx {
  color: #a6e22e
}

/* Name.Other */
.highlight .py {
  color: #f8f8f2
}

/* Name.Property */
.highlight .nt {
  color: #f92672
}

/* Name.Tag */
.highlight .nv {
  color: #f8f8f2
}

/* Name.Variable */
.highlight .ow {
  color: #f92672
}

/* Operator.Word */
.highlight .w {
  color: #f8f8f2
}

/* Text.Whitespace */
.highlight .mf {
  color: #ae81ff
}

/* Literal.Number.Float */
.highlight .mh {
  color: #ae81ff
}

/* Literal.Number.Hex */
.highlight .mi {
  color: #ae81ff
}

/* Literal.Number.Integer */
.highlight .mo {
  color: #ae81ff
}

/* Literal.Number.Oct */
.highlight .sb {
  color: #e6db74
}

/* Literal.String.Backtick */
.highlight .sc {
  color: #e6db74
}

/* Literal.String.Char */
.highlight .sd {
  color: #e6db74
}

/* Literal.String.Doc */
.highlight .s2 {
  color: #e6db74
}

/* Literal.String.Double */
.highlight .se {
  color: #ae81ff
}

/* Literal.String.Escape */
.highlight .sh {
  color: #e6db74
}

/* Literal.String.Heredoc */
.highlight .si {
  color: #e6db74
}

/* Literal.String.Interpol */
.highlight .sx {
  color: #e6db74
}

/* Literal.String.Other */
.highlight .sr {
  color: #e6db74
}

/* Literal.String.Regex */
.highlight .s1 {
  color: #e6db74
}

/* Literal.String.Single */
.highlight .ss {
  color: #e6db74
}

/* Literal.String.Symbol */
.highlight .bp {
  color: #f8f8f2
}

/* Name.Builtin.Pseudo */
.highlight .vc {
  color: #f8f8f2
}

/* Name.Variable.Class */
.highlight .vg {
  color: #f8f8f2
}

/* Name.Variable.Global */
.highlight .vi {
  color: #f8f8f2
}

/* Name.Variable.Instance */
.highlight .il {
  color: #ae81ff
}

/* Literal.Number.Integer.Long */

.highlight .gh {}

/* Generic Heading & Diff Header */
.highlight .gu {
  color: #75715e;
}

/* Generic.Subheading & Diff Unified/Comment? */
.highlight .gd {
  color: #f92672;
}

/* Generic.Deleted & Diff Deleted */
.highlight .gi {
  color: #a6e22e;
}

/* Generic.Inserted & Diff Inserted */
