body {
  background-color: var(--paper);
}

.post {
  min-height: 80vh;
  max-width: 680px;
  width: 100%;
  margin: 0 auto;

  .post-header {
    text-align: center;
    padding-top: 4rem;
    margin-bottom: 2rem;

    h1 {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-size: clamp(2.5rem, 4vw, 3.5rem);
      font-weight: 800;
      color: var(--ink);
    }

    .post-excerpt {
      font-size: 1.2rem;
      color: var(--muted);
      margin-top: 0.5rem;
    }

    .post-meta {
      font-size: 0.9rem;
      color: var(--muted);
      margin-top: 0.5rem;
    }
  }

  .post-content {
    max-width: 1024px;
    margin: 0 auto;
    font-size: 1rem;
    line-height: 1.8;
    color: var(--ink);

    h2 {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-size: 1.8rem;
      font-weight: 700;
      color: var(--ink);
      margin-top: 2rem;
      border-bottom: 2px solid var(--orange);
      padding-bottom: 0.5rem;
    }

    p {
      margin: 1rem 0;
    }
  }

  .post-tags {
    margin-top: 1.5rem;

    .tag {
      display: inline-block;
      background: var(--orange);
      color: var(--white);
      padding: 0.3rem 0.6rem;
      border-radius: 4px;
      font-size: 0.9rem;
      margin-right: 0.5rem;
      text-decoration: none;

      &:hover {
        background: var(--gold);
      }
    }
  }

  .post-cover-figure {
    margin: 0;
    margin-top: 1.5rem;

    .post-cover {
      width: 100%;
      border-radius: 8px 8px 0 0;
      margin-bottom: 0;
      display: block;
    }

    figcaption {
      font-size: 0.75rem;
      color: var(--muted);
      text-align: right;
      padding: 0.35rem 0.6rem;
      background: rgba(0, 0, 0, 0.03);
      border-radius: 0 0 8px 8px;
      margin-bottom: 1.5rem;

      a {
        color: var(--muted);
        text-decoration: underline;
        text-underline-offset: 2px;
      }
    }
  }

  .post-cover {
    width: 100%;
    border-radius: 8px;
    margin-bottom: 1.5rem;
  }
}
