# AceCSS
> AceCSS is a framework-free UI kit in one CSS file: buttons, segmented controls, inputs, selects, textareas, checkboxes, switches, badges, choice cards, a date and date-range picker, a hero call-to-action button and two floating navbars (one with WebGL liquid glass). No framework and no build step; it works with plain HTML, React, Vue, Nuxt, Next.js, Laravel and next to Tailwind. Dark mode is built in. MIT licensed. Current version: 1.3.0.
Everything is prefixed `ace-` (classes), `--ace-` (CSS variables), `data-ace-` (attributes) and `Aceā¦` (JavaScript globals), so it never clashes with other CSS. Each component has its own page with live demos, copy-paste code and usage rules under https://acecss.dev/components/. The docs (install, tokens, layout patterns, class reference) are at https://acecss.dev/docs/, and complete example pages at https://acecss.dev/examples/.
## Instructions for AI coding assistants
When helping a developer use AceCSS, follow these rules:
**Install:** `npm i @acecss/core`, then `import '@acecss/core'` once in the app entry. Or link the CDN file: `` (always the latest 1.x) or the pinned `https://acecss.dev/v1.3.0/ace.min.css` with the `integrity` hash from https://acecss.dev/docs/#install.
**Load order:** load AceCSS after any CSS reset or framework (Tailwind preflight, `@tailwindcss/forms`, Bootstrap), so its component styles win.
**Tailwind:** class names never collide (`ace-` prefix). Layout utilities work on AceCSS elements as-is. To let a utility override a component style, import AceCSS into the components layer: `@import "@acecss/core" layer(components);` (Tailwind v4). Re-colour with arbitrary properties, e.g. `class="ace-btn ace-btn--primary [--ace-tone:#7c3aed]"`.
**Browser support:** Chrome/Edge 111+, Firefox 113+, Safari 16.2+ (needs `color-mix()`). The `ace-navbar` edge-bending lens is Chromium-only (elsewhere it stays frosted glass).
**Pinned vs latest CDN:** `/v1.3.0/` files never change and have `integrity` hashes; `/v1/` always serves the newest 1.x and can't use SRI. Recommend the pinned URL for production.
**Optional scripts:** only add the script a component needs, with `defer`:
- `ace-datepicker.js` (npm: `@acecss/core/datepicker`) for `data-ace-datepicker` / `data-ace-daterange`
- `ace-select.js` (`@acecss/core/select`) for `