:root{--bg:#faf8f5;--surface:#fff;--border:#e4ddd3;--text:#2a2622;--text-muted:#726b60;--accent:#b5502e;--accent-hover:#9c4225;--danger:#b3261e;--font-serif:ui-serif, Georgia, "Times New Roman", serif;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--text-sm:.85rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:48px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5}#root{height:100%}.app-shell{flex-direction:column;max-width:760px;height:100dvh;margin:0 auto;display:flex}.app-header{padding:var(--space-4) var(--space-4) 0;flex:none}.thread-scroll{overscroll-behavior-y:contain;min-height:0;padding:0 var(--space-4);flex:auto;overflow-y:auto}.composer{background:var(--surface);border-top:1px solid var(--border);padding:var(--space-3) var(--space-4);padding-bottom:max(var(--space-3), env(safe-area-inset-bottom));flex:none;position:sticky;bottom:0}.app-title{font-family:var(--font-serif);font-size:var(--text-xl);margin:0 0 var(--space-4)}.session-bar{align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-4);display:flex}.session-id{font-family:ui-monospace,monospace}.button-link{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.button-link:hover{color:var(--accent-hover)}.byok-settings{margin-bottom:var(--space-5);border:1px solid var(--border);background:var(--surface);padding:var(--space-3) var(--space-4);border-radius:8px}.byok-settings summary{cursor:pointer;font-weight:600;font-size:var(--text-sm)}.byok-settings-body{margin-top:var(--space-3)}.byok-settings select,.byok-settings input[type=password]{font-size:var(--text-sm);padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:4px}.byok-key-field{margin-top:var(--space-2);display:block}.byok-key-field input{width:60%}.byok-note{font-size:var(--text-sm);color:var(--text-muted);margin:var(--space-2) 0 0}.stage-nav{gap:var(--space-2);margin-bottom:var(--space-4);display:flex;overflow-x:auto}.stage-pill{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0}.stage-pill:hover:not(:disabled){border-color:var(--accent)}.stage-pill:disabled{opacity:.4;cursor:not-allowed}.stage-pill-active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.stage-form{flex-direction:column;display:flex}.mode-fieldset{margin:0 0 var(--space-4);border:none;padding:0}.mode-fieldset legend{font-size:var(--text-sm);color:var(--text-muted);padding:0}.mode-option-spaced{margin-left:var(--space-4)}.seo-fields{gap:var(--space-3);margin-bottom:var(--space-2);flex-direction:column;display:flex}.seo-fields label{font-size:var(--text-sm);display:block}.seo-fields input,.seo-fields textarea{width:100%;margin-top:var(--space-1);padding:var(--space-2);border:1px solid var(--border);font-family:inherit;font-size:var(--text-base);border-radius:6px;display:block}.prompt-textarea{width:100%;margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--border);font-family:inherit;font-size:var(--text-base);resize:vertical;border-radius:6px}.submit-button{margin-top:var(--space-4);background:var(--accent);color:#fff;padding:var(--space-2) var(--space-5);font-size:var(--text-base);cursor:pointer;border:none;border-radius:6px;align-self:flex-start}.submit-button:hover:not(:disabled){background:var(--accent-hover)}.submit-button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:var(--danger);font-size:var(--text-sm);margin-top:var(--space-3)}.message-list{margin:var(--space-4) 0;gap:var(--space-4);flex-direction:column;display:flex}.stage-divider{margin:var(--space-4) 0 var(--space-2);justify-content:center;display:flex}.stage-divider span{font-size:var(--text-sm);color:var(--text-muted);background:var(--bg);border:1px solid var(--border);padding:var(--space-1) var(--space-3);border-radius:999px}.suggestion-pills{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.suggestion-pill{border:1px solid var(--accent);background:var(--surface);color:var(--accent);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);cursor:pointer;border-radius:999px}.suggestion-pill:hover:not(:disabled){background:var(--accent);color:#fff}.suggestion-pill:disabled{opacity:.4;cursor:not-allowed}.message{max-width:85%}.message-user{text-align:right;align-self:flex-end}.message-assistant{align-self:flex-start}.message-meta{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-1)}.provider-badge{margin-left:var(--space-2);font-size:var(--text-sm);background:var(--bg);border:1px solid var(--border);padding:0 var(--space-2);border-radius:999px}.message-content{white-space:pre-wrap;padding:var(--space-3);background:var(--bg);border-radius:8px;margin:0;font-family:inherit}.message-user .message-content{background:#f1e9e2}.message-assistant .message-content{background:var(--surface);border:1px solid var(--border)}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:var(--space-4) 0 var(--space-2);line-height:1.3}.markdown-body p,.markdown-body ul,.markdown-body ol{margin:0 0 var(--space-3)}.markdown-body ul,.markdown-body ol{padding-left:var(--space-5)}.markdown-body code{background:var(--bg);border-radius:4px;padding:0 4px;font-size:.9em}.markdown-body pre{background:var(--bg);padding:var(--space-3);border-radius:8px;overflow-x:auto}.seo-strategy{font-size:var(--text-sm);background:var(--surface);border:1px solid var(--border);padding:var(--space-4);border-radius:8px}.seo-strategy p{margin:var(--space-2) 0}@media (width<=640px){.app-header{padding:var(--space-3) var(--space-3) 0}.thread-scroll{padding:0 var(--space-3)}.composer{padding:var(--space-2) var(--space-3);padding-bottom:max(var(--space-2), env(safe-area-inset-bottom))}.app-title{font-size:var(--text-lg)}.submit-button{align-self:stretch}.message{max-width:100%}}
