.thinking-block{margin-bottom:var(--spacing-sm)}.thinking-toggle{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-thinking-bg);border:1px solid var(--color-thinking-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-muted);transition:background-color .15s ease;text-align:left;font-family:inherit}.thinking-toggle:hover{background:var(--color-surface-hover)}.thinking-chevron{display:inline-block;width:0;height:0;border-left:5px solid var(--color-text-muted);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .25s ease-out;flex-shrink:0}.thinking-chevron.expanded{transform:rotate(90deg)}.thinking-label{flex:1}.thinking-dots{display:inline-flex;gap:3px;margin-left:var(--spacing-xs)}.thinking-dot{width:4px;height:4px;border-radius:50%;background:var(--color-text-muted);animation:pulse 1.4s ease-in-out infinite}.thinking-dot:nth-child(2){animation-delay:.2s}.thinking-dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,80%,to{opacity:.3}40%{opacity:1}}.thinking-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease-out}.thinking-body.expanded{grid-template-rows:1fr}.thinking-body-inner{overflow:hidden;min-height:0}.thinking-content{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic;line-height:1.5;white-space:pre-wrap}.markdown-content{line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}.markdown-content p{margin-bottom:var(--spacing-sm)}.markdown-content p:last-child{margin-bottom:0}.markdown-content h1{font-size:1.3em;font-weight:700;margin:var(--spacing-md) 0 var(--spacing-sm)}.markdown-content h2{font-size:1.15em;font-weight:600;margin:var(--spacing-sm) 0 var(--spacing-xs)}.markdown-content h3{font-size:1.05em;font-weight:600;margin:var(--spacing-sm) 0 var(--spacing-xs)}.code-block-wrapper{position:relative;margin:var(--spacing-sm) 0}.code-language{position:absolute;top:var(--spacing-sm);right:var(--spacing-md);font-size:.75rem;color:gray;text-transform:uppercase;letter-spacing:.05em}.code-block{background:var(--color-code-bg);color:var(--color-code-text);padding:var(--spacing-lg);border-radius:var(--radius-md);overflow-x:auto;font-family:SF Mono,Fira Code,Fira Mono,Menlo,Consolas,monospace;font-size:var(--font-size-sm);line-height:1.5;margin:0}.code-block code{background:none;padding:0;border-radius:0;font-size:inherit;color:inherit}.inline-code{background:var(--color-inline-code-bg);padding:2px 6px;border-radius:var(--radius-sm);font-family:SF Mono,Fira Code,Menlo,Consolas,monospace;font-size:.9em}.markdown-content ul,.markdown-content ol{padding-left:var(--spacing-xl);margin-bottom:var(--spacing-sm)}.markdown-content li{margin-bottom:var(--spacing-xs)}.markdown-content li:last-child{margin-bottom:0}.markdown-content a{color:var(--color-primary);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.table-wrapper{overflow-x:auto;margin:var(--spacing-sm) 0}.markdown-content table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.markdown-content th,.markdown-content td{border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);text-align:left}.markdown-content th{background:var(--color-surface);font-weight:600}.markdown-content tr:nth-child(2n){background:var(--color-thinking-bg)}.markdown-content blockquote{border-left:3px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-lg);margin:var(--spacing-sm) 0;background:var(--color-thinking-bg);color:var(--color-text-secondary);font-style:italic}.markdown-content blockquote p{margin-bottom:0}.markdown-content hr{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-lg) 0}.markdown-content strong{font-weight:600}.markdown-content em{font-style:italic}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-bubble{max-width:75%;margin-bottom:var(--spacing-md);animation:fadeIn .3s ease-out}.message-bubble.user{align-self:flex-end;margin-left:auto}.message-bubble.assistant{align-self:flex-start;margin-right:auto}.message-bubble-content{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-xl)}.message-bubble.user .message-bubble-content{background-color:var(--color-user-bubble);color:var(--color-user-text);border-radius:var(--radius-xl) var(--radius-sm) var(--radius-xl) var(--radius-xl)}.message-bubble.assistant .message-bubble-content{background-color:var(--color-assistant-bubble);color:var(--color-assistant-text);border-radius:var(--radius-sm) var(--radius-xl) var(--radius-xl) var(--radius-xl)}.message-text{white-space:pre-wrap;word-wrap:break-word}.message-thinking-placeholder{padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);background-color:var(--color-thinking-bg);border:1px solid var(--color-thinking-border);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.thinking-label{font-weight:600;color:var(--color-text-secondary);margin-right:var(--spacing-sm)}.thinking-text{color:var(--color-text-muted);font-style:italic}.chat-input-container{display:flex;flex-direction:row;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid var(--color-border);background-color:var(--color-bg);align-items:flex-end;max-width:768px;width:100%;margin:0 auto}.chat-input-textarea{flex:1;min-height:40px;max-height:120px;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-family:inherit;font-size:var(--font-size-base);line-height:1.5;color:var(--color-text);background-color:var(--color-bg);resize:none;overflow-y:auto;transition:border-color .2s}.chat-input-textarea:focus{outline:none;border-color:var(--color-primary)}.chat-input-textarea:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-surface)}.chat-input-send-button{padding:var(--spacing-md) var(--spacing-xl);border:none;border-radius:var(--radius-lg);background-color:var(--color-primary);color:#fff;font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:background-color .2s,opacity .2s;white-space:nowrap}.chat-input-send-button:hover:not(:disabled){background-color:var(--color-primary-hover)}.chat-input-send-button:disabled{opacity:.5;cursor:not-allowed}.chat-window{display:flex;flex-direction:column;height:100%;position:relative}.chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;max-width:768px;width:100%;margin:0 auto}.chat-empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted);font-size:var(--font-size-lg)}.scroll-to-bottom-button{position:absolute;bottom:100px;left:50%;transform:translate(-50%);padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-full);background-color:var(--color-bg);color:var(--color-text);font-size:var(--font-size-lg);font-weight:500;cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:all .2s;z-index:10}.scroll-to-bottom-button:hover{background-color:var(--color-surface);box-shadow:0 4px 12px #00000026}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.loading-indicator{display:flex;gap:var(--spacing-xs);padding:var(--spacing-sm)}.loading-indicator .dot{width:8px;height:8px;border-radius:50%;background-color:var(--color-text-muted);animation:pulse 1.4s ease-in-out infinite}.loading-indicator .dot:nth-child(2){animation-delay:.2s}.loading-indicator .dot:nth-child(3){animation-delay:.4s}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-bg: #ffffff;--color-surface: #f3f4f6;--color-surface-hover: #e5e7eb;--color-text: #111827;--color-text-secondary: #4b5563;--color-text-muted: #4b5563;--color-border: #d1d5db;--color-error: #dc2626;--color-user-bubble: #2563eb;--color-user-text: #ffffff;--color-assistant-bubble: #f3f4f6;--color-assistant-text: #111827;--color-thinking-bg: #f9fafb;--color-thinking-border: #e5e7eb;--color-code-bg: #1e1e1e;--color-code-text: #d4d4d4;--color-inline-code-bg: rgba(0, 0, 0, .06);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--font-size-base);line-height:1.6;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}.app{display:flex;flex-direction:column;height:100%}.app-header{padding:var(--spacing-md) var(--spacing-xl);border-bottom:1px solid var(--color-border);background-color:var(--color-bg)}.app-header h1{font-size:var(--font-size-lg);font-weight:600}.app-main{flex:1;overflow:hidden}
