.app{height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f0f8ff,#e6f3ff)}.header{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;padding:1rem 2rem;text-align:center;box-shadow:0 2px 10px #4a90e24d}.header h1{font-size:1.8rem;font-weight:600;margin-bottom:.5rem}.header p{font-size:.9rem;opacity:.9}.header{position:relative}.end-session-button{position:absolute;top:1rem;right:2rem;padding:.5rem 1rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:20px;font-size:.8rem;cursor:pointer;transition:all .2s ease}.end-session-button:hover{background:#ffffff4d;transform:translateY(-1px)}.chat-container{flex:1;display:flex;flex-direction:column;max-width:800px;margin:0 auto;width:100%;padding:1rem}.messages{flex:1;overflow-y:auto;padding:1rem 0;display:flex;flex-direction:column;gap:1rem}.welcome-message{text-align:center;color:#666;padding:2rem;background:#ffffffb3;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(74,144,226,.1)}.welcome-message p{margin-bottom:.5rem;font-size:1rem}.message{display:flex;flex-direction:column;max-width:80%;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.user-message{align-self:flex-end}.assistant-message{align-self:flex-start}.message-content{padding:.75rem 1rem;border-radius:18px;font-size:.95rem;line-height:1.4;word-wrap:break-word;white-space:pre-wrap}.user-message .message-content{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border-bottom-right-radius:6px}.assistant-message .message-content{background:#fff;color:#333;border:1px solid rgba(74,144,226,.2);border-bottom-left-radius:6px;box-shadow:0 2px 8px #0000001a}.message-timestamp{font-size:.75rem;color:#999;margin-top:.25rem;padding:0 .5rem}.user-message .message-timestamp{text-align:right}.assistant-message .message-timestamp{text-align:left}.loading-dots{display:flex;gap:.25rem;align-items:center;justify-content:center;padding:.5rem}.loading-dots span{width:8px;height:8px;border-radius:50%;background-color:#4a90e2;animation:loading 1.4s infinite ease-in-out}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loading{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.input-container{padding:1rem 0;border-top:1px solid rgba(74,144,226,.1);background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.input-wrapper{display:flex;gap:.75rem;align-items:flex-end;max-width:100%}.message-input{flex:1;padding:.75rem 1rem;border:2px solid rgba(74,144,226,.2);border-radius:24px;font-size:.95rem;line-height:1.4;resize:none;outline:none;transition:all .2s ease;background:#fff;min-height:44px;max-height:120px}.message-input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.message-input:disabled{opacity:.6;cursor:not-allowed}.send-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;border-radius:24px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:44px;white-space:nowrap}.send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #4a90e24d}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 768px){.chat-container{padding:.5rem}.header{padding:1rem}.header h1{font-size:1.5rem}.message{max-width:90%}.input-wrapper{gap:.5rem}.send-button{padding:.75rem 1rem}}.messages::-webkit-scrollbar{width:6px}.messages::-webkit-scrollbar-track{background:#4a90e21a;border-radius:3px}.messages::-webkit-scrollbar-thumb{background:#4a90e24d;border-radius:3px}.messages::-webkit-scrollbar-thumb:hover{background:#4a90e280}*{margin:0;padding:0;box-sizing:border-box}body{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;background-color:#f8fafc}#root{height:100vh;display:flex;flex-direction:column}
