# Card Layout Implementation — Subagent-Driven Execution ## Task Execute the [card layout implementation plan](../docs/superpowers/plans/2026-08-26-card-layout.md) using subagent-driven development. The plan converts old.reddit.com's flat post list into shadcn/ui-styled cards. ## Changes Made (6 commits: d659238..6e2aec3) | Commit | Description | |--------|-------------| | `7ac47b5` | Extract `isDarkMode`/`getColorPrefix` to `settings.js`; add card defaults | | `8d3ff72` | Badge layout toggle + FOUC CSS rename (`rt-enabled` → `rt-badges-enabled`) | | `95f0946` | Create `cards.css` with exact shadcn design tokens | | `5521e39` | Create `cards.js` module + unified MutationObserver in `main.js` | | `7b0c80c` | Add card layout controls to popup (toggle, background, spacing) | | `6e2aec3` | Fix stale closures in dark-mode observer and storage listener | ### Files modified - `lib/settings.js` — shared dark-mode utilities, new defaults - `content/tweaks/badges.js` — removed duplicate observers, use shared utilities - `content/tweaks/color-popover.js` — use shared utilities - `content/tweaks/cards.js` — **new** card tweak module - `content/styles/badges.css` — FOUC selector rename - `content/styles/cards.css` — **new** card styling - `content/main.js` — rewritten: unified observers, both tweaks, storage handler - `popup/popup.html` — badge toggle + card settings section - `popup/popup.js` — wiring for new controls - `manifest.json` — add `cards.css`/`cards.js`, remove `www.reddit.com` ## Follow-up Items - Manual smoke test in Firefox on old.reddit.com (badges, cards, dark mode, popup controls) - Minor: `processNewPosts` signature asymmetry (badges use settings arg, cards ignore it) - Minor: No FOUC prevention for cards (badges have it; cards flash briefly on load)