--- name: cleanup-legacy-design-css classification: feature success_metric: | The legacy gradient-text / glow / accent-blue/purple/pink utility surface is deleted from `styles/globals.css`; no consumer remains (verified by `rg`); hardcoded hex sweep across `components/**` + `pages/**` complete; `.cursor/rules/ui-and-theming.mdc` is updated to make Liquid Glass tokens + primitives the canonical pattern; `forbidden-legacy-design-css` lint / grep gates are wired to prevent regression; lint + vitest + smoke green. skip: - ia - ux status: ci-gates-shipped-deletion-queued created: 2026-06-03 ci_gates_shipped: 2026-06-03 depends_on: - liquid-glass-design-tokens - liquid-glass-modal-and-surface-primitive - liquid-glass-form-primitives - liquid-glass-layout-shell - liquid-glass-card-surfaces - liquid-glass-public-and-auth - motion-system-pass umbrella: liquid-glass-redesign --- # Convoy: cleanup-legacy-design-css Sub-convoy #8 of the `liquid-glass-redesign` epic. Strict-deletion convoy — ships last, after every other sub-convoy has migrated off the legacy surface. No new styling. No new components. Only deletions and CI gates to prevent re-introduction. ## Why Without an enforced cleanup at the end, the legacy utility classes (`gradient-text-blue`, `glow-blue`, `accent-purple`, etc. — every one inherited from a pre-Liquid-Glass era) will quietly reappear in future PRs as developers' muscle memory pastes the old patterns. The way to prevent that is: 1. Delete the legacy surface from `styles/globals.css`. 2. Sweep any remaining hex colors that ought to be tokens. 3. Update `.cursor/rules/ui-and-theming.mdc` to make the Liquid Glass primitives the canonical pattern. 4. Wire `forbidden-*` grep gates in CI so the legacy patterns can't land again. This convoy is **predicated on every other sub-convoy having shipped first**. If any sub-convoy is still in flight, this convoy waits. ## Scope ### In scope — deletions from `styles/globals.css` - Legacy gradient-text utility classes: - `.gradient-text-blue` (lines ~304–310) - `.gradient-text-purple` (lines ~312–318) - `.gradient-text-pink` — does it exist? `rg` to confirm. - `.gradient-text-gold` — keep ONLY if still consumed. - `.gradient-text-flame` / `.gradient-text-ember` — keep ONLY if still consumed; these are brand-aligned. - Legacy glow utility classes: - `[data-theme="dark"] .glow-blue` (line ~292) - `[data-theme="dark"] .glow-purple` (line ~296) - `[data-theme="dark"] .glow-pink` (line ~300) - Legacy ad-hoc glow utilities (replaced by `--ember-rim-*` / `--rim-light-*` tokens): - `.fire-glow` (line ~209) — confirmed dropped by #5. - `.ember-glow` (line ~213) — confirmed dropped by #5. - Legacy gradient-bg utility classes — drop if unused post-migration: - `.gradient-bg-fire` (line ~196) - `.gradient-bg-golden` (line ~200) - `.gradient-bg-ember` (line ~204) - Legacy accent-color mappings: - In `:root` (line ~115–118): `--accent-blue`, `--accent-purple`, `--accent-pink` — delete; no consumer should remain. - In `[data-theme="dark"]` (line ~146–149): same three vars. - Legacy `.btn-*` utility classes — drop ONLY if #3 migrated every consumer and operator confirms. Conservative default: keep `.btn-*` as thin aliases of `