body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;height:calc(100vh - 40px);margin:0 auto;max-width:1800px;padding:30px}.split-layout{grid-gap:30px;display:grid;flex:1 1;gap:30px;grid-template-columns:450px 1fr;margin-top:20px;overflow:hidden}.left-panel{border-right:2px solid #e0e0e0;padding-right:30px}.left-panel,.right-panel{display:flex;flex-direction:column;overflow-y:auto}.right-panel{padding-left:10px}.app-header{border-bottom:2px solid #e0e0e0;padding-bottom:20px}.app-header,h1{text-align:center}h1{color:#333;font-size:2.5rem;margin-bottom:10px}.subtitle{color:#666;font-size:1.1rem;margin-bottom:30px;text-align:center}.query-form{display:flex;gap:10px;margin-bottom:20px}.question-input{border:2px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:16px;padding:15px 20px;transition:border-color .3s}.question-input:focus{border-color:#667eea;outline:none}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:15px 30px;transition:transform .2s,box-shadow .2s}.submit-button:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;opacity:.6}.examples{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}.examples p{color:#555;margin-bottom:10px;margin-top:0}.example-button{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:inline-block;font-size:14px;margin:5px;padding:8px 16px;transition:all .2s}.example-button:hover:not(:disabled){background:#667eea;border-color:#667eea;color:#fff}.example-button:disabled{cursor:not-allowed;opacity:.5}.error-message{background:#fee;border-left:4px solid #f44;color:#c33}.error-message,.response-message{border-radius:4px;margin:20px 0;padding:15px}.response-message{background:#e7f5ff;border-left:4px solid #4dabf7;color:#1864ab}.chart-container{background:#f8f9fa;border-radius:8px;margin-top:30px;padding:20px}.chart-container h2{color:#333;font-size:1.5rem;margin-top:0}.visualization-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:20px}.viz-selector{display:flex;flex-direction:column;gap:8px;min-width:250px}.viz-selector label{align-items:center;color:#555;display:flex;font-size:14px;gap:8px}.ai-suggestion{animation:pulse 2s infinite;background:#e7f5ff;border-radius:12px;color:#667eea;font-size:12px;font-weight:600;padding:2px 8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.viz-dropdown{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-family:inherit;font-size:14px;padding:10px 15px;transition:border-color .3s}.viz-dropdown:focus{outline:none}.viz-dropdown:focus,.viz-dropdown:hover{border-color:#667eea}.viz-reasoning{background:#fff;border-left:3px solid #667eea;border-radius:6px;color:#666;font-size:12px;margin:0;padding:8px 12px}.visualization-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px}.left-panel::-webkit-scrollbar,.right-panel::-webkit-scrollbar{width:8px}.left-panel::-webkit-scrollbar-track,.right-panel::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.left-panel::-webkit-scrollbar-thumb,.right-panel::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.left-panel::-webkit-scrollbar-thumb:hover,.right-panel::-webkit-scrollbar-thumb:hover{background:#555}.chat-history{flex:1 1;margin-bottom:20px;margin-top:20px}.chat-message{animation:fadeIn .3s ease-in;border-radius:8px;margin-bottom:15px;padding:12px 15px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{background:#667eea;border-bottom-right-radius:4px;color:#fff;margin-left:20px}.chat-message.assistant{background:#f8f9fa;border-bottom-left-radius:4px;border-left:3px solid #667eea;color:#333;margin-right:20px}.chat-message.error{background:#fee;border-left:4px solid #f44;color:#c33}.message-label{font-size:11px;font-weight:700;letter-spacing:.5px;margin-bottom:6px;opacity:.8;text-transform:uppercase}.message-content{line-height:1.5}.empty-state{align-items:center;color:#999;display:flex;flex-direction:column;height:100%;justify-content:center;padding:40px;text-align:center}.empty-state-icon{font-size:64px;margin-bottom:20px;opacity:.5}.empty-state-text{font-size:18px;font-weight:600;margin-bottom:10px}.empty-state-subtext{color:#bbb;font-size:14px}.loading-state{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:40px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:60px;margin-bottom:20px;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text{color:#667eea;font-size:18px;font-weight:600;margin-bottom:8px}.loading-subtext{animation:pulse 2s ease-in-out infinite;color:#999;font-size:14px}.inline-loading{align-items:center;background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;display:flex;gap:12px;margin:20px 0;padding:20px}.inline-loading-spinner{animation:spin .8s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;flex-shrink:0;height:24px;width:24px}.inline-loading-text{color:#667eea;font-size:14px;font-weight:600}@media (max-width:1200px){.split-layout{grid-template-columns:400px 1fr}}@media (max-width:1024px){.split-layout{grid-template-columns:350px 1fr}}@media (max-width:768px){.container{height:auto;min-height:calc(100vh - 40px)}.split-layout{grid-template-columns:1fr;overflow:visible}.left-panel{border-bottom:2px solid #e0e0e0;border-right:none;overflow-y:visible;padding-bottom:20px;padding-right:0}.right-panel{overflow-y:visible;padding-left:0;padding-top:20px}.visualization-header{flex-direction:column}.viz-selector{width:100%}.container{padding:20px}h1{font-size:2rem}}
/*# sourceMappingURL=main.14384468.css.map*/