diff --git a/docs/architecture.md b/docs/architecture.md
index 9069ee9..bb3a6e0 100644
--- a/docs/architecture.md
+++ b/docs/architecture.md
@@ -313,7 +313,7 @@ See [sso-oauth.md](sso-oauth.md) for provider-specific setup instructions.
### Tool Routing
-No separate intent router — the main model handles all tool routing directly via Ollama's structured tool-calling output. The model receives the full tool schema list and decides whether to call a tool or respond conversationally. A thinking-mode heuristic (`_should_think()`) detects complex prompts and enables extended reasoning.
+No separate intent router — the main model handles all tool routing directly via Ollama's structured tool-calling output. The model receives the full tool schema list and decides whether to call a tool or respond conversationally. Extended reasoning (`think=True`) is always on for qwen3-class models: content-based gating was tried but exposed tool-call template fragility on short tool-intent prompts.
### Tool Loop
diff --git a/frontend/src/assets/theme.css b/frontend/src/assets/theme.css
index 7b19fff..dd65cb9 100644
--- a/frontend/src/assets/theme.css
+++ b/frontend/src/assets/theme.css
@@ -54,6 +54,8 @@
--page-max-width: 1200px;
--page-padding-x: 1rem;
--sidebar-width: 260px;
+ --chat-reading-width: min(1200px, 100%);
+ --chat-context-sidebar-width: 220px;
--color-accent-warm: #b8860b;
--color-accent-warm-light: #d4a017;
--color-primary-solid: #7c3aed;
diff --git a/frontend/src/components/ChatInputBar.vue b/frontend/src/components/ChatInputBar.vue
index 8779219..2097eb9 100644
--- a/frontend/src/components/ChatInputBar.vue
+++ b/frontend/src/components/ChatInputBar.vue
@@ -1,8 +1,11 @@
-