:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}#root{width:100%}:root{--primary:#155289;--primary-light:#95aad3;--bg-color:#fff;--bg-secondary:#f6f6f6;--text-main:#242424;--text-muted:#666;--border-color:#e0e0e0;--shadow:0 4px 12px #0000000d;--radius:12px}*{box-sizing:border-box}body{background-color:var(--bg-color);color:var(--text-main);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;overflow-y:auto}.app-layout{background-color:#fff;width:100vw;height:100vh;display:flex;overflow:hidden}.main-sidebar{z-index:10;background-color:#fff;border-right:1px solid #e5e7eb;flex-direction:column;flex-shrink:0;width:260px;padding:24px 16px;display:flex}.sidebar-brand{text-align:center;border-bottom:1px solid #e5e7eb;margin-bottom:32px;padding-bottom:24px}.sidebar-brand h2{color:#115293;justify-content:center;align-items:center;gap:8px;margin:0 0 4px;font-family:Playfair Display,Georgia,serif;font-size:1.5rem;display:flex}.sidebar-brand p{color:#6b7280;margin:0;font-size:.75rem}.sidebar-section{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.sidebar-section h4{color:#115293;margin:0 0 8px 8px;font-size:.8rem;font-weight:700}.side-btn{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:flex-start;align-items:center;gap:12px;padding:10px 16px;font-weight:500;transition:background .2s;display:flex}.side-btn:hover{background:#f1f5f9}.new-chat-btn{color:#fff;cursor:pointer;background:#115293;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-bottom:32px;padding:12px;font-weight:600;transition:background .2s;display:flex}.new-chat-btn:hover{background:#0c3e73}.history-btn{color:#4b5563;text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:6px;padding:8px;font-size:.85rem;transition:all .2s;overflow:hidden}.history-btn:hover{color:#111827;background:#f3f4f6}.main-content{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.messages-list{flex-direction:column;gap:24px;padding-bottom:24px;display:flex}.message-wrapper{justify-content:center;width:100%;margin-bottom:40px;display:flex}.message-content{gap:12px;width:100%;max-width:850px;display:flex}.message-wrapper.assistant .message-content{justify-content:flex-start}.message-wrapper.user .message-content{justify-content:flex-end}.assistant-avatar{background:var(--bg-secondary);width:36px;height:36px;color:var(--primary);border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.message-bubble{border-radius:var(--radius);max-width:100%;padding:16px;line-height:1.5;position:relative}.user .message-bubble{background-color:var(--primary);color:#fff;border-bottom-right-radius:4px}.assistant .message-bubble{background-color:var(--bg-secondary);border-bottom-left-radius:4px;width:100%}.loading-bubble{color:var(--text-muted);align-items:center;gap:8px;display:flex}.animate-spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.visualizations{flex-direction:column;gap:16px;margin-top:16px;display:flex}.metric-card{box-shadow:var(--shadow);border-left:4px solid var(--primary);background:#fff;border-radius:8px;padding:16px}.metric-label{text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:12px;font-weight:600}.metric-value{color:var(--primary);font-size:24px;font-weight:700}.plot-container{box-shadow:var(--shadow);background:#fff;border-radius:8px;min-height:400px;padding:8px}.table-wrapper{box-shadow:var(--shadow);border:1px solid var(--border-color);background:#fff;border-radius:8px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{background:var(--bg-secondary);text-align:left;border-bottom:2px solid var(--border-color);padding:12px;font-weight:600}td{border-bottom:1px solid var(--border-color);padding:12px}.expander{border:1px solid var(--border-color);border-radius:8px;margin-top:8px;overflow:hidden}.expander-header{cursor:pointer;width:100%;color:var(--text-muted);background:#fff;border:none;justify-content:space-between;align-items:center;padding:10px 16px;font-size:14px;transition:background .2s;display:flex}.expander-header:hover{background:var(--bg-secondary)}.expander-title{align-items:center;gap:8px;display:flex}.expander-content{border-top:1px solid var(--border-color);background:#f9f9f9;padding:16px}.sql-code{white-space:pre-wrap;word-break:break-all;color:#4b5563;margin:0;font-family:Fira Code,monospace;font-size:12px}.error-box{color:#c53030;background-color:#fff5f5;border:1px solid #fed7d7;border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:12px;font-size:14px;display:flex}.footer{width:100%;max-width:800px;margin:0 auto;padding:20px}.input-container{background:var(--bg-secondary);border:1px solid #0000;border-radius:24px;gap:12px;width:100%;padding:8px 16px;transition:all .2s;display:flex}.input-container:focus-within{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #1552891a}.input-container input{color:var(--text-main);background:0 0;border:none;outline:none;flex:1;padding:8px 0;font-size:16px}.input-container button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .2s,background .2s;display:flex}.input-container button:hover:not(:disabled){background:#0d3a63;transform:scale(1.05)}.input-container button:disabled{cursor:not-allowed;background:#ccc}.modal-overlay{z-index:9999;background-color:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:#fff;border-radius:16px;flex-direction:column;width:90%;max-width:450px;max-height:80vh;padding:24px;display:flex;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.modal-header h3{color:#0f172a;margin:0;font-size:20px}.close-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;font-size:28px;line-height:1}.close-btn:hover{color:#ef4444}.modal-body{overflow-y:auto}.grid-list{grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;list-style-type:none;display:grid}.grid-list.single-col{grid-template-columns:1fr}.grid-list li,.search-results-list li{color:#334155;background-color:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;padding:10px 14px;font-size:14px}.food-search-input{border:2px solid #e2e8f0;border-radius:8px;outline:none;width:100%;margin-bottom:16px;padding:12px 16px;font-size:15px;transition:border-color .2s}.food-search-input:focus{border-color:#3b82f6}.search-results-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style-type:none;display:flex}.search-results-list li{cursor:pointer;transition:background-color .2s}.search-results-list li:hover{background-color:#e2e8f0}.search-status,.no-results{color:#64748b;text-align:center;padding:10px;font-size:13px}.bottom-helpers{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;padding-top:16px;display:flex;overflow:visible}.helper-chip-wrapper{position:relative}.helper-chip{color:#475569;cursor:pointer;white-space:nowrap;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.helper-chip:hover{color:#1e293b;background-color:#e2e8f0}.helper-flyout{z-index:100;background:#fff;border:1px solid #e1e4e8;border-radius:8px;flex-direction:column;width:max-content;min-width:280px;margin-bottom:8px;padding:8px 0;display:flex;position:absolute;bottom:100%;left:0;box-shadow:0 4px 12px #0000001a}.flyout-item{text-align:left;color:#24292e;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:10px 16px;font-size:13px;transition:background .2s}.flyout-item:hover{background-color:#f6f8fa}html{scrollbar-width:thin;scrollbar-color:#a0a0a0 transparent}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:#94a3b8}.welcome-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:800px;margin:60px auto 40px;padding:0 20px;animation:.5s ease-in fadeIn;display:flex}.welcome-icon{margin-bottom:12px;font-size:2.5rem}.welcome-title{color:#115293;letter-spacing:-.02em;margin-bottom:16px;font-family:Playfair Display,Georgia,serif;font-size:3rem;font-weight:500;line-height:1.1}.welcome-title .highlight-green{color:#20b387}.welcome-title em{font-family:Playfair Display,Georgia,serif;font-style:italic}.welcome-subtitle{color:#4b5563;max-width:600px;margin-bottom:40px;font-size:1.05rem;line-height:1.5}.suggestion-cards{grid-template-columns:repeat(2,1fr);gap:16px;width:100%;max-width:750px;display:grid}.suggestion-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:16px;align-items:center;padding:16px 20px;transition:all .2s;display:flex;box-shadow:0 2px 4px #00000005}.suggestion-card:hover{border-color:#d1d5db;transform:translateY(-2px);box-shadow:0 6px 12px #0000000d}.card-icon{flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;margin-right:16px;font-size:1.8rem;display:flex}.card-text{flex-direction:column;display:flex}.card-text strong{color:#115293;margin-bottom:4px;font-size:.95rem;font-weight:600}.card-text span{color:#6b7280;font-size:.85rem}@media (width<=650px){.suggestion-cards{grid-template-columns:1fr}.welcome-title{font-size:2.2rem}}
