.login-page[data-v-5ced2ee4]{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--tg-bg);animation:fadeIn .5s ease}.login-card[data-v-5ced2ee4]{background:var(--tg-surface);border-radius:var(--tg-radius-xl);padding:48px 40px;box-shadow:var(--tg-shadow-lg);text-align:center;max-width:380px;width:90%;animation:floatIn .5s var(--tg-spring) both}.login-logo[data-v-5ced2ee4]{margin-bottom:32px}.logo-circle[data-v-5ced2ee4]{width:72px;height:72px;border-radius:50%;background:var(--tg-accent-soft);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;animation:bounceDot 3s infinite}.login-title[data-v-5ced2ee4]{font-size:28px;font-weight:800;color:var(--tg-text);margin-bottom:4px}.login-sub[data-v-5ced2ee4]{font-size:14px;color:var(--tg-text-muted)}.login-form[data-v-5ced2ee4]{display:flex;flex-direction:column;gap:14px}.input-wrapper[data-v-5ced2ee4]{display:flex;align-items:center;gap:10px;background:var(--tg-input);border:2px solid transparent;border-radius:var(--tg-radius-lg);padding:12px 16px;transition:all .25s}.input-wrapper[data-v-5ced2ee4]:focus-within{border-color:var(--tg-accent);box-shadow:0 0 0 3px #5b9bd51f}.input-icon[data-v-5ced2ee4]{color:var(--tg-text-muted);flex-shrink:0}.pw-input[data-v-5ced2ee4]{flex:1;border:none;background:none;outline:none;font-size:16px;font-family:inherit;color:var(--tg-text)}.pw-input[data-v-5ced2ee4]::placeholder{color:var(--tg-text-muted)}.login-btn[data-v-5ced2ee4]{padding:13px;border:none;border-radius:var(--tg-radius-lg);background:var(--tg-accent);color:#fff;font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .25s var(--tg-spring);box-shadow:0 2px 8px #5b9bd54d}.login-btn[data-v-5ced2ee4]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #5b9bd566}.login-btn[data-v-5ced2ee4]:active:not(:disabled){transform:translateY(0)}.login-btn[data-v-5ced2ee4]:disabled{opacity:.5;cursor:not-allowed}.btn-dots[data-v-5ced2ee4]{display:flex;gap:4px;justify-content:center}.btn-dots i[data-v-5ced2ee4]{width:6px;height:6px;border-radius:50%;background:#fff;display:inline-block;animation:bounceDot 1.2s infinite ease-in-out}.btn-dots i[data-v-5ced2ee4]:nth-child(2){animation-delay:.2s}.btn-dots i[data-v-5ced2ee4]:nth-child(3){animation-delay:.4s}.login-error[data-v-5ced2ee4]{font-size:13px;color:#ef4444;background:#ef444414;padding:8px 12px;border-radius:var(--tg-radius-sm)}.sidebar[data-v-29eb4c6f]{width:260px;height:100vh;background:var(--tg-sidebar);border-right:1px solid var(--tg-border);display:flex;flex-direction:column;transition:width .3s var(--tg-spring);flex-shrink:0;z-index:10}.sidebar.collapsed[data-v-29eb4c6f]{width:52px}.sidebar-header[data-v-29eb4c6f]{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 8px;gap:8px}.toggle-btn[data-v-29eb4c6f],.new-chat-btn[data-v-29eb4c6f]{width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--tg-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.toggle-btn[data-v-29eb4c6f]:hover,.new-chat-btn[data-v-29eb4c6f]:hover{background:var(--tg-hover);color:var(--tg-accent)}.collapsed .sidebar-header[data-v-29eb4c6f]{flex-direction:column;padding:12px 8px 8px}.conv-list[data-v-29eb4c6f]{flex:1;overflow-y:auto;padding:4px 8px;display:flex;flex-direction:column;gap:2px}.conv-item[data-v-29eb4c6f]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--tg-radius-sm);cursor:pointer;transition:all .15s;animation:slideInLeft .3s ease both}.conv-item[data-v-29eb4c6f]:hover{background:var(--tg-hover)}.conv-item.active[data-v-29eb4c6f]{background:var(--tg-accent-soft)}.conv-item.active .conv-title[data-v-29eb4c6f]{color:var(--tg-accent);font-weight:600}.conv-icon[data-v-29eb4c6f]{font-size:18px;flex-shrink:0}.conv-info[data-v-29eb4c6f]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.conv-title[data-v-29eb4c6f]{font-size:14px;color:var(--tg-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-time[data-v-29eb4c6f]{font-size:11px;color:var(--tg-text-muted)}.conv-del[data-v-29eb4c6f]{opacity:0;width:22px;height:22px;border:none;border-radius:50%;background:transparent;color:var(--tg-text-muted);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .15s}.conv-item:hover .conv-del[data-v-29eb4c6f]{opacity:1}.conv-del[data-v-29eb4c6f]:hover{background:#ef44441f;color:#ef4444}.no-convs[data-v-29eb4c6f]{padding:32px 16px;text-align:center;display:flex;flex-direction:column;gap:4px;color:var(--tg-text-muted);font-size:13px}.sidebar-footer[data-v-29eb4c6f]{padding:8px 12px 12px;border-top:1px solid var(--tg-border);display:flex;gap:8px}.footer-btn[data-v-29eb4c6f]{width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--tg-text-secondary);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s}.footer-btn[data-v-29eb4c6f]:hover{background:var(--tg-hover);color:var(--tg-accent);transform:scale(1.1)}.chat-messages[data-v-7b7824a7]{flex:1;overflow-y:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}.empty-state[data-v-7b7824a7]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.empty-animation[data-v-7b7824a7]{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center}.empty-circle[data-v-7b7824a7]{position:absolute;border-radius:50%;opacity:.15;background:var(--tg-accent)}.empty-circle.c1[data-v-7b7824a7]{width:24px;height:24px;animation:bounceDot 2s infinite}.empty-circle.c2[data-v-7b7824a7]{width:40px;height:40px;animation:bounceDot 2s infinite .15s}.empty-circle.c3[data-v-7b7824a7]{width:56px;height:56px;animation:bounceDot 2s infinite .3s}.empty-icon-svg[data-v-7b7824a7]{position:relative;z-index:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.empty-title[data-v-7b7824a7]{font-size:20px;font-weight:700;color:var(--tg-text)}.empty-hint[data-v-7b7824a7]{font-size:14px;color:var(--tg-text-muted)}.message-row[data-v-7b7824a7]{display:flex;align-items:flex-end;gap:8px;max-width:85%;animation:floatIn .4s var(--tg-spring) both}.message-row.user[data-v-7b7824a7]{align-self:flex-end;flex-direction:row-reverse}.message-row.assistant[data-v-7b7824a7]{align-self:flex-start}.avatar[data-v-7b7824a7]{flex-shrink:0;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform var(--tg-transition)}.avatar-bot[data-v-7b7824a7]{background:var(--tg-accent-soft)}.avatar-user[data-v-7b7824a7]{background:var(--tg-accent);color:#fff}.message-row:hover .avatar[data-v-7b7824a7]{transform:scale(1.1)}.bubble[data-v-7b7824a7]{padding:10px 14px;font-size:14px;line-height:1.55;word-break:break-word;min-width:60px;position:relative;transition:transform var(--tg-transition),box-shadow var(--tg-transition)}.bubble.user[data-v-7b7824a7]{background:var(--tg-bubble-user);color:var(--tg-bubble-user-text);border-radius:var(--tg-radius-lg) var(--tg-radius-lg) 6px var(--tg-radius-lg);box-shadow:0 2px 8px #5b9bd540}.bubble.bot[data-v-7b7824a7]{background:var(--tg-bubble-bot);color:var(--tg-bubble-bot-text);border-radius:var(--tg-radius-lg) var(--tg-radius-lg) var(--tg-radius-lg) 6px;box-shadow:var(--tg-shadow-sm);border:1px solid var(--tg-border)}.message-row:hover .bubble[data-v-7b7824a7]{transform:translateY(-1px)}.message-row.user:hover .bubble[data-v-7b7824a7]{box-shadow:0 4px 14px #5b9bd559}.message-row.assistant:hover .bubble[data-v-7b7824a7]{box-shadow:var(--tg-shadow-md)}.typing-dots[data-v-7b7824a7]{display:flex;gap:5px;padding:4px 0}.typing-dots .dot[data-v-7b7824a7]{width:7px;height:7px;border-radius:50%;background:var(--tg-text-muted);animation:bounceDot 1.4s infinite ease-in-out}.typing-dots .dot[data-v-7b7824a7]:nth-child(2){animation-delay:.2s}.typing-dots .dot[data-v-7b7824a7]:nth-child(3){animation-delay:.4s}.thinking-row[data-v-7b7824a7]{display:flex;align-items:flex-end;gap:8px;align-self:flex-start;animation:fadeIn .3s ease}.msg-files[data-v-7b7824a7]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.msg-img[data-v-7b7824a7]{max-width:240px;max-height:240px;border-radius:var(--tg-radius-sm);object-fit:cover;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:var(--tg-shadow-sm)}.msg-img[data-v-7b7824a7]:hover{transform:scale(1.03);box-shadow:var(--tg-shadow-md)}.msg-doc[data-v-7b7824a7]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#0000000a;border-radius:var(--tg-radius-sm);font-size:13px;transition:background .15s}.msg-doc[data-v-7b7824a7]:hover{background:#00000014}.doc-emoji[data-v-7b7824a7]{font-size:20px}.doc-name[data-v-7b7824a7]{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tg-text-secondary)}.msg-time[data-v-7b7824a7]{font-size:10px;color:var(--tg-text-muted);margin-top:4px;text-align:right;opacity:0;transition:opacity .2s}.message-row:hover .msg-time[data-v-7b7824a7]{opacity:1}.markdown-body[data-v-7b7824a7] h1{font-size:18px;font-weight:700;margin:12px 0 8px}.markdown-body[data-v-7b7824a7] h2{font-size:16px;font-weight:700;margin:10px 0 6px}.markdown-body[data-v-7b7824a7] h3{font-size:14px;font-weight:600;margin:8px 0 4px}.markdown-body[data-v-7b7824a7] p{margin:4px 0}.markdown-body[data-v-7b7824a7] strong{font-weight:700}.markdown-body[data-v-7b7824a7] code{background:#0000000f;padding:2px 6px;border-radius:5px;font-size:13px;font-family:SF Mono,Cascadia Code,monospace}.markdown-body[data-v-7b7824a7] pre{background:var(--tg-hover);padding:12px 14px;border-radius:var(--tg-radius-sm);overflow-x:auto;margin:8px 0;border:1px solid var(--tg-border)}.markdown-body[data-v-7b7824a7] pre code{background:none;padding:0;font-size:13px}.markdown-body[data-v-7b7824a7] ul,.markdown-body[data-v-7b7824a7] ol{margin:4px 0;padding-left:20px}.markdown-body[data-v-7b7824a7] li{margin:2px 0}.markdown-body[data-v-7b7824a7] table{width:100%;border-collapse:collapse;margin:10px 0;font-size:13px;border-radius:var(--tg-radius-sm);overflow:hidden}.markdown-body[data-v-7b7824a7] th{background:var(--tg-hover);padding:8px 12px;text-align:left;font-weight:600}.markdown-body[data-v-7b7824a7] td{padding:8px 12px;border-top:1px solid var(--tg-border)}.markdown-body[data-v-7b7824a7] blockquote{border-left:3px solid var(--tg-accent);margin:8px 0;padding:4px 12px;color:var(--tg-text-secondary);background:var(--tg-accent-soft);border-radius:0 var(--tg-radius-sm) var(--tg-radius-sm) 0}.markdown-body[data-v-7b7824a7] a{color:var(--tg-accent);text-decoration:none}.markdown-body[data-v-7b7824a7] a:hover{text-decoration:underline}.markdown-body[data-v-7b7824a7] hr{border:none;border-top:1px solid var(--tg-border);margin:12px 0}.file-cards[data-v-7b7824a7]{margin-top:8px;display:flex;flex-direction:column;gap:6px}.file-card[data-v-7b7824a7]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--tg-hover);border-radius:var(--tg-radius-sm);transition:background .15s,transform .15s}.file-card[data-v-7b7824a7]:hover{background:var(--tg-accent-soft);transform:translate(2px)}.file-card-emoji[data-v-7b7824a7]{font-size:20px}.file-card-name[data-v-7b7824a7]{flex:1;font-size:13px;font-weight:500}.file-card-dl[data-v-7b7824a7]{padding:6px 10px;background:var(--tg-accent);color:#fff;border-radius:20px;text-decoration:none;font-size:12px;transition:background .15s;display:flex;align-items:center}.file-card-dl[data-v-7b7824a7]:hover{background:var(--tg-accent-hover)}@media (max-width: 768px){.chat-messages[data-v-7b7824a7]{padding:10px 10px 6px;gap:8px}.message-row[data-v-7b7824a7]{max-width:92%}.msg-img[data-v-7b7824a7]{max-width:180px;max-height:180px}}.input-area[data-v-fa528c7b]{padding:10px 16px 14px;background:var(--tg-surface);border-top:1px solid var(--tg-border);flex-shrink:0}.previews[data-v-fa528c7b]{display:flex;gap:8px;margin-bottom:8px;overflow-x:auto;padding-bottom:2px}.preview-thumb[data-v-fa528c7b]{position:relative;flex-shrink:0;width:64px;height:64px;border-radius:var(--tg-radius-sm);overflow:hidden;box-shadow:var(--tg-shadow-sm);transition:transform .2s;animation:floatIn .3s var(--tg-spring) both}.preview-thumb[data-v-fa528c7b]:hover{transform:scale(1.05)}.preview-thumb img[data-v-fa528c7b]{width:100%;height:100%;object-fit:cover}.preview-remove[data-v-fa528c7b]{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:#0009;color:#fff;border:none;cursor:pointer;font-size:11px;line-height:18px;text-align:center;transition:background .15s}.preview-remove[data-v-fa528c7b]:hover{background:#ef4444}.file-chips[data-v-fa528c7b]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.file-chip[data-v-fa528c7b]{display:flex;align-items:center;gap:5px;padding:5px 10px;background:var(--tg-accent-soft);border-radius:20px;font-size:12px;color:var(--tg-accent);animation:floatIn .3s var(--tg-spring) both}.chip-emoji[data-v-fa528c7b]{font-size:14px}.chip-name[data-v-fa528c7b]{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-del[data-v-fa528c7b]{background:none;border:none;cursor:pointer;color:var(--tg-text-muted);font-size:14px;padding:0;line-height:1;transition:color .15s}.chip-del[data-v-fa528c7b]:hover{color:#ef4444}.input-row[data-v-fa528c7b]{display:flex;align-items:flex-end;gap:8px;background:var(--tg-input);border:2px solid transparent;border-radius:var(--tg-radius-xl);padding:6px 6px 6px 14px;transition:all .25s var(--tg-transition);box-shadow:var(--tg-shadow-sm)}.input-row.focused[data-v-fa528c7b]{border-color:var(--tg-accent);box-shadow:0 0 0 3px #5b9bd526,var(--tg-shadow-sm)}.attach-btn[data-v-fa528c7b]{display:flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--tg-text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;transition:all .2s}.attach-btn[data-v-fa528c7b]:hover{color:var(--tg-accent);background:var(--tg-accent-soft);transform:rotate(-15deg)}.msg-input[data-v-fa528c7b]{flex:1;border:none;background:none;outline:none;font-size:15px;font-family:inherit;color:var(--tg-text);resize:none;line-height:1.5;padding:5px 0;max-height:160px}.msg-input[data-v-fa528c7b]::placeholder{color:var(--tg-text-muted)}.send-btn[data-v-fa528c7b]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;cursor:pointer;flex-shrink:0;background:var(--tg-hover);color:var(--tg-text-muted);transition:all .25s var(--tg-spring)}.send-btn.ready[data-v-fa528c7b]{background:var(--tg-accent);color:#fff;box-shadow:0 2px 8px #5b9bd559;animation:pulse 2s infinite}.send-btn.ready[data-v-fa528c7b]:hover{transform:scale(1.1);box-shadow:0 4px 14px #5b9bd573}.send-btn[data-v-fa528c7b]:disabled{opacity:.4;cursor:not-allowed;animation:none}.upload-error[data-v-fa528c7b]{margin-top:6px;font-size:12px;color:#ef4444}@media (max-width: 768px){.input-area[data-v-fa528c7b]{padding:8px 10px 10px}.input-row[data-v-fa528c7b]{border-radius:var(--tg-radius-lg);padding:4px 4px 4px 10px}}.chat-view[data-v-10c015c4]{display:flex;height:100vh;background:var(--tg-bg)}.chat-main[data-v-10c015c4]{flex:1;display:flex;flex-direction:column;min-width:0;transition:margin-left .3s var(--tg-spring)}.top-bar[data-v-10c015c4]{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:var(--tg-surface);border-bottom:1px solid var(--tg-border);flex-shrink:0;min-height:48px}.top-left[data-v-10c015c4]{display:flex;align-items:center;gap:8px}.conv-emoji[data-v-10c015c4]{font-size:16px}.conv-title-top[data-v-10c015c4]{font-size:15px;font-weight:600;color:var(--tg-text);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-select[data-v-10c015c4]{background:var(--tg-input);border:1px solid var(--tg-border);border-radius:20px;padding:5px 12px;font-size:12px;color:var(--tg-text-secondary);font-family:inherit;cursor:pointer;outline:none;transition:border-color .2s}.model-select[data-v-10c015c4]:focus{border-color:var(--tg-accent)}@media (max-width: 768px){.top-bar[data-v-10c015c4]{padding:8px 12px}.conv-title-top[data-v-10c015c4]{max-width:180px}}:root,.app-root.light{--tg-bg: #f0f2f5;--tg-surface: #ffffff;--tg-sidebar: #f8f9fb;--tg-input: #f0f2f5;--tg-hover: #e8eaed;--tg-border: #e0e2e6;--tg-accent: #5b9bd5;--tg-accent-soft: #e8f1fa;--tg-accent-hover: #4a8bc4;--tg-text: #1a1a1a;--tg-text-secondary: #687076;--tg-text-muted: #9ba1a8;--tg-bubble-user: #5b9bd5;--tg-bubble-user-text: #ffffff;--tg-bubble-bot: #ffffff;--tg-bubble-bot-text: #1a1a1a;--tg-shadow-sm: 0 1px 2px rgba(0,0,0,.06);--tg-shadow-md: 0 2px 8px rgba(0,0,0,.08);--tg-shadow-lg: 0 4px 16px rgba(0,0,0,.1);--tg-radius-sm: 10px;--tg-radius-md: 16px;--tg-radius-lg: 22px;--tg-radius-xl: 28px;--tg-transition: .2s cubic-bezier(.4, 0, .2, 1);--tg-spring: .4s cubic-bezier(.34, 1.56, .64, 1);color-scheme:light}.app-root.dark{--tg-bg: #0f0f0f;--tg-surface: #1a1a1a;--tg-sidebar: #141414;--tg-input: #1e1e1e;--tg-hover: #252525;--tg-border: #2a2a2a;--tg-accent: #6da9de;--tg-accent-soft: #1a2a3a;--tg-accent-hover: #5b9bd5;--tg-text: #e8e8e8;--tg-text-secondary: #909090;--tg-text-muted: #606060;--tg-bubble-user: #3a7abd;--tg-bubble-user-text: #ffffff;--tg-bubble-bot: #1e1e1e;--tg-bubble-bot-text: #e0e0e0;--tg-shadow-sm: 0 1px 2px rgba(0,0,0,.3);--tg-shadow-md: 0 2px 8px rgba(0,0,0,.4);--tg-shadow-lg: 0 4px 16px rgba(0,0,0,.5);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}.app-root{height:100vh;width:100vw;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--tg-bg);color:var(--tg-text);transition:background .3s,color .3s}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--tg-text-muted);border-radius:10px;opacity:.5}::-webkit-scrollbar-thumb:hover{background:var(--tg-text-secondary)}@keyframes slideUp{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes floatIn{0%{opacity:0;transform:translateY(20px) scale(.9)}60%{transform:translateY(-3px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes bounceDot{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-8px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}::selection{background:var(--tg-accent-soft);color:var(--tg-accent)}
