:root {
    --bg-color: #fbf1c7;
    --text-color: #3c3836;
    --link-color: #076678;
    --hr-color: #d1d1d1;
    --tag-bg: #ebdbb2;
    --tag-color: #7c6f64;
    --project-color: #f2e5bc;
}

@media (prefers-color-scheme: dark) {
    :root {
        --bg-color: #282828;
        --text-color: #ebdbb2;
        --link-color: #83a598;
        --hr-color: #504945;
	--tag-bg: #3c3836;
        --tag-color: #a89984;
        --project-color: #504945;
    }
}
body {
    font-size: 15px;
    font-family: 'JetBrains Mono', monospace;
    margin: 1rem auto 2rem;
    display: block;
    max-width: 820px; 
    line-height: 1.6;
    transition: background-color 0.3s, color 0.3s;
    background-color: var(--bg-color);
    color: var(--text-color);
    height: 100vh;
    text-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

article + article {
  margin-top: 3rem;
}

h1 {
    font-size: 24px;
    color: #af3a03;
    text-align: right;
    text-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

h2 {
    font-size: 20px;
    color: #98971a;
    text-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

h3 {
    font-size: 16px;
    text-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

@media (prefers-color-scheme: dark) {
    h1 {
        color: #fe8019;
    }
    h2 {
        color: #b8bb26;
    }
}

hr {
    margin: 1rem 0; 
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

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

a:hover {
    opacity: 0.7;
    text-decoration: underline;
}

.project {
    background-color: var(--project-color);
    border-radius: 12px;
    padding: 1px 14px 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.project + .project {
      margin-top: 2rem;
}

.project h3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.tags {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem;
    }

.tag {
      text-decoration: none;
      font-size: 0.8rem;
      padding: 1px 7px;
      border-radius: 3px;
      background: var(--tag-bg);
      color: var(--tag-color);
      transition: background 0.5s ease, color 0.5s ease;
      box-shadow: 0 2px 8px rgba(0,0,0,0.15);
     }

.tag:hover {
      text-decoration: none;
      background: var(--tag-color);
      color: var(--tag-bg);
    }

@media (max-width: 820px) {
    body {
        padding: 1rem;
	padding-bottom: 4rem;
   	margin-bottom: 2rem;
    }
    .tag {
        padding: 4px;
    }
}

svg {
  vertical-align: middle;
  opacity: 0.75;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.25));
}

@keyframes blink { 50% { opacity: 0; } }
.cursor { animation: blink 1.2s step-end infinite; }

.gh-link {
    transition: opacity 0.2s;
    display: inline-flex;
    align-items: center;
    color: var(--text-color);
}
