@layer components {

  .changelog {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    padding: 0;
    list-style: none;
  }

  .changelog__entry {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    padding: var(--space-5);
  }

  @media (width <= 40rem) {
    .changelog__entry { padding: var(--space-3); }
  }

  .changelog__meta {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    
    max-width: none;
  }

  .changelog__date { text-transform: uppercase; }

  .changelog__badge {
    padding: 0.15rem var(--space);
    border-radius: var(--radius-pill);
    background: var(--accent-sunk);
    color: var(--accent);
    font-size: var(--text-xs);
    font-weight: var(--weight-bold);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
  }

  .changelog__badge--beta { background: var(--warn-sunk); color: var(--warn); }

  .changelog__title {
    font-size: var(--text-lg);
    font-weight: var(--weight-heavy);
    letter-spacing: var(--tracking-tight);
    line-height: var(--leading-tight);
  }

  
  .changelog__body,
  .changelog__body p {
    max-width: none;
    color: var(--ink);
    line-height: var(--leading-body);
  }

  
  .changelog__figure {
    margin: var(--space) 0;
    border-radius: var(--radius-inset);
    background: var(--surface-sunk);
    overflow: hidden;
  }

  
  .changelog__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 1;
    object-fit: cover;
    object-position: top center;
  }
}
