@layer components {
  .issue-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    max-inline-size: 40rem;
    margin: 0;

    @media (width >= 40rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  .issue-stat {
    display: grid;
    gap: 0.25rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);

    dt {
      color: var(--muted-foreground);
      font-size: var(--text-xs);
      line-height: var(--text-xs--line-height);
    }

    dd {
      margin: 0;
      font-size: var(--text-lg);
      font-weight: var(--font-weight-semibold);
      line-height: var(--text-lg--line-height);
      font-variant-numeric: tabular-nums;
    }

    /* Times read as words, so they sit a step smaller than the counts. */
    dd:has(time) {
      font-size: var(--text-base);
      line-height: var(--text-base--line-height);
    }
  }

  .issue-analysis__block {
    display: grid;
    gap: 0.25rem;
  }

  .issue-analysis__label {
    color: var(--muted-foreground);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-medium);
    line-height: var(--text-xs--line-height);
  }

  .issue-analysis__text,
  .issue-event__message {
    margin: 0;
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
    text-wrap: pretty;
    overflow-wrap: anywhere;
  }

  .issue-analysis__meta,
  .issue-event__meta {
    margin: 0;
    font-size: var(--text-xs);
    line-height: var(--text-xs--line-height);
  }

  .issue-analysis__pending {
    display: grid;
    gap: 0.5rem;
  }

  .issue-events,
  .issue-activity {
    display: grid;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .issue-event {
    display: grid;
    gap: 0.375rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
  }

  .issue-event__header,
  .issue-activity__item {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
  }

  .issue-event__header a {
    font-weight: var(--font-weight-medium);
    text-underline-offset: 0.2em;
  }

  .issue-activity__item {
    padding-block: 0.25rem;

    & + & {
      border-block-start: 1px solid var(--border);
      padding-block-start: 0.5rem;
    }
  }

  .issue-analysis__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
  }

  .issue-activity__replaced {
    display: grid;
    gap: 0.25rem;
    margin-block-start: 0.375rem;

    summary {
      color: var(--muted-foreground);
      cursor: pointer;
    }

    .issue-analysis__label {
      margin: 0.25rem 0 0;
    }
  }

  .issue-severity {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
  }

  .issue-signature {
    color: var(--muted-foreground);
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    overflow-wrap: anywhere;
  }
}
