#app,#app-root,body,html{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:#f0f2f5}.login-wrapper[data-v-7b8c7165]{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card[data-v-7b8c7165]{background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.15);padding:48px 40px;width:420px;max-width:90vw;text-align:center}.login-title[data-v-7b8c7165]{font-size:24px;font-weight:600;color:#1a1a1a;margin-bottom:32px}.login-form[data-v-7b8c7165]{display:flex;flex-direction:column;gap:16px}.login-input[data-v-7b8c7165]{width:100%;padding:12px 16px;font-size:15px;border:2px solid #e0e0e0;border-radius:8px;outline:none;transition:border-color .3s}.login-input[data-v-7b8c7165]:focus{border-color:#1890ff;box-shadow:0 0 0 3px rgba(24,144,255,.1)}.login-btn[data-v-7b8c7165]{width:100%;padding:12px 0;font-size:16px;font-weight:500;color:#fff;background:#1890ff;border:none;border-radius:8px;cursor:pointer;transition:background .3s}.login-btn[data-v-7b8c7165]:hover:not(:disabled){background:#40a9ff}.login-btn[data-v-7b8c7165]:disabled{background:#91caff;cursor:not-allowed}.chat-container[data-v-0cbcdf30]{display:flex;flex-direction:column;height:100vh;background:#f5f5f5}.chat-header[data-v-0cbcdf30]{display:flex;justify-content:space-between;align-items:center;padding:0 24px;height:56px;background:#fff;border-bottom:1px solid #e8e8e8;flex-shrink:0}.header-title[data-v-0cbcdf30]{font-size:18px;font-weight:600;color:#1a1a1a}.header-user[data-v-0cbcdf30]{font-size:14px;color:#666}.chat-body[data-v-0cbcdf30]{flex:1;overflow-y:auto;padding:20px 24px}.welcome-placeholder[data-v-0cbcdf30]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#999}.welcome-icon[data-v-0cbcdf30]{font-size:48px;margin-bottom:16px}.welcome-title[data-v-0cbcdf30]{font-size:18px;font-weight:500;color:#333;margin-bottom:8px}.welcome-subtitle[data-v-0cbcdf30]{font-size:14px;color:#999}.message-item[data-v-0cbcdf30]{display:flex;margin-bottom:16px}.message-user[data-v-0cbcdf30]{justify-content:flex-end}.message-ai[data-v-0cbcdf30]{justify-content:flex-start}.message-bubble[data-v-0cbcdf30]{max-width:70%;padding:10px 16px;border-radius:8px;font-size:14px;line-height:1.6;word-break:break-word}.message-user .message-bubble[data-v-0cbcdf30]{background:#1890ff;color:#fff;border-radius:8px 8px 0 8px}.message-ai .message-bubble[data-v-0cbcdf30]{background:#fff;color:#333;box-shadow:0 1px 4px rgba(0,0,0,.08);border-radius:8px 8px 8px 0}.chat-footer[data-v-0cbcdf30]{display:flex;align-items:flex-end;padding:12px 24px;background:#fff;border-top:1px solid #e8e8e8;gap:12px;flex-shrink:0}.chat-input[data-v-0cbcdf30]{flex:1;padding:10px 12px;font-size:14px;border:1px solid #d9d9d9;border-radius:6px;outline:none;resize:none;font-family:inherit;transition:border-color .3s}.chat-input[data-v-0cbcdf30]:focus{border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.1)}.send-btn[data-v-0cbcdf30]{padding:10px 24px;font-size:14px;font-weight:500;color:#fff;background:#1890ff;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .3s}.send-btn[data-v-0cbcdf30]:hover:not(:disabled){background:#40a9ff}.send-btn[data-v-0cbcdf30]:disabled{background:#91caff;cursor:not-allowed}.message-ai .markdown-body[data-v-0cbcdf30] p{margin:0 0 8px 0}.message-ai .markdown-body[data-v-0cbcdf30] p:last-child{margin-bottom:0}.message-ai .markdown-body[data-v-0cbcdf30] strong{font-weight:600;color:#1a1a1a}.message-ai .markdown-body[data-v-0cbcdf30] em{font-style:italic}.message-ai .markdown-body[data-v-0cbcdf30] h1,.message-ai .markdown-body[data-v-0cbcdf30] h2,.message-ai .markdown-body[data-v-0cbcdf30] h3,.message-ai .markdown-body[data-v-0cbcdf30] h4{margin:12px 0 6px 0;font-weight:600;color:#1a1a1a;line-height:1.4}.message-ai .markdown-body[data-v-0cbcdf30] h1{font-size:18px}.message-ai .markdown-body[data-v-0cbcdf30] h2{font-size:16px}.message-ai .markdown-body[data-v-0cbcdf30] h3{font-size:15px}.message-ai .markdown-body[data-v-0cbcdf30] h4{font-size:14px}.message-ai .markdown-body[data-v-0cbcdf30] ol,.message-ai .markdown-body[data-v-0cbcdf30] ul{margin:4px 0 8px 0;padding-left:20px}.message-ai .markdown-body[data-v-0cbcdf30] li{margin-bottom:2px;line-height:1.6}.message-ai .markdown-body[data-v-0cbcdf30] code{background:#f0f0f0;padding:2px 6px;border-radius:3px;font-size:13px;font-family:Consolas,Monaco,Courier New,monospace;color:#d63384}.message-ai .markdown-body[data-v-0cbcdf30] pre{background:#282c34;color:#abb2bf;padding:12px 16px;border-radius:6px;overflow-x:auto;margin:8px 0;font-size:13px;line-height:1.5}.message-ai .markdown-body[data-v-0cbcdf30] pre code{background:none;padding:0;color:inherit;font-size:inherit}.message-ai .markdown-body[data-v-0cbcdf30] blockquote{border-left:3px solid #1890ff;padding:6px 12px;margin:8px 0;background:#f0f7ff;color:#555}.message-ai .markdown-body[data-v-0cbcdf30] hr{border:none;border-top:1px solid #e8e8e8;margin:12px 0}.message-ai .markdown-body[data-v-0cbcdf30] a{color:#1890ff;text-decoration:none}.message-ai .markdown-body[data-v-0cbcdf30] a:hover{text-decoration:underline}.message-ai .markdown-body[data-v-0cbcdf30] table{border-collapse:collapse;margin:8px 0;font-size:13px}.message-ai .markdown-body[data-v-0cbcdf30] td,.message-ai .markdown-body[data-v-0cbcdf30] th{border:1px solid #e0e0e0;padding:6px 12px;text-align:left}.message-ai .markdown-body[data-v-0cbcdf30] th{background:#f5f5f5;font-weight:600}.typing-bubble[data-v-0cbcdf30]{display:flex;align-items:center;gap:4px;padding:14px 16px;min-width:52px}.typing-dot[data-v-0cbcdf30]{width:8px;height:8px;background:#999;border-radius:50%;animation:typing-bounce-0cbcdf30 1.4s ease-in-out infinite both}.typing-dot[data-v-0cbcdf30]:first-child{animation-delay:0s}.typing-dot[data-v-0cbcdf30]:nth-child(2){animation-delay:.2s}.typing-dot[data-v-0cbcdf30]:nth-child(3){animation-delay:.4s}@keyframes typing-bounce-0cbcdf30{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}