diff --git a/README.md b/README.md
index e6c02614..dc75dcb7 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,6 @@ A cascade-layer CSS framework. No build step. No Node. No runtime dependencies.
[](https://github.com/codeslash-dev/SLASHED/tags)
[](https://github.com/codeslash-dev/SLASHED/actions/workflows/ci.yml)
[](LICENSE)
-[](https://cdn.jsdelivr.net/gh/codeslash-dev/SLASHED@dist/slashed.essential.min.css)
[](https://cdn.jsdelivr.net/gh/codeslash-dev/SLASHED@dist/slashed.optimal.min.css)
[](https://github.com/codeslash-dev/SLASHED/blob/main/package.json)
[](https://cdn.jsdelivr.net/gh/codeslash-dev/SLASHED@dist/)
@@ -20,18 +19,22 @@ A cascade-layer CSS framework. No build step. No Node. No runtime dependencies.
Use a pre-built bundle (see [Releases](https://github.com/codeslash-dev/SLASHED/releases)):
```html
-
-
-
-
+
-
+
+
+
+
+
+
+
```
À la carte is also supported. When wiring up individual files, `core/layers.css`
-must load **first** and `optional/legacy.css` must load **last**:
+must load **first**. `optional/legacy.css` is not bundled by default — add it
+explicitly if you need back-compat shims and load it **last**:
```html
@@ -51,7 +54,9 @@ must load **first** and `optional/legacy.css` must load **last**:
-
+
+
+
```
`optional/components.css` and `optional/tokens.components.css` are incomplete:
@@ -95,17 +100,17 @@ parent module. All token files share the `slashed.tokens` layer.
| Bundle | Contents |
| --- | --- |
-| `slashed.essential.css` | all `core/` |
-| `slashed.optimal.css` | essential + `forms` + `legacy` |
+| `slashed.optimal.css` | all `core/` + `forms` |
| `slashed.optimal-components.css` | optimal + `tokens.components` *(incomplete)* + `components` *(incomplete)* |
| `slashed.optimal-utilities.css` | optimal + `utilities` *(empty)* |
| `slashed.full.css` | optimal + `tokens.components` *(incomplete)* + `components` *(incomplete)* + `utilities` *(empty)* |
-`optional/legacy.css` is always concatenated last. Every rule lives in an
-`@layer`, so concatenation order never affects the cascade. Each bundle is emitted
-readable and minified with a source map: `dist/slashed..css`,
-`dist/slashed..min.css`, `dist/slashed..min.css.map`, plus a
-layer-flattened `.flat` variant. `npm run build` prints raw / gzip / brotli sizes;
+`optional/legacy.css` is **not bundled by default** — add it explicitly when you
+need back-compat shims. Every rule lives in an `@layer`, so concatenation order
+never affects the cascade. Each bundle is emitted readable and minified with a
+source map: `dist/slashed..css`, `dist/slashed..min.css`,
+`dist/slashed..min.css.map`, plus a layer-flattened `.flat` variant.
+`npm run build` prints raw / gzip / brotli sizes;
`tests/bundle-size.spec.js` guards against bloat.
## Customising tokens
diff --git a/_layouts/default.html b/_layouts/default.html
index 9e9f955b..0b79749d 100644
--- a/_layouts/default.html
+++ b/_layouts/default.html
@@ -4,7 +4,7 @@
{% if page.title %}{{ page.title }} — SLASHED{% else %}SLASHED{% endif %}
-
+