pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}.layout{width:100%;height:100%;display:flex;position:relative}.layout__sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background-color:var(--color-bg-sidebar);border-right:1px solid var(--color-border);height:100%;transition:transform var(--transition-normal);flex-direction:column;display:flex;overflow-y:auto}.layout__main{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.layout__mobile-toggle{top:var(--space-md);left:var(--space-md);z-index:100;border-radius:var(--radius-sm);background-color:var(--color-bg-secondary);width:44px;height:44px;color:var(--color-text-primary);cursor:pointer;box-shadow:var(--shadow-sm);border:none;justify-content:center;align-items:center;display:none;position:fixed}.layout__mobile-toggle:hover{background-color:var(--color-bg-hover)}.layout__overlay{background-color:var(--color-bg-overlay);z-index:200;display:none;position:fixed;inset:0}@media (width<=767px){.layout__mobile-toggle{display:flex}.layout__sidebar{z-index:300;box-shadow:var(--shadow-lg);position:fixed;top:0;left:0;transform:translate(-100%)}.layout__sidebar--open{transform:translate(0)}.layout__overlay{display:block}.layout__main{width:100%}}.theme-toggle{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.conversation-list{flex-direction:column;gap:2px;list-style:none;display:flex}.conversation-list__empty{padding:var(--space-lg);text-align:center;color:var(--color-text-tertiary);font-size:14px}.conversation-list__item{border-radius:var(--radius-sm);transition:background-color var(--transition-fast);align-items:center;display:flex}.conversation-list__item:hover{background-color:var(--color-bg-hover)}.conversation-list__item--active{background-color:var(--color-bg-active)}.conversation-list__button{padding:var(--space-sm) var(--space-md);color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;min-height:44px;font-size:14px;display:flex;overflow:hidden}.conversation-list__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conversation-list__delete{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;opacity:0;transition:opacity var(--transition-fast), color var(--transition-fast);margin-right:var(--space-xs);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.conversation-list__item:hover .conversation-list__delete{opacity:1}.conversation-list__delete:hover{color:var(--color-error);background-color:var(--color-bg-hover)}.sidebar{height:100%;padding:var(--space-md);flex-direction:column;display:flex}.sidebar__header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.sidebar__new-chat{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;min-height:44px;font-size:14px;font-weight:500;display:flex}.sidebar__new-chat:hover{background-color:var(--color-bg-hover)}.sidebar__conversations{flex:1;overflow-y:auto}.code-block{border-radius:var(--radius-md);border:1px solid var(--color-border);margin:.75em 0;overflow:hidden}.code-block__header{padding:var(--space-sm) var(--space-md);background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.code-block__language{color:var(--color-text-secondary);text-transform:lowercase;font-size:12px;font-weight:500}.code-block__copy{border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:flex}.code-block__copy:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.code-block__pre{padding:var(--space-md);background-color:var(--color-bg-code);margin:0;font-size:13px;line-height:1.5;overflow-x:auto}.code-block__pre code{font-family:var(--font-mono);background:0 0;padding:0}.markdown-renderer h1,.markdown-renderer h2,.markdown-renderer h3,.markdown-renderer h4,.markdown-renderer h5,.markdown-renderer h6{margin-top:1em;margin-bottom:.5em;font-weight:600;line-height:1.3}.markdown-renderer h1{font-size:1.5em}.markdown-renderer h2{font-size:1.3em}.markdown-renderer h3{font-size:1.15em}.markdown-renderer p{margin:.5em 0}.markdown-renderer ul,.markdown-renderer ol{margin:.5em 0;padding-left:1.5em}.markdown-renderer li{margin:.25em 0}.markdown-renderer blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-md);color:var(--color-text-secondary);margin:.5em 0}.markdown-renderer table{border-collapse:collapse;width:100%;margin:.5em 0;font-size:14px}.markdown-renderer th,.markdown-renderer td{border:1px solid var(--color-border);padding:var(--space-sm) var(--space-md);text-align:left}.markdown-renderer th{background-color:var(--color-bg-secondary);font-weight:600}.markdown-renderer a{color:var(--color-accent);text-decoration:none}.markdown-renderer a:hover{text-decoration:underline}.markdown-renderer__inline-code{background-color:var(--color-bg-code);font-family:var(--font-mono);border-radius:4px;padding:2px 6px;font-size:.9em}.markdown-renderer strong{font-weight:600}.markdown-renderer em{font-style:italic}.markdown-renderer hr{border:none;border-top:1px solid var(--color-border);margin:1em 0}.message-bubble{gap:var(--space-md);padding:var(--space-lg) var(--space-xl);width:100%;max-width:800px;margin:0 auto;display:flex}.message-bubble--user{background-color:var(--color-bg-message-user)}.message-bubble--assistant{background-color:var(--color-bg-message-assistant)}.message-bubble__avatar{border-radius:var(--radius-sm);background-color:var(--color-bg-tertiary);width:32px;height:32px;color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.message-bubble--assistant .message-bubble__avatar{background-color:var(--color-accent-light);color:var(--color-accent)}.message-bubble__content{flex:1;min-width:0}.message-bubble__role{color:var(--color-text-secondary);margin-bottom:var(--space-xs);font-size:13px;font-weight:600}.message-bubble__text{color:var(--color-text-primary);word-wrap:break-word;overflow-wrap:break-word;font-size:15px;line-height:1.6}.message-bubble__text p{white-space:pre-wrap;margin:0}@media (width<=767px){.message-bubble{padding:var(--space-md)}}.message-list{scroll-behavior:smooth;flex:1;overflow-y:auto}.message-list__messages{flex-direction:column;min-height:100%;display:flex}.message-list__empty{height:100%;padding:var(--space-2xl);text-align:center;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.message-list__empty-icon{margin-bottom:var(--space-lg);color:var(--color-accent);opacity:.6}.message-list__empty h2{color:var(--color-text-primary);margin-bottom:var(--space-sm);font-size:24px;font-weight:600}.message-list__empty p{max-width:400px;font-size:15px}.message-list__typing{padding:var(--space-lg) var(--space-xl);width:100%;max-width:800px;margin:0 auto}.message-list__typing-dots{padding:var(--space-sm);gap:4px;display:flex}.message-list__typing-dots span{background-color:var(--color-text-tertiary);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite typing-bounce}.message-list__typing-dots span:first-child{animation-delay:0s}.message-list__typing-dots span:nth-child(2){animation-delay:.2s}.message-list__typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.message-input{padding:var(--space-md) var(--space-xl);border-top:1px solid var(--color-border);background-color:var(--color-bg-primary)}.message-input__container{align-items:flex-end;gap:var(--space-sm);max-width:800px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-bg-input);transition:border-color var(--transition-fast);margin:0 auto;display:flex}.message-input__container:focus-within{border-color:var(--color-border-focus)}.message-input__textarea{resize:none;color:var(--color-text-primary);font-family:var(--font-sans);padding:var(--space-sm) 0;background:0 0;border:none;outline:none;flex:1;max-height:200px;font-size:15px;line-height:1.5;overflow-y:hidden}.message-input__textarea::placeholder{color:var(--color-text-tertiary)}.message-input__textarea:disabled{opacity:.6}.message-input__submit{border-radius:var(--radius-sm);background-color:var(--color-accent);width:36px;height:36px;color:var(--color-text-inverse);cursor:pointer;transition:background-color var(--transition-fast), opacity var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.message-input__submit:hover:not(:disabled){background-color:var(--color-accent-hover)}.message-input__submit:disabled{opacity:.4;cursor:not-allowed}.message-input__hint{text-align:center;color:var(--color-text-tertiary);margin-top:var(--space-xs);max-width:800px;margin-left:auto;margin-right:auto;font-size:12px}@media (width<=767px){.message-input{padding:var(--space-sm) var(--space-md)}.message-input__hint{display:none}}.memory-indicator{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);display:flex}.memory-indicator__bar{border-radius:var(--radius-full);background-color:var(--color-bg-tertiary);width:60px;height:4px;overflow:hidden}.memory-indicator__fill{border-radius:var(--radius-full);background-color:var(--color-accent);height:100%;transition:width var(--transition-normal)}.memory-indicator--warning .memory-indicator__fill{background-color:var(--color-warning)}.memory-indicator--danger .memory-indicator__fill{background-color:var(--color-error)}.memory-indicator__text{color:var(--color-text-tertiary);white-space:nowrap;font-size:11px}.context-trace{padding:var(--space-xs) var(--space-md);border-top:1px solid var(--color-border)}.context-trace__toggle{align-items:center;gap:var(--space-xs);padding:var(--space-xs) 0;color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;font-size:11px;display:flex}.context-trace__toggle:hover{color:var(--color-text-secondary)}.context-trace__details{padding:var(--space-sm) 0}.context-trace__summary-note{color:var(--color-warning);margin-bottom:var(--space-sm);font-size:11px}.context-trace__list{flex-direction:column;gap:2px;list-style:none;display:flex}.context-trace__item{align-items:center;gap:var(--space-sm);padding:2px 0;font-size:11px;display:flex}.context-trace__role{text-transform:uppercase;text-align:center;border-radius:3px;min-width:55px;padding:1px 4px;font-size:10px;font-weight:600}.context-trace__role--user{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.context-trace__role--assistant{background-color:var(--color-accent-light);color:var(--color-accent)}.context-trace__role--system{background-color:var(--color-bg-secondary);color:var(--color-text-tertiary)}.context-trace__preview{color:var(--color-text-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-view{flex-direction:column;height:100%;display:flex;overflow:hidden}.chat-view--empty{color:var(--color-text-tertiary);justify-content:center;align-items:center;font-size:15px}.chat-view__header{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);justify-content:flex-end;align-items:center;min-height:40px;display:flex}.chat-view__error{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);color:var(--color-error);font-size:13px;display:flex}.chat-view__error button{border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;padding:4px 12px;font-size:12px}.chat-view__error button:hover{background-color:var(--color-error);color:var(--color-text-inverse)}.style-selector{gap:var(--space-xs);flex-direction:column;display:flex}.style-selector__select{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-input);color:var(--color-text-primary);cursor:pointer;min-height:40px;transition:border-color var(--transition-fast);outline:none;font-size:14px}.style-selector__select:focus{border-color:var(--color-border-focus)}.style-selector__description{color:var(--color-text-tertiary);max-width:300px;font-size:12px}.quick-actions{gap:var(--space-sm);flex-direction:column;display:flex}.quick-actions__label{color:var(--color-text-secondary);font-size:12px;font-weight:500}.quick-actions__buttons{gap:var(--space-sm);flex-wrap:wrap;display:flex}.quick-actions__btn{border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);white-space:nowrap;background:0 0;padding:6px 12px;font-size:13px}.quick-actions__btn:hover:not(:disabled){background-color:var(--color-bg-hover);border-color:var(--color-accent)}.quick-actions__btn:disabled{opacity:.4;cursor:not-allowed}.prompt-engineer{gap:var(--space-md);padding:var(--space-lg);flex-direction:column;height:100%;display:flex;overflow-y:auto}.prompt-engineer__header h3{margin-bottom:var(--space-xs);font-size:18px;font-weight:600}.prompt-engineer__header p{color:var(--color-text-secondary);font-size:14px}.prompt-engineer__textarea{width:100%;min-height:120px;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-input);color:var(--color-text-primary);font-family:var(--font-sans);resize:vertical;transition:border-color var(--transition-fast);outline:none;font-size:14px;line-height:1.5}.prompt-engineer__textarea:focus{border-color:var(--color-border-focus)}.prompt-engineer__textarea::placeholder{color:var(--color-text-tertiary)}.prompt-engineer__controls{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.prompt-engineer__refine-btn{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-sm);background-color:var(--color-accent);color:var(--color-text-inverse);cursor:pointer;transition:background-color var(--transition-fast), opacity var(--transition-fast);border:none;min-height:40px;font-size:14px;font-weight:500}.prompt-engineer__refine-btn:hover:not(:disabled){background-color:var(--color-accent-hover)}.prompt-engineer__refine-btn:disabled{opacity:.5;cursor:not-allowed}.prompt-engineer__result{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.prompt-engineer__result-header{padding:var(--space-sm) var(--space-md);background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);justify-content:space-between;align-items:center;font-size:13px;font-weight:500;display:flex}.prompt-engineer__copy-btn{border-radius:var(--radius-sm);color:var(--color-accent);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;padding:4px 12px;font-size:12px;font-weight:500}.prompt-engineer__copy-btn:hover{background-color:var(--color-bg-hover)}.prompt-engineer__result-content{padding:var(--space-md);font-size:14px;line-height:1.6}.memory-bank{padding:var(--space-lg);gap:var(--space-md);flex-direction:column;display:flex}.memory-bank__header h3{margin-bottom:var(--space-xs);font-size:18px;font-weight:600}.memory-bank__header p{color:var(--color-text-secondary);font-size:14px}.memory-bank__add{gap:var(--space-sm);flex-wrap:wrap;display:flex}.memory-bank__input{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-input);color:var(--color-text-primary);transition:border-color var(--transition-fast);outline:none;font-size:14px}.memory-bank__input:focus{border-color:var(--color-border-focus)}.memory-bank__input--wide{flex:1;min-width:200px}.memory-bank__add-btn,.memory-bank__save-btn{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background-color:var(--color-accent);color:var(--color-text-inverse);cursor:pointer;border:none;font-size:13px;font-weight:500}.memory-bank__add-btn:disabled{opacity:.5;cursor:not-allowed}.memory-bank__cancel-btn{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;font-size:13px}.memory-bank__empty{text-align:center;color:var(--color-text-tertiary);padding:var(--space-xl);font-size:14px}.memory-bank__list{gap:var(--space-sm);flex-direction:column;list-style:none;display:flex}.memory-bank__item{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-md)}.memory-bank__item-content{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.memory-bank__item-key{color:var(--color-accent);min-width:120px;font-size:14px;font-weight:600}.memory-bank__item-value{color:var(--color-text-primary);flex:1;font-size:14px}.memory-bank__item-actions{gap:var(--space-xs);display:flex}.memory-bank__edit-btn,.memory-bank__delete-btn{border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;padding:4px 8px;font-size:12px}.memory-bank__edit-btn{color:var(--color-text-secondary)}.memory-bank__edit-btn:hover{background-color:var(--color-bg-hover)}.memory-bank__delete-btn{color:var(--color-error)}.memory-bank__delete-btn:hover{background-color:var(--color-bg-hover)}.memory-bank__edit-form{gap:var(--space-sm);flex-wrap:wrap;display:flex}:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"SF Mono", "Fira Code", "Fira Mono", Menlo, Consolas, monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s ease;--sidebar-width:280px}:root.light,[data-theme=light]{--color-bg-primary:#fff;--color-bg-secondary:#f7f7f8;--color-bg-tertiary:#ececf1;--color-bg-sidebar:#f9fafb;--color-bg-hover:#f0f0f5;--color-bg-active:#e8e8ed;--color-bg-message-user:#f4f4f6;--color-bg-message-assistant:#fff;--color-bg-code:#f6f8fa;--color-bg-input:#fff;--color-bg-overlay:#0006;--color-text-primary:#1a1a2e;--color-text-secondary:#6b7280;--color-text-tertiary:#9ca3af;--color-text-inverse:#fff;--color-border:#e5e7eb;--color-border-focus:#6366f1;--color-accent:#6366f1;--color-accent-hover:#4f46e5;--color-accent-light:#eef2ff;--color-error:#ef4444;--color-success:#10b981;--color-warning:#f59e0b;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a}:root.dark,[data-theme=dark]{--color-bg-primary:#1a1a2e;--color-bg-secondary:#16213e;--color-bg-tertiary:#0f3460;--color-bg-sidebar:#12122a;--color-bg-hover:#1f1f3a;--color-bg-active:#2a2a4a;--color-bg-message-user:#1f1f3a;--color-bg-message-assistant:#1a1a2e;--color-bg-code:#0d1117;--color-bg-input:#16213e;--color-bg-overlay:#0009;--color-text-primary:#e4e4e7;--color-text-secondary:#a1a1aa;--color-text-tertiary:#71717a;--color-text-inverse:#1a1a2e;--color-border:#2a2a4a;--color-border-focus:#818cf8;--color-accent:#818cf8;--color-accent-hover:#6366f1;--color-accent-light:#1e1b4b;--color-error:#f87171;--color-success:#34d399;--color-warning:#fbbf24;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0006;--shadow-lg:0 10px 15px -3px #00000080}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:background-color var(--transition-normal), color var(--transition-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-text-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.app__tabs{border-bottom:1px solid var(--color-border);background-color:var(--color-bg-secondary);padding:0 var(--space-md);display:flex}.app__tab{padding:var(--space-sm) var(--space-lg);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;min-height:44px;font-size:14px;font-weight:500}.app__tab:hover{color:var(--color-text-primary)}.app__tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.app__content{flex-direction:column;flex:1;display:flex;overflow:hidden}@media (width<=767px){.app__tabs{padding:0 var(--space-sm)}.app__tab{padding:var(--space-sm) var(--space-md);font-size:13px}}
