A <time> in seconds (s) or milliseconds (ms) drives transition and animation durations and delays (Animation Properties): transition: opacity 250ms ease-out 0.1s. Durations cannot be negative, but a negative delay starts an animation as if it had already run that long; combined with animation-play-state: paused it freezes an animation at a chosen moment, a trick the demo in Custom Properties uses. Always write the unit on zero (0s): a unitless 0 is an invalid time and, inside a shorthand such as transition, invalidates the whole declaration.