.app{width:100%;height:100vh;display:flex;justify-content:center;align-items:center;padding:1rem}.chat-interface{width:100%;max-width:900px;height:100%;max-height:800px;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.chat-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;padding:1.5rem;box-shadow:var(--shadow-md)}.chat-header h1{font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.chat-header p{font-size:.875rem;opacity:.9}.error-banner{background:#fee2e2;color:#991b1b;padding:.75rem 1.5rem;font-size:.875rem;border-bottom:1px solid #fecaca}.message-list{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.message-list::-webkit-scrollbar{width:8px}.message-list::-webkit-scrollbar-track{background:var(--background)}.message-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.message-list::-webkit-scrollbar-thumb:hover{background:#d1d5db}.welcome-message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;height:100%}.welcome-message h2{font-size:1.875rem;margin-bottom:.5rem;color:var(--text-primary)}.welcome-message>p{font-size:1.125rem;color:var(--text-secondary);margin-bottom:2rem}.suggested-questions{background:var(--background);border-radius:12px;padding:1.5rem;max-width:500px;text-align:left}.suggestions-title{font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.suggested-questions ul{list-style:none}.suggested-questions li{color:var(--text-secondary);padding:.5rem 0;font-style:italic}.suggested-questions li:before{content:"💬 ";margin-right:.5rem}.message-bubble{max-width:75%;padding:.875rem 1.125rem;border-radius:12px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-bubble.user{align-self:flex-end;background:var(--user-message);color:#fff;border-bottom-right-radius:4px}.message-bubble.assistant{align-self:flex-start;background:var(--assistant-message);color:var(--text-primary);border-bottom-left-radius:4px}.message-content{line-height:1.5;word-wrap:break-word}.formatted-message h2,.formatted-message h3,.formatted-message h4{margin:.5rem 0 .25rem}.formatted-message p{margin:.5rem 0}.formatted-message ul{margin:.25rem 0;padding-left:1.5rem}.formatted-message li{margin:.1rem 0;list-style-type:disc;display:list-item}.formatted-heading{font-weight:600;font-size:1.1em;margin:1.25rem 0 .75rem;color:var(--text-primary)}.formatted-paragraph{margin-bottom:1rem;text-align:justify;-webkit-hyphens:auto;hyphens:auto;line-height:1.6}.formatted-paragraph:last-child{margin-bottom:0}.formatted-paragraph strong{font-weight:600}.formatted-list{margin:1rem 0;padding-left:1.5rem}.formatted-list-item{margin-bottom:.5rem;line-height:1.5}.formatted-list-item:last-child{margin-bottom:0}.formatted-list-item strong{font-weight:600}.message-timestamp{font-size:.75rem;margin-top:.375rem;opacity:.7}.message-bubble.loading{padding:1rem 1.25rem}.typing-indicator{display:flex;gap:.375rem;align-items:center}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--text-secondary);animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.message-input{display:flex;gap:.75rem;padding:1.25rem;border-top:1px solid var(--border-color);background:var(--surface)}.message-input textarea{flex:1;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:12px;font-family:inherit;font-size:.9375rem;resize:none;outline:none;transition:border-color .2s,max-height .2s;max-height:120px;min-height:48px}.message-input textarea:focus{border-color:var(--primary-color)}.message-input textarea:disabled{background:var(--background);cursor:not-allowed}.message-input button{width:48px;height:48px;background:var(--primary-color);color:#fff;border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .1s;flex-shrink:0}.message-input button:hover:not(:disabled){background:var(--primary-hover);transform:scale(1.05)}.message-input button:active:not(:disabled){transform:scale(.95)}.message-input button:disabled{background:var(--border-color);cursor:not-allowed;transform:none}@media (max-width: 768px){.app{padding:0}.chat-interface{max-height:100vh;border-radius:0}.message-bubble{max-width:85%}.chat-header h1{font-size:1.25rem}.welcome-message h2{font-size:1.5rem}}:root{--primary-color: #6366f1;--primary-color-rgb: 99, 102, 241;--primary-hover: #4f46e5;--secondary-color: #8b5cf6;--background: #f9fafb;--surface: #ffffff;--text-primary: #111827;--text-secondary: #6b7280;--border-color: #e5e7eb;--user-message: #6366f1;--assistant-message: #f3f4f6;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1)}*{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:var(--background);color:var(--text-primary)}#root{width:100%;height:100vh}
