Why does registering a custom property with `@property` and a non-`*` syntax change how the cascade treats an invalid value assigned to it, compared to an unregistered custom property?
@property --gap { syntax: '<length>'; inherits: true; initial-value: 0px; }
.box { --gap: red; } /* invalid for <length> */