:root{--bg:#ffffff;--bg-elev:#f7f7f5;--bg-sidebar:#f0efe9;--border:#e5e3db;--text:#23211d;--text-dim:#6b6961;--accent:#c96442;--accent-hover:#b4573a;--user-bubble:#eceae2;--code-bg:#0d1117;--danger:#c0392b}@media (prefers-color-scheme:dark){:root{--bg:#262624;--bg-elev:#2f2f2c;--bg-sidebar:#1f1f1d;--border:#3a3a36;--text:#ececec;--text-dim:#9a988f;--accent:#d97757;--accent-hover:#e08c70;--user-bubble:#38383400;--code-bg:#0d1117;--danger:#e06c5e}}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.6}#root,body,html,main{height:100%}button{font-family:inherit;cursor:pointer}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:280px;min-width:280px;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:margin-left .2s ease}.sidebar.collapsed{margin-left:-280px}.sidebar-head{padding:14px 14px 8px}.brand{font-weight:600;font-size:15px;display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--text)}.brand .dot{width:20px;height:20px;border-radius:6px;background:var(--accent);display:inline-block}.new-chat{width:100%;padding:10px 12px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:10px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;justify-content:center;transition:background .15s}.new-chat:hover{background:var(--border)}.thread-list{flex:1 1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:2px}.thread{padding:9px 10px;border-radius:8px;color:var(--text-dim);font-size:14px;display:flex;align-items:center;gap:6px;cursor:pointer;position:relative}.thread.active,.thread:hover{background:var(--bg-elev);color:var(--text)}.thread-title{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-actions{display:none;gap:2px}.thread:hover .thread-actions{display:flex}.icon-btn{background:transparent;border:none;color:var(--text-dim);padding:3px;border-radius:6px;line-height:0}.icon-btn:hover{background:var(--border);color:var(--text)}.icon-btn.danger:hover{color:var(--danger)}.sidebar-foot{padding:10px 14px;border-top:1px solid var(--border);font-size:12px;color:var(--text-dim)}.main{flex:1 1;display:flex;flex-direction:column;min-width:0}.topbar{height:52px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;padding:0 16px}.topbar .spacer{flex:1 1}.model-select{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:6px 10px;font-size:13px}.messages{flex:1 1;overflow-y:auto;padding:24px 0 12px}.messages-inner{max-width:760px;margin:0 auto;padding:0 20px}.empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-dim);gap:10px;text-align:center}.empty h2{color:var(--text);font-weight:600;margin:0}.msg{margin-bottom:22px}.msg-role{font-size:12px;font-weight:600;color:var(--text-dim);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.msg.user .bubble{background:var(--user-bubble);border:1px solid var(--border);border-radius:14px;padding:10px 14px;white-space:pre-wrap;word-wrap:break-word}.msg.assistant .bubble{padding:0 2px}.bubble :first-child{margin-top:0}.bubble :last-child{margin-bottom:0}.bubble p{margin:0 0 12px}.bubble ol,.bubble ul{margin:0 0 12px;padding-left:22px}.bubble h1,.bubble h2,.bubble h3{margin:18px 0 8px;line-height:1.3}.bubble a{color:var(--accent)}.bubble table{border-collapse:collapse;margin:0 0 12px;display:block;overflow-x:auto}.bubble td,.bubble th{border:1px solid var(--border);padding:6px 10px;text-align:left}.bubble code:not(pre code){background:var(--bg-elev);border:1px solid var(--border);padding:1px 5px;border-radius:5px;font-size:.88em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.blink{display:inline-block;width:8px;height:1em;background:var(--accent);vertical-align:text-bottom;animation:blink 1s step-start infinite;margin-left:2px}@keyframes blink{50%{opacity:0}}.thinking{margin:0 0 12px}.thinking-toggle{background:transparent;border:none;padding:2px 0;color:var(--text-dim);font-size:13px;display:flex;align-items:center;gap:6px}.thinking-toggle:hover{color:var(--text)}.thinking-toggle .chev{font-size:12px;width:10px;display:inline-block}.thinking-toggle .spark{font-size:12px}.thinking-toggle .pulse{animation:thinkpulse 1.4s ease-in-out infinite}@keyframes thinkpulse{0%,to{opacity:.45}50%{opacity:1}}.thinking-term{margin-top:6px;border-left:2px solid var(--border);padding:2px 0 2px 12px;max-height:300px;overflow-y:auto}.thinking-term pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;color:var(--text-dim);opacity:.85}.term-caret{animation:blink 1s step-start infinite;margin-left:1px}.choices{margin:4px 0 12px}.choices-list{display:flex;flex-direction:column;gap:8px}.choice-btn{display:flex;align-items:center;gap:10px;text-align:left;width:100%;padding:11px 14px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:12px;font-size:14px;transition:border-color .12s,background .12s}.choice-btn:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--bg-elev))}.choice-btn.sel{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-elev))}.choice-btn:disabled{cursor:default;opacity:.65}.choice-box{font-size:16px;line-height:1;color:var(--accent);flex-shrink:0}.choice-confirm{margin-top:10px;padding:9px 16px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:14px;font-weight:500}.choice-confirm:hover:not(:disabled){background:var(--accent-hover)}.choice-confirm:disabled{opacity:.4;cursor:default}.choices-done{margin-top:8px;font-size:13px;color:var(--text-dim)}.code-block{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin:0 0 14px;background:var(--code-bg)}.code-head{display:flex;align-items:center;justify-content:space-between;padding:6px 10px 6px 12px;background:#161b22;border-bottom:1px solid #21262d;font-size:12px;color:#9aa4b0}.code-head .lang{font-family:ui-monospace,monospace}.code-actions{display:flex;gap:4px}.code-btn{background:transparent;border:1px solid #30363d;color:#adbac7;border-radius:6px;padding:3px 8px;font-size:12px}.code-btn:hover{background:#21262d;color:#fff}.code-block pre{margin:0;padding:14px;overflow-x:auto}.code-block pre code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;background:transparent;padding:0}.composer-wrap{padding:8px 0 18px;border-top:1px solid transparent}.composer{max-width:760px;margin:0 auto;padding:0 20px}.composer-box{border:1px solid var(--border);background:var(--bg-elev);border-radius:16px;padding:8px;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 12px rgba(0,0,0,.04)}.composer-box:focus-within{border-color:var(--accent)}.composer-box.dragover{border-color:var(--accent);border-style:dashed;background:color-mix(in srgb,var(--accent) 8%,var(--bg-elev))}.composer-row{display:flex;align-items:flex-end;gap:8px}.attach-btn{background:transparent;border:none;font-size:18px;line-height:1;padding:6px;border-radius:8px;flex-shrink:0;opacity:.75}.attach-btn:hover{background:var(--border);opacity:1}.attach-previews{display:flex;flex-wrap:wrap;gap:8px;padding:4px 4px 0}.attach-chip{position:relative;border:1px solid var(--border);border-radius:10px;background:var(--bg);overflow:hidden}.attach-chip img{display:block;width:64px;height:64px;object-fit:cover}.attach-file{display:inline-block;padding:8px 12px;font-size:13px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;border:none;background:rgba(0,0,0,.6);color:#fff;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center}.attach-remove:hover{background:var(--danger)}.msg-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.msg-attachments img{max-width:220px;max-height:220px;border-radius:10px;border:1px solid var(--border);display:block}.file-chip{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:6px 10px;font-size:13px}.composer textarea{flex:1 1;resize:none;border:none;outline:none;background:transparent;color:var(--text);font-family:inherit;font-size:15px;line-height:1.5;max-height:220px;padding:6px 0}.send-btn{background:var(--accent);color:#fff;border:none;border-radius:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.send-btn:hover{background:var(--accent-hover)}.send-btn:disabled{opacity:.4;cursor:default}.send-btn.stop{background:var(--text-dim)}.composer-hint{text-align:center;margin-top:8px}.composer-hint,.cost{font-size:11px;color:var(--text-dim)}.cost{margin-top:6px}.login-wrap{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-sidebar);padding:20px}.login-card{width:100%;max-width:360px;background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:28px 26px;box-shadow:0 8px 30px rgba(0,0,0,.1);display:flex;flex-direction:column}.login-brand{font-weight:600;font-size:18px;display:flex;align-items:center;gap:8px}.login-brand .dot{width:22px;height:22px;border-radius:6px;background:var(--accent)}.login-sub{color:var(--text-dim);font-size:14px;margin:6px 0 20px}.login-label{font-size:13px;font-weight:500;color:var(--text-dim);margin-bottom:6px}.login-input{border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:10px;padding:10px 12px;font-size:15px;font-family:inherit;margin-bottom:16px;outline:none}.login-input:focus{border-color:var(--accent)}.login-btn{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:11px;font-size:15px;font-weight:500;margin-top:4px}.login-btn:hover{background:var(--accent-hover)}.login-btn:disabled{opacity:.6}.login-error{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);border-radius:8px;padding:8px 10px;font-size:13px;margin-bottom:14px}.logout-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:8px;padding:6px 10px;font-size:12px;width:100%;margin-top:8px}.logout-btn:hover{background:var(--bg-elev);color:var(--text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}
/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.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-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{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}