:root{color-scheme:light;--bg:#f5f7fb;--ink:#172033;--muted:#647086;--line:#dbe2ee;--panel:#ffffff;--soft:#eef3f8;--blue:#2f6fed;--teal:#13a886;--orange:#d65f35;--shadow:0 14px 40px rgba(21,32,52,0.08)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:288px minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid var(--line);background:#ffffff;padding:22px 18px;display:flex;flex-direction:column;gap:18px}.assistant-row,.brand,.brand-title,.panel-heading,.status-pill{display:flex;align-items:center}.brand{gap:10px;justify-content:space-between}.brand-actions{display:flex;align-items:center;gap:7px}.brand-title{min-width:0;gap:12px}.brand-settings{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:8px;background:#fff;color:#344055}.assistant-avatar,.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#172033;color:#fff}.brand strong{display:block;font-size:15px}.assistant-message p,.brand span,.metric small,.section-label,.topbar p{color:var(--muted)}.brand span{font-size:12px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(140deg,rgba(47,111,237,.1),transparent 34%),linear-gradient(320deg,rgba(19,168,134,.12),transparent 38%),var(--bg)}.auth-panel{width:min(420px,100%);grid-gap:18px;gap:18px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);padding:28px}.auth-mark,.auth-panel{display:grid;border-radius:8px}.auth-mark{width:44px;height:44px;place-items:center;background:#172033;color:#fff}.auth-panel h1{margin:0 0 5px;font-size:25px;line-height:1.15}.auth-panel p{margin:0;color:var(--muted);font-size:14px}.auth-form{display:grid;grid-gap:10px;gap:10px}.auth-form label{color:#344055;font-size:12px;font-weight:800;text-transform:uppercase}.auth-form input{min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px 13px;outline:none}.auth-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,111,237,.14)}.auth-form button{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;background:var(--blue);color:#fff;font-weight:700}.auth-form button:disabled{opacity:.62;cursor:not-allowed}.auth-error{border:1px solid #edc8be;border-radius:8px;background:#fff8f5;color:#a33c24;padding:9px 10px;font-size:13px}.sidebar-section{border-top:1px solid var(--line);padding-top:16px}.section-label{display:block;margin-bottom:10px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.section-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.section-row .section-label{margin-bottom:0}.section-toggle{min-width:0;display:flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;padding:0}.section-toggle .section-label{margin-bottom:0}.section-toggle small{min-width:21px;height:21px;display:grid;place-items:center;border-radius:999px;background:var(--soft);color:var(--muted);font-size:11px;font-weight:800}.section-toggle svg{transition:transform .16s ease}.chevron-open{transform:rotate(90deg)}.mini-icon-button{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:#344055}.data-source-list{display:grid;grid-gap:8px;gap:8px}.collapsed-summary{display:grid;grid-gap:6px;gap:6px}.collapsed-summary div{display:flex;justify-content:space-between;gap:8px;color:#344055;font-size:12px}.collapsed-summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collapsed-summary small{color:var(--muted);font-size:11px;text-transform:uppercase}.data-source-item{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}.source-actions{display:flex;gap:5px}.report-section-title{min-width:0;display:flex;align-items:center;gap:7px}.report-section-title .section-label{margin-bottom:0}.section-count{min-width:21px;height:21px;display:grid;place-items:center;border-radius:999px;background:var(--soft);color:var(--muted);font-size:11px;font-weight:800}.data-source-item small,.data-source-item span,.data-source-item strong,.report-item span,.report-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-source-item strong,.report-item strong{font-size:13px}.data-source-item span,.report-item span{color:var(--muted);font-size:12px}.report-list{display:grid;grid-gap:8px;gap:8px}.report-item{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}.source-status{width:-moz-fit-content;width:fit-content;margin-top:4px;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.source-status-connected{background:rgba(19,168,134,.12);color:#0b735d}.source-status-error{background:rgba(214,95,53,.12);color:#a33d21}.source-status-untested{background:#eef3f8;color:#536175}.add-source-button{width:100%;margin-top:9px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px dashed var(--line);border-radius:8px;background:#fff;color:#344055;padding:8px 10px;font-size:13px}.sidebar-section p{font-size:13px;line-height:1.45;margin:0 0 8px}.workspace{min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto;height:100vh}.topbar{display:flex;justify-content:space-between;gap:20px;padding:28px 32px 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.78)}.topbar h1{margin:0 0 4px;font-size:clamp(26px,4vw,44px);line-height:1.05;letter-spacing:0}.topbar p{margin:0;max-width:780px;font-size:14px}.status-pill{align-self:flex-start;gap:7px;min-width:max-content;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:13px}.starter-row{display:flex;gap:10px;padding:14px 32px;overflow-x:auto;border-bottom:1px solid var(--line)}.followups button,.starter-row button{border:1px solid var(--line);background:#fff;color:#24304a;border-radius:8px;padding:8px 11px;white-space:nowrap}.messages{min-height:0;overflow-y:auto;padding:26px 32px 34px}.empty-state{max-width:560px;margin:70px auto;text-align:center;color:var(--muted)}.empty-state h2{margin:14px 0 7px;color:var(--ink)}.user-message{width:-moz-fit-content;width:fit-content;max-width:min(720px,88%);margin:0 0 18px auto;background:#172033;color:#fff;padding:12px 14px;border-radius:8px}.assistant-message{max-width:1120px;margin:0 0 24px}.assistant-row{align-items:flex-start;gap:12px}.assistant-message h2{margin:0 0 6px;font-size:20px;line-height:1.25}.assistant-message p{margin:0 0 12px;font-size:14px;line-height:1.5}.error-box,.thinking{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px}.error-box{color:#a33c24;border-color:#edc8be}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:10px;gap:10px;margin:12px 0}.metric,.result-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.metric{padding:13px}.metric small,.metric span{display:block;font-size:12px}.metric strong{display:block;margin-top:4px;font-size:24px}.result-panel{margin:12px 0;overflow:hidden}.panel-heading{gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}.panel-heading h3{margin:0;font-size:15px}.chart-wrap{height:340px;padding:14px}.chart-artifact-wrap{padding:14px;background:#fff}.chart-artifact-wrap img{display:block;width:100%;max-height:520px;object-fit:contain}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}td,th{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:pre-wrap}th{background:var(--soft);color:#344055;font-size:12px;text-transform:capitalize}.caveats,.followups,.message-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.message-actions button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#24304a;padding:8px 11px}.error-note{color:#a33c24}.trace-panel{margin:12px 0;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.trace-panel summary{padding:12px 14px;cursor:pointer;font-weight:700;border-bottom:1px solid var(--line)}.trace-io,.trace-steps{display:grid;grid-gap:10px;gap:10px;padding:12px 14px}.trace-step{display:grid;grid-gap:5px;gap:5px}.trace-io strong,.trace-step strong{color:#344055;font-size:12px;text-transform:uppercase}.trace-panel pre{margin:0;max-height:220px;overflow:auto;white-space:pre-wrap;word-break:break-word;border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:10px;color:#172033;font-size:12px;line-height:1.45}.live-run-panel{border-color:#b9c8ee;background:#f8fbff}.live-run-events{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.live-run-event{display:grid;grid-gap:5px;gap:5px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}.live-run-event strong{color:#344055;font-size:12px;text-transform:uppercase}.live-run-event pre{margin:0;max-height:180px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.45}.live-run-stdout pre{color:#173b75}.live-run-stderr pre{color:#9b2f2f}.live-run-thinking{border-color:#d8d1ed;background:#fbf9ff}.live-run-thinking pre,.live-run-thinking strong{color:#5a3c8c}.live-run-activity{border-color:#cfe0d5;background:#f7fbf8}.live-run-activity strong{color:#22603c}.caveats span{border:1px solid #ead7b0;background:#fff9ec;color:#7b5a16;border-radius:8px;padding:8px 10px;font-size:13px}.composer{display:grid;grid-template-columns:minmax(0,1fr) 42px;grid-gap:10px;gap:10px;padding:18px 32px 24px;border-top:1px solid var(--line);background:#fff}.composer input{min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px 13px;outline:none}.composer input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,111,237,.14)}.composer button{border:0;border-radius:8px;background:var(--blue);color:#fff;display:grid;place-items:center}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:rgba(23,32,51,.38)}.settings-modal{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 70px rgba(12,18,30,.28);padding:18px}.settings-actions,.settings-head,.settings-head div{display:flex;align-items:center}.settings-head{justify-content:space-between;margin-bottom:18px}.settings-head div{gap:8px}.settings-head h2{margin:0;font-size:18px}.icon-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff}.settings-field span{display:block;margin-bottom:8px;font-size:13px;font-weight:700}.settings-field input,.settings-field select{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px 12px;outline:none;background:#fff}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.settings-field input:focus,.settings-field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,111,237,.14)}.settings-check{display:flex;align-items:center;gap:10px;color:#24304a;font-size:14px}.settings-check input{width:16px;height:16px;accent-color:var(--blue)}.settings-note{min-height:20px;margin:10px 0 18px;color:var(--muted);font-size:13px}.settings-actions{justify-content:flex-end;gap:10px}.settings-actions button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px}.settings-actions button[type=submit]{border-color:var(--blue);background:var(--blue);color:#fff}.confirm-modal{width:min(460px,100%)}.confirm-copy{margin:4px 0 12px;color:var(--muted);line-height:1.45}.delete-confirm-details{border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:12px;margin-bottom:18px}.delete-confirm-details span,.delete-confirm-details strong{display:block}.delete-confirm-details span{margin-top:3px;color:var(--muted);font-size:13px}.settings-actions .danger-button{border-color:#c9482a;background:#c9482a;color:#fff}.data-source-modal{width:min(680px,100%)}.source-chat{height:min(420px,55vh);overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.source-chat-assistant,.source-chat-user{max-width:86%;border-radius:8px;padding:10px 12px;font-size:14px;line-height:1.45}.source-chat-user{align-self:flex-end;background:#172033;color:#fff}.source-chat-assistant{align-self:flex-start;background:#fff;border:1px solid var(--line)}.source-composer{display:grid;grid-template-columns:minmax(0,1fr) 40px;grid-gap:10px;gap:10px;margin-top:12px}.source-composer input{min-width:0;border:1px solid var(--line);border-radius:8px;padding:11px 12px;outline:none}.source-composer input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,111,237,.14)}.source-composer button{display:grid;place-items:center;border:0;border-radius:8px;background:var(--blue);color:#fff}.composer button:disabled,.starter-row button:disabled{opacity:.6;cursor:not-allowed}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.workspace{height:auto;min-height:100vh}.composer,.messages,.starter-row,.topbar{padding-left:16px;padding-right:16px}.topbar{display:block}.status-pill{margin-top:12px}}