.message-item{animation:slideIn .3s ease-out;display:flex;gap:.75rem;margin-bottom:1rem;max-width:85%}.message-item.user{align-self:flex-end;flex-direction:row-reverse}.message-item.assistant{align-self:flex-start}.message-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:1rem;font-weight:600;height:36px;justify-content:center;margin-top:.25rem;width:36px}.message-item.user .message-avatar{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}.message-item.assistant .message-avatar{background:#f3f4f6;border:2px solid #e5e7eb;color:#6b7280}.message-content{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 8px #0000000a;flex:1 1;min-width:0;padding:1rem 1.25rem;position:relative}.message-item.user .message-content{background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 2px 8px #667eea4d;color:#fff}.message-content:before{border-style:solid;content:"";height:0;position:absolute;top:.75rem;width:0}.message-item.user .message-content:before{border-color:#0000 #0000 #0000 #667eea;border-width:8px 0 8px 8px;right:-8px}.message-item.assistant .message-content:before{border-color:#0000 #e5e7eb #0000 #0000;border-width:8px 8px 8px 0;left:-8px}.message-header{align-items:center;display:flex;font-size:.8rem;justify-content:space-between;margin-bottom:.5rem;opacity:.8}.message-role{font-weight:600}.message-time{font-size:.7rem;opacity:.7}.message-text{word-wrap:break-word;font-size:.95rem;line-height:1.6;white-space:pre-wrap}.message-text strong{font-weight:600}.message-text em{font-style:italic}.message-text code{background:#0000001a;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em;padding:.2rem .4rem}.message-item.user .message-text code{background:#fff3}.message-loading{align-items:center;display:flex;font-size:.9rem;gap:.5rem;margin-top:.5rem;opacity:.7}.loading-dots{display:inline-flex;gap:2px}.loading-dots span{animation:pulse 1.4s ease-in-out infinite both;background:currentColor;height:4px;width:4px}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@media (max-width:768px){.message-item{gap:.5rem;max-width:95%}.message-avatar{font-size:.9rem;height:32px;width:32px}.message-content{border-radius:14px;padding:.875rem 1rem}.message-text{font-size:.9rem}}.loading-indicator{padding:0}.loading-animation{align-items:center;display:flex;gap:.75rem;padding:.5rem 0}.loading-dots{display:flex;gap:4px}.loading-dots span{animation:loadingPulse 1.4s ease-in-out infinite both;background:#667eea;border-radius:50%;height:8px;width:8px}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-dots span:nth-child(3){animation-delay:0s}.loading-text{color:#666;font-size:.9rem;font-style:italic}@keyframes loadingPulse{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.message-list{flex:1 1;overflow-y:auto;padding:1.5rem}.empty-state,.message-list{display:flex;flex-direction:column}.empty-state{align-items:center;color:#6b7280;height:100%;justify-content:center;padding:2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.7}.empty-state h3{color:#374151;font-size:1.5rem;font-weight:500;margin:0 0 .5rem}.empty-state p{font-size:1rem;margin:0;opacity:.8}.messages-container{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1rem}.message-list::-webkit-scrollbar{width:4px}.message-list::-webkit-scrollbar-track{background:#0000}.message-list::-webkit-scrollbar-thumb{background:#9ca3af80;border-radius:2px}.message-list::-webkit-scrollbar-thumb:hover{background:#9ca3afcc}.message-list{scrollbar-color:#9ca3af80 #0000;scrollbar-width:thin}@media (max-width:768px){.message-list{padding:1rem}.messages-container{gap:1rem}}.message-input{position:relative;width:100%}.input-container{align-items:flex-end;background:#fff;border:2px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 8px #0000000a;display:flex;gap:.75rem;padding:1rem;transition:all .2s ease}.input-container:focus-within{border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.input-container textarea{background:#0000;border:none;color:#1f2937;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;max-height:120px;min-height:24px;outline:none;overflow-y:auto;resize:none}.input-container textarea::placeholder{color:#9ca3af;font-weight:400}.input-container textarea:disabled{cursor:not-allowed;opacity:.5}.send-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;overflow:hidden;padding:0;position:relative;transition:all .2s ease;width:44px}.send-button:before{background:#ffffff1a;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease}.send-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.send-button:hover:not(:disabled):before{opacity:1}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{background:#d1d5db;box-shadow:0 2px 4px #667eea33;cursor:not-allowed;opacity:.4;transform:none}.send-icon{font-size:1.25rem;font-weight:500;line-height:1;transform:translateX(1px)}.input-footer{align-items:center;display:flex;justify-content:flex-end;margin-top:.75rem;padding:0 .25rem}.char-count{color:#9ca3af;font-size:.75rem;font-weight:500}.input-container:after{bottom:-2rem;color:#9ca3af;content:"按 Enter 发送";font-size:.75rem;opacity:0;pointer-events:none;position:absolute;right:0;transition:opacity .2s ease}.input-container:focus-within:after{opacity:1}@media (max-width:768px){.input-container{border-radius:14px;padding:.875rem}.input-container textarea{font-size:16px}.send-button{border-radius:10px;height:40px;width:40px}.send-icon{font-size:1.1rem}.input-container:after{display:none}}.error-display{animation:slideIn .3s ease-out;margin-bottom:1rem}.error-content{align-items:center;background:linear-gradient(135deg,#ff6b6b,#ee5a24);border-radius:12px;box-shadow:0 4px 20px #ff6b6b4d;color:#fff;display:flex;gap:1rem;padding:1rem}.error-icon{flex-shrink:0;font-size:1.5rem}.error-message{flex:1 1}.error-message h4{font-size:1rem;font-weight:600;margin:0 0 .25rem}.error-message p{font-size:.9rem;line-height:1.4;margin:0;opacity:.9}.error-actions{display:flex;flex-shrink:0;gap:.5rem}.error-actions button{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.retry-button{background:#fff3;border:1px solid #ffffff4d;color:#fff}.retry-button:hover{background:#ffffff4d;transform:translateY(-1px)}.dismiss-button{background:#0000001a;border:1px solid #fff3;color:#fff}.dismiss-button:hover{background:#0003;transform:translateY(-1px)}@media (max-width:768px){.error-content{align-items:flex-start;flex-direction:column}.error-actions{justify-content:flex-end;width:100%}}.config-status{background:#f9fafbcc;border:1px solid #e5e7eb;border-radius:12px;font-size:.9rem;margin-bottom:1rem;padding:1rem}.config-item{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.config-item:last-child{margin-bottom:0}.status-indicator{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:20px;justify-content:center;width:20px}.status-indicator.success{background:#10b981;color:#fff}.status-indicator.warning{background:#f59e0b;color:#fff}.rag-info{background:#10b9811a;border:1px solid #10b98133;border-radius:8px;color:#065f46;margin-top:1rem;padding:.75rem}.rag-info p{font-size:.85rem;margin:0}.rag-warning{background:#f59e0b1a;border:1px solid #f59e0b33;border-radius:8px;color:#92400e;margin-top:1rem;padding:.75rem}.rag-warning p{font-size:.85rem;margin:0}@media (max-width:768px){.config-status{font-size:.8rem}.status-indicator{font-size:.7rem;height:18px;width:18px}}.chat-interface{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;padding:2rem}.chat-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:24px;box-shadow:0 20px 40px #0000001a;display:flex;flex-direction:column;height:85vh;max-width:800px;overflow:hidden;width:100%}.chat-header{border-bottom:1px solid #0000000d;padding:2rem 2rem 1.5rem;text-align:center}.brand-section{flex-direction:column;gap:1rem}.brand-icon,.brand-section{align-items:center;display:flex}.brand-icon{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;height:48px;justify-content:center;width:48px}.brand-icon svg{height:24px;width:24px}.brand-text h1{color:#1a1a1a;font-size:1.75rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .5rem}.brand-text p{color:#6b7280;font-size:.95rem;font-weight:400;margin:0}.chat-main{overflow:hidden;position:relative}.chat-main,.welcome-section{display:flex;flex:1 1;flex-direction:column}.welcome-section{color:#6b7280;padding:2rem;text-align:center}.welcome-icon,.welcome-section{align-items:center;justify-content:center}.welcome-icon{background:#f3f4f6;border-radius:50%;color:#9ca3af;display:flex;height:80px;margin-bottom:1.5rem;width:80px}.welcome-icon svg{height:32px;width:32px}.welcome-section h2{color:#374151;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.welcome-section p{color:#6b7280;font-size:.95rem;margin:0}.chat-footer{background:#f9fafb80;border-top:1px solid #0000000d;padding:1.5rem 2rem 2rem}@media (max-width:768px){.chat-interface{padding:1rem}.chat-container{border-radius:16px;height:90vh}.chat-header{padding:1.5rem 1.5rem 1rem}.brand-text h1{font-size:1.5rem}.chat-footer{padding:1rem 1.5rem 1.5rem}}@media (max-width:480px){.chat-interface{padding:.5rem}.chat-container{border-radius:12px;height:95vh}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.App,body{min-height:100vh}.App{display:flex;flex-direction:column}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.f46ec3ca.css.map*/