body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.chat-container{max-width:800px;margin:0 auto;height:100vh;display:flex;flex-direction:column;background:#f5f5f5;border-radius:12px;box-shadow:0 4px 20px #0000001a;overflow:hidden}.chat-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center}.chat-header h2{margin:0;font-size:1.5rem;font-weight:600}.clear-button{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.clear-button:hover{background:#ffffff4d;transform:translateY(-1px)}.messages-container{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.empty-state{text-align:center;color:#666;font-size:16px;margin:auto;padding:40px 20px}.message{display:flex;flex-direction:column;max-width:70%;animation:fadeIn .3s ease-in}.user-message{align-self:flex-end}.assistant-message{align-self:flex-start}.message-content{padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.5;word-wrap:break-word}.user-message .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:4px}.assistant-message .message-content{background:#fff;color:#333;border:1px solid #e0e0e0;border-bottom-left-radius:4px;box-shadow:0 2px 8px #0000001a}.message-timestamp{font-size:11px;color:#999;margin-top:4px;text-align:right}.user-message .message-timestamp{text-align:right}.assistant-message .message-timestamp{text-align:left}.loading-dots{display:flex;gap:4px;align-items:center;justify-content:center;padding:8px 0}.loading-dots span{width:8px;height:8px;border-radius:50%;background:#667eea;animation:bounce 1.4s ease-in-out infinite both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.error-message{background:#fee;color:#c33;padding:12px 16px;border-radius:8px;border:1px solid #fcc;text-align:center;font-size:14px}.input-form{display:flex;gap:12px;padding:20px;background:#fff;border-top:1px solid #e0e0e0}.message-input{flex:1;padding:12px 16px;border:2px solid #e0e0e0;border-radius:24px;font-size:14px;outline:none;transition:border-color .2s ease}.message-input:focus{border-color:#667eea}.message-input:disabled{background:#f5f5f5;cursor:not-allowed}.send-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:24px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:80px}.send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.send-button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.chat-container{height:100vh;border-radius:0}.message{max-width:85%}.input-form{padding:16px}.send-button{padding:12px 20px;min-width:70px}}.App{height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:20px;box-sizing:border-box}@media (max-width: 768px){.App{padding:0}}
