+
+
diff --git a/src/lib/components/chat/context.md b/src/lib/components/chat/context.md
new file mode 100644
index 0000000000000000000000000000000000000000..9cfe5ab2e53fa4d17472415e75065bdb9192dfa4
--- /dev/null
+++ b/src/lib/components/chat/context.md
@@ -0,0 +1,14 @@
+# Chat Context
+
+AI assistant interface with authentication-gated input
+
+## Components
+
+- `ChatPanel.svelte` - Chat UI with auth-aware input controls
+
+## Features
+
+- Authentication-required input (visible but disabled when not logged in)
+- Real-time message streaming when connected
+- Breathing input animation when ready
+- GSAP-animated button interactions
diff --git a/src/lib/components/console/ConsoleMessage.svelte b/src/lib/components/console/ConsoleMessage.svelte
new file mode 100644
index 0000000000000000000000000000000000000000..5413c17126cc06693d3b13697c99b5b88591e2ed
--- /dev/null
+++ b/src/lib/components/console/ConsoleMessage.svelte
@@ -0,0 +1,109 @@
+
+
+
+ {message.type}
+ {message.message}
+
+
+
\ No newline at end of file
diff --git a/src/lib/components/console/ConsolePanel.svelte b/src/lib/components/console/ConsolePanel.svelte
new file mode 100644
index 0000000000000000000000000000000000000000..7ae7c8e72845bf6aea08477a0d5bca4c7a14af4e
--- /dev/null
+++ b/src/lib/components/console/ConsolePanel.svelte
@@ -0,0 +1,131 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/lib/components/console/context.md b/src/lib/components/console/context.md
new file mode 100644
index 0000000000000000000000000000000000000000..32bdbbca55796e47cfc30c691a5091d957b9dc7d
--- /dev/null
+++ b/src/lib/components/console/context.md
@@ -0,0 +1,32 @@
+# Console Components
+
+Console output display and management
+
+## Purpose
+
+- Display console messages with formatting
+- Auto-scroll and message buffering
+- Clear and filter capabilities
+
+## Layout
+
+```
+console/
+├── context.md # This file
+├── ConsolePanel.svelte # Main console container
+└── ConsoleMessage.svelte # Individual message display
+```
+
+## Scope
+
+- In-scope: Console UI, message rendering
+- Out-of-scope: Console capture logic
+
+## Entrypoints
+
+- `ConsolePanel.svelte` - Main component to embed console
+
+## Dependencies
+
+- consoleStore for messages
+- GSAP for message animations
diff --git a/src/lib/components/context.md b/src/lib/components/context.md
new file mode 100644
index 0000000000000000000000000000000000000000..589bb5607302c9b145ac4bf4ea764c1d38714b2c
--- /dev/null
+++ b/src/lib/components/context.md
@@ -0,0 +1,45 @@
+# Components
+
+UI components organized by feature/responsibility
+
+## Purpose
+
+- Declarative UI components
+- Single responsibility per component
+- Clean props/events interface
+
+## Layout
+
+```
+components/
+├── context.md # This file
+├── auth/ # Authentication UI components
+├── chat/ # AI chat interface
+├── console/ # Console display components
+├── editor/ # Code editor wrapper
+├── game/ # Game canvas and errors
+├── layout/ # App layout components
+└── Editor.svelte # Monaco editor (legacy)
+```
+
+## Scope
+
+- In-scope: UI rendering, user interactions
+- Out-of-scope: Business logic, direct state mutations
+
+## Entrypoints
+
+- `AppHeader.svelte` - Top navigation bar with auth
+- `LoginButton.svelte` - OAuth authentication button
+- `ChatPanel.svelte` - AI chat interface
+- `SplitView.svelte` - Main layout container
+- `ConsolePanel.svelte` - Console output display
+- `GameCanvas.svelte` - Game rendering area
+- `CodeEditor.svelte` - Code editing interface
+
+## Dependencies
+
+- Stores for reactive state
+- Services for operations
+- GSAP for animations
+- svelte-splitpanes for layout
diff --git a/src/lib/components/editor/CodeEditor.svelte b/src/lib/components/editor/CodeEditor.svelte
new file mode 100644
index 0000000000000000000000000000000000000000..278cd8b136c4a8360f9d851e456d770c0b6d4198
--- /dev/null
+++ b/src/lib/components/editor/CodeEditor.svelte
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/lib/components/editor/context.md b/src/lib/components/editor/context.md
new file mode 100644
index 0000000000000000000000000000000000000000..14d7a833ea7dee24500f982c5e4c2268fd10ff88
--- /dev/null
+++ b/src/lib/components/editor/context.md
@@ -0,0 +1,31 @@
+# Editor Components
+
+Code editing interface
+
+## Purpose
+
+- Wrap Monaco editor
+- Connect to editor store
+- Handle code changes
+
+## Layout
+
+```
+editor/
+├── context.md # This file
+└── CodeEditor.svelte # Monaco editor wrapper
+```
+
+## Scope
+
+- In-scope: Code editing UI
+- Out-of-scope: Game parsing, validation
+
+## Entrypoints
+
+- `CodeEditor.svelte` - Main editor component
+
+## Dependencies
+
+- editorStore for content state
+- Editor.svelte (Monaco wrapper)
diff --git a/src/lib/components/game/GameCanvas.svelte b/src/lib/components/game/GameCanvas.svelte
new file mode 100644
index 0000000000000000000000000000000000000000..4b0f652e5e60ff7cacc58d0da67f879f6f9bf638
--- /dev/null
+++ b/src/lib/components/game/GameCanvas.svelte
@@ -0,0 +1,81 @@
+
+
+
+ {#if $uiStore.error}
+
+ {/if}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/lib/components/game/GameError.svelte b/src/lib/components/game/GameError.svelte
new file mode 100644
index 0000000000000000000000000000000000000000..d64e2ef49c4d64bb85fd5527ad0a6c1871adf82e
--- /dev/null
+++ b/src/lib/components/game/GameError.svelte
@@ -0,0 +1,30 @@
+
+
+
+ ❌ {error}
+
+
+
\ No newline at end of file
diff --git a/src/lib/components/game/context.md b/src/lib/components/game/context.md
new file mode 100644
index 0000000000000000000000000000000000000000..e44ce2775c5586bbdffe861bd699489524918639
--- /dev/null
+++ b/src/lib/components/game/context.md
@@ -0,0 +1,33 @@
+# Game Components
+
+Game rendering and error display
+
+## Purpose
+
+- Render game canvas
+- Display game errors
+- Manage game lifecycle
+
+## Layout
+
+```
+game/
+├── context.md # This file
+├── GameCanvas.svelte # Game rendering canvas
+└── GameError.svelte # Error message display
+```
+
+## Scope
+
+- In-scope: Game display, error UI
+- Out-of-scope: Game logic, physics
+
+## Entrypoints
+
+- `GameCanvas.svelte` - Main game rendering component
+
+## Dependencies
+
+- gameStore for game state
+- gameEngine service for lifecycle
+- uiStore for error state
diff --git a/src/lib/components/layout/AppHeader.svelte b/src/lib/components/layout/AppHeader.svelte
new file mode 100644
index 0000000000000000000000000000000000000000..8e4159d7ce6c9b25458713d19b69335f0173b502
--- /dev/null
+++ b/src/lib/components/layout/AppHeader.svelte
@@ -0,0 +1,318 @@
+
+
+