Native HTML. Modern CSS. Built-in accessibility. Progressive custom elements by default, Shadow DOM only when it pays off. A foundation you rename and ship as your own — starting with the l- prefix.
htmlnative first. extend until the platform catches up.
cssmodern only — :has(), color-mix(), light-dark().
domlight dom by default. shadow only when it earns its keep.
jstiny runtime. tree-shakeable. no framework lock-in.
a11ywcag 2.2 aa — semantics, aria, focus.
agentships an agent skill for ai code generation.
signup.htmlvite.config.tstheme.css
123456789
// rename the l- prefix to your design systemimport{setPrefix}from'luxen-ui';
setPrefix('l');
<!-- in your markup --><buttonclass="l-button"data-variant="primary"><l-iconname="heroicons:sparkles"/>
Ship it
</button>▍
● builtprefix → l-utf-8html · css · ts
[ tip ] PostCSS + Vite plugins rewrite every CSS class, custom property, keyframe and tag for you.