.overlay[data-v-eb1292af]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.drawer[data-v-eb1292af]{position:fixed;top:0;left:0;bottom:0;width:min(300px,82vw);background:var(--bg-secondary);border-right:1px solid var(--border);z-index:101;transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);padding-top:var(--safe-top);display:flex;flex-direction:column}.drawer.open[data-v-eb1292af]{transform:translate(0)}.drawer-header[data-v-eb1292af]{display:flex;align-items:center;justify-content:space-between;padding:20px 18px 16px}.drawer-brand[data-v-eb1292af]{font-size:17px;font-weight:700;letter-spacing:-.03em}.close-btn[data-v-eb1292af]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.nav-list[data-v-eb1292af]{padding:8px 12px;flex:1;display:flex;flex-direction:column;gap:2px;overflow-y:auto;min-height:0}.session-section[data-v-eb1292af]{padding:8px 12px 0;border-bottom:1px solid var(--border);margin-bottom:4px;flex-shrink:0;max-height:42vh;display:flex;flex-direction:column;min-height:0}.section-head[data-v-eb1292af]{display:flex;align-items:center;justify-content:space-between;padding:8px 6px 10px}.section-label[data-v-eb1292af]{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.new-chat-btn[data-v-eb1292af]{font-size:13px;color:var(--accent);padding:4px 8px}.session-list[data-v-eb1292af]{overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding-bottom:8px}.session-item-row[data-v-eb1292af]{display:flex;align-items:center;gap:2px;border-radius:var(--radius-md)}.session-item-row.active[data-v-eb1292af]{background:var(--bg-tertiary)}.session-item[data-v-eb1292af]{display:flex;flex:1;min-width:0;padding:8px 10px;border-radius:var(--radius-md);text-align:left}.session-main[data-v-eb1292af]{display:flex;align-items:center;gap:10px;min-width:0}.session-avatar[data-v-eb1292af]{width:34px;height:34px;border-radius:50%;background:var(--accent-dim);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0;overflow:hidden}.session-avatar img[data-v-eb1292af]{width:100%;height:100%;object-fit:cover}.session-text[data-v-eb1292af]{min-width:0;display:flex;flex-direction:column;gap:2px}.session-edit-btn[data-v-eb1292af],.session-delete-btn[data-v-eb1292af]{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:var(--radius-sm)}.session-delete-btn[data-v-eb1292af]:active{color:var(--danger);background:#ef44441a}.session-title[data-v-eb1292af]{font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-meta[data-v-eb1292af]{font-size:11px;color:var(--text-muted)}.nav-item[data-v-eb1292af]{display:flex;align-items:center;gap:14px;padding:14px;border-radius:var(--radius-md);font-size:15px;color:var(--text-secondary);text-align:left;min-height:50px;transition:background .15s,color .15s}.nav-item.active[data-v-eb1292af]{background:var(--bg-tertiary);color:var(--text-primary)}.nav-icon[data-v-eb1292af]{flex-shrink:0;opacity:.7}.nav-item.active .nav-icon[data-v-eb1292af]{opacity:1;stroke:var(--accent)}.drawer-footer[data-v-eb1292af]{padding:16px 18px calc(16px + var(--safe-bottom));border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.version[data-v-eb1292af]{font-size:12px;color:var(--text-muted)}.connected[data-v-eb1292af]{font-size:12px;color:var(--success)}.page-header[data-v-8a82f288]{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-primary);flex-shrink:0;min-height:52px}.icon-btn[data-v-8a82f288]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary);flex-shrink:0}.icon-btn[data-v-8a82f288]:active{background:var(--bg-tertiary)}.header-center[data-v-8a82f288]{flex:1;min-width:0}.chat-head[data-v-8a82f288]{display:flex;align-items:center;gap:10px}.chat-avatar[data-v-8a82f288]{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0}.chat-avatar img[data-v-8a82f288]{width:100%;height:100%;object-fit:cover}.header-title[data-v-8a82f288]{font-size:16px;font-weight:600;letter-spacing:-.02em}.header-online[data-v-8a82f288]{color:var(--success);font-weight:500;font-size:16px}.header-sub[data-v-8a82f288]{display:block;font-size:12px;color:var(--text-muted);margin-top:2px}.header-right[data-v-8a82f288]{display:flex;align-items:center;gap:4px;flex-shrink:0}.chat-header-actions[data-v-c7017265]{display:flex;align-items:center;gap:4px}.header-action-btn[data-v-c7017265]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);border-radius:var(--radius-sm)}.header-action-btn[data-v-c7017265]:active{background:var(--bg-tertiary)}.header-action-btn.is-disabled[data-v-c7017265]{opacity:.4;pointer-events:none}.avatar-picker[data-v-fc57876d]{display:flex;align-items:center;gap:12px}.avatar-btn[data-v-fc57876d]{position:relative;width:72px;height:72px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid var(--border)}.avatar-btn.user[data-v-fc57876d]{background:var(--blue);color:#fff}.avatar-btn.ai[data-v-fc57876d]{background:var(--bg-tertiary)}.avatar-img[data-v-fc57876d]{width:100%;height:100%;object-fit:cover}.avatar-fallback[data-v-fc57876d]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:24px;font-weight:600}.avatar-btn.ai .avatar-fallback[data-v-fc57876d]{background:conic-gradient(from 180deg,#8b7cf6,#e67e22,#22c55e,#3b82f6,#8b7cf6);font-size:0}.avatar-overlay[data-v-fc57876d]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;opacity:0;transition:opacity .15s}.avatar-btn:active .avatar-overlay[data-v-fc57876d],.avatar-btn:hover .avatar-overlay[data-v-fc57876d]{opacity:1}.remove-btn[data-v-fc57876d]{font-size:13px;color:var(--danger);padding:6px 10px}.overlay[data-v-1e24bb0a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:200}.sheet[data-v-1e24bb0a]{position:fixed;left:0;right:0;bottom:0;max-height:88vh;background:var(--bg-secondary);border-radius:16px 16px 0 0;z-index:201;transform:translateY(100%);transition:transform .28s ease;display:flex;flex-direction:column;padding-bottom:var(--safe-bottom)}.sheet.open[data-v-1e24bb0a]{transform:translateY(0)}.sheet-header[data-v-1e24bb0a]{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border)}.sheet-title[data-v-1e24bb0a]{font-size:16px;font-weight:600}.close-btn[data-v-1e24bb0a]{font-size:24px;line-height:1;color:var(--text-muted);padding:4px 8px}.sheet-body[data-v-1e24bb0a]{padding:16px 18px;overflow-y:auto;flex:1}.loading[data-v-1e24bb0a]{padding:24px;color:var(--text-muted)}.field-row[data-v-1e24bb0a]{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}.field[data-v-1e24bb0a]{flex:1;display:flex;flex-direction:column;gap:6px}.label[data-v-1e24bb0a]{font-size:13px;color:var(--text-secondary);font-weight:600}.input[data-v-1e24bb0a]{width:100%;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary)}.l2-badge[data-v-1e24bb0a]{font-size:13px;color:var(--accent);background:var(--accent-dim);padding:8px 12px;border-radius:var(--radius-md);margin-bottom:16px}.prompt-section[data-v-1e24bb0a]{display:flex;flex-direction:column;gap:8px}.prompt-head[data-v-1e24bb0a]{display:flex;align-items:center;justify-content:space-between;gap:8px}.toggle[data-v-1e24bb0a]{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.hint[data-v-1e24bb0a]{font-size:13px;color:var(--text-muted);line-height:1.5}.token-row[data-v-1e24bb0a]{display:flex;justify-content:flex-end}.token-badge[data-v-1e24bb0a]{font-size:12px;color:var(--accent);background:var(--accent-dim);padding:3px 10px;border-radius:10px}.prompt-editor[data-v-1e24bb0a]{width:100%;min-height:160px;padding:12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:14px;line-height:1.5;resize:vertical}.memory-section[data-v-1e24bb0a]{margin-top:8px;border-top:1px solid var(--border);padding-top:12px}.memory-toggle[data-v-1e24bb0a]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;font-size:14px;font-weight:600;color:var(--text-primary)}.memory-toggle-meta[data-v-1e24bb0a]{font-size:12px;font-weight:500;color:var(--text-muted);display:flex;align-items:center;gap:6px}.chevron[data-v-1e24bb0a]{font-size:11px}.memory-body[data-v-1e24bb0a]{display:flex;flex-direction:column;gap:12px;padding-bottom:8px}.memory-group[data-v-1e24bb0a]{display:flex;flex-direction:column;gap:8px}.memory-group-title[data-v-1e24bb0a]{font-size:12px;font-weight:600;color:var(--text-secondary)}.memory-item[data-v-1e24bb0a]{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-primary)}.memory-item-main[data-v-1e24bb0a]{flex:1;min-width:0}.memory-item-main strong[data-v-1e24bb0a]{display:block;font-size:13px;margin:4px 0}.memory-tag[data-v-1e24bb0a]{font-size:11px;color:var(--accent);background:var(--accent-dim);padding:2px 8px;border-radius:8px}.memory-content[data-v-1e24bb0a]{font-size:12px;color:var(--text-muted);line-height:1.45;word-break:break-word}.memory-delete[data-v-1e24bb0a]{flex-shrink:0;font-size:12px;color:#e55;padding:4px 8px}.memory-delete[data-v-1e24bb0a]:disabled{opacity:.5}.sheet-footer[data-v-1e24bb0a]{display:flex;gap:10px;padding:14px 18px;border-top:1px solid var(--border)}.btn-secondary[data-v-1e24bb0a],.btn-primary[data-v-1e24bb0a]{flex:1;padding:12px;border-radius:var(--radius-md);font-weight:600}.btn-secondary[data-v-1e24bb0a]{background:var(--bg-tertiary);color:var(--text-secondary)}.btn-primary[data-v-1e24bb0a]{background:var(--accent);color:#fff}.btn-primary[data-v-1e24bb0a]:disabled{opacity:.6}.pwa-hint[data-v-054760de]{position:fixed;left:12px;right:12px;bottom:calc(72px + var(--safe-bottom, 0px));z-index:200;display:flex;gap:8px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:#1e1e1ef0;border:1px solid rgba(255,255,255,.12);color:#f5f5f5;box-shadow:0 8px 32px #00000059;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.pwa-hint-body[data-v-054760de]{flex:1;min-width:0}.pwa-hint-title[data-v-054760de]{margin:0 0 6px;font-size:14px;font-weight:600}.pwa-hint-text[data-v-054760de]{margin:0 0 6px;font-size:13px;line-height:1.45;color:#ffffffd9}.share-icon[data-v-054760de]{display:inline-block;margin:0 2px;font-size:15px}.pwa-hint-url[data-v-054760de]{margin:0 0 4px;font-size:11px;color:#ffffff80;word-break:break-all}.pwa-hint-note[data-v-054760de]{margin:0;font-size:11px;color:#ffb478e6}.pwa-hint-close[data-v-054760de]{flex-shrink:0;width:28px;height:28px;border:none;border-radius:50%;background:#ffffff1a;color:#fff;font-size:12px;cursor:pointer}.app-shell[data-v-14c88d73]{display:flex;flex-direction:column;height:100%;min-height:var(--app-height);padding-top:var(--safe-top);background:var(--bg-primary)}.main-content[data-v-14c88d73]{flex:1;overflow:hidden;display:flex;flex-direction:column}.icon-btn[data-v-14c88d73]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.sync-badge[data-v-14c88d73]{font-size:11px;color:var(--success);background:#22c55e1f;padding:4px 10px;border-radius:12px;white-space:nowrap}.login-page[data-v-e11ac59f]{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-width:430px;margin:0 auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:block;padding:calc(12px + var(--safe-top)) 20px calc(48px + var(--keyboard-inset, 0px));background:var(--bg-primary)}.login-card[data-v-e11ac59f]{width:100%;max-width:360px;margin:0 auto;display:flex;flex-direction:column;gap:20px;padding-bottom:24px}.login-brand[data-v-e11ac59f]{text-align:center;padding-top:8px}.login-icon[data-v-e11ac59f]{width:56px;height:56px;border-radius:14px;margin-bottom:12px}.login-brand h1[data-v-e11ac59f]{font-size:20px;font-weight:700;letter-spacing:-.02em}.login-sub[data-v-e11ac59f]{margin-top:6px;font-size:14px;color:var(--text-muted)}.login-form[data-v-e11ac59f]{display:flex;flex-direction:column;gap:14px}.field[data-v-e11ac59f]{display:flex;flex-direction:column;gap:6px}.field-label[data-v-e11ac59f]{font-size:13px;font-weight:600;color:var(--text-secondary)}.field-input[data-v-e11ac59f]{padding:14px 16px;border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border);font-size:16px;color:var(--text-primary)}.field-input[data-v-e11ac59f]:focus{border-color:var(--border-light)}.field-input-token[data-v-e11ac59f]{font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.login-error[data-v-e11ac59f]{font-size:13px;color:var(--danger);text-align:center}.login-btn[data-v-e11ac59f]{margin-top:4px;padding:15px;border-radius:var(--radius-xl);background:var(--btn-white);color:var(--btn-white-text);font-size:16px;font-weight:600;transition:transform .18s cubic-bezier(.32,.72,0,1)}.login-btn[data-v-e11ac59f]:active:not(:disabled){transform:scale(.985)}.login-btn[data-v-e11ac59f]:disabled{opacity:.6}.login-hint[data-v-e11ac59f]{font-size:12px;color:var(--text-muted);text-align:center;line-height:1.5}@media(max-height:740px){.login-icon[data-v-e11ac59f]{width:48px;height:48px;margin-bottom:8px}.login-brand h1[data-v-e11ac59f]{font-size:18px}.login-sub[data-v-e11ac59f]{font-size:13px}.login-card[data-v-e11ac59f]{gap:16px}.login-hint[data-v-e11ac59f]{display:none}}.boot-screen[data-v-e1283348]{min-height:var(--app-height);display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.boot-spinner[data-v-e1283348]{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-e1283348 .8s linear infinite}@keyframes spin-e1283348{to{transform:rotate(360deg)}}:root{--bg-primary: #0a0a0c;--bg-secondary: #141418;--bg-tertiary: #1c1c22;--bg-elevated: #222228;--text-primary: #f4f4f5;--text-secondary: #a1a1aa;--text-muted: #71717a;--accent: #8b7cf6;--accent-dim: rgba(139, 124, 246, .15);--accent-hover: #9d8ff8;--border: #2a2a32;--border-light: #35353f;--success: #22c55e;--warning: #fbbf24;--danger: #ef4444;--orange: #e67e22;--orange-hover: #f39c12;--blue: #3b82f6;--thinking-bg: #18181f;--user-bubble: #222222;--assistant-bubble: transparent;--btn-white: #f4f4f5;--btn-white-text: #18181b;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 24px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: 0px;--keyboard-inset: 0px;--app-height: 100dvh}html{height:100%;height:var(--app-height);background:var(--bg-primary);overflow:hidden}html.keyboard-open,html.keyboard-open body{overflow:hidden}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}body{min-height:100%;min-height:var(--app-height);min-height:-webkit-fill-available;background:var(--bg-primary);overflow:hidden;overscroll-behavior:none}#app{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-width:430px;margin:0 auto;height:var(--app-height);background:var(--bg-primary);overflow:hidden;overscroll-behavior:none;touch-action:pan-x pan-y}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font-family:inherit;color:inherit;background:var(--bg-tertiary);border:1px solid var(--border);outline:none;font-size:16px}input:focus,textarea:focus{border-color:var(--border-light)}a{color:var(--accent);text-decoration:none}*,.page-scroll,.messages{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar,.page-scroll::-webkit-scrollbar,.messages::-webkit-scrollbar{display:none;width:0;height:0;background:transparent}.page-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.page-scroll{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:calc(var(--safe-bottom) + var(--keyboard-inset, 0px))}
