.message-attachment {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  max-width: min(100%, 480px);

  & > .preview {
    display: block;
    max-width: 100%;
    border-radius: var(--radius-md);
  }

  & > .preview > img {
    display: block;
    max-width: 100%;
    max-height: 320px;
    border-radius: var(--radius-md);
  }

  & > video.preview {
    max-height: 360px;
    background: black;
  }

  & > object.preview {
    width: 480px;
    max-width: 100%;
    height: 480px;
    border: 1px solid var(--color-border);
  }

  & > .download {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    max-width: 100%;
  }

  & > .download > .name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  & > .download > .size {
    flex-shrink: 0;
    color: var(--color-text-muted);
    font-size: var(--font-sm);
  }

  &.-download > .download {
    padding: 8px 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
  }

  &.-download > .download > .name::before {
    content: "📄 ";
  }
}
