*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f1f5f9;color:#1e293b}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#1e3a5f;color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}.header-brand{display:flex;align-items:center;gap:12px}.header-logo{height:36px;width:auto;background:#fff;padding:4px 8px;border-radius:6px}.header-text h1{margin:0;font-size:1.125rem;font-weight:600;letter-spacing:-.01em}.new-chat-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:.875rem;cursor:pointer;transition:all .2s}.new-chat-btn:hover{background:#fff3;border-color:#ffffff4d}@media(max-width:480px){.new-chat-btn span{display:none}.new-chat-btn{padding:8px}}.welcome-screen{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px;overflow-y:auto}.welcome-content{max-width:600px;text-align:center}.welcome-content h1{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 12px}.welcome-subtitle{font-size:1rem;color:#64748b;margin:0 0 32px;line-height:1.6}.suggestions{display:flex;flex-direction:column;gap:10px}.suggestions-label{font-size:.875rem;color:#64748b;margin:0 0 8px;text-align:left}.suggestion-button{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;text-align:left;font-size:.9375rem;color:#334155;transition:all .2s}.suggestion-button:hover{background:#f8fafc;border-color:#1e3a5f;color:#1e3a5f}.suggestion-button svg{flex-shrink:0;color:#64748b}.suggestion-button:hover svg{color:#1e3a5f}.suggestion-button span{flex:1}.chat-message{display:flex;gap:12px;padding:16px 20px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{background:#f8fafc}.chat-message.assistant{background:#fff;border-bottom:1px solid #e2e8f0}.message-avatar{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center}.chat-message.user .message-avatar{background:#1e3a5f;color:#fff}.chat-message.assistant .message-avatar{background:#f1f5f9;color:#1e3a5f}.message-content{flex:1;min-width:0;line-height:1.6;color:#1e293b}.message-content p{margin:0 0 12px}.message-content p:last-child{margin-bottom:0}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin:16px 0 8px;color:#0f172a;font-weight:600}.message-content h1{font-size:1.25rem}.message-content h2{font-size:1.125rem}.message-content h3{font-size:1rem}.message-content ul,.message-content ol{margin:8px 0;padding-left:24px}.message-content li{margin:4px 0}.message-content blockquote{margin:12px 0;padding:12px 16px;background:#f8fafc;border-left:3px solid #1e3a5f;border-radius:0 8px 8px 0;font-style:italic;color:#475569}.message-content code{background:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:.875em;font-family:SF Mono,Monaco,monospace}.message-content pre{background:#1e293b;color:#e2e8f0;padding:16px;border-radius:8px;overflow-x:auto;margin:12px 0}.message-content pre code{background:none;padding:0;color:inherit}.message-content hr{border:none;border-top:1px solid #e2e8f0;margin:16px 0}.message-content a{color:#1e3a5f;text-decoration:underline}.message-content strong{font-weight:600;color:#0f172a}.chat-input-container{background:#fff;border-radius:12px;padding:8px;box-shadow:0 2px 12px #00000014}.chat-input-wrapper{display:flex;gap:12px;align-items:flex-end;background:#fff;border:none;border-radius:8px;padding:4px 4px 4px 12px}.chat-input-wrapper textarea{flex:1;border:none;background:none;resize:none;font-size:15px;line-height:1.5;padding:8px 0;color:#1e293b;font-family:inherit;min-height:24px;max-height:200px}.chat-input-wrapper textarea:focus{outline:none}.chat-input-wrapper textarea::placeholder{color:#94a3b8}.chat-input-wrapper textarea:disabled{opacity:.6}.chat-input-wrapper button{flex-shrink:0;width:40px;height:40px;border:none;border-radius:8px;background:#1e3a5f;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s,transform .1s}.chat-input-wrapper button:hover:not(:disabled){background:#2d4a6f}.chat-input-wrapper button:active:not(:disabled){transform:scale(.95)}.chat-input-wrapper button:disabled{background:#cbd5e1;cursor:not-allowed}.chat-input-hint{margin:8px 0 0;font-size:12px;color:#94a3b8;text-align:center}.loading-indicator{display:flex;gap:12px;padding:16px 20px;background:#fff;animation:fadeIn .3s ease}.loading-indicator .message-avatar{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#1e3a5f}.loading-dots{display:flex;gap:4px;align-items:center;padding:8px 0}.loading-dots span{width:8px;height:8px;background:#94a3b8;border-radius:50%;animation:bounce 1.4s infinite ease-in-out 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(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.app{display:flex;flex-direction:column;height:100vh;background:#fff}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;width:100%}.chat-area{flex:1;display:flex;flex-direction:column;overflow:hidden;max-width:800px;width:100%;margin:0 auto}.messages-container{flex:1;overflow-y:auto;overflow-x:hidden}.messages{min-height:100%;max-width:800px;margin:0 auto;padding:0 20px}.error-message{padding:12px 20px;margin:12px 0;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem}.error-message p{margin:0}.input-section{padding:20px;max-width:800px;width:100%;margin:0 auto;box-sizing:border-box}.footer{padding:10px 20px;text-align:center;font-size:.7rem;color:#64748b;background:#f8fafc;border-top:1px solid #e2e8f0;line-height:1.4;width:100%}
