@@ -192,11 +192,11 @@ export const ChatHome = memo(function ChatHome({
192192 return (
193193 < div className = "flex-1 overflow-y-auto relative" >
194194 < KnotBackground />
195- < div className = "min-h-full w-full max-w-[720px] mx-auto flex flex-col justify-center px-6 py-12 relative z-[1]" >
195+ < div className = "min-h-full w-full max-w-[720px] mx-auto flex flex-col justify-center px-4 sm:px-6 py-8 sm:py-10 md: py-12 relative z-[1]" >
196196 { /* Header — "Let's build" */ }
197- < div className = "flex flex-col items-center mb-8 " >
197+ < div className = "flex flex-col items-center mb-6 sm:mb-7 " >
198198 < div
199- className = { `mb-4 ${
199+ className = { `mb-3 ${
200200 status === 'connected' ? 'logo-breathe-connected' : 'logo-breathe-idle'
201201 } `}
202202 >
@@ -210,15 +210,15 @@ export const ChatHome = memo(function ChatHome({
210210 { /* Workspace dropdown */ }
211211 < button
212212 onClick = { onSelectFolder }
213- className = "codex-workspace-dropdown mt-3 inline-flex items-center gap-1.5 text-[14px] text-[var(--text-secondary)] hover:text-[var(--text-primary)] transition-colors cursor-pointer"
213+ className = "codex-workspace-dropdown mt-2.5 inline-flex items-center gap-1.5 text-[14px] text-[var(--text-secondary)] hover:text-[var(--text-primary)] transition-colors cursor-pointer"
214214 >
215215 { repoShort ?? 'Select workspace' }
216216 < Icon icon = "lucide:chevron-down" width = { 14 } height = { 14 } className = "opacity-50" />
217217 </ button >
218218 </ div >
219219
220220 { /* "Explore more" link */ }
221- < div className = "flex justify-end mb-3 " >
221+ < div className = "flex justify-end mb-2 " >
222222 < button
223223 onClick = { ( ) => emit ( 'open-folder' ) }
224224 className = "text-[12px] text-[var(--text-disabled)] hover:text-[var(--text-secondary)] transition-colors cursor-pointer"
@@ -227,36 +227,31 @@ export const ChatHome = memo(function ChatHome({
227227 </ button >
228228 </ div >
229229
230- { /* Suggestion cards — 2 -up, center odd last card */ }
231- < div className = "codex-suggestion-grid flex flex-wrap gap-3 mb-6 " >
232- { suggestions . map ( ( card , i ) => {
233- const isOddTail =
234- suggestions . length > 1 && suggestions . length % 2 === 1 && i === suggestions . length - 1
235-
236- return (
237- < button
238- key = { i }
239- onClick = { ( ) => onSend ( card . label , agentMode ) }
240- className = { `codex-suggestion-card group flex flex-col gap-3 p-4 rounded-xl text-left cursor-pointer border border-[var(--border)] bg-[color-mix(in_srgb,var(--bg-elevated)_70%,transparent)] backdrop-blur-sm hover:border-[var(--text-disabled)] transition-all w-full sm:w-[calc(50%-0.375rem)] ${ isOddTail ? 'sm:mx-auto' : '' } ` }
230+ { /* Suggestion cards — 1 -up mobile, 3-up desktop */ }
231+ < div className = "codex-suggestion-grid grid grid-cols-1 sm:grid-cols-3 gap-2.5 sm:gap- 3 mb-4 sm:mb-5 " >
232+ { suggestions . map ( ( card , i ) => (
233+ < button
234+ key = { i }
235+ onClick = { ( ) => onSend ( card . label , agentMode ) }
236+ className = "codex-suggestion-card group flex flex-col gap-2.5 p-3.5 sm:p-4 rounded-xl text-left cursor-pointer border border-[var(--border)] bg-[color-mix(in_srgb,var(--bg-elevated)_70%,transparent)] backdrop-blur-sm hover:border-[var(--text-disabled)] transition-all w-full"
237+ >
238+ < div
239+ className = "w-8 h-8 rounded-lg flex items-center justify-center shrink-0"
240+ style = { { background : card . bg } }
241241 >
242- < div
243- className = "w-8 h-8 rounded-lg flex items-center justify-center shrink-0"
244- style = { { background : card . bg } }
245- >
246- < Icon
247- icon = { card . icon }
248- width = { 16 }
249- height = { 16 }
250- style = { { color : card . color } }
251- className = "opacity-80 group-hover:opacity-100 transition-opacity"
252- />
253- </ div >
254- < p className = "text-[12px] text-[var(--text-secondary)] group-hover:text-[var(--text-primary)] leading-relaxed transition-colors" >
255- { card . label }
256- </ p >
257- </ button >
258- )
259- } ) }
242+ < Icon
243+ icon = { card . icon }
244+ width = { 16 }
245+ height = { 16 }
246+ style = { { color : card . color } }
247+ className = "opacity-80 group-hover:opacity-100 transition-opacity"
248+ />
249+ </ div >
250+ < p className = "text-[12px] text-[var(--text-secondary)] group-hover:text-[var(--text-primary)] leading-relaxed transition-colors" >
251+ { card . label }
252+ </ p >
253+ </ button >
254+ ) ) }
260255 </ div >
261256
262257 { /* Composer */ }
@@ -286,7 +281,7 @@ export const ChatHome = memo(function ChatHome({
286281 : 'Describe what you want to build…'
287282 }
288283 aria-label = "Chat input"
289- className = "w-full bg-transparent px-4 pt-4 pb-2 text-[14px] leading-[1.6] text-[var(--text-primary)] placeholder:text-[var(--text-disabled)] outline-none resize-none min-h-[48px] max-h-[200px] overflow-y-auto"
284+ className = "w-full bg-transparent px-4 pt-3.5 pb-2 text-[14px] leading-[1.6] text-[var(--text-primary)] placeholder:text-[var(--text-disabled)] outline-none resize-none min-h-[48px] max-h-[200px] overflow-y-auto"
290285 />
291286
292287 { /* Image previews */ }
@@ -313,7 +308,7 @@ export const ChatHome = memo(function ChatHome({
313308 ) }
314309
315310 { /* Bottom toolbar — Codex-style pill bar */ }
316- < div className = "px-3 pb-3 pt-1" >
311+ < div className = "px-3 pb-2.5 pt-1" >
317312 < div className = "flex items-center justify-between gap-2" >
318313 < div className = "flex items-center gap-2 flex-wrap" >
319314 { /* + button */ }
@@ -377,7 +372,7 @@ export const ChatHome = memo(function ChatHome({
377372
378373 { /* Workspace setup (no workspace) */ }
379374 { ! hasWorkspace && (
380- < div className = "mt-8 space-y-4" >
375+ < div className = "mt-6 sm:mt-8 space-y-3 sm: space-y-4" >
381376 < div className = "h-px bg-[var(--border)]" />
382377 < div className = "grid grid-cols-1 sm:grid-cols-2 gap-2" >
383378 < button
@@ -427,7 +422,7 @@ export const ChatHome = memo(function ChatHome({
427422 ) }
428423
429424 { /* Footer */ }
430- < div className = "mt-8 flex justify-center" >
425+ < div className = "mt-6 sm:mt- 8 flex justify-center" >
431426 < span className = "text-[10px] font-mono tracking-[0.08em] text-[var(--text-disabled)] opacity-40 uppercase" >
432427 KnotCode
433428 </ span >
0 commit comments