@layer components {
  /* Project list */
  .project-list {
    display: grid;
    gap: var(--block-space);
    padding: var(--block-space) var(--inline-space);
    max-inline-size: 48rem;
    margin-inline: auto;
  }

  .project-card {
    --card-bg: var(--color-canvas);

    background-color: var(--card-bg);
    border: var(--border);
    border-radius: var(--radius-lg);
    display: flex;
    flex-direction: column;
    gap: var(--block-space-half);
    padding: var(--block-space) var(--inline-space);
    text-decoration: none;
    color: var(--color-ink);
    transition: box-shadow var(--transition-fast), border-color var(--transition-fast);
  }

  .project-card:hover {
    border-color: oklch(var(--lch-ink-medium));
    box-shadow: var(--shadow);
  }

  .project-card__title {
    font-size: var(--text-medium);
    font-weight: 600;
  }

  .project-card__meta {
    color: var(--color-ink-muted);
    display: flex;
    font-size: var(--text-small);
    gap: var(--inline-space);
  }

  .project-card__genre {
    background-color: var(--color-surface);
    border-radius: var(--radius-pill);
    font-size: var(--text-xs);
    padding: 0.15em 0.6em;
  }

  .project-card__logline {
    color: var(--color-ink-secondary);
    font-size: var(--text-small);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* Project form */
  .project-form {
    max-inline-size: 36rem;
    margin-inline: auto;
    padding: var(--block-space) var(--inline-space);
  }

  .project-form__header {
    margin-block-end: var(--block-space-double);
  }

  .project-form__actions {
    display: flex;
    gap: var(--inline-space);
    margin-block-start: var(--block-space-double);
  }

  /* Project show -- editor placeholder */
  .project-workspace {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: calc(100dvh - var(--nav-height) - var(--tab-bar-height));
    padding: var(--block-space-double) var(--inline-space);
  }

  @media (min-width: 800px) {
    .project-workspace {
      min-height: calc(100dvh - var(--nav-height));
    }
  }

  /* Projects page header */
  .projects-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    max-inline-size: 48rem;
    margin-inline: auto;
    padding: var(--block-space) var(--inline-space);
  }
}
