A camber component extends HTMLElement, encapsulates structure in Shadow DOM, projects consumer content via <slot>, consumes design tokens through CSS custom properties with literal fallbacks, and communicates outward via namespaced CustomEvents with bubbles and composed.
The component module exports the class but does NOT call customElements.define() — tag registration is the consumer's responsibility. Hardcoded literals, cross-framework token leaks, and events without composed: true are antipatterns.
Composes with