:root{--color-brand:#3544a8;--color-brand-strong:#28368f;--color-brand-soft:#eff3ff;--color-accent:#30c9db;--color-surface:#fff;--color-page:#f6f8fc;--color-border:#dfe5f2;--color-text:#20253a;--color-muted:#687083;--color-positive:#0014c7;--color-negative:#ff004f;color:var(--color-text);background:var(--color-page);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #a7a4fb}svg{width:20px;height:20px}.shell{max-width:780px;min-height:100dvh;margin:auto;padding:18px 20px 110px}.topbar{justify-content:space-between;align-items:center;min-height:52px;margin-bottom:30px;display:flex}.brand{align-items:center;display:flex}.brand img{width:180px;height:auto;display:block}.brand p,.drawer-head p{color:#18816e;letter-spacing:.16em;margin:0 0 2px;font-size:10px;font-weight:800}.brand h1{letter-spacing:-.035em;margin:0;font-size:18px}.brand-mark,.agent-avatar,.message-avatar{color:#086c5c;background:#dff3ed;border-radius:50%;place-items:center;display:inline-grid}.brand-mark{width:32px;height:32px}.brand-mark svg{width:17px}.icon-button,.new-icon{color:#31534b;background:#fff;border:1px solid #d8e0dc;border-radius:12px;place-items:center;width:40px;height:40px;padding:0;display:grid}.new-icon{color:#fff;background:#0b7766;border-color:#0b7766;box-shadow:0 6px 14px #0b776633}.scrim{z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#10201b66;position:fixed;inset:0}.drawer{overscroll-behavior:contain;touch-action:pan-y;background:#fff;width:min(86vw,350px);height:100%;padding:22px 16px;animation:.18s ease-out slide-in;overflow-y:auto;box-shadow:8px 0 32px #17231e2e}.drawer-head{justify-content:space-between;align-items:center;margin:0 2px 22px;display:flex}.drawer-head strong{letter-spacing:-.04em;font-size:21px}.new-chat{color:#fff;background:#0b7766;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:16px;padding:13px;font-weight:700;display:flex;box-shadow:0 8px 18px #0b776633}.new-chat svg{width:18px}.conversation-list{border-top:1px solid #edf0ee}.conversation{border-bottom:1px solid #edf0ee;align-items:center;gap:3px;display:flex}.conversation>button:first-child{text-align:left;min-width:0;color:inherit;background:0 0;border:0;flex:1;padding:14px 8px}.conversation strong,.conversation span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.conversation strong{font-size:14px}.conversation span{color:#82908b;margin-top:4px;font-size:12px}.delete{width:36px;height:36px;color:var(--color-negative);background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:grid}.delete:hover{color:#d60042;background:#fff0f4}.delete svg{width:17px}.agent-select{gap:7px;margin:0 0 16px;display:grid}.agent-select span{color:var(--color-muted);font-size:12px;font-weight:700}.agent-select select{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:var(--color-brand-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%233544A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 11px center;appearance:none;font:inherit;border-radius:8px;padding:11px 34px 11px 12px;font-weight:700}.history-status{color:var(--color-muted);align-items:center;gap:8px;margin:0;padding:18px 8px;font-size:13px;display:flex}.delete:disabled{cursor:wait;opacity:.5}.welcome{text-align:center;max-width:600px;margin:9vh auto 0}.agent-avatar{background:radial-gradient(circle at 35% 30%,#fff,#c7eee3);width:62px;height:62px;margin-bottom:16px;box-shadow:0 12px 30px #0b776625}.agent-avatar svg{width:30px}.status{color:#4f7067;justify-content:center;align-items:center;gap:6px;margin:0 0 10px;font-size:12px;font-weight:700;display:flex}.status i{background:#18a27d;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #dff5ed}.welcome h2{letter-spacing:-.055em;margin:0;font-size:clamp(25px,7vw,36px);line-height:1.16}.agent-description{color:#63736d;margin:15px auto 0;line-height:1.65}.prompt-area{text-align:left;margin-top:36px}.prompt-area h3{color:#52635d;margin:0 0 11px;font-size:13px}.suggestions{scrollbar-width:none;gap:9px;padding:2px 1px 12px;display:flex;overflow-x:auto}.suggestions::-webkit-scrollbar{display:none}.suggestions button{color:#24564a;text-align:left;background:#fff;border:1px solid #d8e9e4;border-radius:14px;flex:none;align-items:flex-start;gap:7px;max-width:min(280px,78vw);padding:12px 13px;font-size:13px;line-height:1.4;display:flex;box-shadow:0 2px 8px #183e3520}.suggestions svg{color:#0a8c74;flex:none;width:16px}.messages{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.message{align-items:flex-start;gap:8px;min-width:0;max-width:100%;display:flex}.message-content{color:#293934;background:#fff;border-radius:4px 18px 18px;width:fit-content;min-width:0;max-width:min(100%,640px);padding:13px 15px;line-height:1.6;box-shadow:0 2px 10px #173b3212}.message p{white-space:pre-wrap;margin:0}.message-avatar{flex:none;width:27px;height:27px;margin-top:4px}.message-avatar svg{width:15px}.message.user{justify-content:flex-end;justify-self:stretch}.message.user .message-content{color:#fff;background:#117966;border-radius:18px 4px 18px 18px;margin-left:auto;box-shadow:0 5px 14px #11796629}.chart{background:#fff;border:1px solid #e1e9e5;border-radius:12px;width:min(100%,600px);margin-top:15px;padding:8px;overflow-x:auto}.followups{margin:12px -3px -4px}.followups button{border-radius:11px;max-width:100%;padding:8px 10px;font-size:12px}.loading .message-content{min-width:210px}.loading-line{align-items:center;gap:8px;font-weight:650;display:flex}.pulse{background:#0b8c74;border-radius:50%;width:8px;height:8px;animation:1s infinite pulse}.loading small{color:#6f7e78;align-items:center;gap:4px;margin-top:7px;display:flex}.loading small svg{width:14px}.composer{z-index:3;max-width:780px;padding:22px 20px max(20px, env(safe-area-inset-bottom));background:linear-gradient(#0000,#f7f8f6 34%);gap:8px;margin:auto;display:flex;position:fixed;bottom:0;left:0;right:0}.composer input{color:#17231e;background:#fff;border:1px solid #d2ddd8;border-radius:16px;flex:1;min-width:0;height:52px;padding:0 16px;box-shadow:0 3px 13px #173b3214}.composer input::placeholder{color:#94a19c}.composer button{color:#fff;background:#0b7766;border:0;border-radius:16px;place-items:center;width:52px;height:52px;padding:0;display:grid;box-shadow:0 7px 16px #0b776633}.composer button:disabled{opacity:.42;box-shadow:none}.composer button svg{width:21px}@keyframes slide-in{0%{opacity:.6;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{50%{opacity:.5;transform:scale(.55)}}@media (min-width:720px){body{background:radial-gradient(circle at top,#f3faf7,#e8eeeb 72%)}.shell{background:#f7f8f6;border:1px solid #d5dfda;border-radius:24px;min-height:calc(100dvh - 48px);margin:24px auto;padding-top:28px;box-shadow:0 20px 60px #183e3520}.welcome{margin-top:11vh}.topbar{margin-bottom:38px}.composer{border-radius:0 0 24px 24px;width:min(100%,780px);bottom:24px;left:50%;right:auto;transform:translate(-50%)}}body,.shell{background:var(--color-page)}.brand p,.drawer-head p{color:var(--color-brand)}.brand-mark,.agent-avatar,.message-avatar{color:var(--color-brand);background:var(--color-brand-soft)}.icon-button{border-color:var(--color-border);color:var(--color-brand)}.new-icon,.new-chat,.composer button{border-color:var(--color-brand);background:var(--color-brand);box-shadow:0 7px 16px #3544a833}.new-icon:hover,.new-chat:hover,.composer button:not(:disabled):hover{background:var(--color-brand-strong)}.drawer{background:var(--color-surface)}.conversation-list,.conversation{border-color:var(--color-border)}.conversation.selected{background:var(--color-brand-soft)}.conversation.selected strong{color:var(--color-brand)}.suggestions button{border-color:var(--color-border);color:var(--color-brand-strong);background:var(--color-surface);box-shadow:none}.suggestions button:hover{background:var(--color-brand-soft);border-color:#a7a4fb}.suggestions svg,.agent-avatar svg{color:var(--color-brand)}.status{color:var(--color-muted)}.status i,.pulse{background:var(--color-brand);box-shadow:0 0 0 4px var(--color-brand-soft)}.agent-description,.conversation span,.loading small{color:var(--color-muted)}.message-content{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface);box-shadow:none}.message.user .message-content{border-color:var(--color-brand);background:var(--color-brand);box-shadow:none}.chart{border-color:var(--color-border);width:100%}.chart .vega-embed,.chart .vega-embed>div,.chart svg,.chart canvas{display:block;width:100%!important;max-width:100%!important;height:auto!important}.message-content p{margin:0 0 10px}.message-content p:last-child{margin-bottom:0}.message-content li{margin-left:18px}.message-content strong{font-weight:750}.message-content code{color:var(--color-brand-strong);background:var(--color-brand-soft);border-radius:4px;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}.response-image{border:1px solid var(--color-border);border-radius:8px;width:100%;max-width:100%;height:auto;margin:10px 0;display:block}.sql{border:1px solid var(--color-border);background:var(--color-brand-soft);border-radius:8px;margin-top:13px}.sql summary{color:var(--color-brand-strong);cursor:pointer;padding:9px 11px;font-size:13px;font-weight:700}.sql pre{border-top:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface);margin:0;padding:12px;font-size:12px;line-height:1.55;overflow-x:auto}.sql pre code{color:inherit;background:0 0;padding:0}.message-content h3,.message-content h4,.message-content h5{color:var(--color-brand-strong);margin:18px 0 8px;line-height:1.35}.message-content h3:first-child,.message-content h4:first-child,.message-content h5:first-child{margin-top:0}.message-content h3{font-size:19px}.message-content h4{font-size:16px}.message-content h5{font-size:14px}.message-content ul{margin:0 0 10px;padding-left:6px}.followups{grid-template-columns:1fr;gap:8px;margin:14px 0 0;padding:0;display:grid;overflow:visible}.followups button{white-space:normal;width:100%;max-width:none}.data-table{border:1px solid var(--color-border);border-radius:8px;width:100%;margin-top:14px;overflow-x:auto}.data-table table{border-collapse:collapse;width:100%;min-width:max-content;font-size:13px}.data-table th{color:var(--color-brand-strong);background:var(--color-brand-soft);text-align:left;white-space:nowrap;padding:10px 12px;font-weight:700}.data-table td{border-top:1px solid var(--color-border);white-space:nowrap;padding:10px 12px}.data-table tr:nth-child(2n) td{background:#fafbfe}@media (min-width:720px){body{background:linear-gradient(145deg,#f6f8fc,#e8eeff)}.shell{border-color:var(--color-border);background:var(--color-page);box-shadow:0 20px 60px #3544a820}.composer{background:var(--color-page)}}.topbar{z-index:4;background:var(--color-page);position:sticky;top:0}.message.agent{scroll-margin-top:64px}.message-time{color:var(--color-muted);margin-top:8px;font-size:11px;line-height:1;display:block}.message.user .message-time{color:#ffffffb3;text-align:right}.chart-save{border:1px solid var(--color-border);color:var(--color-brand-strong);background:var(--color-surface);border-radius:6px;margin:8px 0 0 auto;padding:6px 9px;font-size:12px;display:block}.composer{background:var(--color-page)}
