@layer components {
  .context-panel {
    background-color: var(--color-surface);
    border: var(--border);
    border-radius: var(--radius);
    display: flex;
    flex-direction: column;
    gap: var(--block-space-half);
    margin-block: var(--block-space-half);
    padding-block: var(--block-space);
    padding-inline: var(--inline-space-double);
  }

  .context-panel__header {
    align-items: center;
    display: flex;
    gap: var(--inline-space);
    justify-content: space-between;
  }

  .context-panel__title {
    color: var(--color-ink);
    font-size: var(--text-normal);
    font-weight: 600;
    margin: 0;
  }

  .context-panel__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--inline-space-half);
  }

  .context-panel__badge {
    border-radius: var(--radius-pill);
    font-size: var(--text-xs);
    font-weight: 600;
    padding-block: var(--block-space-eighth);
    padding-inline: var(--inline-space);
  }

  .context-panel__badge--excluded {
    background-color: oklch(var(--lch-warning) / 0.15);
    color: var(--color-warning);
  }

  .context-panel__body {
    display: flex;
    flex-direction: column;
    gap: var(--block-space);
  }

  .context-panel__section {
    display: flex;
    flex-direction: column;
    gap: var(--block-space-quarter);
  }

  .context-panel__subtitle {
    color: var(--color-ink-secondary);
    font-size: var(--text-small);
    font-weight: 600;
    margin: 0;
  }

  .context-panel__text {
    color: var(--color-ink);
    font-size: var(--text-small);
    line-height: var(--line-height);
    margin: 0;
  }

  .context-panel__text--muted {
    color: var(--color-ink-secondary);
    font-style: italic;
  }

  .context-panel__list {
    color: var(--color-ink);
    font-size: var(--text-small);
    line-height: var(--line-height);
    margin: 0;
    padding-inline-start: var(--inline-space-double);
  }

  .context-panel__list li {
    margin-block-end: var(--block-space-quarter);
  }

  .context-panel__tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--block-space-quarter);
  }

  .context-panel__tag {
    background-color: oklch(var(--lch-link) / 0.1);
    border-radius: var(--radius-pill);
    color: var(--color-link);
    font-size: var(--text-xs);
    padding-block: var(--block-space-eighth);
    padding-inline: var(--inline-space);
  }

  .context-panel__footer {
    color: var(--color-ink-muted);
    font-size: var(--text-xs);
  }

  .context-panel__empty {
    color: var(--color-ink-muted);
    font-size: var(--text-small);
    padding-block: var(--block-space-half);
    padding-inline: 0;
  }

  .context-panel__empty p {
    margin: 0;
    margin-block-end: var(--block-space-half);
  }

  .context-panel__hint {
    color: var(--color-ink-muted);
    font-size: var(--text-xs);
    font-style: italic;
  }
}
