:root{--bg:#f5f7fb;--panel:#fff;--panel-soft:#f8fafc;--border:#d9e1ea;--border-strong:#b7c4d1;--control-bg:#fff;--text:#17202a;--muted:#657386;--muted-strong:#475569;--primary:#116466;--primary-dark:#0a4a4c;--primary-soft:#e7f5f4;--blue:#2563eb;--amber:#b7791f;--danger:#b42318;--danger-soft:#fff1f0;--topbar-bg:#ffffffd6;--user-message-bg:#edf5ff;--user-message-border:#b9d4ff;--chip-hover:#d9e1ea;--shadow:0 16px 40px #0f172a14;--message-shadow:0 8px 22px #0f172a0d;--radius:8px;--font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font:15px/1.45 var(--font);font-synthesis:none;letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--bg:#111827;--panel:#17202b;--panel-soft:#1f2937;--border:#314154;--border-strong:#526579;--control-bg:#0f1722;--text:#f3f6fa;--muted:#a1adbd;--muted-strong:#c3cbd6;--primary:#2dd4bf;--primary-dark:#14b8a6;--primary-soft:#123f3c;--blue:#60a5fa;--amber:#fbbf24;--danger:#f87171;--danger-soft:#3b1b1f;--topbar-bg:#17202be0;--user-message-bg:#123556;--user-message-border:#2563a8;--chip-hover:#314154;--shadow:0 16px 40px #00000052;--message-shadow:0 8px 24px #00000038;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}html{overflow:hidden}body{background:var(--bg);min-width:320px;margin:0;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}h1,h2,p{margin:0}h1{color:var(--text);font-size:28px;font-weight:750;line-height:1.12}h2{color:var(--text);font-size:15px;font-weight:750;line-height:1.2}input,textarea{border:1px solid var(--border);background:var(--control-bg);width:100%;color:var(--text);border-radius:6px;outline:none;padding:10px 11px;transition:border-color .16s,box-shadow .16s}textarea{resize:vertical;min-height:44px}input:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #11646624}label{gap:7px;display:grid}label>span{color:var(--muted-strong);text-transform:uppercase;font-size:12px;font-weight:700}.auth-shell{place-items:center;min-height:100dvh;padding:24px;display:grid;overflow-y:auto}.auth-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);width:min(440px,100%);box-shadow:var(--shadow);gap:20px;padding:28px;display:grid;position:relative}.auth-theme-toggle{position:absolute;top:18px;right:18px}.session-loading-panel{align-content:center;min-height:270px}.session-loading-copy{color:var(--muted-strong);align-items:center;gap:10px;font-weight:700;display:inline-flex}.brand-mark{border-radius:var(--radius);background:var(--primary);color:#fff;place-items:center;width:44px;height:44px;display:inline-grid}.brand-mark.muted{background:var(--primary-soft);color:var(--primary)}.eyebrow{color:var(--primary);text-transform:uppercase;align-items:center;gap:7px;font-size:12px;font-weight:800;display:inline-flex}.segmented{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-soft);grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segmented button{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-weight:750}.segmented button.active{background:var(--panel);color:var(--text);box-shadow:0 2px 8px #0f172a14}.auth-form,.stack{gap:14px;display:grid}.input-shell{border:1px solid var(--border);background:var(--control-bg);border-radius:6px;grid-template-columns:20px 1fr;align-items:center;gap:8px;padding-left:10px;display:grid}.input-shell svg{color:var(--muted)}.input-shell input{box-shadow:none;border:0;padding-left:0}.primary,.secondary,.danger,.icon-button{border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;font-weight:800;display:inline-flex}.primary{border:1px solid var(--primary);background:var(--primary);color:#fff}.primary:hover:not(:disabled){background:var(--primary-dark)}.secondary{border:1px solid var(--border-strong);background:var(--control-bg);color:var(--text)}.secondary:hover:not(:disabled){background:var(--panel-soft)}.danger{background:var(--danger-soft);width:38px;color:var(--danger);border:1px solid #f2b8b5}.danger.filled{background:var(--danger);color:#fff;width:auto;min-width:104px}.danger.filled:hover:not(:disabled){filter:brightness(.95)}.icon-button{border:1px solid var(--border);background:var(--control-bg);width:38px;color:var(--muted-strong)}.theme-switch{border:1px solid var(--border);background:var(--control-bg);min-height:38px;color:var(--muted-strong);border-radius:999px;grid-template-columns:16px 34px 16px;align-items:center;gap:6px;padding:0 9px;display:inline-grid}.theme-switch:hover{background:var(--panel-soft)}.theme-switch-track{background:var(--border-strong);border-radius:999px;width:34px;height:18px;position:relative}.theme-switch-thumb{background:var(--panel);border-radius:50%;width:14px;height:14px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #0f172a3d}.theme-switch[aria-checked=true] .theme-switch-track{background:var(--primary)}.theme-switch[aria-checked=true] .theme-switch-thumb{transform:translate(16px)}.wide{width:100%}.send-button{width:46px;min-height:46px}.send-button.stop-state{background:var(--danger-soft);color:var(--danger);border-color:#f2b8b5}.send-button.stop-state:hover:not(:disabled){filter:brightness(.96)}.notice{border-radius:6px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;display:flex}.notice.error{background:var(--danger-soft);color:var(--danger);border:1px solid #f2b8b5}.app-shell{background:var(--bg);grid-template-columns:290px minmax(0,1fr);height:100dvh;min-height:0;display:grid;overflow:hidden}.app-shell.sidebar-collapsed{grid-template-columns:56px minmax(0,1fr)}.mobile-sidebar-backdrop,.mobile-sidebar-button{display:none}.sidebar{border-color:var(--border);background:var(--panel);border-right:1px solid var(--border);flex-direction:column;gap:18px;height:100dvh;min-height:0;padding:18px;display:flex;overflow:hidden}.sidebar-rail{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;align-items:center;height:100dvh;min-height:0;padding:16px 8px;display:flex}.sidebar-brand{grid-template-columns:44px minmax(0,1fr) 38px;align-items:center;gap:12px;display:grid}.sidebar-brand-copy{gap:3px;min-width:0;display:grid}.sidebar-toggle{justify-self:end}.sidebar-brand strong,.project-item strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-brand span,.project-item small,.message-meta small{color:var(--muted);font-size:12px}.sidebar-brand span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.new-project-form{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-soft);gap:12px;padding:12px;display:grid}.project-list{flex:1;align-content:start;gap:8px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.sidebar-footer{border-top:1px solid var(--border);grid-template-columns:34px minmax(0,1fr) 38px;align-items:center;gap:10px;margin-top:auto;padding-top:12px;display:grid}.account-avatar{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:50%;place-items:center;font-weight:800;display:grid}.sidebar-footer-copy{gap:1px;min-width:0;display:grid}.sidebar-footer-copy strong,.sidebar-footer-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-footer-copy span{color:var(--muted);font-size:12px}.project-item{border-radius:var(--radius);min-height:62px;color:var(--text);text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.project-item span{gap:2px;min-width:0;display:grid}.project-item:hover,.project-item.active{border-color:var(--border);background:var(--primary-soft)}.project-item.active svg{color:var(--primary)}.workspace{grid-template-rows:auto auto minmax(0,1fr);height:100dvh;min-height:0;display:grid;overflow:hidden}.workspace>.chat-panel,.workspace>.empty-workspace,.workspace>.loading-state{grid-row:3;min-height:0}.topbar{border-bottom:1px solid var(--border);background:var(--topbar-bg);justify-content:space-between;align-items:center;gap:18px;min-height:92px;padding:18px 22px;display:flex}.topbar-main{align-items:center;gap:12px;min-width:0;display:flex}.topbar-title{gap:5px;min-width:0;display:grid}.topbar-title p:not(.eyebrow){color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu{color:var(--muted-strong);flex-shrink:0;align-items:center;gap:10px;font-weight:700;display:flex}.workspace-notice{margin:14px 22px 0}.chat-panel{grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid;overflow:hidden}.message-list{overflow-anchor:none;overscroll-behavior:contain;flex-direction:column;gap:12px;min-height:0;padding:22px;display:flex;overflow:hidden auto}.message{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);width:min(780px,88%);min-width:0;max-width:min(780px,88%);box-shadow:var(--message-shadow);gap:7px;padding:13px 14px;display:grid}.message>*{min-width:0}.message.user{border-color:var(--user-message-border);background:var(--user-message-bg);align-self:flex-end}.message.assistant{align-self:flex-start}.message.run-status{width:min(360px,88%)}.message.run-status.failed{background:var(--danger-soft);border-color:#f2b8b5}.message.run-status.failed .run-status-body,.message.run-status.failed .message-meta{color:var(--danger)}.message.run-status.stopped{border-style:dashed}.run-status-body{color:var(--muted-strong);align-items:center;gap:10px;display:flex}.run-status-body span{flex:1;min-width:0}.stop-button{min-height:32px;padding:0 10px}.markdown-content{min-width:0;max-width:100%;color:var(--text);overflow-wrap:anywhere}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content blockquote,.markdown-content pre,.markdown-content table{margin:0 0 10px}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{color:var(--text);margin:12px 0 7px;line-height:1.25}.markdown-content h1{font-size:20px}.markdown-content h2{font-size:18px}.markdown-content h3,.markdown-content h4{font-size:16px}.markdown-content ul,.markdown-content ol{padding-left:22px}.markdown-content li+li{margin-top:4px}.markdown-content code{border:1px solid var(--border);background:var(--panel-soft);border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.92em}.markdown-content pre{border:1px solid var(--border);background:var(--control-bg);border-radius:6px;min-width:0;max-width:100%;padding:10px;overflow-x:auto}.markdown-content pre code{background:0 0;border:0;min-width:max-content;padding:0;display:block}.markdown-content blockquote{border-left:3px solid var(--border-strong);color:var(--muted-strong);padding-left:10px}.markdown-content table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.markdown-content th,.markdown-content td{border:1px solid var(--border);text-align:left;padding:6px 8px}.markdown-content a{color:var(--blue)}.message-attachments{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:8px;max-width:100%;display:grid}.message-attachment{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-soft);grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-width:0;margin:0;padding:9px;display:grid;overflow:hidden}.message-attachment.image-attachment{grid-template-columns:minmax(0,1fr);gap:0;padding:0}.attachment-image-frame{aspect-ratio:16/10;background:var(--control-bg);place-items:center;min-height:132px;display:grid;overflow:hidden}.attachment-image-frame img{object-fit:cover;width:100%;height:100%;display:block}.attachment-preview-placeholder,.attachment-file-icon{border:1px solid var(--border);background:var(--primary-soft);color:var(--primary);border-radius:8px;place-items:center;display:grid}.attachment-preview-placeholder{border:0;border-radius:0;width:100%;height:100%;min-height:132px}.attachment-file-icon{width:42px;height:42px}.message-attachment figcaption{gap:2px;min-width:0;display:grid}.image-attachment figcaption{padding:9px 10px 10px}.message-attachment strong,.message-attachment span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-attachment strong{font-size:13px}.message-attachment span{color:var(--muted);font-size:12px}.message-meta{color:var(--muted-strong);text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:800;display:flex}.chat-composer{border-top:1px solid var(--border);background:var(--panel);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:14px 22px;transition:background .16s,box-shadow .16s;display:grid}.chat-composer.dragging{background:var(--primary-soft);box-shadow:inset 0 0 0 2px #11646647}.chat-composer textarea{max-height:140px}.attach-button{width:46px;min-height:46px}.composer-main{gap:8px;min-width:0;display:grid}.attachment-chips{flex-wrap:wrap;gap:7px;display:flex}.attachment-chip{border:1px solid var(--border);background:var(--panel-soft);border-radius:999px;grid-template-columns:16px minmax(0,1fr) auto auto;align-items:center;gap:6px;max-width:min(100%,280px);min-height:30px;padding:4px 5px 4px 9px;display:inline-grid}.attachment-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.attachment-chip small{color:var(--muted);font-size:11px}.attachment-chip button{width:22px;height:22px;color:var(--muted-strong);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.attachment-chip button:hover{background:var(--chip-hover);color:var(--text)}.empty-workspace,.empty-chat,.loading-state{min-height:260px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:10px;display:grid}.empty-workspace{padding:24px}.empty-workspace p,.empty-chat p,.muted-copy{color:var(--muted)}.inspector-section{border-bottom:1px solid var(--border);gap:12px;padding-bottom:18px;display:grid}.inspector-section:last-child{border-bottom:0}.section-title{align-items:center;gap:8px;display:flex}.section-title svg{color:var(--primary)}.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.prompt-box{min-height:150px}.drawer-backdrop{z-index:15;background:#0307125c;justify-content:flex-end;display:flex;position:fixed;inset:0}.settings-drawer{border-left:1px solid var(--border);background:var(--panel);width:min(420px,100%);max-width:100%;height:100%;box-shadow:var(--shadow);grid-template-rows:auto minmax(0,1fr);gap:18px;padding:18px;display:grid;overflow-y:auto}.settings-drawer .stack,.settings-drawer label{align-content:start}.drawer-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-backdrop{z-index:20;background:#0307129e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);width:min(440px,100%);box-shadow:var(--shadow);gap:16px;padding:20px;display:grid}.modal-icon{border-radius:var(--radius);background:var(--primary-soft);width:44px;height:44px;color:var(--primary);place-items:center;display:inline-grid}.modal-icon.danger{background:var(--danger-soft);color:var(--danger);border:1px solid #f2b8b5}.modal-copy{gap:7px;display:grid}.modal-copy p{color:var(--muted-strong)}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.toast-region{z-index:30;gap:8px;display:grid;position:fixed;bottom:18px;right:18px}.toast{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);max-width:min(360px,100vw - 36px);min-height:44px;box-shadow:var(--shadow);color:var(--text);align-items:center;gap:10px;padding:10px 12px;font-weight:750;display:inline-flex}.toast.success{border-color:#1164665c}.toast.success svg{color:var(--primary)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1180px){.app-shell{grid-template-columns:240px minmax(0,1fr)}.app-shell.sidebar-collapsed{grid-template-columns:56px minmax(0,1fr)}}@media (width<=760px){html,body{overflow:hidden}.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr);height:100dvh;min-height:0;overflow:hidden}.mobile-sidebar-backdrop{z-index:29;background:#0307127a;border:0;padding:0;display:block;position:fixed;inset:0}.sidebar{z-index:30;border:0;border-right:1px solid var(--border);width:min(86vw,320px);height:100dvh;min-height:0;box-shadow:var(--shadow);padding:16px;position:fixed;inset:0 auto 0 0;overflow:hidden}.sidebar-rail{display:none}.workspace{grid-template-rows:auto auto minmax(0,1fr);height:100dvh;min-height:0}.mobile-sidebar-button{flex-shrink:0;display:grid}.topbar{flex-direction:row;align-items:center;gap:8px;min-height:58px;padding:8px 12px}.topbar-main{flex:1;width:auto;min-width:0}.topbar-title{gap:1px}.topbar-title .eyebrow,.topbar-title p:not(.eyebrow){display:none}.topbar-title h1{text-overflow:ellipsis;white-space:nowrap;font-size:18px;line-height:1.2;overflow:hidden}.account-menu{justify-content:flex-end;gap:8px;width:auto}.workspace-notice{margin:8px 12px 0}.message-list{gap:14px;padding:14px 12px 8px}.message{border-radius:10px;width:100%;max-width:100%;padding:12px}.message.user{border-radius:18px;width:fit-content;max-width:min(86%,360px)}.message.user .message-meta{display:none}.message.assistant{box-shadow:none;background:0 0;border-color:#0000;padding:8px 4px}.message.run-status{border-color:var(--border);background:var(--panel);width:min(100%,360px);padding:12px}.message-attachments{grid-template-columns:1fr}.chat-composer{border:1px solid var(--border);box-shadow:var(--message-shadow);border-radius:24px;grid-template-columns:40px minmax(0,1fr) 40px;align-items:end;gap:6px;margin:8px 12px 12px;padding:8px}.attach-button,.send-button{border-radius:50%;width:40px;min-height:40px}.composer-main{align-self:center}.chat-composer textarea{resize:none;background:0 0;border:0;min-height:40px;max-height:118px;padding:9px 4px}.chat-composer textarea:focus{box-shadow:none;border-color:#0000}.attachment-chips{max-height:74px;padding-bottom:2px;overflow-y:auto}.attachment-chip{max-width:100%}.empty-chat,.loading-state{min-height:calc(100dvh - 170px)}.settings-drawer{width:100%}}
