form-control-mixin
Each field below is a plain HTMLElement (no framework) fully participating in
the native form via ElementInternals — one field per built-in validator.
Fields also expose :state(touched), :state(dirty), and
:state(valid)/:state(invalid) for styling from the outside —
no attribute reflection or JS bookkeeping required. Edit a field to see it tint
(dirty); click away from an invalid one to see it turn red
(touched + invalid).
Submitted values will appear here.