.message{display:flex;gap:1.25rem;padding:1.5rem;animation:fadeIn .3s ease-out;position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.user{background-color:var(--bg-message-user)}.message.assistant{background-color:var(--bg-message-assistant)}.message.error{background-color:#ef44441a;border-left:3px solid var(--accent-error)}.message-avatar{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.125rem;transition:transform .2s ease}.message.user .message-avatar{background:linear-gradient(135deg,var(--accent-primary) 0%,#0d8f6e 100%);color:#fff;box-shadow:0 2px 8px #10a37f4d}.message.assistant .message-avatar{background:linear-gradient(135deg,var(--accent-secondary) 0%,#8b4dd9 100%);color:#fff;box-shadow:0 2px 8px #ab68ff4d}.message.error .message-avatar{background:linear-gradient(135deg,var(--accent-error) 0%,#dc2626 100%);color:#fff}.message-content-wrapper{flex:1;min-width:0;display:flex;gap:.5rem;align-items:flex-start}.message-content{flex:1;min-width:0}.message-text{line-height:1.75;color:var(--text-primary);word-wrap:break-word;font-size:.9375rem}.message-text p{margin-bottom:.875rem;color:var(--text-primary)}.message-text p:last-child{margin-bottom:0}.message-text p:empty{margin-bottom:.5rem}.message-text strong{font-weight:600;color:var(--text-primary)}.message-text em{font-style:italic;color:var(--text-secondary)}.message-text code.inline-code{background-color:#ffffff1a;padding:.125rem .375rem;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875em;color:var(--accent-primary);border:1px solid rgba(255,255,255,.1)}.message-text .code-block{background-color:#0000004d;border:1px solid var(--border-color);border-radius:8px;padding:1rem;margin:1rem 0;overflow-x:auto;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;line-height:1.6}.message-text .code-block code{color:var(--text-primary);display:block;white-space:pre}.message-text ul,.message-text ol{margin:.875rem 0;padding-left:1.75rem;color:var(--text-primary)}.message-text ul{list-style-type:disc}.message-text ol{list-style-type:decimal}.message-text li.list-item,.message-text li{margin-bottom:.5rem;color:var(--text-primary);line-height:1.7;padding-left:.25rem}.message-text table{width:100%;border-collapse:collapse;margin:1rem 0;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.message-text table th,.message-text table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.message-text table th{background-color:#ffffff0d;font-weight:600;color:var(--text-primary)}.message-text table td{color:var(--text-secondary)}.message-text table tr:last-child td{border-bottom:none}.message.error .message-text,.message.error .message-text strong{color:#fca5a5}.copy-button{background-color:transparent;border:1px solid var(--border-color);color:var(--text-tertiary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;flex-shrink:0;opacity:0;margin-top:.25rem}.message:hover .copy-button{opacity:1}.copy-button:hover{background-color:#ffffff1a;border-color:#fff3;color:var(--text-primary);transform:scale(1.05)}.copy-button:active{transform:scale(.95)}.copy-button svg{transition:all .2s ease}@media (max-width: 768px){.message{padding:1.25rem 1rem;gap:1rem}.message-avatar{width:32px;height:32px}.message-text{font-size:.875rem}.copy-button{opacity:1}.message-text .code-block{font-size:.8125rem;padding:.75rem}.message-text table{font-size:.8125rem}.message-text table th,.message-text table td{padding:.5rem .75rem}}.app{width:100%;height:100vh;display:flex;justify-content:center;background:linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.chat-container{width:100%;max-width:900px;height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary);box-shadow:var(--shadow-lg)}.chat-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-content{display:flex;justify-content:space-between;align-items:center;gap:1rem}.header-title{display:flex;align-items:center;gap:.75rem}.header-icon{color:var(--accent-primary);flex-shrink:0}.chat-header h1{font-size:1.25rem;font-weight:600;margin-bottom:.125rem;color:var(--text-primary);letter-spacing:-.02em}.chat-header p{font-size:.8125rem;color:var(--text-secondary);font-weight:400}.clear-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#ffffff0d;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.clear-button:hover{background-color:#ffffff1a;color:var(--text-primary);border-color:#fff3}.messages-container{flex:1;overflow-y:auto;padding:0;scroll-behavior:smooth;background-color:var(--bg-primary)}.welcome-message{padding:3rem 1.5rem;text-align:center;max-width:600px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1rem}.welcome-icon{color:var(--accent-primary);opacity:.6;margin-bottom:.5rem}.welcome-message h2{font-size:1.75rem;margin-bottom:.5rem;color:var(--text-primary);font-weight:600;letter-spacing:-.02em}.welcome-message>p{color:var(--text-secondary);margin-bottom:.5rem;line-height:1.7;font-size:1rem}.example-queries{margin-top:1.5rem;width:100%}.example-label{color:var(--text-tertiary);font-size:.875rem;margin-bottom:.75rem}.example-button{width:100%;padding:.875rem 1.25rem;background-color:#ffffff0d;border:1px solid var(--border-color);border-radius:12px;color:var(--text-secondary);font-size:.9375rem;cursor:pointer;transition:all .2s ease;text-align:left;font-family:inherit;line-height:1.5}.example-button:hover{background-color:#ffffff1a;border-color:#fff3;color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.input-container{padding:1.25rem 1.5rem 1.5rem;background:linear-gradient(180deg,transparent 0%,var(--bg-secondary) 100%);border-top:1px solid var(--border-color)}.input-wrapper{display:flex;align-items:flex-end;gap:.75rem;background-color:var(--bg-input);border-radius:16px;padding:.875rem 1rem;border:1.5px solid var(--border-color);transition:all .2s ease;box-shadow:var(--shadow-sm)}.input-wrapper:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #10a37f1a}.chat-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.9375rem;font-family:inherit;resize:none;max-height:200px;overflow-y:auto;line-height:1.6;min-height:24px}.chat-input::placeholder{color:var(--text-tertiary)}.chat-input:disabled{opacity:.6;cursor:not-allowed}.send-button{background-color:var(--accent-primary);border:none;color:#fff;cursor:pointer;padding:.625rem;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s ease;flex-shrink:0;box-shadow:var(--shadow-sm)}.send-button:hover:not(:disabled){background-color:#0d8f6e;transform:scale(1.05);box-shadow:var(--shadow-md)}.send-button:active:not(:disabled){transform:scale(.98)}.send-button:disabled{opacity:.5;cursor:not-allowed;background-color:var(--text-tertiary)}.send-button .spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.input-footer{margin-top:.75rem;text-align:center}.input-hint{font-size:.75rem;color:var(--text-tertiary)}.typing-indicator{display:flex;gap:6px;padding:.5rem 0;align-items:center}.typing-indicator span{width:8px;height:8px;border-radius:50%;background-color:var(--text-secondary);animation:typing 1.4s infinite;display:inline-block}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-8px);opacity:1}}.loading-message{opacity:.8}@media (max-width: 768px){.chat-container{max-width:100%}.chat-header{padding:1rem}.header-content{flex-direction:column;align-items:flex-start;gap:.75rem}.clear-button{width:100%;justify-content:center}.chat-header h1{font-size:1.125rem}.chat-header p{font-size:.75rem}.input-container{padding:1rem}.welcome-message{padding:2rem 1rem}.welcome-message h2{font-size:1.5rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0f0f23;--bg-secondary: #1a1a2e;--bg-tertiary: #16213e;--bg-message-user: #0f0f23;--bg-message-assistant: #1a1a2e;--bg-input: #252540;--border-color: rgba(255, 255, 255, .1);--text-primary: #ececf1;--text-secondary: #8e8ea0;--text-tertiary: #6b6b7f;--accent-primary: #10a37f;--accent-secondary: #ab68ff;--accent-error: #ef4444;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5)}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:var(--bg-primary);color:var(--text-primary);overflow:hidden;line-height:1.6}#root{width:100%;height:100vh}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:#ffffff40}
