# Layouts
CSS Grid-based page layouts. All layouts are responsive by default.
## Sidebar Layout
```html
```
**Variants:**
- `.layout-sidebar` - 250px sidebar (default)
- `.layout-sidebar.narrow` - 150px sidebar
- `.layout-sidebar.wide` - 350px sidebar
- `.layout-sidebar.invert` - Sidebar on right
- `.layout-sidebar.fill` - Full-height sidebar (for app shells)
## App Shell with Sidebar
```html
```
## Card Grid
Auto-fill responsive grid:
```html
```
## Split (50/50)
```html
```
Add `.no-stack` to prevent stacking on mobile.
## Three Column
```html
Column 1
Column 2
Column 3
```
Responsive: 3 cols → 2 cols → 1 col.
## Holy Grail
Sidebar + content + sidebar:
```html
```
## Readable Width
Max-width container for optimal reading:
```html
Content constrained to readable width
```
**Variants:**
- `.layout-readable` - Start-aligned
- `.layout-readable.center` - Centered
- `.layout-readable.end` - End-aligned
**Full bleed child:**
```html
Normal content
Back to readable width
```
## CSS Variables
- `--gap` or `--layout-gap` - Gap between grid items
- `--min-card-width` - Minimum card width for `.layout-card`
- `--max-width` - Max width for `.layout-readable`
- `--padding` - Inline padding for `.layout-readable`
## See Also
- [Stack & cluster](https://graffiti-ui.com/llms/stack-cluster.txt) - Flexbox layouts
- [Sidebar navigation](https://graffiti-ui.com/llms/sidebar-nav.txt) - Nav component for sidebars