diff --git a/docs/plans/RALPH_LOOP_CANVAS_FIX.md b/docs/plans/RALPH_LOOP_CANVAS_FIX.md
new file mode 100644
index 00000000..680e3fdc
--- /dev/null
+++ b/docs/plans/RALPH_LOOP_CANVAS_FIX.md
@@ -0,0 +1,1214 @@
+# Ralph Loop: Canvas Integration & Styling Fix
+
+## Status: COMPLETED
+
+**Completed:** 2026-01-14
+**Commit:** `9f3ac280` - feat: Add Canvas dark theme styling and Setup page integration
+
+### Summary of Changes:
+- NodeConfigPanel: Dark theme styling (`bg-dark-850`, white text, dark inputs)
+- BaseNode: Dark background, white text, primary selection glow
+- AtomizerCanvas: Dark ReactFlow background, styled Controls/MiniMap, dark buttons
+- NodePalette: Dark sidebar with hover states on draggable items
+- ValidationPanel: Semi-transparent error/warning panels with backdrop blur
+- ChatPanel: Dark message area with themed welcome state
+- ExecuteDialog: Dark modal with primary button styling
+- ConfigImporter: Dark tabs, inputs, file upload zone
+- TemplateSelector: Dark template cards with category pills
+- Setup.tsx: Added Configuration/Canvas Builder tab switcher
+
+All acceptance criteria passed. Build successful, pushed to both remotes.
+
+---
+
+**Copy everything below the line into Claude Code CLI:**
+```powershell
+cd C:\Users\antoi\Atomizer
+claude --dangerously-skip-permissions
+```
+
+---
+
+You are executing an autonomous development session to **fix and integrate the Canvas** into the Atomizer Dashboard.
+
+## Mission
+
+1. **Fix Canvas styling** to match dashboard dark theme (Atomaster)
+2. **Integrate Canvas into Setup page** as a tab
+3. **Make nodes clickable and configurable** (fix visibility issues)
+4. **Connect Canvas to existing Claude CLI chat** (same pattern as ChatPane)
+5. **Complete Canvas functionality** (all node types configurable)
+
+## Session Configuration
+
+```
+Working Directory: C:/Users/antoi/Atomizer
+Frontend: atomizer-dashboard/frontend/
+Backend: atomizer-dashboard/backend/
+Python: C:/Users/antoi/anaconda3/envs/atomizer/python.exe
+Git Remotes: origin (Gitea), github (GitHub) - push to BOTH
+```
+
+## Rules
+
+1. **TodoWrite** - Track ALL tasks, mark complete immediately
+2. **Test builds** - Run `npm run build` after major changes
+3. **Commit when done** - Push to both remotes
+4. **Match existing patterns** - Use same styling as existing components
+5. **No new dependencies** - Use what's already installed
+
+---
+
+# CURRENT ISSUES (Root Causes)
+
+## Issue 1: Canvas Panel Invisible
+**File:** `frontend/src/components/canvas/panels/NodeConfigPanel.tsx`
+**Problem:** Uses light theme (`bg-white`, `text-gray-800`) on dark background
+
+```tsx
+// WRONG (current)
+