# Be Partner DS v1.4.8 > A CSS-first, token-driven, framework-agnostic design system by BePartnerLabs. Be Partner DS is a production-grade CSS design system built on semantic HTML, CSS custom properties, and native browser APIs. No build step required for consumers — drop in a stylesheet and go. ## Core principles - **CSS-first**: All visual state is driven by ARIA attributes and native CSS pseudo-classes. No style classes toggled from JS. - **Token-driven**: Design decisions live in CSS custom properties (`--bp-*`). Theming is a one-file override. - **Framework-agnostic**: Works with React, Vue, Svelte, Angular, plain HTML, or any server-rendered output. - **Progressive enhancement**: Every component is functional without JavaScript. - **WCAG AA**: All components pass axe-core audits. ## 3-Level Constructor Pattern Customization chain: `--bp-*` (base, never touch) → `---*` (your API) → `--_*` (internal, never touch). Reference: https://www.giorgiosaud.io/notebook/custom-properties-with-defaults ## Responsive Use `@container` queries, not `@media`. Every component root has `container-type: inline-size`. ## Grid Root class: `.bp-content-grid`. Named-line CSS grid layout. Root class: .bp-content-grid. Zone classes go on DIRECT CHILDREN of the grid, not on the grid root itself. Zones (class goes on the CHILD, not the grid root): content (default, no class), popout (class `.popout`), breakout (class `.breakout`), full-width (class `.full-width`). ## Component list - Accordion — Native details/summary accordion — zero JavaScript required. - Alert — Inline feedback message for persistent contextual notices — four semantic variants, optional dismiss, and left-accent stripe. - Avatar — Circular user image using a native img element — with CSS-only initials fallback, size variants, and composable avatar groups. - Badge — Inline label for status, counts, and categories — semantic color variants with solid, subtle, and outline styles. - Breadcrumb — Navigation trail showing the user's location in a hierarchy — semantic `