:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}html,body,#root{width:100%;height:100%}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;display:flex}#root{justify-content:center;align-items:center;width:100%;height:100vh;padding:10px;display:flex}.chat-container{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:900px;height:95vh;max-height:95vh;animation:.5s ease-out slideUp;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.chat-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 25px;display:flex;box-shadow:0 4px 15px #667eea4d}.header-content h1{letter-spacing:-.5px;margin-bottom:5px;font-size:28px;font-weight:700}.header-content p{opacity:.9;font-size:12px;font-weight:300}.header-actions{flex-shrink:0;gap:10px;display:flex}.action-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:8px;padding:8px 14px;font-size:12px;font-weight:500;transition:all .3s}.action-btn:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-btn:active{transform:translateY(0)}.messages-wrapper{background:linear-gradient(#f8f9ff,#fff);flex-direction:column;flex:1;padding:20px;display:flex;overflow-y:auto}.messages-container{flex-direction:column;flex:1;gap:16px;display:flex}.message{gap:12px;animation:.3s ease-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{justify-content:flex-end}.message.ai{justify-content:flex-start}.message-avatar{background:#667eea1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:28px;display:flex}.message.user .message-avatar{background:#764ba21a;order:2}.message-content{flex-direction:column;gap:6px;max-width:70%;display:flex}.message.user .message-content{align-items:flex-end}.message.ai .message-content{align-items:flex-start}.message-bubble{word-wrap:break-word;border-radius:16px;padding:12px 16px;font-size:14px;line-height:1.6;animation:.3s ease-out bubbleSlide}@keyframes bubbleSlide{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.message.user .message-bubble{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom-right-radius:4px;box-shadow:0 4px 12px #667eea4d}.message.ai .message-bubble{color:#2d3748;background:#f1f3f9;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.message.error .message-bubble{color:#c53030;background:#fee;border:1px solid #fc8181}.message-bubble p{color:inherit;margin:0;line-height:1.6}.message-bubble div{word-wrap:break-word;overflow-wrap:break-word}.message.ai .message-bubble p>div:first-child{margin-top:0}.message.ai .message-bubble p>div:last-child{margin-bottom:0}.message-time{color:#a0aec0;padding:0 4px;font-size:11px}.message-bubble.typing{align-items:center;gap:4px;padding:12px 16px;display:flex}.message-bubble.typing span{background:#667eea;border-radius:50%;width:8px;height:8px;animation:1.4s infinite typing}.message-bubble.typing span:nth-child(2){animation-delay:.2s}.message-bubble.typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.error-banner{color:#c53030;background:#fee;border-bottom:2px solid #fc8181;padding:12px 20px;font-size:13px;font-weight:500;animation:.3s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.input-form{background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;padding:15px 20px}.input-wrapper{gap:10px;display:flex}.chat-input{resize:none;border:2px solid #e2e8f0;border-radius:12px;flex:1;max-height:120px;padding:12px 16px;font-family:inherit;font-size:14px;transition:all .3s}.chat-input:focus{background:#f8f9ff;border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.chat-input::placeholder{color:#a0aec0}.chat-input:disabled{cursor:not-allowed;opacity:.6;background:#f7fafc}.send-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;flex-shrink:0;padding:12px 20px;font-size:16px;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #667eea4d}.send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.send-btn:active:not(:disabled){transform:translateY(0)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.input-hint{color:#a0aec0;text-align:center;margin-top:8px;font-size:12px}.messages-wrapper::-webkit-scrollbar{width:8px}.messages-wrapper::-webkit-scrollbar-track{background:0 0}.messages-wrapper::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.messages-wrapper::-webkit-scrollbar-thumb:hover{background:#a0aec0}@media (width<=768px){.chat-container{border-radius:12px;max-width:100%}.chat-header{padding:16px 15px}.header-content h1{font-size:22px}.header-content p{font-size:11px}.action-btn{padding:6px 11px;font-size:11px}.messages-container{gap:12px}.message-content{max-width:85%}.message-bubble,.chat-input{padding:10px 14px;font-size:13px}.send-btn{padding:10px 16px;font-size:14px}.input-hint{font-size:11px}}@media (width<=480px){body,#root{padding:0}.chat-container{border-radius:0;height:100vh;max-height:100vh}.chat-header{padding:12px}.header-content h1{font-size:20px}.header-content p{font-size:10px}.header-actions{gap:8px}.action-btn{padding:6px 10px;font-size:10px}.messages-wrapper{padding:12px}.message-content{max-width:90%}.message-avatar{width:32px;height:32px;font-size:24px}.input-form{padding:12px}.chat-input{padding:10px 12px;font-size:14px}.send-btn{padding:10px 14px}}
