diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index 807b96d..19b7cfe 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -121,6 +121,16 @@ markup for it. The one that has already bitten us: this; it parses the templates structurally, so extend it there if you find another flex-container component with the same trap. +- **Tabler shifts the whole page sideways when a scrollbar appears.** It ships + `@media (min-width:992px) { :root { margin-left: calc(100vw - 100%) } }`; `100vw` + counts the scrollbar and `100%` doesn't, so any page tall enough to scroll slides + right by the scrollbar width with an unpainted strip down the left edge. It reads + as page-specific (the tall tabs of a section show it, the short ones don't), but + it's every scrollable page. `app.css` overrides it and reserves the space with + `scrollbar-gutter: stable` instead; `TestE2ENoLeftGutterWhenScrollbarAppears` + locks it in. Override in `app.css` rather than editing `tabler.min.css` — that + file's hash is pinned by `internal/licenses`. + - **A `