Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Sets up Tailwind CSS 4 in the frontend, on its own. No page uses Tailwind classes yet: this is the setup, so the interface issues (#40–#48) can use utility classes, and the shadcn/ui setup (#51) can build on it.
What is in it
tailwindcssand@tailwindcss/viteunderdevDependencies, because they are only needed to build.vite.config.ts, and@import 'tailwindcss';at the top ofsrc/index.css, with a comment about the cascade.tailwind.config.js: Tailwind 4 is configured in CSS with@theme.docs/AI_USAGE.md.Things to know
src/index.cssorsrc/App.cssoverrides a utility class on the same element. This is explained in the README.src/styles/variables.css(PR 27 set up css variables #35, onmainonly) are not connected to Tailwind. That is a design decision for later.Testing
p-4 bg-red-500and built: the used classes are in the built CSS, and an unused class (m-37) is not. The temporary file is not in the PR.npm run lint,npm run build,npm testandnpm run typecheck -w backendpass, and the dev server starts and serves the compiled CSS.Overlap with #53
#53 (shadcn/ui and Lucide) also sets up Tailwind in
vite.config.ts,src/index.css,package.jsonand the lock file. When this PR is merged, #53 needs to be updated to build on it (and then only adds shadcn/ui, Lucide, the@/alias and the lint exception).Closes #54
🤖 Generated with Claude Code