:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg-app: #0d1014;--bg-sidebar: #090b0f;--bg-panel: #11151a;--bg-panel-raised: #171c22;--bg-input: #0b0e12;--border: #252b32;--border-strong: #3a424c;--text-primary: #edf1f5;--text-secondary: #a7b0ba;--text-muted: #737f8b;--accent: #36b8df;--accent-dim: rgba(54, 184, 223, .12);--accent-border: rgba(54, 184, 223, .32);--success: #3ecf8e;--warning: #f0b24a;--danger: #ef6b73}*{box-sizing:border-box;margin:0;padding:0}body{min-width:320px;min-height:100vh;background:var(--bg-app);color:var(--text-primary);font-size:14px;line-height:1.5;overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}#root{min-height:100vh}.loading-screen,.auth-page{min-height:100vh;display:grid;place-items:center;background:var(--bg-app)}.auth-panel{width:min(960px,100%);display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:4px;overflow:hidden}.ui-error-fallback{display:grid;gap:1rem}.ui-error-card{display:grid;gap:.85rem;max-width:32rem}.auth-copy{padding:56px 52px;background:var(--bg-panel);border-right:1px solid var(--border);display:flex;flex-direction:column;justify-content:center}.auth-copy h1{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:600;line-height:1.15;letter-spacing:-.02em;margin:10px 0 14px;color:var(--text-primary)}.auth-copy p{color:var(--text-secondary);font-size:.92rem;line-height:1.65;max-width:36ch}.auth-form{padding:48px 44px;display:grid;gap:18px;align-content:center;background:var(--bg-sidebar)}.brand-kicker{display:inline-block;color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.tab-row{display:flex;border-bottom:1px solid var(--border)}.tab-button{padding:9px 16px 10px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--text-secondary);font-size:.88rem;cursor:pointer;transition:color .14s,border-color .14s;margin-bottom:-1px}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:var(--accent);border-bottom-color:var(--accent)}.auth-form label,.stack-form label{display:grid;gap:6px;font-size:.82rem;color:var(--text-secondary);font-weight:500}.auth-form input,.stack-form input,.stack-form select,.stack-form textarea{border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);padding:9px 11px;border-radius:3px;transition:border-color .14s}.auth-form input:focus,.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus{outline:none;border-color:var(--accent)}.stack-form textarea{resize:vertical;min-height:72px}.form-error{color:var(--danger);font-size:.84rem}.primary-button{border:1px solid transparent;border-radius:3px;background:var(--accent);color:#071115;padding:9px 14px;font-weight:600;font-size:.88rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:opacity .14s,transform .14s,box-shadow .14s}.primary-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 5px 14px #36b8df26}.primary-button:disabled{opacity:.45;cursor:not-allowed}.primary-button svg{width:15px;height:15px;stroke-width:2.2}.ghost-button{border:1px solid var(--border);border-radius:3px;background:transparent;color:var(--text-secondary);padding:8px 11px;font-size:.84rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:border-color .14s,color .14s,background .14s,transform .14s}.ghost-button:hover{border-color:var(--border-strong);color:var(--text-primary);transform:translateY(-1px)}.ghost-button svg{width:14px;height:14px;stroke-width:2}.compact-button{padding:5px 8px;border-radius:3px;font-size:.8rem}.danger-button{color:var(--danger);border-color:#ef6b7340}.danger-button:hover{background:#ef6b730f}.app-shell{height:100vh;display:grid;grid-template-columns:64px 1fr;overflow:hidden}.sidebar{display:flex;flex-direction:column;justify-content:space-between;padding:0;border-right:1px solid var(--border);background:var(--bg-sidebar);overflow:auto}.brand-block{padding:12px 6px 10px;border-bottom:1px solid var(--border);text-align:center}.brand-lockup{display:grid;justify-items:center;gap:6px}.brand-mark{width:34px;height:34px}.brand-mark-image{width:34px;height:34px;display:block;object-fit:contain}.brand-wordmark{display:grid;gap:1px}.brand-wordmark strong{font-size:.72rem;font-weight:700;letter-spacing:-.02em}.brand-mark-frame,.brand-mark-block,.brand-mark-node{stroke:currentColor;stroke-width:1.8}.brand-mark-rain,.brand-mark-flow{stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.brand-mark-enso,.brand-mark-enso-tail{stroke-linecap:round;stroke-linejoin:round;fill:none}.brand-mark-enso{stroke:var(--text-primary);stroke-width:3.15;opacity:.95}.brand-mark-enso-tail{stroke:var(--accent);stroke-width:2.2;opacity:.75}.brand-mark-seal{fill:var(--accent);opacity:.88}.brand-mark-block,.brand-mark-node,.brand-mark-frame{color:var(--text-primary)}.brand-mark-block.soft,.brand-mark-node.soft{opacity:.6}.sidebar-nav{display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:8px;flex:1;margin-top:0}.nav-item{display:grid;place-items:center;width:36px;height:36px;padding:0;color:#e7eef7eb;border-radius:999px;border:0;transition:background .13s,color .13s,opacity .13s;text-align:center}.nav-item:hover{background:#ffffff0a;color:#fff}.nav-item.active{background:#ffffff0f;color:#fff}.app-glyph{display:grid;place-items:center;width:19px;height:19px}.app-glyph svg{width:19px;height:19px;stroke-width:1.8}.sidebar-footer{padding:8px 5px;border-top:1px solid var(--border);display:grid;gap:8px;justify-items:center}.sidebar-footer .ghost-button{width:48px;padding:6px 0;font-size:.66rem}.main-panel{display:grid;grid-template-rows:1fr;min-width:0;min-height:0;overflow:hidden;background:var(--bg-panel)}.content-panel{padding:0;min-height:0;overflow:hidden;background:var(--bg-panel)}.content-panel{padding:0;background:var(--bg-panel)}.page-header{padding:12px 16px;border-bottom:1px solid var(--border)}.page-header h3{font-size:1.05rem;font-weight:600;color:var(--text-primary)}.page-header p,.panel-card p,.sidebar p{color:var(--text-secondary);font-size:.85rem}.panel-label{color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.workspace-page{display:grid;gap:0;min-height:0;height:100%}.workspace-page.chat-workspace-page,.workspace-page.datasets-page,.workspace-page.explorer-page,.workspace-page.transforms-page{grid-template-rows:auto minmax(0,1fr);overflow:hidden}.page-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1px;background:var(--border);min-height:0}.datasets-grid{display:grid;grid-template-columns:minmax(340px,.95fr) minmax(420px,1.05fr);gap:1px;background:var(--border);min-height:0;overflow:hidden}.transforms-grid{display:grid;grid-template-columns:300px minmax(0,1.55fr) 280px;gap:1px;background:var(--border);min-height:0;height:100%;overflow:hidden}.transforms-grid.transforms-grid-canvas{grid-template-columns:316px minmax(0,1fr) 348px}.pipeline-agent-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;min-width:0;overflow:hidden}.explorer-grid{display:grid;grid-template-columns:300px minmax(0,1.2fr) 360px;gap:1px;background:var(--border);min-height:0;overflow:hidden}.datasets-column{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--border);min-height:0}.datasets-column .panel-card{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:260px}.datasets-column .dataset-form-panel .stack-form{min-height:0;overflow:auto;padding-right:4px}.dataset-detail-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.dataset-detail-stack{display:grid;gap:14px;min-height:0;overflow:auto;padding-right:4px}.dataset-columns,.dataset-preview{display:grid;gap:8px;min-height:0}.chat-grid{display:grid;grid-template-columns:340px 1fr;gap:1px;background:var(--border);align-items:stretch;min-height:0}.chat-grid.chat-grid-panels{grid-template-columns:280px minmax(0,1.4fr) 320px;min-height:0;height:100%;overflow:hidden}.explorer-prompt-panel,.explorer-editor-panel,.explorer-result-panel{display:grid;min-height:0;height:100%}.explorer-prompt-panel,.explorer-result-panel,.explorer-editor-panel{grid-template-rows:auto minmax(0,1fr)}.explorer-pane-body{min-height:0;overflow:auto;padding-right:4px}.explorer-right-stack{display:grid;align-content:start;gap:14px}.explorer-sql-editor{min-height:480px;resize:vertical;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.explorer-draft-meta{display:grid;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.explorer-draft-meta p,.explorer-empty-state{margin:0;color:var(--text-secondary)}.explorer-dataset-list{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.panel-subtitle{color:var(--text-muted);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.panel-subtitle-spaced{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.editor-label,.editor-label textarea{min-height:0}.panel-card{padding:14px 16px;border-radius:0;border:0;background:var(--bg-panel);min-height:0;overflow:hidden}.hero-card{min-height:200px;background:var(--bg-panel-raised)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.panel-list{margin:12px 0 0;padding-left:18px;color:var(--text-secondary);font-size:.88rem}.settings-page{grid-template-rows:auto minmax(0,1fr);overflow:hidden}.settings-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);min-height:0}.brand-review-panel{display:grid;align-content:start;gap:12px}.brand-preview-list{display:grid;gap:12px}.brand-preview-card{display:grid;gap:10px;padding:14px 0;border-bottom:1px solid var(--border)}.brand-preview-card.selected{color:var(--text-primary)}.brand-preview-card p,.brand-note{color:var(--text-secondary);font-size:.86rem}.icon-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.icon-preview-card{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.icon-preview-card strong{font-size:.86rem;font-weight:600}.stack-form{display:grid;align-content:start;gap:10px;margin-top:10px}.data-list{display:grid;align-content:start;gap:0;margin-top:8px;min-height:0;overflow:auto}.data-item,.query-result-card{display:grid;gap:4px;padding:9px 2px;border-bottom:1px solid var(--border);background:transparent}.data-item-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.data-item.active{background:var(--accent-dim)}.data-item span{color:var(--text-secondary)}.transform-list-item{width:100%;text-align:left;border:0;cursor:pointer}.transform-list-item strong{font-size:.88rem;font-weight:600}.inline-actions{display:flex;align-items:center;gap:6px}.dataset-link-button{padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.dataset-link-button:disabled{opacity:.5;cursor:progress}.compact-list{margin-top:0}.compact-item{padding:7px 2px}.inline-field-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.checkbox-row{display:flex;align-items:center;gap:8px}.checkbox-row input{width:auto}.transform-editor-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;height:100%}.transform-side-stack{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0}.transform-schedule-form{margin-top:0;padding-bottom:10px;border-bottom:1px solid var(--border)}.transform-runs-list{min-height:0;overflow:auto}.pipeline-graph-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;padding-bottom:0;border-bottom:0;min-height:0;height:100%}.pipeline-graph-header{align-items:center;flex-wrap:wrap}.pipeline-graph-actions{justify-content:flex-end;flex-wrap:wrap}.pipeline-canvas-scroll{min-height:0;overflow:auto;height:100%;border:1px solid var(--border);border-radius:0;background:linear-gradient(180deg,#ffffff03,#ffffff04)}.pipeline-canvas{position:relative;min-width:100%;min-height:100%;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:24px 24px}.pipeline-canvas-svg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.pipeline-edge-path{fill:none;stroke:#36b8df80;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pipeline-column-label{color:var(--text-muted);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.pipeline-canvas-node{display:grid;gap:4px;padding:10px 10px 11px;border:1px solid var(--border);background:var(--bg-app);min-width:0;overflow:hidden;position:absolute;z-index:1;-webkit-user-select:none;user-select:none;touch-action:none}button.pipeline-canvas-node{width:100%;text-align:left;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pipeline-canvas-node strong{font-size:.84rem;font-weight:600;overflow-wrap:anywhere}.pipeline-node-window{position:absolute;top:24px;right:24px;width:min(332px,calc(100% - 48px));max-height:calc(100% - 48px);display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--border-strong);background:#101318f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 48px #0000005c;z-index:3}.pipeline-canvas>.pipeline-node-window{display:none}.pipeline-node-inspector-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;height:100%;overflow:hidden;padding:0;background:var(--bg-panel)}.pipeline-node-inspector-panel .pipeline-node-window-header{padding:14px 14px 12px;background:#ffffff04}.pipeline-node-inspector-panel .pipeline-node-window-title{flex-basis:190px}.pipeline-node-inspector-panel .pipeline-node-window-title strong{font-size:.86rem;line-height:1.35}.pipeline-node-inspector-panel .pipeline-node-window-body{min-height:0;padding:12px 14px 16px}.pipeline-node-inspector-empty{display:grid;align-content:center;justify-items:center;gap:10px;grid-row:1 / -1;min-height:0;padding:24px;color:var(--text-secondary);text-align:center}.pipeline-node-inspector-empty p{margin:0;max-width:220px;line-height:1.5}.pipeline-table-window{position:absolute;top:40px;left:40px;width:min(760px,calc(100% - 104px));max-height:calc(100% - 80px);display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--border-strong);background:#0f1217f7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 48px #0000006b;z-index:4}.pipeline-node-window-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px 10px;border-bottom:1px solid var(--border)}.pipeline-node-window-title{display:grid;gap:2px;min-width:0;flex:1 1 160px}.pipeline-node-window-kicker{color:var(--text-muted);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.pipeline-node-window-header strong{display:block;margin-top:0;font-size:.9rem;overflow-wrap:anywhere}.pipeline-node-window-body{display:grid;align-content:start;gap:8px;min-height:0;overflow:auto;padding:10px 14px 14px}.pipeline-node-window-actions{flex:0 0 auto;justify-content:flex-end;flex-wrap:wrap;gap:4px}.pipeline-node-window-actions>.ghost-button,.pipeline-node-window-actions>.primary-button{flex:0 0 auto}.pipeline-node-window-actions .compact-button{padding:4px 6px;font-size:.74rem}.destructive-button{color:#ef8c8c;border-color:#ef6b7347}.destructive-button:hover:not(:disabled){color:#ffd2d2;border-color:#ef6b737a;background:#ef6b731a}.pipeline-node-icon-button{width:26px;min-width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;line-height:1}.pipeline-node-icon-button svg{width:14px;height:14px;stroke-width:2}.pipeline-node-tabs{display:flex;gap:4px;flex-wrap:wrap;position:sticky;top:-12px;z-index:1;padding-top:2px;padding-bottom:12px;background:#11151afa;border-bottom:1px solid var(--border)}.pipeline-node-tab{padding:5px 8px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:.74rem;cursor:pointer}.pipeline-node-tab.active{border-color:var(--accent-border);background:var(--accent-dim);color:var(--accent)}.pipeline-node-edges{max-height:160px}.pipeline-node-columns,.pipeline-table-columns{max-height:180px}.pipeline-node-empty{margin:8px 0 0;color:var(--text-secondary)}.pipeline-node-inspector-panel .detail-meta-row,.pipeline-node-inspector-panel .data-item,.pipeline-node-inspector-panel .compact-item{min-width:0}.pipeline-node-inspector-panel .detail-meta-row span,.pipeline-node-inspector-panel .data-item strong,.pipeline-node-inspector-panel .data-item span{min-width:0;overflow-wrap:anywhere}.pipeline-node-inspector-panel .detail-meta-row span{flex:1 1 120px}.pipeline-node-detail-actions{margin-top:10px}.pipeline-node-tab-panel{margin-top:0}.pipeline-schedule-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pipeline-schedule-summary>div{display:grid;gap:3px;padding:10px;border:1px solid var(--border);background:#ffffff06}.pipeline-schedule-summary strong{font-size:.9rem}.pipeline-field-label{gap:6px}.pipeline-schedule-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--border);background:#ffffff05;color:var(--text-secondary)}.pipeline-schedule-toggle span{display:grid;gap:2px;min-width:0}.pipeline-schedule-toggle strong{color:var(--text-primary);font-size:.84rem}.pipeline-schedule-toggle small{color:var(--text-muted);font-size:.74rem}.pipeline-schedule-toggle input{flex:0 0 auto;width:16px;height:16px}.pipeline-run-item{gap:8px}.pipeline-run-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.pipeline-run-status-label{color:var(--text-secondary);font-size:.74rem;text-transform:capitalize;font-weight:600}.pipeline-run-status-label-succeeded{color:#7ed0a0}.pipeline-run-status-label-failed{color:#ef8e8e}.pipeline-run-status-label-running,.pipeline-run-status-label-pending,.pipeline-run-status-label-output_missing{color:#f0d179}.pipeline-run-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;color:var(--text-secondary);font-size:.76rem}.pipeline-run-error{display:grid;gap:6px;padding:8px;border:1px solid rgba(220,99,99,.35);background:#dc636314;color:#efb2b2}.pipeline-run-error pre{max-height:180px;margin:0;overflow:auto;white-space:pre-wrap;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.72rem;line-height:1.45}.pipeline-node-code-form{margin-top:0}.pipeline-node-code-editor{width:100%;max-width:100%;min-height:280px;resize:vertical;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.78rem;line-height:1.5;overflow:auto}.pipeline-canvas-node span{color:var(--text-secondary);font-size:.78rem;line-height:1.4;overflow-wrap:anywhere}.pipeline-canvas-node-transform{border-left:3px solid var(--accent-border)}.pipeline-canvas-node-transform:hover{background:#ffffff08}.pipeline-canvas-node.selected,.pipeline-canvas-node-transform.selected{background:var(--accent-dim)}.pipeline-canvas-node-output{border-left:3px solid #6aa7ff}.pipeline-canvas-node-dataset{border-left:3px solid #3fa276}.pipeline-node-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.pipeline-status{min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:.82rem;line-height:1;border:1px solid var(--border);color:var(--text-muted);border-radius:999px;flex-shrink:0}.pipeline-status svg{width:12px;height:12px;stroke-width:2.4}.pipeline-status-succeeded{border-color:#3ca37073;color:#7ed0a0}.pipeline-status-running,.pipeline-status-pending{border-color:#eac15b73;color:#f0d179}.pipeline-status-failed{border-color:#dc636373;color:#ef8e8e}.pipeline-status-output_missing{border-color:#eac15b73;color:#f0d179}.pipeline-status-draft{border-color:var(--border);color:var(--text-muted)}.pipeline-editor-form{min-height:0;overflow:auto;padding-right:4px;margin-top:0}.run-log-block{min-height:280px;white-space:pre-wrap}.detail-meta-row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--text-secondary);font-size:.82rem}.run-error-meta{color:#efb2b2}.conversation-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100%}.transcript-panel,.composer-panel{display:grid;min-height:0;height:100%}.transcript-panel{grid-template-rows:auto minmax(0,1fr) auto}.composer-panel{grid-template-rows:auto auto minmax(0,1fr)}.transcript-header{margin-bottom:10px}.panel-meta{color:var(--text-muted);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.conversation-item{width:100%;color:var(--text-primary);grid-template-columns:minmax(0,1fr) auto;align-items:start;border-radius:0;background:transparent;border-color:transparent;padding:6px 0;border-bottom:1px solid var(--border);transition:background .15s,border-color .15s,padding-left .15s}.conversation-item:hover{background:#ffffff06;padding-left:6px}.conversation-item.active{background:var(--accent-dim);border-left:2px solid var(--accent-border);padding-left:8px}.conversation-main{display:grid;gap:4px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.conversation-main strong{font-size:.88rem;font-weight:600}.conversation-main span{font-size:.76rem;color:var(--text-secondary)}.chat-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;height:100%}.chat-thread{display:grid;gap:0;align-content:start;grid-auto-rows:max-content;margin:0;min-height:0;height:100%;overflow-y:auto;padding-right:6px}.pipeline-agent-thread{margin-top:0;border-top:1px solid var(--border);padding-top:10px;min-height:0;height:100%;overscroll-behavior:contain;padding-bottom:10px}.pipeline-agent-compose{margin-top:0;padding-top:10px;border-top:1px solid var(--border);background:var(--bg-panel)}.pipeline-agent-compose textarea{min-height:68px;max-height:128px}.chat-thread>p{color:var(--text-secondary);font-size:.86rem;padding-top:2px}.prompt-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.prompt-chip{width:100%;justify-content:flex-start;padding:7px 9px;border-radius:0;border:0;border-bottom:1px solid var(--border);background:transparent;font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:background .13s,color .13s,padding-left .13s}.prompt-chip:hover{background:#ffffff09;color:var(--text-primary);padding-left:12px}.prompt-chip svg{color:var(--accent);opacity:.72}.prompt-column{display:grid;gap:4px;align-content:start;margin-bottom:10px}.chat-entry{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:6px;align-content:start;justify-items:start;padding:9px 0 10px;border-bottom:1px solid var(--border)}.chat-entry.pending,.chat-entry.streaming{animation:chat-entry-in .18s ease-out both}.chat-entry:last-child{border-bottom:0}.chat-entry.user{justify-items:end;padding-right:0;border-left:0;border-right:2px solid var(--accent-border)}.chat-entry.assistant{padding-left:2px}.chat-entry-header,.chat-entry-content,.chat-activity-stack{width:100%;min-width:0}.chat-entry.user .chat-entry-header,.chat-entry.user .chat-entry-content{width:min(100%,620px);padding-right:10px;padding-left:0;text-align:right}.chat-entry.user .chat-entry-header{justify-content:flex-end}.chat-entry-header{display:flex;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.chat-live-pill{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.08em}.chat-live-pill svg{width:13px;height:13px;animation:spin 1s linear infinite}.chat-entry.user .chat-entry-header strong{color:var(--accent)}.chat-entry.assistant .chat-entry-header strong{color:var(--text-secondary)}.chat-entry-content{margin:0;white-space:pre-wrap;line-height:1.5;overflow-wrap:anywhere;font-size:.88rem;text-align:left}.formatted-chat-content{display:grid;min-width:0;gap:8px;white-space:normal}.chat-content-heading,.chat-content-paragraph,.chat-content-list{margin:0}.chat-content-heading{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.chat-content-paragraph{line-height:1.5;font-size:.88rem}.chat-content-list{display:grid;gap:5px;padding-left:18px}.chat-content-list li{line-height:1.45;font-size:.88rem}.chat-compose-form{margin-top:0;min-height:0;align-content:start}.chat-compose-dock{padding-top:10px;margin-top:10px;border-top:1px solid var(--border)}.chat-compose-form textarea{min-height:72px;max-height:180px;transition:border-color .14s,box-shadow .14s,background .14s}.chat-compose-form textarea:focus{box-shadow:0 0 0 3px #36b8df1a;background:#0c0f13f0}.chat-compose-actions{display:flex;align-items:center;justify-content:flex-start;gap:12px}.chat-compose-actions .primary-button{order:1}.chat-compose-actions .panel-meta{order:2}.chat-activity-stack{display:grid;gap:6px}.thinking-section,.tool-call-card{min-width:0;border-top:1px solid var(--border);background:transparent;overflow:hidden;transition:border-color .16s,background .16s}.thinking-section:hover,.tool-call-card:hover{border-color:var(--border-strong);background:#ffffff04}.tool-call-card.running .tool-call-state svg{color:var(--accent);animation:spin 1s linear infinite}.thinking-header,.tool-call-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border:0;background:transparent;color:var(--text-primary);cursor:pointer;text-align:left}.thinking-title,.tool-call-name{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.tool-call-label{margin-left:auto;color:var(--text-secondary);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thinking-toggle,.tool-call-toggle,.tool-call-state{display:inline-grid;place-items:center;color:var(--text-muted)}.thinking-toggle svg,.tool-call-toggle svg,.tool-call-state svg{width:14px;height:14px;stroke-width:2}.thinking-preview,.thinking-content{padding:0 0 8px;color:var(--text-secondary);white-space:pre-wrap;line-height:1.48;font-size:.83rem}.tool-call-body{display:grid;gap:8px;padding:0 0 10px}@keyframes blink{50%{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes chat-entry-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes typing-pulse{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.streaming-cursor{display:inline-block;margin-left:2px;color:var(--accent);animation:blink 1s step-end infinite}.chat-typing-indicator{display:inline-flex;align-items:center;gap:5px;min-height:22px;padding:2px 0}.chat-typing-indicator span{width:6px;height:6px;border-radius:999px;background:var(--accent);animation:typing-pulse 1.1s ease-in-out infinite}.chat-typing-indicator span:nth-child(2){animation-delay:.12s}.chat-typing-indicator span:nth-child(3){animation-delay:.24s}.tool-run-list{display:grid;gap:6px}.tool-run-card{display:grid;gap:8px;padding:0 0 10px;border:0;background:transparent}.task-ledger-card{display:grid;gap:8px;padding:0 0 10px;border-top:1px solid var(--border)}.task-ledger-list{display:grid;gap:8px}.task-ledger-item{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start;color:var(--text-secondary);font-size:.82rem}.task-ledger-state{display:inline-grid;place-items:center;color:var(--text-muted);width:16px;height:16px}.task-ledger-state svg{width:14px;height:14px;stroke-width:2}.task-ledger-copy{display:grid;gap:3px}.task-ledger-copy strong{color:var(--text-primary);font-size:.8rem}.task-ledger-copy span{white-space:pre-wrap}.task-ledger-item.completed .task-ledger-state{color:#5ad08c}.task-ledger-item.in_progress .task-ledger-state{color:#f0b24a}.task-ledger-item.blocked .task-ledger-state{color:#ef6b73}.tool-run-meta{display:flex;justify-content:space-between;gap:8px;color:var(--text-secondary);font-size:.82rem}.sql-block,.inline-sql-block{margin:0;padding:9px 11px;overflow-x:auto;border-radius:0;background:var(--bg-app);border:1px solid var(--border);color:#b9c6d2;font-size:.8rem;line-height:1.5}.inline-sql-block{font-size:.8rem}.result-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--text-secondary);font-size:.82rem}.result-table-wrap{overflow-x:auto}.result-table-card{display:grid;gap:8px;border:1px solid var(--border);background:#ffffff05}.result-table-header{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;border:0;background:transparent;color:var(--text-primary);cursor:pointer;text-align:left}.result-table-title{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.result-table-summary,.result-table-toggle{color:var(--text-secondary);font-size:.8rem}.result-table-toggle{display:inline-grid;place-items:center}.result-table-toggle svg{width:14px;height:14px;stroke-width:2}.result-table-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-table-card .result-table-wrap{padding:0 10px 10px}.result-table{width:100%;border-collapse:collapse}.result-table th{padding:8px;border-bottom:1px solid var(--border-strong);text-align:left;font-size:.82rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.result-table td{padding:8px;border-bottom:1px solid var(--border);text-align:left;font-size:.87rem;color:var(--text-secondary)}.result-table.compact th,.result-table.compact td{padding:6px 8px;font-size:.83rem}.chart-preview{display:grid;gap:8px}.chart-title{color:var(--text-primary);font-size:.84rem;font-weight:600}.chart-svg{width:100%;height:auto;border-radius:0;background:var(--bg-app);border:1px solid var(--border)}.chart-legend{display:flex;gap:10px;flex-wrap:wrap;color:var(--text-secondary);font-size:.78rem}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@media (max-width: 920px){.auth-panel,.app-shell,.explorer-grid,.datasets-grid,.transforms-grid,.datasets-column,.page-grid,.chat-grid,.chat-grid.chat-grid-panels{grid-template-columns:1fr}.datasets-grid{overflow:visible}.datasets-column{grid-template-rows:auto}.workspace-page.chat-workspace-page,.chat-grid.chat-grid-panels{overflow:auto;height:auto}.sidebar{border-right:0;border-bottom:1px solid var(--border)}.app-shell{grid-template-columns:1fr}.sidebar-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.nav-item{padding:8px 4px 7px}}
