Custom transitions in Svelte let you animate elements as they appear or disappear. When the component mounts, the element enters the DOM and the custom transition function runs. This function returns an object with duration and a CSS function that changes styles based on a progress value t from 0 to 1. For example, opacity can go from 0 to 1 to fade in. The execution table shows steps where t changes and opacity updates accordingly. When the element leaves, the transition runs in reverse from opacity 1 to 0 before the element is removed. Variables like t and opacity update step by step during the transition. Beginners often wonder why opacity starts at 0 or why the element is visible at exit start; these are explained by the transition progress values. The duration controls how long the transition takes but not the style values themselves. This visual trace helps understand how custom transitions animate elements smoothly in Svelte.