# Plan: CSS migration — Tailwind + DaisyUI to modern hand-written CSS Status: Not started ## Overview Replace Tailwind CSS v4 and DaisyUI with a modern, layered CSS system using `@layer`, native nesting, container queries, `oklch()`, `@property`, and other 2024+ CSS features. Zero framework dependencies. Smaller output. Full cascade control. ## Current state | Bundle | Source | Compiled | Contents | |--------|--------|----------|----------| | `app-shop.css` | 60 lines + 1,130 theme CSS | **53 KB** | Tailwind v4 (no DaisyUI) + three-layer theme | | `app.css` | 299 lines + 1,130 theme CSS | **212 KB** | Tailwind v4 + DaisyUI + three-layer theme | **Inline styles**: 281 `style=` attributes across 10 files: - `product.ex` (83), `layout.ex` (59), `content.ex` (57), `cart.ex` (51) - `checkout_success.html.heex` (23), `content.html.heex` (3), `base.ex` (2) - `pdp.html.heex` (1), `error.html.heex` (1), `cart.html.heex` (1) **Three-layer theme system** (1,130 lines) is already well-designed and stays: - Primitives (94 lines): `:root` tokens - Attributes (717 lines): `.themed` + `data-*` selectors - Semantic (319 lines): aliases, accessibility, component styles **CSSGenerator** (Elixir): generates inline `