:root,[data-theme=light]{--bg:#f6f7f9;--bg-panel:#fff;--bg-hover:#eef0f4;--bg-active:#e6e9f7;--bg-code:#f2f3f7;--border:#e3e6ec;--text:#1c2024;--text-dim:#6b7280;--accent:#4f46e5;--accent-soft:#eceafd;--danger:#dc2626;--shadow:0 8px 30px #1418281f;--hl-keyword:#7c3aed;--hl-string:#0e7490;--hl-number:#b45309;--hl-comment:#94a3b8;--hl-func:#2563eb;--hl-title:#4f46e5;--hl-attr:#0f766e}[data-theme=dark]{--bg:#101216;--bg-panel:#171a21;--bg-hover:#1f232c;--bg-active:#232941;--bg-code:#1b1e26;--border:#262b35;--text:#e6e8ec;--text-dim:#9aa1ad;--accent:#818cf8;--accent-soft:#232842;--danger:#f87171;--shadow:0 8px 30px #00000080;--hl-keyword:#c4b5fd;--hl-string:#67e8f9;--hl-number:#fdba74;--hl-comment:#64748b;--hl-func:#93c5fd;--hl-title:#a5b4fc;--hl-attr:#5eead4}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea,select{font:inherit;color:var(--text);background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:7px 10px}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.boot{place-items:center;gap:10px;height:100vh;display:grid}.boot-logo{background:var(--accent);border-radius:12px;width:42px;height:42px;animation:1.2s infinite alternate pulse}.boot-text{color:var(--text-dim)}@keyframes pulse{0%{opacity:.5;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.shell{grid-template-columns:272px 1fr;height:100vh;display:grid}.sidebar{background:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.main{flex-direction:column;min-width:0;min-height:0;display:flex}.side-top{justify-content:space-between;align-items:center;gap:8px;padding:14px 14px 8px;display:flex}.brand{letter-spacing:.2px;color:var(--accent);font-size:16px;font-weight:700}#btn-new{background:var(--accent);color:#fff;white-space:nowrap;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600}#btn-new:hover{filter:brightness(1.08)}.side-search{padding:4px 14px 8px}.side-search input{width:100%;font-size:13px}.chat-list{flex:1;padding:4px 8px 12px;overflow-y:auto}.group-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);padding:12px 8px 4px;font-size:11px}.chat-item{border-radius:8px;align-items:center;gap:2px;padding:2px 4px 2px 8px;display:flex}.chat-item:hover{background:var(--bg-hover)}.chat-item.active{background:var(--bg-active)}.chat-open{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;padding:6px 4px;font-size:14px;overflow:hidden}.chat-item .icon{opacity:0;color:var(--text-dim);border-radius:6px;padding:4px 6px}.chat-item:hover .icon{opacity:1}.chat-item .icon:hover{background:var(--bg);color:var(--text)}.chat-item .icon.danger:hover{color:var(--danger)}.side-foot{border-top:1px solid var(--border);gap:8px;padding:10px 14px;display:grid}#model-select{width:100%;font-size:13px}.foot-row{align-items:center;gap:6px;font-size:13px;display:flex}.foot-row button,.foot-row a{color:var(--text-dim);border:1px solid var(--border);background:var(--bg-panel);border-radius:7px;padding:5px 9px;text-decoration:none}.foot-row button:hover,.foot-row a:hover{color:var(--text);background:var(--bg-hover)}.topbar{border-bottom:1px solid var(--border);background:var(--bg-panel);align-items:center;gap:10px;padding:10px 18px;display:flex}.title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15px;font-weight:600;overflow:hidden}.chip{color:var(--text-dim);background:var(--bg-hover);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px}#btn-menu{padding:4px 8px;font-size:18px;display:none}.messages{scroll-behavior:smooth;flex:1;padding:22px 18px 12px;overflow-y:auto}.messages>*{max-width:780px;margin:0 auto 18px}.msg.user{flex-direction:column;align-items:flex-end;display:flex}.msg.user .bubble{background:var(--accent);color:#fff;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px 14px 4px;max-width:85%;padding:9px 14px}.msg.user .msg-meta{color:var(--text-dim);margin-top:3px;font-size:11px}.msg.assistant .msg-meta{color:var(--text-dim);margin-bottom:4px;font-size:12px}.msg.assistant.errored .md{border-left:3px solid var(--danger);padding-left:10px}.msg-actions{opacity:0;gap:2px;margin-top:2px;transition:opacity .12s;display:flex}.msg:hover .msg-actions{opacity:1}.msg-actions .icon{color:var(--text-dim);border-radius:6px;padding:4px 7px;font-size:13px}.msg-actions .icon:hover{background:var(--bg-hover);color:var(--text)}.reasoning{border:1px dashed var(--border);color:var(--text-dim);border-radius:8px;margin:4px 0 8px;padding:6px 10px;font-size:13px}.reasoning summary{cursor:pointer;-webkit-user-select:none;user-select:none}.reasoning .md{white-space:pre-wrap;margin-top:6px}.md{overflow-wrap:anywhere}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:.6em 0}.md h1,.md h2,.md h3,.md h4{margin:1em 0 .4em;line-height:1.3}.md h1{font-size:1.35em}.md h2{font-size:1.2em}.md h3{font-size:1.08em}.md ul,.md ol{margin:.5em 0;padding-left:1.5em}.md li{margin:.2em 0}.md a{color:var(--accent)}.md blockquote{border-left:3px solid var(--accent-soft);color:var(--text-dim);background:var(--bg-hover);border-radius:0 8px 8px 0;margin:.6em 0;padding:.2em 1em}.md code{background:var(--bg-code);border-radius:5px;padding:.12em .4em;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.92em}.md pre{background:var(--bg-code);border:1px solid var(--border);border-radius:10px;padding:12px 14px;overflow-x:auto}.md pre code{background:0 0;padding:0;font-size:13px;line-height:1.5}.md table{border-collapse:collapse;margin:.8em 0;font-size:14px;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--border);text-align:left;padding:6px 12px}.md th{background:var(--bg-hover)}.md hr{border:none;border-top:1px solid var(--border);margin:1.2em 0}.md img{border-radius:8px;max-width:100%}.hljs-keyword,.hljs-selector-tag,.hljs-meta{color:var(--hl-keyword)}.hljs-string,.hljs-regexp,.hljs-addition{color:var(--hl-string)}.hljs-number,.hljs-literal{color:var(--hl-number)}.hljs-comment,.hljs-quote{color:var(--hl-comment);font-style:italic}.hljs-function .hljs-title,.hljs-title.function_,.hljs-built_in{color:var(--hl-func)}.hljs-title,.hljs-title.class_,.hljs-type{color:var(--hl-title)}.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-template-variable,.hljs-name{color:var(--hl-attr)}.hljs-symbol,.hljs-bullet,.hljs-section{color:var(--accent)}.empty{flex:1;place-content:center;justify-items:center;gap:6px;padding-bottom:8vh;display:grid}.empty-logo{background:var(--accent);width:54px;height:54px;box-shadow:var(--shadow);border-radius:16px}.empty h1{margin:10px 0 0;font-size:24px}.empty-sub{color:var(--text-dim);margin:0}.empty-hint{color:var(--text-dim);margin:4px 0 0;font-size:13px}.composer{background:linear-gradient(transparent, var(--bg) 30%);padding:10px 18px 16px}.composer-row{background:var(--bg-panel);border:1px solid var(--border);max-width:780px;box-shadow:var(--shadow);border-radius:14px;align-items:flex-end;gap:8px;margin:0 auto;padding:8px;display:flex}#input{resize:none;background:0 0;border:none;flex:1;max-height:200px;padding:6px 8px}#input:focus{outline:none}#btn-send,#btn-stop{border-radius:10px;padding:8px 16px;font-size:14px;font-weight:600}#btn-send{background:var(--accent);color:#fff}#btn-send:hover{filter:brightness(1.08)}#btn-stop{background:var(--danger);color:#fff}.overlay{z-index:30;background:#0a0c1273;place-items:start center;padding-top:12vh;display:grid;position:fixed;inset:0}.overlay[hidden]{display:none}.overlay-card{background:var(--bg-panel);border:1px solid var(--border);width:min(640px,100vw - 32px);box-shadow:var(--shadow);border-radius:14px;gap:10px;padding:14px;display:grid}.overlay-card input,.overlay-card textarea{width:100%}.overlay-actions{justify-content:flex-end;gap:8px;display:flex}.overlay-actions .primary{background:var(--accent);color:#fff;border-radius:8px;padding:7px 14px}.search-results{gap:6px;max-height:50vh;display:grid;overflow-y:auto}.search-hit{border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:8px 12px}.search-hit:hover{background:var(--bg-hover)}.hit-title{font-size:13px;font-weight:600}.hit-body{color:var(--text-dim);margin:2px 0;font-size:13px}.hit-meta{color:var(--text-dim);font-size:11px}.muted{color:var(--text-dim)}.pad{padding:12px}.toast{background:var(--text);color:var(--bg-panel);box-shadow:var(--shadow);z-index:40;border-radius:10px;max-width:90vw;padding:9px 16px;font-size:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast[hidden]{display:none}@media (width<=768px){.shell{grid-template-columns:1fr}.sidebar{z-index:20;box-shadow:var(--shadow);transition:transform .18s;position:fixed;inset:0 30% 0 0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}#btn-menu{display:block}.messages{padding:14px 10px}.composer{padding:8px 10px 12px}}
