# plycss (ply) — Complete Documentation > ply is a ratio-based, AI-ready CSS framework with built-in dark mode, WCAG 2.1 AA accessibility, and a small footprint (~21KB gzipped). 458 utility classes, 120+ CSS custom properties, 13 auto-styled semantic elements. No JavaScript. No build step. Install via npm as `plycss` or use the CDN. --- ## Install ### npm + Sass (recommended) ```sh npm install ply-css ``` ```scss @use "ply-css/src/scss/ply" as *; // Or import individual modules @use "ply-css/src/scss/components/colors" as colors; @use "ply-css/src/scss/components/variables" as variables; @use "ply-css/src/scss/components/mixins" as mixins; .custom { color: colors.$color-blue; background: colors.$color-blue-pastel; @include mixins.border-bottom-radius(variables.$border-radius); } ``` SCSS source: `src/scss/components/_colors.scss` (full color palette), `_variables.scss` (spacing, fonts, breakpoints), `_mixins.scss` (button generator, gradients, animations). ### CDN (prototyping only) ```html ``` Core bundle (no labels, dropdowns, loaders, print): ```html ``` Bundles: `ply.min.css` (~21KB gzip, everything), `ply-core.min.css` (~17KB, grid+buttons+forms+nav+alerts+tables+typography+helpers), `ply-essentials.min.css` (~7KB, grid+helpers), `ply-helpers.min.css` (~5KB, helpers only). --- ## Core Rules 1. **ply is standalone** — Do NOT use Tailwind, Bootstrap, or other CSS frameworks alongside ply. 2. **Always wrap `unit-*` inside `units-row`** — they are flex children. 3. **Use `units-container`** for page-width centering (1200px max). 4. **Use `