.splash[data-v-977d5c3e]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg);display:flex;align-items:center;justify-content:center}.splash-inner[data-v-977d5c3e]{display:flex;flex-direction:column;align-items:center;gap:16px}.logo[data-v-977d5c3e]{opacity:0;transform:scale(.6);transition:opacity .4s ease,transform .4s cubic-bezier(.34,1.56,.64,1)}.logo.animate[data-v-977d5c3e]{opacity:1;transform:scale(1)}.app-name[data-v-977d5c3e]{font-size:20px;font-weight:600;color:var(--text);opacity:0;transform:translateY(8px);transition:opacity .4s ease .2s,transform .4s ease .2s}.logo.animate~.app-name[data-v-977d5c3e]{opacity:1;transform:translateY(0)}.splash-leave-active[data-v-977d5c3e]{transition:opacity .4s ease}.splash-leave-to[data-v-977d5c3e]{opacity:0}.confirm-overlay[data-v-3ef360b4]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000004d;display:flex;align-items:center;justify-content:center;padding:20px}.confirm-box[data-v-3ef360b4]{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;width:100%;max-width:320px;box-shadow:0 8px 32px #0000001f;animation:fadeIn .15s ease}.confirm-msg[data-v-3ef360b4]{font-size:15px;color:var(--text);margin-bottom:20px;line-height:1.5}.confirm-actions[data-v-3ef360b4]{display:flex;justify-content:flex-end;gap:8px}.btn-danger[data-v-3ef360b4]{background:#dc2626;color:#fff;border-radius:var(--radius-sm);padding:7px 16px;font-size:14px;font-family:var(--font);font-weight:500;cursor:pointer;border:none;transition:background .15s}.btn-danger[data-v-3ef360b4]:hover{background:#b91c1c}.sidebar[data-v-256ed8d9]{width:var(--sidebar-w);flex-shrink:0;height:100%;background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:transform .25s ease}@media (max-width: 640px){.sidebar[data-v-256ed8d9]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;width:80%;max-width:300px;transform:translate(-100%)}.sidebar.open[data-v-256ed8d9]{transform:translate(0)}}.sidebar-header[data-v-256ed8d9]{display:flex;align-items:center;justify-content:space-between;padding:16px 12px;border-bottom:1px solid var(--border)}.brand[data-v-256ed8d9]{font-weight:700;font-size:15px;color:var(--accent)}.conv-list[data-v-256ed8d9]{flex:1;overflow-y:auto;padding:8px 6px}.conv-item[data-v-256ed8d9]{display:flex;align-items:center;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;gap:6px;transition:background .12s;min-width:0}.conv-item[data-v-256ed8d9]:hover,.conv-item.active[data-v-256ed8d9]{background:var(--bg-hover)}.conv-item.pinned[data-v-256ed8d9]{border-left:2px solid var(--accent);padding-left:8px}.pin-icon[data-v-256ed8d9]{font-size:11px;flex-shrink:0}.conv-title[data-v-256ed8d9]{flex:1;font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.conv-item.active .conv-title[data-v-256ed8d9]{color:var(--text)}.conv-actions[data-v-256ed8d9]{display:flex;gap:2px;opacity:0;flex-shrink:0;transition:opacity .1s}.conv-item:hover .conv-actions[data-v-256ed8d9]{opacity:1}.action-btn[data-v-256ed8d9]{font-size:13px;padding:2px 5px;border-radius:4px;color:var(--text-dim);background:none;border:none;cursor:pointer;line-height:1;transition:background .1s,color .1s}.action-btn[data-v-256ed8d9]:hover{background:var(--border);color:var(--text)}.action-btn.del[data-v-256ed8d9]:hover{background:#fee2e2;color:#dc2626}.no-conv[data-v-256ed8d9]{padding:16px 10px;font-size:13px;color:var(--text-dim)}.sidebar-footer[data-v-256ed8d9]{padding:10px 12px;border-top:1px solid var(--border)}.footer-btn[data-v-256ed8d9]{width:100%;text-align:left;padding:8px 10px;font-size:13px;border-radius:var(--radius-sm)}.msg-row[data-v-225d09d6]{display:flex;align-items:flex-start;gap:10px;padding:10px 0;animation:fadeIn .18s ease}.msg-row.user[data-v-225d09d6]{flex-direction:row-reverse}.avatar[data-v-225d09d6]{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;margin-top:2px}.avatar img[data-v-225d09d6]{width:100%;height:100%;object-fit:cover}.user-avatar[data-v-225d09d6]{background:var(--bg-hover);color:var(--text-muted)}.bubble-wrap[data-v-225d09d6]{display:flex;flex-direction:column;gap:3px;max-width:72%}.bubble-wrap.user[data-v-225d09d6]{align-items:flex-end}.msg-meta[data-v-225d09d6]{display:flex;align-items:center;gap:6px;padding:0 4px}.msg-row.user .msg-meta[data-v-225d09d6]{flex-direction:row-reverse}.msg-name[data-v-225d09d6]{font-size:12px;font-weight:600;color:var(--text-muted)}.msg-time[data-v-225d09d6]{font-size:11px;color:var(--text-dim)}.bubble[data-v-225d09d6]{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px 16px 16px 4px;padding:10px 14px;font-size:15px;line-height:1.65;color:var(--text);word-break:break-word}.msg-row.user .bubble[data-v-225d09d6]{background:var(--accent);border-color:var(--accent);color:#fff;border-radius:16px 16px 4px}.bubble.error[data-v-225d09d6]{color:#dc2626}.bubble[data-v-225d09d6] pre{background:#1a1a1a;border-radius:8px;padding:10px 12px;overflow-x:auto;margin:6px 0;font-size:13px}.bubble[data-v-225d09d6] code{font-family:JetBrains Mono,monospace;font-size:13px;background:#00000014;padding:1px 5px;border-radius:4px}.msg-row.user .bubble[data-v-225d09d6] code{background:#fff3}.bubble[data-v-225d09d6] pre code{background:none;padding:0}.thinking-text[data-v-225d09d6]{color:var(--text-dim);font-style:italic}.chat-window[data-v-6264f33d]{flex:1;min-height:0;overflow-y:auto;padding:8px 20px;display:flex;flex-direction:column}.empty[data-v-6264f33d]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-dim)}.empty-icon[data-v-6264f33d]{font-size:32px;color:var(--accent);opacity:.6}.empty p[data-v-6264f33d]{font-size:15px}.input-bar[data-v-569b7867]{padding:12px 16px 8px;border-top:1px solid var(--border);background:var(--bg)}.input-wrap[data-v-569b7867]{display:flex;align-items:flex-end;gap:8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;transition:border-color .15s}.input-wrap[data-v-569b7867]:focus-within{border-color:var(--accent)}textarea[data-v-569b7867]{flex:1;resize:none;border:none;background:transparent;font-size:15px;line-height:1.5;color:var(--text);min-height:24px;max-height:160px;padding:0}textarea[data-v-569b7867]::placeholder{color:var(--text-dim)}.send-btn[data-v-569b7867]{flex-shrink:0;width:34px;height:34px;border-radius:8px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .15s,opacity .15s}.send-btn[data-v-569b7867]:disabled{background:var(--bg-hover);opacity:.5;cursor:default}.send-btn[data-v-569b7867]:not(:disabled):hover{background:var(--accent-hover)}.stop-btn[data-v-569b7867]{background:#a63d2f}.stop-btn[data-v-569b7867]:hover{background:#843025}.stop-icon[data-v-569b7867]{width:11px;height:11px;border-radius:2px;background:currentColor}.hint[data-v-569b7867]{font-size:11px;color:var(--text-dim);text-align:center;margin-top:6px}.model-selector[data-v-1e81a1bc]{position:relative}.current-model[data-v-1e81a1bc]{display:flex;align-items:center;gap:6px;font-size:13px;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-surface)}.current-model[data-v-1e81a1bc]:hover{background:var(--bg-hover)}.dot[data-v-1e81a1bc]{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}.chevron[data-v-1e81a1bc]{font-size:11px;transition:transform .15s}.chevron.rotated[data-v-1e81a1bc]{transform:rotate(180deg)}.dropdown-mask[data-v-1e81a1bc]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:49}.dropdown[data-v-1e81a1bc]{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;z-index:50;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 8px 24px #0000001a;animation:fadeIn .12s ease}.option[data-v-1e81a1bc]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;gap:12px;transition:background .1s}.option[data-v-1e81a1bc]:hover{background:var(--bg-hover)}.option.active .option-name[data-v-1e81a1bc]{color:var(--accent);font-weight:600}.option-name[data-v-1e81a1bc]{font-size:14px}.option-provider[data-v-1e81a1bc]{font-size:11px;color:var(--text-dim)}.no-models[data-v-1e81a1bc]{padding:12px 14px;font-size:13px;color:var(--text-dim)}.overlay[data-v-982555dd]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#00000040;display:flex;align-items:flex-end;justify-content:center}@media (min-width: 641px){.overlay[data-v-982555dd]{align-items:center}}.panel[data-v-982555dd]{width:100%;max-width:560px;max-height:92vh;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;display:flex;flex-direction:column;overflow:hidden;animation:fadeIn .2s ease}@media (min-width: 641px){.panel[data-v-982555dd]{border-radius:var(--radius)}}.panel-header[data-v-982555dd]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.panel-header h2[data-v-982555dd]{font-size:16px;font-weight:600}.panel-body[data-v-982555dd]{overflow-y:auto;padding:0 20px 24px}section[data-v-982555dd]{padding-top:22px}section+section[data-v-982555dd]{border-top:1px solid var(--border);margin-top:6px}h3[data-v-982555dd]{font-size:11px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.desc[data-v-982555dd]{font-size:13px;color:var(--text-dim);margin-bottom:10px;line-height:1.5}.field[data-v-982555dd]{margin-bottom:10px}.field label[data-v-982555dd]{display:block;font-size:12px;color:var(--text-muted);margin-bottom:5px}.field input[data-v-982555dd],.field textarea[data-v-982555dd],.field select[data-v-982555dd]{width:100%;padding:8px 10px;font-size:14px;border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text);border:1px solid var(--border);font-family:var(--font)}.field textarea[data-v-982555dd]{resize:vertical;min-height:90px}.field select[data-v-982555dd]{cursor:pointer}.field.row[data-v-982555dd]{display:flex;align-items:center;justify-content:space-between}.field.row label[data-v-982555dd]{margin:0;font-size:13px;color:var(--text-muted)}.val[data-v-982555dd]{color:var(--accent);font-weight:600;margin-left:6px}input[type=range][data-v-982555dd]{width:140px;accent-color:var(--accent);border:none;padding:0;background:none}.model-list[data-v-982555dd]{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.model-card[data-v-982555dd]{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.model-card-header[data-v-982555dd]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;transition:background .1s}.model-card-header[data-v-982555dd]:hover{background:var(--bg-hover)}.model-card-name[data-v-982555dd]{font-size:14px;font-weight:500}.model-card-actions[data-v-982555dd]{display:flex;align-items:center;gap:6px}.model-badge[data-v-982555dd]{font-size:10px;color:var(--text-dim);background:var(--bg-hover);padding:2px 6px;border-radius:4px}.action-btn[data-v-982555dd]{font-size:13px;padding:2px 6px;border-radius:4px;color:var(--text-dim);background:none;border:none;cursor:pointer;transition:background .1s,color .1s}.action-btn.del[data-v-982555dd]:hover{background:#fee2e2;color:#dc2626}.chevron[data-v-982555dd]{font-size:12px;transition:transform .15s;color:var(--text-dim)}.chevron.rotated[data-v-982555dd]{transform:rotate(180deg)}.model-card-body[data-v-982555dd]{padding:12px;border-top:1px solid var(--border);background:var(--bg-surface);display:flex;flex-direction:column;gap:8px}.btn-add-model[data-v-982555dd]{width:100%;padding:9px;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:13px;cursor:pointer;transition:background .1s,color .1s;font-family:var(--font)}.btn-add-model[data-v-982555dd]:hover{background:var(--bg-hover);color:var(--text);border-color:var(--accent)}.toggle[data-v-982555dd]{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer}.toggle input[data-v-982555dd]{opacity:0;width:0;height:0}.slider[data-v-982555dd]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-hover);border-radius:22px;transition:background .2s}.slider[data-v-982555dd]:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}.toggle input:checked+.slider[data-v-982555dd]{background:var(--accent)}.toggle input:checked+.slider[data-v-982555dd]:before{transform:translate(18px)}.avatar-picker[data-v-982555dd]{display:flex;gap:8px}.avatar-opt[data-v-982555dd]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);cursor:pointer;transition:border-color .15s,background .15s;font-family:var(--font)}.avatar-opt[data-v-982555dd]:hover{background:var(--bg-hover)}.avatar-opt.selected[data-v-982555dd]{border-color:var(--accent);background:var(--bg-surface);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.avatar-opt img[data-v-982555dd]{width:28px;height:28px;object-fit:contain}.avatar-opt span[data-v-982555dd]{font-size:11px;color:var(--text-muted)}.memory-list[data-v-982555dd]{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.memory-item[data-v-982555dd]{display:flex;align-items:center;justify-content:space-between;background:var(--bg-surface);border:1px solid var(--border);padding:8px 10px;border-radius:var(--radius-sm);font-size:13px}.memory-item span[data-v-982555dd]{flex:1;color:var(--text-muted)}.memory-add[data-v-982555dd]{display:flex;gap:8px}.memory-add input[data-v-982555dd]{flex:1;padding:8px 10px;font-size:14px}.memory-add .btn-accent[data-v-982555dd]{white-space:nowrap}.app[data-v-6b9c1767]{display:flex;height:100%;width:100%;overflow:hidden}.overlay-mask[data-v-6b9c1767]{display:none}@media (max-width: 640px){.overlay-mask[data-v-6b9c1767]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:49;background:#00000080}}.main[data-v-6b9c1767]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.topbar[data-v-6b9c1767]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.menu-btn[data-v-6b9c1767]{font-size:18px}@media (min-width: 641px){.menu-btn[data-v-6b9c1767]{display:none}}.new-btn[data-v-6b9c1767]{margin-left:auto;font-size:20px;line-height:1;width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #faf7f4;--bg-surface: #f0ebe5;--bg-hover: #e8e2db;--border: #ddd6ce;--text: #1c1917;--text-muted: #78716c;--text-dim: #a8a29e;--accent: #d97706;--accent-hover:#b45309;--accent-light:#fef3c7;--user-bg: #f0ebe5;--sidebar-bg: #f5f0ea;--radius: 12px;--radius-sm: 8px;--font: "Inter", "PingFang SC", system-ui, sans-serif;--sidebar-w: 260px;--safe-bottom: env(safe-area-inset-bottom, 0px)}html,body{height:100%;width:100%}#app{width:100%;height:100%;height:100dvh;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}button{cursor:pointer;border:none;background:none;font-family:var(--font);color:var(--text);transition:background .15s,color .15s,opacity .15s}button:active{opacity:.7}input,textarea{font-family:var(--font);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .15s}input:focus,textarea:focus{border-color:var(--accent)}.btn-accent{background:var(--accent);color:#fff;border-radius:var(--radius-sm);padding:8px 16px;font-weight:500}.btn-accent:hover{background:var(--accent-hover)}.btn-ghost{color:var(--text-muted);border-radius:var(--radius-sm);padding:6px 10px}.btn-ghost:hover{background:var(--bg-hover);color:var(--text)}.safe-bottom{padding-bottom:var(--safe-bottom)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .2s ease}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.cursor{display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:2px;vertical-align:middle;animation:blink .8s infinite}
