@hybridaione/hybridclaw 0.25.4 → 0.25.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## [0.25.5](https://github.com/HybridAIOne/hybridclaw/tree/v0.25.5) - 2026-06-22
6
+
7
+ ### Fixed
8
+
9
+ - **Remote agent mentions**: Selecting a remote agent in chat now places the
10
+ caret after the inserted address and keeps the styled composer overlay caret
11
+ aligned with the real textarea selection.
12
+ - **Streaming text deltas**: Container streaming now emits visible model text
13
+ deltas live instead of buffering answer text until the model turn completes.
14
+ - **Host bootstrap cleanup**: Host-mode approval policy now recognizes the
15
+ actual workspace-root `BOOTSTRAP.md` path as one-time onboarding cleanup while
16
+ keeping nested or rootless delete calls approval-gated.
17
+
5
18
  ## [0.25.4](https://github.com/HybridAIOne/hybridclaw/tree/v0.25.4) - 2026-06-22
6
19
 
7
20
  ### Added
package/README.md CHANGED
@@ -228,7 +228,7 @@ Core pieces:
228
228
  | Build desktop releases | [Desktop Release Builds](https://hybridaione.github.io/hybridclaw/docs/developer-guide/desktop-release) |
229
229
  | Contribute | [CONTRIBUTING.md](./CONTRIBUTING.md), [docs/content/README.md](./docs/content/README.md) |
230
230
 
231
- Latest release: [v0.25.4](https://github.com/HybridAIOne/hybridclaw/releases/tag/v0.25.4).
231
+ Latest release: [v0.25.5](https://github.com/HybridAIOne/hybridclaw/releases/tag/v0.25.5).
232
232
  Release notes: [CHANGELOG.md](./CHANGELOG.md)
233
233
 
234
234
  ## Development
@@ -0,0 +1,4 @@
1
+ import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{C as t,a as n,n as r,o as i,r as a}from"./query-o_Dd9s85.js";import{d as o,l as s}from"./router-DoNPHesn.js";import{$ as c,A as l,B as u,C as d,D as f,E as p,F as m,G as h,H as g,I as _,J as v,K as y,L as b,M as x,N as S,O as C,P as w,Q as T,R as E,S as ee,T as D,U as O,V as te,W as ne,X as re,Y as ie,Z as k,_ as A,a as j,at as ae,b as M,bt as oe,c as se,d as ce,dt as le,et as ue,f as N,ft as de,g as fe,gt as P,h as pe,ht as F,i as me,it as I,k as he,l as L,lt as R,m as z,mt as ge,n as _e,nt as ve,o as B,ot as ye,p as be,pt as xe,q as Se,r as V,rt as H,s as U,st as Ce,t as we,tt as W,u as Te,ut as Ee,w as De,x as Oe,y as ke,yt as Ae,z as je}from"./index-DMXFIc9H.js";var G=e(t(),1);function Me(e,t,n=`web`,r=10,i,a){let o=new URLSearchParams({userId:t,channelId:n,limit:String(r)});return i&&o.set(`q`,i),a&&o.set(`scope`,a),P(`/api/chat/recent?${o.toString()}`,{token:e})}function Ne(e,t,n=80,r){let i=new URLSearchParams({sessionId:t,limit:String(n)});return r&&i.set(`userId`,r),P(`/api/history?${i.toString()}`,{token:e})}function Pe(e,t){return P(`/api/chat/context?${new URLSearchParams({sessionId:t}).toString()}`,{token:e})}function Fe(e,t){return P(t?`/api/chat/commands?q=${encodeURIComponent(t)}`:`/api/chat/commands`,{token:e})}function Ie(e,t){return P(`/api/chat/mobile-qr`,{token:e,method:`POST`,body:t})}function Le(e,t,n){return P(`/api/chat/branch`,{token:e,method:`POST`,body:{sessionId:t,beforeMessageId:n}})}function Re(e,t){return P(`/api/chat/rating`,{token:e,method:`POST`,body:t})}function ze(e,t,n,r){return P(`/api/command`,{token:e,method:`POST`,body:R({sessionId:t,args:r,userId:n,username:`web`})})}function Be(e,t){return P(`/api/media/upload`,{token:e,method:`POST`,rawBody:t,extraHeaders:{"Content-Type":t.type||`application/octet-stream`,"X-Hybridclaw-Filename":encodeURIComponent(t.name||`upload`)}})}function Ve(e){return`/api/artifact?${new URLSearchParams({path:e}).toString()}`}function He(e){return e}async function K(e,t){let n=await fetch(t,{headers:F(e),cache:`no-store`});if(!n.ok){let e=(n.headers.get(`content-type`)||``).toLowerCase().trim(),t=`${n.status} ${n.statusText}`;if(e.includes(`application/json`)){let e=await n.json().catch(()=>null);t=e?.error||e?.text||t}else{let e=(await n.text().catch(()=>``)).trim();e&&(t=e)}throw n.status===401&&le(t),Error(t)}return n.blob()}async function q(e,t){return K(e,Ve(t))}function Ue(e,t){return K(e,He(t))}var We={maxRecentSessions:10,maxSearchResults:50};function Ge(e,t){let[n,r]=(0,G.useState)(e);return(0,G.useEffect)(()=>{let n=window.setTimeout(()=>{r(e)},t);return()=>{window.clearTimeout(n)}},[e,t]),n}var J=`[A-Za-z0-9._-]+(?:@[A-Za-z0-9._-]+@[A-Za-z0-9._-]+)?`,Ke=String.raw`(?=$|[\s:.,!?;)\]}])`;RegExp(`^@(${J})${Ke}`,`u`);var qe=RegExp(`@(${J})${Ke}`,`gu`);function Je(e){let t=[];for(let n of e.matchAll(qe)){let r=n[0],i=n[1]??``,a=n.index??0;if(!i)continue;let o=a===0?``:e[a-1];o&&!/[\s([{]/u.test(o)||t.push({mention:r,agentId:i,index:a})}return t}var Ye=new Map;function Xe(e){return String(e??``).trim().toLowerCase()}function Ze(e,t){let n=e.sessionId??t,r=new Map((e.branchFamilies??[]).map(e=>[`${e.anchorSessionId}:${e.anchorMessageId}`,e.variants])),i=new Map;for(let[e,t]of r.entries()){let r=t.find(e=>e.sessionId===n);r&&i.set(r.messageId,e)}let a=e.history??[],o=Xe(e.agentId),s=null;return{messages:a.map((e,t)=>{let r=a.slice(t+1).find(e=>e.role!==`system`),c=Xe(r?.agent_id??r?.assistantPresentation?.agentId),l=e.role===`user`&&r?.role===`assistant`&&c&&c!==o?r?.assistantPresentation??null:null;e.role===`user`&&(s=e.content);let u=e.role===`user`?e.content:e.role===`assistant`?s:null;return{id:De(),role:e.role,content:e.content,rawContent:e.content,sessionId:n,messageId:e.id??null,media:[],artifacts:e.artifacts??[],replayRequest:u===null?null:{content:u,media:[]},assistantPresentation:e.assistantPresentation??null,addressedAgentPresentation:l,responseRating:e.response_rating??null,branchKey:e.id!==void 0&&e.id!==null?i.get(e.id)??null:null}}),branchFamilies:r,resolvedSessionId:n,agentId:e.agentId?.trim()||null,bootstrapAutostart:e.bootstrapAutostart??null}}function Y(e,t){return[`chat-history`,e,t]}async function Qe(e,t,n){return Ze(await Ne(e,t,80,n),t)}var X=i();function $e(e){let t=Ce(),n=g(),r=e.searchQuery.trim().length>0;return(0,G.useEffect)(()=>{n.openMobile&&e.onRefreshRecent?.()},[e.onRefreshRecent,n.openMobile]),(0,X.jsxs)(_,{side:`left`,collapsible:`icon`,children:[(0,X.jsxs)(je,{children:[(0,X.jsxs)(`div`,{className:O.headerRow,children:[(0,X.jsx)(S,{}),(0,X.jsx)(te,{className:O.sidebarToggle})]}),(0,X.jsxs)(`button`,{type:`button`,className:V.newChatButton,onClick:e.onNewChat,children:[(0,X.jsx)(`span`,{"aria-hidden":`true`,children:`+`}),(0,X.jsx)(`span`,{children:`New Conversation`})]}),(0,X.jsx)(`div`,{className:V.sidebarSearchWrap,children:(0,X.jsx)(`input`,{type:`search`,className:V.sidebarSearch,value:e.searchQuery,onChange:t=>e.onSearchQueryChange(t.target.value),placeholder:`Search`,"aria-label":`Search conversations`})})]}),(0,X.jsx)(b,{children:(0,X.jsx)(et,{...e,isSearching:r})}),(0,X.jsx)(E,{children:(0,X.jsxs)(`div`,{className:O.footerBlock,children:[(0,X.jsx)(w,{version:t.gatewayStatus?.version}),(0,X.jsx)(ne,{labelClassName:O.themeToggleLabel})]})})]})}function et(e){return(0,X.jsxs)(`div`,{className:V.chatSidebarContent,children:[(0,X.jsxs)(`div`,{className:V.sidebarListHeader,children:[(0,X.jsx)(`div`,{className:V.sidebarLabel,children:e.isSearching?`Search Results`:`Recent Chats`}),(0,X.jsx)(`div`,{className:V.sidebarScopeToggle,children:[`user`,`all`].map(t=>(0,X.jsx)(`button`,{type:`button`,className:W(V.sidebarScopeButton,e.recentScope===t&&V.sidebarScopeButtonActive),"aria-pressed":e.recentScope===t,onClick:()=>e.onRecentScopeChange(t),children:t===`user`?`User`:`All`},t))})]}),e.isLoading&&e.isSearching?(0,X.jsx)(`div`,{className:V.sidebarStatus,children:`Searching...`}):e.sessions.length===0?(0,X.jsx)(`div`,{className:V.sidebarStatus,children:e.isSearching?`No matching conversations.`:`No recent chats yet.`}):(0,X.jsx)(`ul`,{className:V.sessionList,"aria-live":`polite`,children:e.sessions.map(t=>(0,X.jsx)(`li`,{children:(0,X.jsxs)(`div`,{className:V.sessionItemRow,children:[(0,X.jsxs)(`button`,{type:`button`,className:W(V.sessionItem,t.sessionId===e.activeSessionId&&V.sessionItemActive,t.sessionId===e.activeSessionId&&e.isPending&&V.sessionItemPending),"aria-current":t.sessionId===e.activeSessionId?`page`:void 0,onMouseEnter:()=>e.onHoverSession?.(t.sessionId),onClick:()=>e.onOpenSession(t.sessionId),children:[(0,X.jsx)(`span`,{className:V.sessionTitle,children:t.title||`Untitled`}),t.searchSnippet?(0,X.jsx)(`span`,{className:V.sessionSnippet,children:t.searchSnippet}):null,(0,X.jsx)(`span`,{className:V.sessionTime,children:C(t.lastActive)})]}),(0,X.jsx)(`button`,{type:`button`,className:V.sessionDeleteButton,"aria-label":`Delete ${t.title||`Untitled`} session`,title:`Delete session`,disabled:e.deleteDisabled,onClick:()=>e.onRequestDeleteSession(t),children:(0,X.jsx)(ve,{className:V.sessionDeleteIcon})})]})},t.sessionId))})]})}var Z=new Map;function tt(e,t){return`${e}\u0000${t}`}function nt(e,t){let n=tt(e,t),r=Z.get(n);return r||(r={objectUrl:null,loading:!1,promise:null,listeners:new Set},Z.set(n,r)),r}function rt(e){for(let t of e.listeners)t()}function it(e,t){let n=t?.trim(),r=e.trim();if(!n)return null;let i=nt(r,n);return i.objectUrl?Promise.resolve(i.objectUrl):i.promise?i.promise:(i.loading=!0,i.promise=Ue(r,n).then(e=>{let t=URL.createObjectURL(e);return i.objectUrl=t,i.loading=!1,i.promise=null,rt(i),t}).catch(()=>(i.objectUrl=null,i.loading=!1,i.promise=null,rt(i),null)),rt(i),i.promise)}function at(e){let t=e.token.trim(),n=e.imageUrl?.trim()??``,[r,i]=(0,G.useState)(()=>{if(!n)return{objectUrl:null,loading:!1};let e=nt(t,n);return{objectUrl:e.objectUrl,loading:e.loading}});return(0,G.useEffect)(()=>{if(!n){i({objectUrl:null,loading:!1});return}let e=nt(t,n),r=()=>{i({objectUrl:e.objectUrl,loading:e.loading})};return e.listeners.add(r),r(),it(t,n),()=>{e.listeners.delete(r)}},[t,n]),r}function ot(){return(0,X.jsx)(`svg`,{"aria-hidden":`true`,focusable:`false`,viewBox:`0 0 24 24`,width:`14`,height:`14`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,X.jsx)(`path`,{d:`m6 9 6 6 6-6`})})}function st(e){let t=e.agents.find(t=>t.id===e.selectedAgentId),n=t?.name?.trim()||t?.id||`Agent`,{localAgents:r,remoteGroups:i}=(0,G.useMemo)(()=>{let t=e.agents.filter(e=>e.source?.type!==`remote`),n=new Map;for(let t of e.agents){if(t.source?.type!==`remote`)continue;let e=t.source.instanceId;n.set(e,[...n.get(e)??[],t])}return{localAgents:t,remoteGroups:[...n.entries()]}},[e.agents]),a=i.length>0;return e.agents.length===0?null:(0,X.jsxs)(me,{value:e.selectedAgentId,disabled:e.disabled,onValueChange:t=>{if(!t||t===e.selectedAgentId)return;let n=e.agents.find(e=>e.id===t);n&&e.onSwitch(n)},children:[(0,X.jsxs)(N,{className:V.composerPill,"aria-label":`Switch agent`,disabled:e.disabled,children:[(0,X.jsx)(be,{children:n}),(0,X.jsx)(se,{className:V.composerPillChevron,children:(0,X.jsx)(ot,{})})]}),(0,X.jsxs)(j,{className:V.agentSelectPopup,children:[a?(0,X.jsxs)(B,{children:[(0,X.jsx)(U,{children:`Local`}),r.map(t=>(0,X.jsx)(ct,{agent:t,token:e.token},t.id))]}):r.map(t=>(0,X.jsx)(ct,{agent:t,token:e.token},t.id)),i.map(([t,n])=>(0,X.jsxs)(B,{children:[(0,X.jsxs)(U,{className:V.remoteAgentGroupLabel,children:[(0,X.jsx)(ae,{"aria-hidden":`true`,className:V.remoteAgentGroupIcon,width:13,height:13}),(0,X.jsx)(`span`,{children:t})]}),n.map(t=>(0,X.jsx)(ct,{agent:t,token:e.token},t.id))]},t))]})]})}function ct(e){let t=e.agent.name?.trim()||e.agent.id,n=e.agent.source?.type===`remote`;return(0,X.jsxs)(L,{value:e.agent.id,textValue:t,className:V.agentSelectItem,children:[(0,X.jsx)(lt,{agent:e.agent,token:e.token}),n?(0,X.jsxs)(Te,{children:[(0,X.jsx)(`span`,{className:V.agentSelectItemText,children:t}),(0,X.jsx)(ce,{children:e.agent.id})]}):(0,X.jsx)(`span`,{className:V.agentSelectItemText,children:t})]})}function lt(e){let t=e.agent.imageUrl?.trim(),n=at({token:e.token??``,imageUrl:t});return n.objectUrl?(0,X.jsx)(`img`,{className:V.agentSelectAvatar,src:n.objectUrl,alt:``}):t?(0,X.jsx)(`span`,{className:V.agentSelectAvatarLoading,"aria-hidden":`true`}):null}function ut(e,t){let n=e.lastIndexOf(`
2
+ `,t-1)+1,r=-1;for(let i=n;i<t;i++)e[i]===`/`&&(i===n||/\s/.test(e[i-1]))&&(r=i);return r===-1?null:{query:e.slice(r+1,t),tokenStart:r}}function dt(e,t){return`${e}-opt-${t}`}function ft({mode:e,kind:t=`slash`,suggestions:n,activeIdx:r,query:i,listboxId:a,token:o,onSelect:s,onActiveChange:c}){(0,G.useEffect)(()=>{e!==`list`||n.length===0||document.getElementById(dt(a,r))?.scrollIntoView({block:`nearest`})},[r,e,n.length,a]);let l=i.trim().toLowerCase(),u=t===`agent`?`@`:`/`,d=t===`agent`?`Agents`:`Slash commands`,f=t===`agent`?`No agents match ${u}${i}`:`No commands match ${u}${i}`;return(0,X.jsx)(Se,{side:`top`,focusOnOpen:`none`,closeOnEscape:!1,closeOnOutsideClick:!0,sideOffset:4,className:V.slashSuggestions,children:(0,X.jsxs)(z,{className:V.slashSuggestionsScroll,children:[(0,X.jsx)(A,{id:a,role:`listbox`,"aria-label":d,className:V.slashSuggestionsList,children:e===`list`?n.map((e,n)=>(0,X.jsxs)(`div`,{id:dt(a,n),className:W(V.suggestionItem,t===`agent`&&V.suggestionItemAgent,n===r&&V.suggestionItemActive,(e.depth??1)>=2&&V.suggestionItemSub),role:`option`,tabIndex:-1,"aria-selected":n===r,onMouseDown:t=>{t.preventDefault(),s(e)},onMouseEnter:()=>c(n),title:e.description||void 0,children:[t===`agent`?(0,X.jsx)(pt,{item:e,token:o}):null,(0,X.jsxs)(`span`,{className:V.suggestionText,children:[(0,X.jsx)(`span`,{className:V.suggestionLabel,children:ht(e.label,l)}),e.description?(0,X.jsx)(`span`,{className:V.suggestionDesc,children:e.description}):null]})]},e.id)):(0,X.jsx)(`div`,{className:V.suggestionEmpty,role:`status`,children:f})}),(0,X.jsx)(pe,{children:(0,X.jsx)(fe,{})})]})})}function pt(e){let t=e.item.imageUrl?.trim(),n=at({token:e.token??``,imageUrl:t});return n.objectUrl?(0,X.jsx)(`img`,{className:V.suggestionAvatar,src:n.objectUrl,alt:``}):t?(0,X.jsx)(`span`,{className:V.suggestionAvatarLoading,"aria-hidden":`true`}):null}var mt=/<[^>]+>|\[[^\]]+\]/g;function ht(e,t){let n=[],r=0,i=0,a=(e,r)=>{if(!e)return;let a=r?V.suggestionLabelMono:void 0,o=t?e.toLowerCase().indexOf(t):-1;n.push(o===-1?(0,X.jsx)(`span`,{className:a,children:e},i++):(0,X.jsxs)(`span`,{className:a,children:[e.slice(0,o),(0,X.jsx)(`mark`,{className:V.suggestionMatch,children:e.slice(o,o+t.length)}),e.slice(o+t.length)]},i++))};for(let t of e.matchAll(mt)){let n=t.index??0;a(e.slice(r,n),!1),a(t[0],!0),r=n+t[0].length}return a(e.slice(r),!1),n}var gt=RegExp(`(?:^|[\\s([{])@([A-Za-z0-9._-]*(?:@[A-Za-z0-9._-]*){0,2})$`,`u`),_t=RegExp(`@(${J})(?=$|[\\s:])`,`gu`),vt=RegExp(`^@${J}(?=$|[\\s:])\\s*`,`u`);function yt(e,t){let n=e.slice(0,t),r=gt.exec(n);if(!r)return null;let i=r[1]??``;return{tokenStart:n.length-i.length-1,query:i}}function bt(e){let t=(0,G.useRef)(null),n=(0,G.useRef)(null),r=(0,G.useRef)(null),[i,a]=(0,G.useState)([]),[o,s]=(0,G.useState)(0),[c,l]=(0,G.useState)([]),[u,d]=(0,G.useState)(`slash`),[f,p]=(0,G.useState)(0),[m,g]=(0,G.useState)(`closed`),[_,v]=(0,G.useState)(``),[b,x]=(0,G.useState)(``),[S,C]=(0,G.useState)(0),w=(0,G.useRef)(null),T=(0,G.useRef)(null),E=(0,G.useRef)(null),D=(0,G.useRef)(0),O=(0,G.useRef)(null),te=(0,G.useId)(),ne=m!==`closed`,re=m===`closed`?``:u===`agent`?m===`list`?`${he(c.length,`agent`)} available`:`No agents match @${_}`:m===`list`?`${he(c.length,`command`)} available`:`No commands match /${_}`;(0,G.useEffect)(()=>()=>{T.current&&clearTimeout(T.current),E.current&&clearTimeout(E.current),D.current+=1},[]),(0,G.useEffect)(()=>{let e=r.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect().height;!Number.isFinite(t)||t<=0||document.documentElement.style.setProperty(`--chat-composer-height`,`${Math.ceil(t)}px`)};t();let n=typeof ResizeObserver>`u`?null:new ResizeObserver(t);return n?.observe(e),window.addEventListener(`resize`,t),()=>{n?.disconnect(),window.removeEventListener(`resize`,t),document.documentElement.style.removeProperty(`--chat-composer-height`)}},[]);let ie=(0,G.useRef)(e.isStreaming);(0,G.useEffect)(()=>{ie.current&&!e.isStreaming&&t.current?.focus(),ie.current=e.isStreaming},[e.isStreaming]);let k=(0,G.useCallback)(()=>{let e=t.current;e&&(e.style.height=`36px`,e.style.height=`${Math.max(36,Math.min(e.scrollHeight,180))}px`)},[]),A=(0,G.useCallback)(()=>{let e=t.current;e&&C(e.selectionStart??e.value.length)},[]),j=(0,G.useCallback)(e=>{let n=()=>{let n=t.current;if(!n)return;let r=Math.max(0,Math.min(e,n.value.length));n.focus(),n.setSelectionRange(r,r),C(r)};n(),E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{E.current=null,n()},0)},[]);(0,G.useEffect)(()=>{let n=e.initialValue?.trim()||``;if(w.current===n||(w.current=n,!n))return;let r=t.current;r&&(r.value=n,r.setSelectionRange(n.length,n.length),x(n),C(n.length),g(`closed`),D.current+=1,k(),r.focus())},[e.initialValue,k]);let ae=(0,G.useCallback)(()=>{T.current&&=(clearTimeout(T.current),null),D.current+=1},[]),M=(0,G.useCallback)(()=>{ae(),g(`closed`)},[ae]),oe=(0,G.useCallback)(async t=>{let n=D.current;try{let r=await Fe(e.token,t||void 0);if(n!==D.current)return;let i=r.commands??[];l(i),p(0),v(t),i.length>0?g(`list`):g(t===``?`closed`:`empty`)}catch{if(n!==D.current)return;l([]),g(`closed`)}},[e.token]),se=(0,G.useCallback)(t=>{let n=t.trim().toLowerCase();return(e.agents??[]).filter(e=>n?e.id.toLowerCase().includes(n)||(e.name??``).toLowerCase().includes(n):!0).map(e=>{let t=e.name?.trim();return{id:`agent:${e.id}`,label:`@${e.id}`,insertText:`@${e.id}`,description:t&&t!==e.id?t:``,imageUrl:e.imageUrl??null}})},[e.agents]);(0,G.useEffect)(()=>{for(let t of e.agents??[])it(e.token,t.imageUrl)},[e.agents,e.token]);let ce=()=>{k();let n=t.current;if(!n)return;x(n.value);let r=n.selectionStart??n.value.length;C(r);let i=ut(n.value,r);if(i){let e=i.query.trim();d(`slash`),ae(),T.current=setTimeout(()=>{oe(e)},150);return}let a=yt(n.value,r);if(a&&(e.agents?.length??0)>0){ae();let e=se(a.query);l(e),d(`agent`),p(0),v(a.query),g(e.length>0?`list`:a.query===``?`closed`:`empty`)}else M()},le=e=>{let n=t.current;if(!n)return;let r=n.value,i=n.selectionStart??r.length,a=e.insertText.replace(/\s+$/,``),o=n.value.length;if(u===`agent`){let e=yt(r,i);if(e){let t=r.slice(0,e.tokenStart),s=r.slice(i),c=s.startsWith(` `)?a:`${a} `;n.value=t+c+s,o=t.length+c.length,n.setSelectionRange(o,o)}else n.value=`${a} `,o=n.value.length,n.setSelectionRange(o,o);x(n.value),C(o),M(),k(),n.focus();return}let s=ut(r,i);if(s){let e=r.slice(0,s.tokenStart),t=r.slice(i),c=t.startsWith(` `)?a:`${a} `;n.value=e+c+t,o=e.length+c.length,n.setSelectionRange(o,o)}else n.value=`${a} `,o=n.value.length,n.setSelectionRange(o,o);x(n.value),C(o),M(),k(),n.focus()},ue=(0,G.useCallback)(e=>{let n=t.current;if(!n)return;let r=`${`@${e}`} `,i=n.value,a=vt.exec(i),o;o=i.trim()?a?`${r}${i.slice(a[0].length).trimStart()}`:`${r}${i.trimStart()}`:r,n.value=o,x(n.value),C(r.length),M(),k(),j(r.length)},[M,k,j]),N=()=>{if(e.isStreaming){e.onStop();return}let n=(t.current?.value??``).trim();!n&&i.length===0||o>0||(e.onSend(n,i),t.current&&(t.current.value=``),x(``),C(0),a([]),M(),k())},de=()=>{let e=t.current,n=O.current;!e||!n||(n.scrollTop=e.scrollTop,n.scrollLeft=e.scrollLeft)},fe=e=>{if(!(e.nativeEvent.isComposing||e.nativeEvent.keyCode===229)){if(m===`list`&&c.length>0){if(e.key===`ArrowDown`){e.preventDefault(),p(e=>(e+1)%c.length);return}if(e.key===`ArrowUp`){e.preventDefault(),p(e=>(e-1+c.length)%c.length);return}if(e.key===`Home`){e.preventDefault(),p(0);return}if(e.key===`End`){e.preventDefault(),p(c.length-1);return}if(e.key===`Tab`){e.preventDefault(),le(c[f]);return}}if(e.key===`Escape`){let t=ne;if(M(),t){e.preventDefault();return}}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),N())}},P=e=>{let t=ee(e.clipboardData);t.length>0&&(e.preventDefault(),pe(t))},pe=async t=>{s(e=>e+t.length);try{let n=await e.onUploadFiles(t);n.length>0&&a(e=>[...e,...n])}finally{s(e=>Math.max(0,e-t.length))}},F=e=>{let t=Array.from(e.target.files??[]);t.length>0&&pe(t),e.target.value=``},me=e=>{a(t=>t.filter((t,n)=>n!==e))},I=e.agents??[],L=(0,G.useMemo)(()=>new Map(I.map(e=>[e.id,e])),[I]),R=e.selectedAgentId??``,z=e.models??[],ge=e.selectedModelId??``;return(0,X.jsxs)(`div`,{className:V.composerWrapper,ref:r,children:[(0,X.jsxs)(h,{open:ne,onOpenChange:e=>{e||M()},children:[(0,X.jsxs)(`div`,{className:V.composer,children:[i.length>0||o>0?(0,X.jsxs)(`div`,{className:V.pendingMediaRow,children:[i.map((e,t)=>(0,X.jsxs)(`span`,{className:V.mediaChip,children:[(0,X.jsx)(`span`,{className:V.mediaChipName,children:e.filename}),(0,X.jsx)(`button`,{type:`button`,className:V.mediaChipRemove,onClick:()=>me(t),children:`×`})]},e.path)),o>0?(0,X.jsx)(`span`,{className:V.mediaChip,children:`Uploading…`}):null]}):null,(0,X.jsxs)(y,{className:V.composerInputWrap,children:[b?(0,X.jsx)(`div`,{ref:O,className:V.composerInputOverlay,"aria-hidden":`true`,children:(0,X.jsx)(xt,{value:b,caretIndex:S,agents:L,token:e.token})}):null,(0,X.jsx)(`textarea`,{ref:t,className:W(V.composerInput,b&&V.composerInputHasOverlay),rows:1,placeholder:`Message HybridClaw`,disabled:e.isStreaming,onInput:ce,onSelect:A,onClick:A,onKeyUp:A,onFocus:A,onKeyDown:fe,onPaste:P,onScroll:de,"aria-label":`Message input`,role:`combobox`,"aria-autocomplete":`list`,"aria-haspopup":`listbox`,"aria-controls":te,"aria-expanded":ne,"aria-activedescendant":m===`list`&&c.length>0?dt(te,f):void 0})]}),(0,X.jsxs)(`div`,{className:V.composerActions,children:[(0,X.jsxs)(`div`,{className:V.composerLeftActions,children:[(0,X.jsx)(`button`,{type:`button`,className:V.attachButton,onClick:()=>n.current?.click(),"aria-label":`Attach files`,children:`+`}),(0,X.jsx)(st,{agents:I,selectedAgentId:R,token:e.token,disabled:e.isStreaming,onSwitch:t=>{if(t.source?.type===`remote`){ue(t.id);return}e.onAgentSwitch?.(t.id)}}),(0,X.jsx)(_e,{models:z,selectedModelId:ge,disabled:e.isStreaming,onSwitch:t=>e.onModelSwitch?.(t)})]}),(0,X.jsx)(`button`,{type:`button`,className:W(V.sendButton,e.isStreaming&&V.stopping),onClick:N,"aria-label":e.isStreaming?`Stop`:`Send message`,children:e.isStreaming?(0,X.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`16`,height:`16`,fill:`currentColor`,"aria-hidden":`true`,children:(0,X.jsx)(`rect`,{x:`6`,y:`6`,width:`12`,height:`12`,rx:`2`})}):(0,X.jsxs)(`svg`,{viewBox:`0 0 24 24`,width:`16`,height:`16`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,X.jsx)(`path`,{d:`M12 19V5`}),(0,X.jsx)(`path`,{d:`m5 12 7-7 7 7`})]})}),(0,X.jsx)(`input`,{ref:n,type:`file`,hidden:!0,multiple:!0,onChange:F})]})]}),m===`closed`?null:(0,X.jsx)(ft,{mode:m,kind:u,suggestions:c,activeIdx:f,query:_,listboxId:te,token:e.token,onSelect:le,onActiveChange:p})]}),(0,X.jsx)(`div`,{className:V.slashLiveRegion,"aria-live":`polite`,"aria-atomic":`true`,children:re})]})}function xt(e){let t=[],n=0,r=0,i=!1,a=Math.max(0,Math.min(e.caretIndex,e.value.length)),o=()=>{i||=(t.push((0,X.jsx)(`span`,{className:V.composerOverlayCaret,"aria-hidden":`true`},`caret-${r++}`)),!0)},s=(e,n)=>{let r=n+e.length;if(a<n||a>r){t.push(e);return}let i=a-n;i>0&&t.push(e.slice(0,i)),o(),i<e.length&&t.push(e.slice(i))};for(let i of e.value.matchAll(_t)){let c=i[0],l=i[1]??``,u=i.index??0,d=u+c.length,f=e.agents.get(l);f&&(u>n&&s(e.value.slice(n,u),n),a>u&&a<d?s(c,u):(a===u&&o(),t.push((0,X.jsx)(St,{mention:c,imageUrl:f.imageUrl??null,token:e.token},`mention-${r++}`)),a===d&&o()),n=d)}return n<e.value.length&&s(e.value.slice(n),n),!i&&a===e.value.length&&o(),t.length>0?t:e.value}function St(e){let t=at({token:e.token,imageUrl:e.imageUrl});return(0,X.jsxs)(`span`,{className:V.composerMentionPill,children:[t.objectUrl?(0,X.jsx)(`img`,{className:V.composerMentionAvatar,src:t.objectUrl,alt:``}):null,(0,X.jsx)(`span`,{children:e.mention})]})}var Q={wrap:`_wrap_jrif0_1`,trigger:`_trigger_jrif0_11`,ring:`_ring_jrif0_33`,ringTrack:`_ringTrack_jrif0_37`,ringFill:`_ringFill_jrif0_43`,ringFillNominal:`_ringFillNominal_jrif0_52`,ringFillWarn:`_ringFillWarn_jrif0_56`,ringFillDanger:`_ringFillDanger_jrif0_60`,ringLabel:`_ringLabel_jrif0_64`,ringLabelUnknown:`_ringLabelUnknown_jrif0_77`,popover:`_popover_jrif0_81`,popoverTitle:`_popoverTitle_jrif0_112`,popoverTitleValue:`_popoverTitleValue_jrif0_121`,popoverRow:`_popoverRow_jrif0_126`,popoverRowValue:`_popoverRowValue_jrif0_133`,popoverProgress:`_popoverProgress_jrif0_138`,popoverProgressFill:`_popoverProgressFill_jrif0_148`,popoverProgressFillWarn:`_popoverProgressFillWarn_jrif0_157`,popoverProgressFillDanger:`_popoverProgressFillDanger_jrif0_161`,popoverFoot:`_popoverFoot_jrif0_165`},Ct=14,wt=2*Math.PI*Ct;function $(e){if(e==null)return`n/a`;let t=Math.abs(e);return t>=1e6?`${(t>=1e7?(e/1e6).toFixed(0):(e/1e6).toFixed(1)).replace(/\.0$/,``)}M`:t>=1e3?`${(t>=1e4?(e/1e3).toFixed(0):(e/1e3).toFixed(1)).replace(/\.0$/,``)}k`:String(Math.round(e))}function Tt(e){return e==null||!Number.isFinite(e)?0:Math.max(0,Math.min(100,e))}function Et(e){return e==null?`nominal`:e>=90?`danger`:e>=70?`warn`:`nominal`}function Dt(e){let t=e.sessionId,n=e.enabled&&!!t,r=a({queryKey:[`chat-context`,e.token,t],queryFn:()=>Pe(e.token,t),enabled:n,staleTime:15e3,refetchOnWindowFocus:!1}).data?.snapshot??null,i=r?.contextUsagePercent??null,o=Tt(i),s=Et(i),c=r?.contextBudgetTokens!=null&&r.contextUsedTokens!=null,l=c?wt*(1-o/100):wt,u=i!=null&&Number.isFinite(i)?Math.max(0,Math.round(i)):null,d=u==null?`–`:`${u}%`,f=r&&c&&u!=null?`Context usage ${u} percent (${$(r.contextUsedTokens)} of ${$(r.contextBudgetTokens)} tokens)`:`Context usage unavailable`;return(0,X.jsxs)(`div`,{className:Q.wrap,children:[(0,X.jsxs)(`button`,{type:`button`,className:Q.trigger,"aria-label":f,children:[(0,X.jsxs)(`svg`,{width:34,height:34,viewBox:`0 0 34 34`,className:Q.ring,"aria-hidden":`true`,children:[(0,X.jsx)(`circle`,{cx:17,cy:17,r:Ct,className:Q.ringTrack}),(0,X.jsx)(`circle`,{cx:17,cy:17,r:Ct,className:W(Q.ringFill,s===`warn`&&Q.ringFillWarn,s===`danger`&&Q.ringFillDanger,s===`nominal`&&Q.ringFillNominal),strokeDasharray:wt,strokeDashoffset:l})]}),(0,X.jsx)(`span`,{className:W(Q.ringLabel,u==null&&Q.ringLabelUnknown),children:d})]}),(0,X.jsxs)(`div`,{role:`tooltip`,className:Q.popover,children:[(0,X.jsxs)(`div`,{className:Q.popoverTitle,children:[(0,X.jsx)(`span`,{children:`Context`}),(0,X.jsx)(`span`,{className:Q.popoverTitleValue,children:r?.model||`unknown model`})]}),r&&c?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:Q.popoverProgress,children:(0,X.jsx)(`div`,{className:W(Q.popoverProgressFill,s===`warn`&&Q.popoverProgressFillWarn,s===`danger`&&Q.popoverProgressFillDanger),style:{width:`${o}%`}})}),(0,X.jsxs)(`div`,{className:Q.popoverRow,children:[(0,X.jsx)(`span`,{children:`Used`}),(0,X.jsxs)(`span`,{className:Q.popoverRowValue,children:[$(r.contextUsedTokens),` /`,` `,$(r.contextBudgetTokens),` tokens`]})]}),(0,X.jsxs)(`div`,{className:Q.popoverRow,children:[(0,X.jsx)(`span`,{children:`Headroom`}),(0,X.jsxs)(`span`,{className:Q.popoverRowValue,children:[$(r.contextRemainingTokens),` tokens`]})]})]}):(0,X.jsxs)(`div`,{className:Q.popoverRow,children:[(0,X.jsx)(`span`,{children:`Used`}),(0,X.jsx)(`span`,{className:Q.popoverRowValue,children:r?.contextUsedTokens==null?`no usage recorded yet`:`${$(r.contextUsedTokens)} tokens`})]}),(0,X.jsxs)(`div`,{className:Q.popoverRow,children:[(0,X.jsx)(`span`,{children:`Compactions`}),(0,X.jsx)(`span`,{className:Q.popoverRowValue,children:r?`${r.compactionCount} · ${$(r.compactionMessageThreshold)} msgs / ${$(r.compactionTokenBudget)} tokens`:`n/a`})]}),(0,X.jsxs)(`div`,{className:Q.popoverFoot,children:[`Run `,(0,X.jsx)(`code`,{children:`/context`}),` for full details · `,(0,X.jsx)(`code`,{children:`/compact`}),` to archive older history.`]})]})]})}var Ot=[{label:`Trust session`,action:`session`,isAvailable:e=>e.allowSession===!0},{label:`Trust agent`,action:`agent`,isAvailable:e=>e.allowAgent===!0},{label:`Always allow`,action:`all`,isAvailable:e=>e.allowAll===!0}],kt=/^([^:\n]{2,44}):\s+(.+)$/,At=/^(GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS)\s+/i;function jt(e){return e===`yellow`?`Amber`:e===`red`?`Red`:null}function Mt(e){return/^reply\b/i.test(e)||/^approval expires\b/i.test(e)||/^approval id\b/i.test(e)}function Nt(e){let t=e.trim();return/^proposed action$/i.test(t)?`Request`:/^why$/i.test(t)?`Reason`:t}function Pt(e){let t=[],n,r=e.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);for(let e of r){if(Mt(e)||/^classifier reasoning$/i.test(e)||/^if you skip this/i.test(e))continue;let r=e.match(kt);if(r){let e=Nt(r[1]??``);/^classifier reasoning$/i.test(e)||t.push({label:e,value:r[2]??``});continue}n??=e}return{introLine:n,rows:t}}function Ft(e){let t=[],n=new Set,r=(e,r)=>{let i=e.trim(),a=String(r??``).trim();if(!i||!a)return;let o=`${i.toLowerCase()}:${a}`;n.has(o)||(n.add(o),t.push({label:i,value:a}))};e.intent&&r(`Action`,e.intent),e.commandPreview&&r(At.test(e.commandPreview)?`Request`:`Preview`,e.commandPreview),e.toolName&&r(`Tool`,e.toolName);for(let t of Pt(e.prompt).rows)r(t.label,t.value);if(r(`Approval ID`,e.approvalId),e.expiresAt&&Number.isFinite(e.expiresAt)){let t=new Date(e.expiresAt);Number.isNaN(t.getTime())||r(`Expires`,t.toLocaleTimeString())}return t}function It(e){let{introLine:t}=Pt(e.prompt);return t||(e.summary?e.summary.split(/\r?\n/)[0]??``:e.intent?`Confirmation required for ${e.intent}.`:`Confirmation required before this action can continue.`)}function Lt(e){let{approval:t}=e,n=(0,G.useMemo)(()=>Ft(t),[t]),r=(0,G.useMemo)(()=>It(t),[t]),i=Ot.filter(e=>e.isAvailable(t)),a=jt(t.approvalTier),o=n=>{e.onAction(n,t.approvalId)};return(0,X.jsxs)(`div`,{className:V.approvalCard,children:[(0,X.jsxs)(`div`,{className:V.approvalHeader,children:[a?(0,X.jsx)(`span`,{className:V.approvalTier,children:a}):null,(0,X.jsx)(`span`,{className:V.approvalTitle,children:`Confirmation required`})]}),(0,X.jsx)(`p`,{className:V.approvalIntro,children:r}),n.length>0?(0,X.jsx)(`dl`,{className:V.approvalDetails,children:n.map(e=>(0,X.jsxs)(`div`,{className:V.approvalDetailRow,children:[(0,X.jsx)(`dt`,{children:e.label}),(0,X.jsx)(`dd`,{children:e.value})]},`${e.label}:${e.value}`))}):null,(0,X.jsxs)(`div`,{className:V.approvalPrimaryActions,children:[(0,X.jsx)(f,{size:`sm`,disabled:e.busy,onClick:()=>o(`once`),children:`Allow once`}),(0,X.jsx)(f,{variant:`danger`,size:`sm`,disabled:e.busy,onClick:()=>o(`deny`),children:`Cancel`})]}),i.length>0?(0,X.jsx)(`div`,{className:V.approvalTrustActions,children:i.map(t=>(0,X.jsx)(f,{variant:`outline`,size:`sm`,className:V.approvalAllow,disabled:e.busy,onClick:()=>o(t.action),children:t.label},t.action))}):null]})}var Rt=120;function zt(e,t,n){let[r,i]=(0,G.useState)(e),a=(0,G.useRef)(e),o=(0,G.useRef)(null);a.current=e,(0,G.useEffect)(()=>{if(!t){o.current!==null&&(window.clearTimeout(o.current),o.current=null),i(``);return}if(!n){o.current!==null&&(window.clearTimeout(o.current),o.current=null),i(e);return}o.current!==null||e===r||(o.current=window.setTimeout(()=>{o.current=null,(0,G.startTransition)(()=>{i(a.current)})},Rt))},[e,t,n,r]),(0,G.useEffect)(()=>()=>{o.current!==null&&window.clearTimeout(o.current)},[]);let s=t?n?r:e:``;return(0,G.useMemo)(()=>t?we(s,{highlight:!n}):``,[t,s,n])}var Bt=`<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="11" height="11" rx="2"/><path d="M5 15V5a2 2 0 0 1 2-2h10"/></svg>`,Vt=`<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>`,Ht=`<svg viewBox="0 0 24 24" width="11" height="11" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m9 7-5 5 5 5"/><path d="m15 7 5 5-5 5"/><path d="m13.5 5-3 14"/></svg>`,Ut=/^\/([A-Za-z0-9][A-Za-z0-9._-]*)(?=$|[\s:.,!?;)\]}])/u,Wt=new Set([`text`,`plaintext`,`plain`,`txt`]);function Gt(e){let t=e.querySelector(`code`)?.className.match(/language-([\w#.+-]+)/)?.[1]??``;return Wt.has(t)?``:t}function Kt(e){if(e.querySelector(`button[data-copy-btn]`))return;let t=Gt(e);if(t){e.classList.add(V.codeBlockLabeled);let n=document.createElement(`span`);n.className=V.codeLangLabel,n.setAttribute(`aria-hidden`,`true`),n.innerHTML=Ht;let r=document.createElement(`span`);r.textContent=t,n.appendChild(r),e.appendChild(n)}let n=document.createElement(`button`);n.type=`button`,n.dataset.copyBtn=``,n.className=V.codeCopyButton,n.innerHTML=Bt;let r=e=>{n.setAttribute(`aria-label`,e),n.title=e};r(`Copy code`);let i=null;n.addEventListener(`click`,()=>{Oe((e.querySelector(`code`)??e).textContent??``).then(e=>{e&&(n.innerHTML=Vt,n.classList.add(V.codeCopyButtonDone),r(`Copied`),i!==null&&window.clearTimeout(i),i=window.setTimeout(()=>{n.innerHTML=Bt,n.classList.remove(V.codeCopyButtonDone),r(`Copy code`)},1500))})}),e.appendChild(n)}function qt(){let e=(0,G.useRef)(null);return(0,G.useCallback)(t=>{if(e.current?.disconnect(),e.current=null,!t)return;let n=()=>{for(let e of t.querySelectorAll(`pre`))Kt(e)};n();let r=new MutationObserver(n);r.observe(t,{childList:!0,subtree:!0}),e.current=r},[])}function Jt(e,t){let n=t.split(`;`)[0]?.trim().toLowerCase()||``;return!n||n!==`application/pdf`&&!n.startsWith(`image/`)&&!n.startsWith(`video/`)||e.type.toLowerCase()===n?e:new Blob([e],{type:n})}function Yt(e){let{artifact:t,token:n}=e,r=(0,G.useRef)(null),[i,a]=(0,G.useState)(null),[o,s]=(0,G.useState)(!1),c=(t.mimeType??``).toLowerCase(),l=t.filename??`artifact`,u=c.startsWith(`image/`),d=c.startsWith(`video/`)||/\.(mp4|m4v|mov|webm)$/i.test(t.filename??``)||/\.(mp4|m4v|mov|webm)$/i.test(t.path??``),f=c===`application/pdf`||/\.pdf$/i.test(t.filename??``)||/\.pdf$/i.test(t.path??``),p=u||d||f;(0,G.useEffect)(()=>{let e=r.current;if(r.current=null,e&&URL.revokeObjectURL(e),a(null),!p||!t.path)return;let i=!1;return q(n,t.path).then(e=>{if(i)return;let t=URL.createObjectURL(Jt(e,c));r.current=t,a(t)}).catch(()=>{i||a(null)}),()=>{i=!0;let e=r.current;r.current=null,e&&URL.revokeObjectURL(e)}},[t.path,p,c,n]);let m=o?`Downloading…`:`Download`,h=async()=>{if(!(!t.path||o)){s(!0);try{let e=i??URL.createObjectURL(await q(n,t.path)),r=document.createElement(`a`);r.href=e,r.download=t.filename??`artifact`,r.rel=`noopener noreferrer`,document.body.appendChild(r),r.click(),r.remove(),i||window.setTimeout(()=>URL.revokeObjectURL(e),0)}catch{}finally{s(!1)}}};return(0,X.jsxs)(`div`,{className:W(V.artifactCard,i&&V.artifactCardWithPreview),children:[(0,X.jsxs)(`div`,{className:V.artifactHeader,children:[(0,X.jsx)(`span`,{className:V.artifactFilename,children:l}),t.type?(0,X.jsx)(`span`,{className:V.artifactBadge,children:t.type}):null,t.path?(0,X.jsx)(`button`,{type:`button`,className:V.artifactDownload,disabled:o,onClick:()=>{h()},children:m}):null]}),u&&i?(0,X.jsx)(`div`,{className:V.artifactPreview,children:(0,X.jsx)(`img`,{src:i,alt:l})}):null,f&&i?(0,X.jsx)(`div`,{className:W(V.artifactPreview,V.artifactPdfPreview),children:(0,X.jsx)(`iframe`,{src:i,title:`${l} preview`,sandbox:``})}):null,d&&i?(0,X.jsx)(`div`,{className:W(V.artifactPreview,V.artifactVideoPreview),children:(0,X.jsx)(`video`,{controls:!0,preload:`metadata`,src:i,children:(0,X.jsxs)(`a`,{href:i,download:l,children:[`Download `,l]})})}):null]})}function Xt(e){let t=(0,G.useRef)(null),[n,r]=(0,G.useState)(null);return(0,G.useEffect)(()=>{let n=t.current;if(t.current=null,n&&URL.revokeObjectURL(n),r(null),!e.imageUrl)return;let i=!1;return Ue(e.token,e.imageUrl).then(e=>{if(i)return;let n=URL.createObjectURL(e);t.current=n,r(n)}).catch(()=>{i||r(null)}),()=>{i=!0;let e=t.current;t.current=null,e&&URL.revokeObjectURL(e)}},[e.imageUrl,e.token]),n}var Zt=(0,G.memo)(function(e){let{message:t,token:n}=e,[r,i]=(0,G.useState)(!1),a=()=>{e.onCopy(t.rawContent??t.content),i(!0),setTimeout(()=>i(!1),900)},o=(0,G.useMemo)(()=>{let e=new Map;return(t.artifacts??[]).map(t=>{let n=[t.path,t.filename,t.mimeType,t.type].filter(Boolean),r=n.length>0?n.join(`|`):`artifact`,i=e.get(r)??0;return e.set(r,i+1),{artifact:t,key:`${r}:${i}`}})},[t.artifacts]),s=t.role===`approval`,c=s&&!!t.pendingApproval,l=t.role===`assistant`||t.role===`command`||s&&!c,u=zt(t.content,l,e.isStreaming),d=qt(),p=t.assistantPresentation,m=p?.displayName??`Assistant`,h=Xt({token:n,imageUrl:p?.imageUrl});if(t.role===`thinking`)return(0,X.jsxs)(`div`,{className:V.thinking,role:`status`,"aria-label":`Assistant is thinking`,children:[(0,X.jsx)(`span`,{className:V.thinkingDot}),(0,X.jsx)(`span`,{className:V.thinkingDot}),(0,X.jsx)(`span`,{className:V.thinkingDot})]});let g=t.role===`user`,_=t.role===`assistant`,v=g||t.content.trim().length>0||o.length===0||s,y=W(V.messageBlock,g&&V.messageBlockUser,(_||t.role===`system`||t.role===`command`||s)&&V.messageBlockAssistant),b=W(V.bubble,g&&V.bubbleUser,(_||s)&&V.bubbleAssistant,s&&V.bubbleApproval,t.role===`system`&&V.bubbleSystem,t.role===`command`&&V.bubbleCommand);return(0,X.jsxs)(`div`,{className:y,children:[_?(0,X.jsxs)(`div`,{className:V.agentLabel,children:[h?(0,X.jsx)(`img`,{className:V.agentAvatar,src:h,alt:``}):(0,X.jsx)(`span`,{className:V.agentInitial,children:m.charAt(0).toUpperCase()}),(0,X.jsx)(`span`,{children:m})]}):null,v?(0,X.jsx)(`div`,{className:b,children:c&&t.pendingApproval?(0,X.jsx)(Lt,{approval:t.pendingApproval,busy:e.approvalBusy,onAction:e.onApprovalAction}):l?(0,X.jsx)(`div`,{ref:d,className:V.markdownContent,dangerouslySetInnerHTML:{__html:u}}):g?(0,X.jsx)(Qt,{content:t.content,presentation:t.addressedAgentPresentation,skillInvocationTargets:e.skillInvocationTargets,token:n}):t.content}):null,o.map(({artifact:e,key:t})=>(0,X.jsx)(Yt,{artifact:e,token:n},t)),e.isStreaming?null:(0,X.jsxs)(`div`,{className:V.messageActions,children:[_&&t.replayRequest?(0,X.jsx)(f,{variant:`ghost`,size:`icon`,className:V.actionButton,title:`Regenerate`,"aria-label":`Regenerate response`,onClick:()=>e.onRegenerate(t),children:`↻`}):null,_?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(f,{variant:`ghost`,size:`icon`,className:W(V.actionButton,t.responseRating===`up`&&V.actionButtonSelected),title:t.responseRating===`up`?`Clear thumbs up`:`Thumbs up`,"aria-label":t.responseRating===`up`?`Clear thumbs up rating`:`Rate response thumbs up`,"aria-pressed":t.responseRating===`up`,"data-rating-locked":t.responseRating?`true`:void 0,disabled:e.ratingBusy===!0||!t.messageId||t.responseRating===`down`,onClick:()=>e.onRate?.(t,t.responseRating===`up`?null:`up`),children:(0,X.jsx)(H,{width:`13`,height:`13`,filled:t.responseRating===`up`})}),(0,X.jsx)(f,{variant:`ghost`,size:`icon`,className:W(V.actionButton,t.responseRating===`down`&&V.actionButtonSelected),title:t.responseRating===`down`?`Clear thumbs down`:`Thumbs down`,"aria-label":t.responseRating===`down`?`Clear thumbs down rating`:`Rate response thumbs down`,"aria-pressed":t.responseRating===`down`,"data-rating-locked":t.responseRating?`true`:void 0,disabled:e.ratingBusy===!0||!t.messageId||t.responseRating===`up`,onClick:()=>e.onRate?.(t,t.responseRating===`down`?null:`down`),children:(0,X.jsx)(I,{width:`13`,height:`13`,filled:t.responseRating===`down`})})]}):null,(0,X.jsx)(f,{variant:`ghost`,size:`icon`,className:W(V.actionButton,r&&V.actionButtonSuccess),title:`Copy`,"aria-label":r?`Copied`:`Copy message`,onClick:a,children:r?`✓`:`⧉`}),g?(0,X.jsx)(f,{variant:`ghost`,size:`icon`,className:V.actionButton,title:`Edit`,"aria-label":`Edit message`,onClick:()=>e.onEdit(t),children:`✎`}):null,e.branchInfo&&e.branchInfo.total>1?(0,X.jsxs)(`div`,{className:V.branchSwitcher,children:[(0,X.jsx)(f,{variant:`ghost`,size:`icon`,className:V.branchButton,"aria-label":`Previous branch`,disabled:e.branchInfo.current<=1,onClick:()=>e.onBranchNav(t,-1),children:`‹`}),(0,X.jsxs)(`span`,{children:[e.branchInfo.current,`/`,e.branchInfo.total]}),(0,X.jsx)(f,{variant:`ghost`,size:`icon`,className:V.branchButton,"aria-label":`Next branch`,disabled:e.branchInfo.current>=e.branchInfo.total,onClick:()=>e.onBranchNav(t,1),children:`›`})]}):null]})]})});function Qt(e){let t=Je(e.content),n=[],r=0;for(let[i,a]of t.entries()){a.index>r&&$t(n,e.content.slice(r,a.index),`text-${i}`,r===0,e.skillInvocationTargets);let t=e.presentation?.agentId?.toLowerCase()===a.agentId.toLowerCase()?e.presentation:null;n.push((0,X.jsx)(en,{mention:a.mention,imageUrl:t?.imageUrl??null,token:e.token},`${a.index}-${i}`)),r=a.index+a.mention.length}return r<e.content.length&&$t(n,e.content.slice(r),`text-tail`,r===0,e.skillInvocationTargets),(0,X.jsx)(X.Fragment,{children:n})}function $t(e,t,n,r,i){if(!t)return;if(!r||!i){e.push(t);return}let a=Ut.exec(t),o=a?.[1]??``,s=i.get(o.toLowerCase());if(!a||!o||!s){e.push(t);return}let c=a[0];e.push((0,X.jsx)(`a`,{className:V.userSkillCommandLink,href:`/admin/skills/${encodeURIComponent(s)}`,children:c},`${n}-skill-command`));let l=t.slice(c.length);l&&e.push(l)}function en(e){let t=Xt({token:e.token,imageUrl:e.imageUrl});return(0,X.jsxs)(`span`,{className:V.userAgentMentionPill,children:[t?(0,X.jsx)(`img`,{className:V.userAgentMentionAvatar,src:t,alt:``}):null,(0,X.jsx)(`span`,{children:e.mention})]})}function tn(e){let[t,n]=(0,G.useState)(e.initial);return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`textarea`,{className:V.editArea,value:t,onChange:e=>n(e.target.value),"aria-label":`Edit message`,autoFocus:!0}),(0,X.jsxs)(`div`,{className:V.editButtons,children:[(0,X.jsx)(f,{onClick:()=>e.onSave(t.trim()),disabled:!t.trim(),children:`Save`}),(0,X.jsx)(f,{variant:`ghost`,onClick:e.onCancel,children:`Cancel`})]})]})}function nn(){let e=s(),t=o({strict:!1}).sessionId,n=(0,G.useRef)(null),r=t??n.current??``,i=(0,G.useRef)(r);i.current=r,(0,G.useEffect)(()=>{t&&(n.current=null)},[t]),(0,G.useEffect)(()=>{r&&p(r)},[r]);let a=(0,G.useCallback)(()=>i.current,[]),c=(0,G.useCallback)((t,n)=>e({to:`/chat/$sessionId`,params:{sessionId:t},...n}),[e]);return{sessionId:r,getSessionId:a,navigateToSession:c,switchToSession:(0,G.useCallback)((e,t)=>(n.current=e,i.current=e,c(e,t)),[c]),startFreshChat:(0,G.useCallback)(()=>{n.current=null,e({to:`/chat`})},[e]),ensureSessionForSend:(0,G.useCallback)(()=>{if(i.current)return;let e=d();n.current=e,i.current=e,c(e,{replace:!0})},[c]),handleSessionIdCorrection:(0,G.useCallback)(e=>{e!==i.current&&c(e,{replace:!0})},[c])}}async function rn(e,t){let n=await fetch(e,{method:`POST`,headers:{...F(t.token,t.body),Accept:`application/x-ndjson`},body:JSON.stringify(t.body),signal:t.signal});n.ok||await Ae(n);let{callbacks:r}=t,i=e=>{let t=String(e||``).trim();if(!t)return null;let n;try{n=JSON.parse(t)}catch{return console.warn(`Ignoring malformed chat stream line`,t),null}return!n||typeof n!=`object`?null:n.type===`text`&&typeof n.delta==`string`?(r.onTextDelta(n.delta),null):n.type===`approval`&&typeof n.approvalId==`string`&&typeof n.prompt==`string`?(r.onApproval(n),null):n.type===`result`&&n.result&&typeof n.result==`object`?n.result:typeof n.status==`string`&&Array.isArray(n.toolsUsed)?n:null};if(!n.body){let e=await n.text().catch(()=>``),t=null;for(let n of e.split(`
3
+ `)){let e=i(n);e&&(t=e)}if(!t)throw Error(`Chat stream ended without a result payload.`);return t}let a=n.body.getReader(),o=new TextDecoder,s=``,c=null,l=(e=!1)=>{let t=s.split(`
4
+ `),n=e?t.pop()??``:null;s=e?``:t.pop()??``;for(let e of t){let t=i(e);t&&(c=t)}if(e&&n?.trim()){let e=i(n);e&&(c=e)}};try{for(;;){let{done:e,value:t}=await a.read();if(e)break;s+=o.decode(t,{stream:!0}),l()}s+=o.decode(),l(!0)}finally{a.releaseLock()}if(!c)throw Error(`Chat stream ended without a result payload.`);return c}function an(e){let t=e.trim().split(/\s+/),n=t[0]?.replace(/^\/+/,``).toLowerCase(),r=t[1]?.toLowerCase();return(n===`agent`||n===`agents`)&&(r===`create`||r===`install`)}function on(e){let t=e.trim().split(/\s+/),n=t[0]?.replace(/^\/+/,``).toLowerCase();if(n!==`agent`&&n!==`agents`||t[1]?.toLowerCase()!==`switch`)return null;let r=t[2]?.trim();return r&&!/\s/.test(r)?r:null}function sn(e){return/^Session agent set to\b/i.test(e.trim())}function cn(e){return/\bBOOTSTRAP\.md\b/i.test(e)}function ln(e){let{token:t,userId:r,getSessionId:i,setError:a,refreshRecent:o,onSessionIdCorrection:s,onModelResolved:c,resolveAddressedAgentPresentation:u}=e,d=n(),f=(0,G.useRef)(null),[p,m]=(0,G.useState)(!1),[h,g]=(0,G.useState)(null),[_,v]=(0,G.useState)(null),y=(0,G.useCallback)((e,n)=>{let r=Y(t,e);d.setQueryData(r,t=>{let r=t?.messages??[],i=typeof n==`function`?n(r):n;return i===r?t:{messages:i,branchFamilies:t?.branchFamilies??new Map,resolvedSessionId:t?.resolvedSessionId??e,agentId:t?.agentId??null,bootstrapAutostart:t?.bootstrapAutostart??null}})},[d,t]);return{sendMessage:(0,G.useCallback)(async(e,n,p)=>{if(f.current)return a(`Wait for the current run to finish before sending another message.`),!1;let h=i(),_=e=>y(h,e),b=p?.hideUser?null:De();if(a(``),b){let t=u?.(e)??null,r={id:b,role:`user`,content:e,rawContent:e,sessionId:h,media:n,artifacts:[],replayRequest:{content:e,media:n},addressedAgentPresentation:t};_(e=>[...e,r])}let x=De();_(e=>[...e,{id:x,role:`thinking`,content:``,sessionId:h}]);let S=De();g(S);let C={controller:new AbortController,sessionId:h,messageRole:`assistant`,assistantText:``,lastRenderedText:``,pendingApproval:null,renderFrame:0,stopping:!1};f.current=C,v(h),m(!0);let w=()=>{if(C.renderFrame=0,C.assistantText===C.lastRenderedText&&!C.pendingApproval)return;C.lastRenderedText=C.assistantText;let e=C.assistantText,t=C.pendingApproval;_(n=>{let r=n.filter(e=>e.id!==x),i=r.find(e=>e.id===S);return i?r.map(n=>n===i?{...n,role:C.messageRole,content:e,pendingApproval:t}:n):[...r,{id:S,role:C.messageRole,content:e,sessionId:C.sessionId,artifacts:[],pendingApproval:t}]})},T=()=>{C.renderFrame&&=(cancelAnimationFrame(C.renderFrame),0),w()},E=()=>{C.renderFrame||=requestAnimationFrame(w)};try{let i=await rn(`/api/chat`,{token:t,body:{sessionId:h,channelId:`web`,userId:r,username:`web`,content:e,stream:!0,...n.length>0?{media:n}:{}},signal:C.controller.signal,callbacks:{onTextDelta:e=>{C.assistantText+=e,E()},onApproval:e=>{C.pendingApproval=e,C.messageRole=`approval`,C.assistantText.trim()||(C.assistantText=M(e)),E()}}});if(i.status===`error`)throw Error(i.error??`Unknown error`);i.sessionId&&i.sessionId!==h&&s(i.sessionId);let a=i.model?.trim();a&&c?.(a),T();let l=i.result??C.assistantText??``,u=C.pendingApproval,f=i.artifacts??[],p=typeof i.addressEnvelope?.to==`string`?i.addressEnvelope.to:null;if(!i.messageRole)throw Error(`Gateway chat result is missing messageRole.`);let m=i.messageRole,g=m===`command`&&l.trim().length===0&&f.length===0,v=(t,r,a)=>({...a,id:t,role:m,content:l,sessionId:r,messageId:i.assistantMessageId??null,artifacts:f,assistantPresentation:i.assistantPresentation??null,pendingApproval:u,responseRating:null,replayRequest:{content:e,media:n}});_(e=>{let t=e.filter(e=>e.id!==x),n=t.some(e=>e.id===S),r=e=>e.id===S?v(S,i.sessionId??e.sessionId,e):b&&e.id===b&&e.role===`user`?{...e,addressedAgentPresentation:p?i.assistantPresentation??null:null,messageId:e.messageId??i.userMessageId??null,sessionId:i.sessionId??e.sessionId}:e;if(g)return t.filter(e=>e.id!==S).map(r);let a=t.map(r);return n?a:[...a,v(S,i.sessionId??C.sessionId)]}),o();let y=m===`command`&&sn(l)?on(e):null;if(y){let e=i.sessionId??h,n=Y(t,e);d.setQueryData(n,e=>e&&{...e,agentId:y,bootstrapAutostart:cn(l)?{status:`starting`,fileName:`BOOTSTRAP.md`}:e.bootstrapAutostart}),d.invalidateQueries({queryKey:n,refetchType:`none`}),d.invalidateQueries({queryKey:[`chat-context`,t,e]})}m===`command`&&an(e)&&d.invalidateQueries({queryKey:[`agents-list`,t]})}catch(e){C.renderFrame&&cancelAnimationFrame(C.renderFrame);let t=l(e);_(e=>{let n=e.filter(e=>e.id!==x);return C.stopping?n:[...n,{id:De(),role:`system`,content:`Error: ${t}`,sessionId:h}]})}finally{f.current=null,v(null),m(!1),g(null)}return!0},[t,r,i,y,s,c,u,d,a,o]),stopRequest:(0,G.useCallback)(async()=>{let e=f.current;if(!(!e||e.stopping)){e.stopping=!0;try{await ze(t,e.sessionId,r,[`stop`])}catch(e){a(`Failed to stop: ${l(e)}`)}finally{e.controller.abort()}}},[t,r,a]),isStreaming:p,streamingMsgId:h,activeSessionId:_,isActive:(0,G.useCallback)(()=>f.current!==null,[])}}var un=120,dn=220;function fn(){let e=(0,G.useRef)(null),t=(0,G.useRef)(null),n=(0,G.useRef)(null),r=(0,G.useRef)(0),[i,a]=(0,G.useState)(!0),o=(0,G.useRef)(!0),s=(0,G.useRef)(!1),c=(0,G.useCallback)(e=>{o.current!==e&&(o.current=e,a(e))},[]),l=(0,G.useCallback)((e,t)=>{let n=Math.max(0,e.scrollHeight-e.clientHeight),r=Math.max(0,Math.min(t,n));r!==e.scrollTop&&(s.current=!0,e.scrollTop=r)},[]),u=(0,G.useCallback)(()=>{let t=e.current;!t||!o.current||t.scrollHeight<=t.clientHeight||l(t,t.scrollHeight)},[l]),d=(0,G.useCallback)(n=>{if(t.current?.abort(),t.current=null,e.current=n,!n)return;let r=new AbortController;t.current=r,n.addEventListener(`scroll`,()=>{if(s.current){s.current=!1;return}c(n.scrollHeight-n.scrollTop-n.clientHeight<=un)},{passive:!0,signal:r.signal}),u()},[c,u]),f=(0,G.useCallback)(e=>{if(n.current?.disconnect(),n.current=null,!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(()=>u());t.observe(e),n.current=t},[u]),p=(0,G.useCallback)(()=>{let t=e.current;if(!t)return;if(r.current&&=(cancelAnimationFrame(r.current),0),c(!0),typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches){l(t,t.scrollHeight);return}let n=t.scrollTop;if(t.scrollHeight-t.clientHeight-n<=0)return;let i=performance.now(),a=()=>{let t=e.current;if(!t){r.current=0;return}let o=Math.min(1,(performance.now()-i)/dn),s=1-(1-o)**3;l(t,n+(t.scrollHeight-t.clientHeight-n)*s),r.current=o<1?requestAnimationFrame(a):0};r.current=requestAnimationFrame(a)},[c,l]),m=(0,G.useCallback)(()=>{c(!0);let t=e.current;t&&l(t,t.scrollHeight)},[c,l]);return(0,G.useEffect)(()=>()=>{t.current?.abort(),n.current?.disconnect(),r.current&&cancelAnimationFrame(r.current)},[]),{scrollRef:d,contentRef:f,isPinned:i,jumpToBottom:p,resetToBottom:m}}var pn=[],mn=[],hn=5e3,gn=`bootstrap-autostart-thinking`,_n=1500,vn=`Ready to claw through your to-do list?`;function yn(e,t){let n=new Map;if(t.size===0)return n;for(let r of e){let e=r.branchKey;if(!e)continue;let i=t.get(e);if(!i||i.length<2)continue;let a=i.findIndex(e=>e.sessionId===r.sessionId);a<0||n.set(r.id,{current:a+1,total:i.length})}return n}function bn(e,t,n=``,r=`user`){return[`chat-recent`,e,t,n,r]}function xn(e,t){return[`chat-recent`,e,t]}function Sn(e,t){return[`chat-context`,e,t]}function Cn(){let e=Ce(),t=n(),i=(0,G.useRef)(D()).current,o=(0,G.useMemo)(()=>new URLSearchParams(window.location.search).get(`prompt`)||``,[]),[s,d]=(0,G.useState)({message:``,version:0}),f=s.message,p=(0,G.useCallback)(e=>{d(t=>({message:typeof e==`function`?e(t.message):e,version:t.version+1}))},[]),[h,g]=(0,G.useState)(!1),[_,y]=(0,G.useState)(null),[b,S]=(0,G.useState)(!1),[C,w]=(0,G.useState)(null),[E,ee]=(0,G.useState)(!1),[O,te]=(0,G.useState)(null),[ne,A]=(0,G.useState)(``),[j,ae]=(0,G.useState)(`user`),[M,se]=(0,G.useState)(null),[ce,le]=(0,G.useState)(``),N=Ge(ce,160).trim(),{scrollRef:fe,contentRef:P,isPinned:pe,jumpToBottom:F,resetToBottom:me}=fn(),I=(0,G.useRef)(null),he=(0,G.useRef)(null);(0,G.useEffect)(()=>{let e=()=>{let e=window.visualViewport?.height??window.innerHeight;!Number.isFinite(e)||e<=0||(document.documentElement.style.setProperty(`--chat-visual-viewport-height`,`${Math.round(e)}px`),document.scrollingElement?.scrollTo({left:0}),document.body.scrollLeft=0,document.documentElement.scrollLeft=0)};return e(),window.addEventListener(`resize`,e),window.addEventListener(`orientationchange`,e),window.visualViewport?.addEventListener(`resize`,e),window.visualViewport?.addEventListener(`scroll`,e),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`orientationchange`,e),window.visualViewport?.removeEventListener(`resize`,e),window.visualViewport?.removeEventListener(`scroll`,e),document.documentElement.style.removeProperty(`--chat-visual-viewport-height`)}},[]);let{sessionId:L,getSessionId:R,navigateToSession:z,switchToSession:_e,startFreshChat:ve,ensureSessionForSend:B,handleSessionIdCorrection:be}=nn(),Se=(0,G.useCallback)(()=>{t.invalidateQueries({queryKey:xn(e.token,i)}),t.invalidateQueries({queryKey:Y(e.token,R()),refetchType:`none`})},[t,e.token,i,R]),H=ye(e),U=a({queryKey:[`app-status`,e.token],queryFn:()=>oe(e.token),staleTime:1/0,enabled:H,initialData:e.status===`ready`&&e.gatewayStatus?e.gatewayStatus:void 0}),we=a({queryKey:[`agents-list`,e.token],queryFn:()=>de(e.token),staleTime:3e4,enabled:H}),W=a({queryKey:[`models`,e.token],queryFn:()=>xe(e.token),staleTime:3e4,enabled:H}),Te=a({queryKey:[`skills`,e.token],queryFn:()=>ge(e.token),staleTime:6e4,retry:!1,enabled:H});(0,G.useEffect)(()=>{A(U.data?.defaultModel?.trim()??``)},[L,U.data?.defaultModel]),(0,G.useEffect)(()=>{U.error&&(console.error(`Failed to load gateway status for chat page`,U.error),p(`Failed to load the default agent. New chats will use main until gateway status loads.`))},[U.error,p]),(0,G.useEffect)(()=>{W.error&&(console.error(`Failed to load models list for chat page`,W.error),p(`Failed to load the model list. Model switching is unavailable.`))},[W.error,p]);let Ae=a({queryKey:bn(e.token,i,N,j),queryFn:()=>Me(e.token,i,`web`,N?We.maxSearchResults:We.maxRecentSessions,N||void 0,j),staleTime:1e4,enabled:H}),je=Ae.data?.sessions??[],Ne=(0,G.useMemo)(()=>(we.data??[]).map(e=>({id:e.id,name:e.name,imageUrl:e.imageUrl??null,emptyChatHeader:e.emptyChatHeader??null,source:e.source})),[we.data]),Fe=(0,G.useMemo)(()=>new Map((Te.data?.skills??[]).filter(e=>e.userInvocable).map(e=>[e.name.toLowerCase(),e.name])),[Te.data?.skills]),Ve=(0,G.useCallback)(e=>{let t=Je(e);for(let e of t){let t=Ne.find(t=>t.id.toLowerCase()===e.agentId.toLowerCase());if(t)return{agentId:t.id,displayName:t.name??t.id,imageUrl:t.imageUrl??null}}return null},[Ne]),He=W.data?.models??mn,K=ln({token:e.token,userId:i,getSessionId:R,setError:p,refreshRecent:Se,onSessionIdCorrection:be,onModelResolved:A,resolveAddressedAgentPresentation:Ve});(0,G.useEffect)(()=>{let e=s.message;if(g(!1),!e)return;let t=window.setTimeout(()=>{g(!0)},hn),n=window.setTimeout(()=>{p(``),g(!1)},5200);return()=>{window.clearTimeout(t),window.clearTimeout(n)}},[s,p]);let q=a({queryKey:Y(e.token,L),queryFn:()=>Qe(e.token,L,i),enabled:H&&!!L,staleTime:1/0}),Ue=a({queryKey:Sn(e.token,L),queryFn:()=>Pe(e.token,L),enabled:H&&!!L,staleTime:15e3,refetchOnWindowFocus:!1}),J=q.data?.messages??pn,Ke=q.data?.bootstrapAutostart?.status===`starting`,qe=(0,G.useMemo)(()=>Ke?[...J,{id:gn,role:`thinking`,content:``,sessionId:L}]:J,[Ke,J,L]),Xe=q.data?.branchFamilies??Ye,Ze=O?.trim().toLowerCase()||q.data?.agentId?.trim().toLowerCase()||U.data?.defaultAgentId?.trim().toLowerCase()||`main`,et=Ne.find(e=>e.id.toLowerCase()===Ze)?.emptyChatHeader?.trim()||vn,Z=r({mutationFn:t=>Ee(e.token,t),onSuccess:n=>{if(!n.deleted){p(`Delete failed: session was not found.`);return}let r=n.sessionId;t.removeQueries({queryKey:Y(e.token,r)}),t.removeQueries({queryKey:Sn(e.token,r)}),t.invalidateQueries({queryKey:xn(e.token,i)}),t.invalidateQueries({queryKey:[`overview`],refetchType:`none`}),se(null),r===R()&&ve()},onError:e=>{p(`Delete failed: ${l(e)}`)}}),tt=r({mutationFn:t=>{if(!t.message.messageId)throw Error(`This response cannot be rated right now.`);return Re(e.token,{sessionId:t.message.sessionId,messageId:t.message.messageId,userId:i,rating:t.rating})},onSuccess:(n,r)=>{let i=r.message.sessionId;t.setQueryData(Y(e.token,i),e=>e&&{...e,messages:e.messages.map(e=>e.messageId===n.messageId?{...e,responseRating:n.rating}:e)})},onError:e=>{p(`Rating failed: ${l(e)}`)}});(0,G.useEffect)(()=>{let e=Ue.data?.snapshot?.model?.trim()??``;e&&A(e)},[Ue.data?.snapshot?.model]),(0,G.useEffect)(()=>{te(null)},[L]),(0,G.useEffect)(()=>{q.error&&p(l(q.error))},[q.error,p]),(0,G.useEffect)(()=>{if(q.data?.bootstrapAutostart?.status!==`starting`||q.isFetching)return;let e=window.setTimeout(()=>{q.refetch()},_n);return()=>window.clearTimeout(e)},[q.data?.bootstrapAutostart?.status,q.isFetching,q.refetch]),(0,G.useEffect)(()=>{if(!C)return;let e=document.body.style.overflow,t=document.activeElement;document.body.style.overflow=`hidden`,he.current?.focus();let n=e=>{if(e.key===`Escape`){e.preventDefault(),w(null);return}if(e.key!==`Tab`)return;let t=Array.from(I.current?.querySelectorAll(`a[href], button:not(:disabled)`)??[]);if(t.length===0)return;let n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r?.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n?.focus())};return document.addEventListener(`keydown`,n),()=>{document.removeEventListener(`keydown`,n),document.body.style.overflow=e,t instanceof HTMLElement&&t.focus()}},[C]),(0,G.useEffect)(()=>{let e=q.data?.resolvedSessionId;!e||e===L||z(e,{replace:!0})},[q.data?.resolvedSessionId,L,z]);let nt=(0,G.useMemo)(()=>yn(J,Xe),[J,Xe]),rt=(0,G.useRef)(!1);(0,G.useEffect)(()=>{rt.current&&!K.isStreaming&&L&&t.invalidateQueries({queryKey:Sn(e.token,L)}),rt.current=K.isStreaming},[K.isStreaming,t,e.token,L]),(0,G.useEffect)(()=>{L&&me()},[L,me]);let it=(0,G.useCallback)(async(n,r)=>{if(!n.messageId||!n.sessionId){p(`This message cannot be edited right now.`);return}y(null);try{let a=await Le(e.token,n.sessionId,n.messageId);t.invalidateQueries({queryKey:Y(e.token,n.sessionId),refetchType:`none`}),await t.ensureQueryData({queryKey:Y(e.token,a.sessionId),queryFn:()=>Qe(e.token,a.sessionId,i)}),await _e(a.sessionId),K.sendMessage(r,n.media??[])}catch(e){p(l(e))}},[e.token,t,p,_e,K.sendMessage,i]),at=(0,G.useCallback)(e=>{e.replayRequest&&(F(),K.sendMessage(e.replayRequest.content,e.replayRequest.media,{hideUser:!0}))},[F,K.sendMessage]),ot=(0,G.useCallback)(async(e,t)=>{let n=ke(e,t);if(n){S(!0);try{F(),await K.sendMessage(n,[],{hideUser:!0})}finally{S(!1)}}},[F,K.sendMessage]),st=(0,G.useCallback)((e,t)=>{tt.mutate({message:e,rating:t})},[tt]),ct=(0,G.useCallback)(async t=>{let n=await Promise.allSettled(t.map(t=>Be(e.token,t))),r=[];for(let e of n)e.status===`fulfilled`&&e.value.media?r.push(e.value.media):e.status===`rejected`&&p(l(e.reason));return r},[e.token,p]),lt=(0,G.useCallback)(()=>{if(K.isActive()){p(`Stop the current run before starting a new chat.`);return}ve(),Se()},[K.isActive,ve,Se,p]),ut=(0,G.useCallback)((e,t)=>{B(),F(),K.sendMessage(e,t)},[B,F,K.sendMessage]),dt=(0,G.useCallback)((n,r)=>{let i=r.trim();i&&t.setQueryData(Y(e.token,n),e=>{let t=e?.messages??[];return t.some(e=>e.role===`command`&&(e.rawContent||e.content).trim()===i)?e:{messages:[...t,{id:De(),role:`command`,content:i,rawContent:i,sessionId:n,artifacts:[],replayRequest:null}],branchFamilies:e?.branchFamilies??new Map,resolvedSessionId:n,agentId:e?.agentId??null,bootstrapAutostart:e?.bootstrapAutostart??null}})},[e.token,t]),ft=(0,G.useCallback)(async n=>{let r=Y(e.token,n);return t.fetchQuery({queryKey:r,queryFn:()=>Qe(e.token,n,i),staleTime:0}).catch(e=>(console.warn(`Failed to prefetch chat history before appending switch result`,e),null))},[e.token,t,i]),pt=(0,G.useCallback)(async(n,r,a,o)=>{if(!r||/\s/.test(r))return;if(K.isActive()){p(o);return}B();let s=R();try{let o=await ze(e.token,s,i,[...n,r]),c=o.sessionId?.trim()||s,l=await ft(c);dt(c,o.text),c!==s&&await _e(c,{replace:!0}),t.invalidateQueries({queryKey:Sn(e.token,c)}),n[0]===`agent`&&n[1]===`switch`&&l?.bootstrapAutostart?.fileName===`BOOTSTRAP.md`&&(l.bootstrapAutostart.status===`idle`||l.bootstrapAutostart.status===`starting`)&&(t.setQueryData(Y(e.token,c),e=>e&&{...e,bootstrapAutostart:{status:`starting`,fileName:`BOOTSTRAP.md`}}),F()),Se(),a(r)}catch(e){p(l(e))}},[dt,e.token,B,ft,R,F,t,Se,p,K.isActive,_e,i]),mt=(0,G.useCallback)(e=>pt([`agent`,`switch`],e,te,`Could not switch agent — stop the current run and try again.`),[pt]),ht=(0,G.useCallback)(e=>pt([`model`,`set`],e,A,`Could not switch model — stop the current run and try again.`),[pt]),gt=(0,G.useCallback)(e=>{if(K.isActive()){p(`Stop the current run before switching chats.`);return}z(e)},[K.isActive,z,p]),_t=(0,G.useCallback)(e=>K.activeSessionId===e?(p(`Stop the current run before deleting this chat.`),!1):!Z.isPending,[Z.isPending,K.activeSessionId,p]),vt=(0,G.useCallback)(e=>{_t(e.sessionId)&&se(e)},[_t]),yt=(0,G.useCallback)(()=>{if(!M)throw Error(`Delete confirmation is missing a session.`);_t(M.sessionId)&&Z.mutate(M.sessionId)},[_t,Z,M]),xt=(0,G.useCallback)(n=>{n!==R()&&t.prefetchQuery({queryKey:Y(e.token,n),queryFn:()=>Qe(e.token,n,i),staleTime:3e4})},[t,e.token,R,i]),St=(0,G.useCallback)(()=>{t.invalidateQueries({queryKey:bn(e.token,i,N,j)})},[t,e.token,i,N,j]),Q=(0,G.useCallback)(async()=>{let t=R();if(!t){p(`Open or send a chat before creating a mobile QR code.`);return}ee(!0);try{w(await Ie(e.token,{userId:i,sessionId:t,baseUrl:window.location.origin}))}catch(e){p(l(e))}finally{ee(!1)}},[e.token,R,i,p]),Ct=(0,G.useCallback)(e=>{y(e.id)},[]),wt=(0,G.useCallback)((e,t)=>{let n=e.branchKey;if(!n)return;let r=Xe.get(n);if(!r||r.length<2)return;let i=r.findIndex(t=>t.sessionId===e.sessionId);if(i<0)return;let a=i+t;if(a<0||a>=r.length)return;let o=r[a];o&&gt(o.sessionId)},[Xe,gt]),$=qe.length===0,Tt=q.isFetching,Et={sessions:je,activeSessionId:L,onNewChat:lt,onOpenSession:gt,onHoverSession:xt,onRequestDeleteSession:vt,deleteDisabled:Z.isPending,isPending:Tt,searchQuery:ce,onSearchQueryChange:le,recentScope:j,onRecentScopeChange:ae,isLoading:Ae.isFetching,onRefreshRecent:St};return(0,X.jsx)(u,{children:(0,X.jsxs)(`div`,{className:V.chatPage,"aria-busy":Tt,children:[(0,X.jsx)($e,{...Et}),(0,X.jsxs)(`div`,{className:V.chatMain,children:[(0,X.jsxs)(`div`,{className:V.chatTopbar,children:[(0,X.jsx)(m,{className:V.chatMobileTrigger}),(0,X.jsx)(Dt,{sessionId:L,token:e.token,enabled:H}),(0,X.jsx)(`button`,{type:`button`,className:V.mobileQrButton,onClick:()=>void Q(),disabled:E,"aria-label":`Show mobile QR code`,title:`Show mobile QR code`,children:(0,X.jsxs)(`span`,{"aria-hidden":`true`,className:V.mobileQrIcon,children:[(0,X.jsx)(`span`,{}),(0,X.jsx)(`span`,{}),(0,X.jsx)(`span`,{}),(0,X.jsx)(`span`,{})]})}),(0,X.jsx)(x,{})]}),C?(0,X.jsx)(`div`,{className:V.mobileQrOverlay,children:(0,X.jsxs)(`div`,{ref:I,className:V.mobileQrDialog,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`mobile-qr-title`,children:[(0,X.jsxs)(`div`,{className:V.mobileQrHeader,children:[(0,X.jsx)(`h2`,{id:`mobile-qr-title`,children:`Open on mobile`}),(0,X.jsx)(`button`,{ref:he,type:`button`,className:V.mobileQrClose,onClick:()=>w(null),"aria-label":`Close mobile QR code`,children:`x`})]}),(0,X.jsx)(`div`,{className:V.mobileQrImage,children:(0,X.jsx)(`img`,{src:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(C.qrSvg)}`,alt:`Mobile session QR code`})}),(0,X.jsx)(`a`,{className:V.mobileQrLink,href:C.launchUrl,children:`Open link`})]})}):null,$?(0,X.jsx)(`div`,{className:V.emptyState,children:(0,X.jsx)(`h1`,{className:V.greeting,children:et})}):(0,X.jsx)(`div`,{className:V.messageArea,ref:fe,children:(0,X.jsx)(`div`,{className:V.messageList,ref:P,children:qe.map(t=>_===t.id&&t.role!==`thinking`?(0,X.jsx)(`div`,{className:V.messageBlock,children:(0,X.jsx)(tn,{initial:t.rawContent??t.content,onSave:e=>void it(t,e),onCancel:()=>y(null)})},t.id):(0,X.jsx)(Zt,{message:t,token:e.token,isStreaming:t.id===K.streamingMsgId,onCopy:Oe,onEdit:Ct,onRegenerate:at,onRate:st,ratingBusy:tt.isPending&&tt.variables?.message.id===t.id,skillInvocationTargets:Fe,onApprovalAction:ot,approvalBusy:b,branchInfo:nt.get(t.id)??null,onBranchNav:wt},t.id))})}),!$&&!pe?(0,X.jsxs)(`button`,{type:`button`,className:V.jumpToLatest,onClick:F,"aria-label":`Jump to latest message`,children:[(0,X.jsx)(`span`,{"aria-hidden":`true`,children:`↓`}),(0,X.jsx)(`span`,{children:`Latest`})]}):null,f?(0,X.jsx)(`div`,{className:`${V.errorBanner} ${h?V.errorBannerExiting:``}`,children:f}):null,(0,X.jsx)(bt,{isStreaming:K.isStreaming,onSend:ut,onStop:()=>void K.stopRequest(),onUploadFiles:ct,token:e.token,agents:Ne,selectedAgentId:Ze,onAgentSwitch:e=>void mt(e),models:He,selectedModelId:ne,onModelSwitch:e=>void ht(e),initialValue:o})]}),(0,X.jsx)(v,{open:M!==null,onOpenChange:e=>{!e&&!Z.isPending&&se(null)},children:(0,X.jsxs)(re,{size:`sm`,role:`alertdialog`,preventCloseOnOutsideClick:Z.isPending,children:[(0,X.jsxs)(c,{children:[(0,X.jsx)(ue,{children:`Delete session?`}),(0,X.jsx)(k,{children:`This permanently removes the conversation and associated session records.`})]}),(0,X.jsxs)(T,{children:[(0,X.jsx)(ie,{className:`ghost-button`,disabled:Z.isPending,children:`Cancel`}),(0,X.jsx)(`button`,{type:`button`,className:`danger-button`,disabled:Z.isPending,onClick:yt,children:Z.isPending?`Deleting...`:`Delete`})]})]})})]})})}export{Cn as ChatPage};
@@ -0,0 +1 @@
1
+ ._backdrop_18ebo_1{z-index:50;background:#0a0f1980;animation:.15s _dialogFadeIn_18ebo_1;position:fixed;inset:0}._viewport_18ebo_9{z-index:51;pointer-events:none;place-items:center;padding:24px;display:grid;position:fixed;inset:0}._content_18ebo_19{pointer-events:auto;background:var(--panel-bg);width:100%;max-width:440px;max-height:calc(100vh - 48px);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover);gap:20px;padding:24px;animation:.15s _dialogSlideIn_18ebo_1;display:grid;overflow-y:auto}._sm_18ebo_36{max-width:360px}._lg_18ebo_40{max-width:560px}._header_18ebo_44{gap:8px;display:grid}._title_18ebo_49{letter-spacing:-.01em;margin:0;font-size:1.1rem;font-weight:600;line-height:1.3}._description_18ebo_57{color:var(--muted-foreground);margin:0;line-height:1.5}._footer_18ebo_63{justify-content:flex-end;gap:10px;display:flex}@keyframes _dialogFadeIn_18ebo_1{0%{opacity:0}}@keyframes _dialogSlideIn_18ebo_1{0%{opacity:0;transform:scale(.96)translateY(4px)}}._backdrop_18ebo_1._exiting_18ebo_82{animation:.15s forwards _dialogFadeOut_18ebo_1}._content_18ebo_19._exiting_18ebo_82{animation:.15s forwards _dialogSlideOut_18ebo_1}@keyframes _dialogFadeOut_18ebo_1{to{opacity:0}}@keyframes _dialogSlideOut_18ebo_1{to{opacity:0;transform:scale(.96)translateY(4px)}}@media (prefers-reduced-motion:reduce){._backdrop_18ebo_1,._content_18ebo_19,._backdrop_18ebo_1._exiting_18ebo_82,._content_18ebo_19._exiting_18ebo_82{animation:none}}._overlay_18ebo_118{z-index:40;opacity:0;pointer-events:none;cursor:default;background:#0a0f1980;border:0;padding:0;transition:opacity .18s;position:fixed;inset:0}._overlayVisible_18ebo_131{opacity:1;pointer-events:auto}._drawer_18ebo_114{z-index:50;background:var(--sidebar-bg,var(--page-bg));color:var(--sidebar-fg);border:1px solid var(--sidebar-border,var(--line));box-shadow:var(--shadow-dropdown);grid-template-rows:auto minmax(0,1fr) auto;transition:transform .18s;display:grid;position:fixed;overflow:hidden}._left_18ebo_151{width:var(--sheet-width,18rem);border-top:0;border-bottom:0;border-left:0;top:0;bottom:0;left:0;transform:translate(calc(-100% - 24px))}._right_18ebo_162{width:var(--sheet-width,18rem);border-top:0;border-bottom:0;border-right:0;top:0;bottom:0;right:0;transform:translate(calc(100% + 24px))}._top_18ebo_173{height:var(--sheet-height,50vh);border-top:0;border-left:0;border-right:0;top:0;left:0;right:0;transform:translateY(calc(-100% - 24px))}._bottom_18ebo_184{height:var(--sheet-height,50vh);border-bottom:0;border-left:0;border-right:0;bottom:0;left:0;right:0;transform:translateY(calc(100% + 24px))}._drawerOpen_18ebo_114{transform:translate(0)}._content_y9cp1_1{z-index:1000;box-sizing:border-box;position:fixed}._trigger_sn70v_1{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-bg);color:var(--text);cursor:pointer;align-items:center;gap:4px;padding:6px 8px;display:inline-flex}._trigger_sn70v_1:hover{border-color:var(--line-strong)}._content_sn70v_17{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-bg);width:max-content;min-width:160px;box-shadow:var(--shadow-dropdown);z-index:50;padding:4px;position:fixed}._item_sn70v_29{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:.875rem;display:flex}._item_sn70v_29:hover{background:var(--panel-muted)}._item_sn70v_29[data-active=true]{background:var(--accent-soft);color:var(--accent-foreground)}._layout_1qte4_1{--sidebar-width:15.5rem;--sidebar-width-icon:4rem;--sidebar-width-mobile:18rem;background:var(--page-bg);min-height:100vh;display:flex}._root_1qte4_10{z-index:30;flex:0 0 var(--sidebar-width);width:var(--sidebar-width);border-right:1px solid var(--sidebar-border);background:var(--sidebar-bg);height:100vh;color:var(--sidebar-fg);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);transition:width .18s,transform .18s;display:grid;position:sticky;top:0;overflow:visible}@media (prefers-reduced-motion:reduce){._root_1qte4_10{transition:none}}._header_1qte4_36,._footer_1qte4_37{z-index:1;background:inherit;padding:12px;position:relative}._header_1qte4_36{padding-top:14px;padding-bottom:8px}._content_1qte4_49{align-content:start;gap:14px;min-height:0;padding:6px 12px 12px;display:grid;overflow-y:auto}._footer_1qte4_37{border-top:1px solid var(--sidebar-border);padding-top:10px;padding-bottom:14px;display:block}._inset_1qte4_65{flex-direction:column;flex:auto;min-width:0;min-height:100dvh;display:flex}._trigger_1qte4_73{border:1px solid var(--line);background:var(--background);color:var(--muted-foreground);cursor:pointer;border-radius:var(--radius-md);justify-content:center;align-items:center;width:36px;height:36px;transition:color .12s,border-color .12s,background .12s;display:inline-flex}._trigger_1qte4_73:hover{color:var(--text);background:var(--accent-soft);border-color:var(--line-strong)}._trigger_1qte4_73 svg{width:18px;height:18px}._group_1qte4_104,._groupContent_1qte4_105{gap:8px;display:grid}._eyebrow_1qte4_114{text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);margin:0;font-size:.64rem;font-weight:600}._groupLabel_1qte4_123{color:var(--muted-foreground);align-items:center;gap:8px;margin:0;padding:0 8px;font-size:.64rem;font-weight:500;display:flex}._groupLabel_1qte4_123:after{content:"";background:var(--sidebar-border);flex:1;height:1px}._menu_1qte4_141{gap:2px;display:grid}._menuItem_1qte4_146{display:grid}._menuButton_1qte4_150{border-radius:var(--radius-sm);min-height:34px;color:var(--sidebar-fg);white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:7px 10px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:flex;overflow:hidden}._menuButton_1qte4_150:hover{background:var(--accent-soft);color:var(--text)}._menuButtonActive_1qte4_176{background:var(--accent-soft);border-color:var(--line);color:var(--accent-foreground)}._headerRow_1qte4_182{justify-content:space-between;align-items:center;gap:4px;display:flex}._sidebarToggle_1qte4_189{border-radius:var(--radius-sm);border:none;flex-shrink:0;width:28px;height:28px}._sidebarToggle_1qte4_189 svg{width:16px;height:16px}._brand_1qte4_202{min-width:0;padding:2px 6px;display:grid}._brandTitle_1qte4_208{align-items:center;gap:12px;min-height:44px;display:flex}._brandText_1qte4_215{gap:2px;min-width:0;display:grid}._brandTitle_1qte4_208 h1{letter-spacing:-.01em;margin:0;font-size:1.125rem;font-weight:700;line-height:1.1}._brandMark_1qte4_229,._menuIcon_1qte4_230,._icon_1qte4_231{flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}._brandMark_1qte4_229{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--accent-foreground)}._menuIcon_1qte4_230{color:var(--muted-foreground)}._menuButtonActive_1qte4_176 ._menuIcon_1qte4_230{color:var(--accent-foreground)}._brandMark_1qte4_229 svg{width:44px;height:44px}._menuIcon_1qte4_230 svg,._icon_1qte4_231 svg{width:16px;height:16px}._footerMeta_1qte4_266{align-items:center;display:flex}._footerValue_1qte4_271{color:var(--sidebar-fg);padding:0 8px;font-size:.75rem;font-weight:500;line-height:1}._footerBlock_1qte4_279{justify-content:space-between;align-items:center;gap:6px;display:flex}._footerDivider_1qte4_286{background:var(--sidebar-border);height:1px;margin:6px 0}._footerActions_1qte4_292,._footerMenu_1qte4_293,._footerAction_1qte4_292{align-items:stretch;display:flex}._footerActions_1qte4_292{flex:none}._footerMenu_1qte4_293{flex-direction:row;gap:6px}._footerButton_1qte4_308{border-radius:var(--radius-sm);min-height:34px;color:var(--sidebar-fg);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:7px 10px;font-size:.875rem;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}._footerButton_1qte4_308:hover{background:var(--accent-soft);color:var(--text)}._root_1qte4_10[data-state=collapsed]{flex:0 0 var(--sidebar-width-icon);width:var(--sidebar-width-icon);overflow:hidden}._root_1qte4_10[data-state=collapsed] ._groupLabel_1qte4_123,._root_1qte4_10[data-state=collapsed] ._brandText_1qte4_215,._root_1qte4_10[data-state=collapsed] ._footerMeta_1qte4_266,._root_1qte4_10[data-state=collapsed] ._footerDivider_1qte4_286,._root_1qte4_10[data-state=collapsed] ._footerButton_1qte4_308 span:not(._icon_1qte4_231),._root_1qte4_10[data-state=collapsed] ._themeToggleLabel_1qte4_345{display:none}._root_1qte4_10[data-state=collapsed] ._headerRow_1qte4_182{justify-content:center}._root_1qte4_10[data-state=collapsed] ._brand_1qte4_202{display:none}._root_1qte4_10[data-state=collapsed] ._menuButton_1qte4_150{justify-content:center;padding:7px}._root_1qte4_10[data-state=collapsed] ._menuButton_1qte4_150>span:not(._menuIcon_1qte4_230){display:none}@media (width<=780px){._header_1qte4_36,._content_1qte4_49,._footer_1qte4_37{padding-left:16px;padding-right:16px}}._skeleton_z1cth_1{background:color-mix(in srgb, var(--text) 10%, transparent);border-radius:var(--radius-sm);animation:1.6s ease-in-out infinite _skeleton-pulse_z1cth_1;display:block}@keyframes _skeleton-pulse_z1cth_1{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){._skeleton_z1cth_1{animation:none}}._card_1739l_1{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--panel-bg);color:var(--text);box-sizing:border-box;flex-direction:column;gap:16px;min-width:0;padding:20px;display:flex}._card_1739l_1[data-variant=muted]{background:var(--panel-muted)}._card_1739l_1[data-interactive]{cursor:pointer;transition:border-color .15s,background .15s}._card_1739l_1[data-interactive]:hover{border-color:var(--line-strong)}._card_1739l_1[data-interactive]:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}._header_1739l_34{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px 12px;display:grid}._header_1739l_34:not(:has(._action_1739l_41)){grid-template-columns:minmax(0,1fr)}._title_1739l_45{color:var(--text);grid-column:1;margin:0;font-size:.9375rem;font-weight:600;line-height:1.3}._description_1739l_54{color:var(--muted-foreground);grid-column:1;margin:0;font-size:.8125rem;line-height:1.45}._action_1739l_41{grid-area:1/2/span 2;align-items:center;gap:8px;display:inline-flex}._content_1739l_70{flex-direction:column;gap:12px;min-width:0;display:flex}._footer_1739l_77{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:8px;padding-top:12px;display:flex}@media (width<=780px){._card_1739l_1{padding:18px}}._label_g5ybj_1{color:var(--text);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.875rem;font-weight:500;line-height:1.2;display:inline-flex}._label_g5ybj_1[data-disabled]{opacity:.6;cursor:not-allowed}._label_g5ybj_1:has(input:disabled){opacity:.6;cursor:not-allowed}._label_g5ybj_1:has([data-disabled]){opacity:.6;cursor:not-allowed}._fieldSet_ykv3y_3{border:0;margin:0;padding:0;display:block}._legend_ykv3y_10{width:100%;color:var(--text);margin:0 0 16px;padding:0;font-weight:600;display:block}._legend_ykv3y_10[data-variant=legend]{letter-spacing:-.01em;font-size:.95rem}._legend_ykv3y_10[data-variant=label]{font-size:.875rem}._group_ykv3y_30{flex-direction:column;gap:24px;width:100%;display:flex;container:field-group/inline-size}._field_ykv3y_3{align-self:start;gap:12px;width:100%;display:flex}._field_ykv3y_3[data-invalid]{color:var(--destructive)}._field_ykv3y_3[data-disabled]{opacity:.6}._orientationVertical_ykv3y_58{flex-direction:column}._orientationVertical_ykv3y_58>*{width:100%}._orientationHorizontal_ykv3y_66{flex-direction:row;align-items:center;gap:12px;width:fit-content;max-width:100%}._orientationHorizontal_ykv3y_66>[data-slot=field-content]{flex:auto;align-items:flex-start}._orientationResponsive_ykv3y_81{flex-direction:column}._orientationResponsive_ykv3y_81>*{width:100%}@container field-group (width>=480px){._orientationResponsive_ykv3y_81{flex-direction:row;align-items:center;gap:12px;width:fit-content}._orientationResponsive_ykv3y_81>*{width:auto}}._content_ykv3y_104{flex-direction:column;flex:1 1 0;gap:6px;line-height:1.4;display:flex}._label_ykv3y_114{align-items:center;gap:8px;width:fit-content;line-height:1.4;display:inline-flex}._field_ykv3y_3[data-invalid] ._label_ykv3y_114{color:var(--destructive)}._title_ykv3y_126{width:fit-content;color:var(--text);align-items:center;gap:8px;font-size:.875rem;font-weight:500;line-height:1.4;display:inline-flex}._description_ykv3y_139{color:var(--muted-foreground);margin:0;font-size:.875rem;font-weight:400;line-height:1.45}._description_ykv3y_139>a{color:inherit;text-underline-offset:3px;text-decoration:underline}._description_ykv3y_139>a:hover{color:var(--primary)}._error_ykv3y_159{color:var(--destructive);font-size:.875rem;font-weight:400;line-height:1.4}._errorList_ykv3y_166{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}._separator_ykv3y_176{height:20px;color:var(--muted-foreground);justify-content:center;align-items:center;margin:-4px 0;font-size:.875rem;display:flex;position:relative}._separatorLine_ykv3y_187{background:var(--line);height:1px;position:absolute;inset:50% 0 auto}._separator_ykv3y_176[data-content] ._separatorLabel_ykv3y_194{background:var(--background);padding:0 8px;display:inline-block;position:relative}._input_19no1_1{width:100%;min-width:0;padding:var(--control-padding-y) 12px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel-bg);color:var(--text);font:inherit;line-height:var(--control-line-height);box-sizing:border-box;outline:none;transition:border-color .15s,box-shadow .15s;display:block}._input_19no1_1::placeholder{color:var(--muted-foreground)}._input_19no1_1::selection{background:var(--primary);color:var(--primary-foreground)}._input_19no1_1:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 35%, transparent)}._input_19no1_1:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}._input_19no1_1[aria-invalid=true]{border-color:var(--destructive)}._input_19no1_1[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--destructive) 30%, transparent)}._input_19no1_1[type=file]{padding-top:6px;padding-bottom:6px}._input_19no1_1[type=file]::file-selector-button{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel-muted);height:28px;color:var(--text);font:inherit;cursor:pointer;margin-right:10px;padding:0 10px;font-size:.8125rem}._sizeDefault_19no1_68{min-height:var(--control-height);height:var(--control-height)}._sizeSm_19no1_73{height:32px;min-height:32px;padding:6px 10px;font-size:.8125rem}._textarea_1euii_1{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel-bg);width:100%;min-width:0;min-height:80px;color:var(--text);font:inherit;resize:vertical;box-sizing:border-box;outline:none;padding:10px 12px;line-height:1.5;transition:border-color .15s,box-shadow .15s;display:block}._textarea_1euii_1::placeholder{color:var(--muted-foreground)}._textarea_1euii_1::selection{background:var(--primary);color:var(--primary-foreground)}._textarea_1euii_1:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 35%, transparent)}._textarea_1euii_1:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}._textarea_1euii_1[aria-invalid=true]{border-color:var(--destructive)}._textarea_1euii_1[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--destructive) 30%, transparent)}._autoSize_1euii_49{resize:none;field-sizing:content}._button_kxq2k_1{white-space:nowrap;cursor:pointer;border-radius:var(--radius-sm);box-sizing:border-box;border:1px solid #0000;outline:none;flex-shrink:0;justify-content:center;align-items:center;gap:6px;font-size:.875rem;font-weight:500;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}._button_kxq2k_1:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}._button_kxq2k_1:disabled,._button_kxq2k_1[data-disabled]{cursor:default;opacity:.72}._button_kxq2k_1:disabled{pointer-events:none}._button_kxq2k_1[data-loading]{cursor:progress}._button_kxq2k_1 svg{pointer-events:none;flex-shrink:0}._default_kxq2k_50{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}._default_kxq2k_50:hover:not(:disabled):not([data-disabled]){opacity:.9}._ghost_kxq2k_60{background:var(--panel-bg);border-color:var(--line-strong);color:var(--text)}._ghost_kxq2k_60:hover:not(:disabled):not([data-disabled]){background:var(--muted)}._outline_kxq2k_70{border-color:var(--line-strong);color:var(--text);background:0 0}._outline_kxq2k_70:hover:not(:disabled):not([data-disabled]){background:var(--muted)}._danger_kxq2k_80{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}._danger_kxq2k_80:hover:not(:disabled):not([data-disabled]){opacity:.85}._sizeDefault_kxq2k_92{min-height:36px;padding:9px 12px}._sizeSm_kxq2k_97{min-height:30px;padding:6px 10px;font-size:.8125rem}._sizeIcon_kxq2k_103{width:36px;height:36px;min-height:unset;padding:0}._wrapper_1gpbx_1{width:100%;min-width:0;display:block;position:relative}._wrapper_1gpbx_1:has(select:disabled){opacity:.6}._select_1gpbx_12{appearance:none;width:100%;min-width:0;padding:var(--control-padding-y) 36px var(--control-padding-y) 12px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel-bg);color:var(--text);font:inherit;line-height:var(--control-line-height);cursor:pointer;box-sizing:border-box;outline:none;transition:border-color .15s,box-shadow .15s;display:block}._select_1gpbx_12::-ms-expand{display:none}._select_1gpbx_12:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 35%, transparent)}._select_1gpbx_12:disabled{cursor:not-allowed;pointer-events:none}._select_1gpbx_12[aria-invalid=true]{border-color:var(--destructive)}._select_1gpbx_12[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--destructive) 30%, transparent)}._chevron_1gpbx_55{width:16px;height:16px;color:var(--muted-foreground);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}._option_1gpbx_66,._optgroup_1gpbx_71{background:var(--panel-bg);color:var(--text)}._sizeDefault_1gpbx_78{min-height:var(--control-height);height:var(--control-height)}._sizeSm_1gpbx_83{height:32px;min-height:32px;padding-top:6px;padding-bottom:6px;font-size:.8125rem}._viewport_ct6pf_1{z-index:100;pointer-events:none;outline:none;gap:8px;width:380px;max-width:calc(100vw - 48px);display:grid;position:fixed;bottom:24px;right:24px}._viewport_ct6pf_1:empty{display:none}._toast_ct6pf_18{pointer-events:auto;border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--line) 72%, transparent);background:color-mix(in srgb, var(--panel-bg) 76%, transparent);color:var(--text);box-shadow:var(--shadow-raised);-webkit-backdrop-filter:blur(12px)saturate(120%);align-items:flex-start;gap:12px;padding:14px 16px;animation:.2s _toastSlideIn_ct6pf_1;display:flex}._toast_ct6pf_18._exiting_ct6pf_34{animation:.2s forwards _toastSlideOut_ct6pf_1}._body_ct6pf_38{flex:auto;gap:4px;min-width:0;display:grid}._title_ct6pf_45{margin:0;font-size:.875rem;font-weight:600;line-height:1.35}._description_ct6pf_52{color:var(--muted-foreground);margin:0;font-size:.8125rem;line-height:1.45}._success_ct6pf_59{background:color-mix(in srgb, var(--success-soft) 68%, transparent);border-color:color-mix(in srgb, var(--success-border) 72%, transparent)}._success_ct6pf_59 ._title_ct6pf_45{color:var(--success)}._error_ct6pf_68{background:color-mix(in srgb, var(--danger-soft) 68%, transparent);border-color:color-mix(in srgb, var(--danger-border) 72%, transparent)}._error_ct6pf_68 ._title_ct6pf_45{color:var(--danger)}._info_ct6pf_77{background:color-mix(in srgb, var(--accent) 68%, transparent);border-color:color-mix(in srgb, var(--primary) 24%, transparent)}._info_ct6pf_77 ._title_ct6pf_45{color:var(--primary)}._actions_ct6pf_86{flex:none;align-items:center;gap:6px;display:flex}._actionButton_ct6pf_93{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-bg);color:var(--text);cursor:pointer;padding:4px 10px;font-size:.8125rem;font-weight:500}._actionButton_ct6pf_93:hover{border-color:var(--line-strong)}._closeButton_ct6pf_108{width:24px;height:24px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;padding:0;font-size:1.1rem;line-height:1;display:grid}._closeButton_ct6pf_108:hover{background:var(--panel-muted);color:var(--text)}@keyframes _toastSlideIn_ct6pf_1{0%{opacity:0;transform:translate(16px)}}@keyframes _toastSlideOut_ct6pf_1{to{opacity:0;transform:translate(16px)}}@media (prefers-reduced-motion:reduce){._toast_ct6pf_18,._toast_ct6pf_18._exiting_ct6pf_34{animation:none}}._page_17tay_1{flex-direction:column;gap:14px;min-width:0;display:flex}._toolbar_17tay_8{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding:8px 0 14px;display:flex}._searchRow_17tay_16{flex-wrap:wrap;align-items:center;gap:12px;display:flex}._searchWrap_17tay_23{flex:320px;align-items:center;min-width:240px;display:flex;position:relative}._searchIcon_17tay_31{width:14px;height:14px;color:var(--muted-foreground);pointer-events:none;flex:none;position:absolute;left:10px}._searchWrap_17tay_23 input._searchInput_17tay_41{width:100%;padding-left:32px;font-size:.875rem}._shortcutHint_17tay_47{color:var(--muted-foreground);background:var(--panel-muted);border:1px solid var(--line);border-radius:var(--radius-sm);pointer-events:none;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:.7rem;position:absolute;right:8px}._shortcutHint_17tay_47[data-hidden=true]{display:none}._timeRange_17tay_64{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-bg);align-items:center;min-width:0;margin:0;padding:0;display:inline-flex;overflow:hidden}._timeRange_17tay_64 button{color:var(--muted-foreground);cursor:pointer;font-variant-numeric:tabular-nums;border:0;border-right:1px solid var(--line);background:0 0;padding:6px 10px;font-size:.8125rem}._timeRange_17tay_64 button:last-child{border-right:0}._timeRange_17tay_64 button:hover{color:var(--text);background:var(--panel-muted)}._timeRange_17tay_64 button[data-active=true]{background:var(--accent-soft);color:var(--accent-foreground)}._timeRange_17tay_64 button:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:-2px}._meta_17tay_106{color:var(--muted-foreground);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-size:.8125rem;display:flex}._chipRow_17tay_117{border:0;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;margin:0;padding:0;display:flex}._categoryChip_17tay_128{border:1px solid var(--line);background:var(--panel-bg);color:var(--muted-foreground);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:.8125rem;transition:background-color 80ms ease-out,color 80ms ease-out,border-color 80ms ease-out;display:inline-flex}._categoryChip_17tay_128:before{content:"";background:var(--cat-color,currentColor);opacity:.85;border-radius:999px;flex:none;width:6px;height:6px;display:inline-block}._categoryChip_17tay_128[data-category=all]:before{background:var(--muted-foreground)}._categoryChip_17tay_128[data-category=session]{--cat-color:#3b82f6}._categoryChip_17tay_128[data-category=turn]{--cat-color:#8b5cf6}._categoryChip_17tay_128[data-category=model]{--cat-color:#14b8a6}._categoryChip_17tay_128[data-category=tool]{--cat-color:#f97316}._categoryChip_17tay_128[data-category=autonomy]{--cat-color:#f59e0b}._categoryChip_17tay_128[data-category=authorization],._categoryChip_17tay_128[data-category=approval]{--cat-color:#ef4444}._categoryChip_17tay_128[data-category=a2a]{--cat-color:#ec4899}._categoryChip_17tay_128:hover{color:var(--text);border-color:var(--line-strong)}._categoryChip_17tay_128[data-active=true]{color:var(--text);background:color-mix(in srgb, var(--cat-color,var(--accent)) 14%, transparent);border-color:color-mix(in srgb, var(--cat-color,var(--accent)) 50%, var(--line))}._categoryChip_17tay_128:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}._activeRow_17tay_208{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:6px;font-size:.8125rem;display:flex}._activeRow_17tay_208[data-empty=true]{display:none}._activeChip_17tay_221{border-radius:var(--radius-sm);background:var(--panel-muted);border:1px solid var(--line);color:var(--text);align-items:center;gap:6px;padding:2px 4px 2px 8px;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:.8125rem;display:inline-flex}._activeChip_17tay_221 strong{color:var(--muted-foreground);font-weight:500}._activeChipRemove_17tay_239{color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:2px 4px;font-size:.95rem;line-height:1}._activeChipRemove_17tay_239:hover{color:var(--text);background:var(--panel-bg)}._activeChipRemove_17tay_239:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:1px}._clearAll_17tay_260{color:var(--muted-foreground);border-radius:var(--radius-sm);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 30%, transparent);text-decoration-color:color-mix(in srgb, currentColor 30%, transparent);background:0 0;border:0;padding:2px 6px;font-size:.8125rem}._clearAll_17tay_260:hover{color:var(--text)}._clearAll_17tay_260:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}._tableWrap_17tay_281{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-bg);overflow-x:auto}._table_17tay_281{border-collapse:collapse;width:100%;font-size:.875rem}._table_17tay_281 thead th{background:var(--panel-muted);z-index:1;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);text-align:left;white-space:nowrap;padding:10px 12px;font-size:.7rem;font-weight:600;position:sticky;top:0}._table_17tay_281 tbody tr{cursor:pointer;transition:background-color 80ms ease-out}._table_17tay_281 tbody tr:hover{background:color-mix(in srgb, var(--panel-muted) 60%, transparent)}._table_17tay_281 tbody tr:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:-2px}._table_17tay_281 tbody tr[data-selected=true]{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--primary)}._table_17tay_281 tbody td{border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap;font-variant-numeric:tabular-nums;padding:9px 12px}._table_17tay_281 tbody tr:last-child td{border-bottom:0}._colTime_17tay_341{width:1%;color:var(--muted-foreground)}._colEvent_17tay_346{width:1%}._colSession_17tay_350{text-overflow:ellipsis;max-width:280px;overflow:hidden}._colSeq_17tay_356,._colId_17tay_357{text-align:right;width:1%;color:var(--muted-foreground);font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:.8125rem}._colRun_17tay_365{width:1%;color:var(--muted-foreground);text-overflow:ellipsis;max-width:220px;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:.8125rem;overflow:hidden}._mono_17tay_375{font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace}._eventPill_17tay_379{border-radius:var(--radius-sm);background:color-mix(in srgb, currentColor 10%, transparent);color:var(--cat-color,var(--muted-foreground));white-space:nowrap;align-items:center;gap:6px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:.8125rem;display:inline-flex}._eventPill_17tay_379:before{content:"";background:currentColor;border-radius:999px;flex:none;width:6px;height:6px;display:inline-block}._eventPill_17tay_379[data-category=session]{--cat-color:#3b82f6}._eventPill_17tay_379[data-category=turn]{--cat-color:#8b5cf6}._eventPill_17tay_379[data-category=model]{--cat-color:#14b8a6}._eventPill_17tay_379[data-category=tool]{--cat-color:#f97316}._eventPill_17tay_379[data-category=autonomy]{--cat-color:#f59e0b}._eventPill_17tay_379[data-category=authorization],._eventPill_17tay_379[data-category=approval]{--cat-color:#ef4444}._eventPill_17tay_379[data-category=a2a]{--cat-color:#ec4899}._eventPill_17tay_379[data-category=default]{--cat-color:var(--muted-foreground)}._empty_17tay_435{text-align:center;color:var(--muted-foreground);padding:48px 24px;font-size:.875rem}._loadMoreRow_17tay_442{justify-content:center;padding:16px 24px 24px;display:flex}._loadMore_17tay_442{appearance:none;border:1px solid var(--line);background:var(--card);color:var(--foreground);font:inherit;cursor:pointer;border-radius:8px;padding:8px 18px;font-size:.875rem;transition:background-color 80ms,border-color 80ms}._loadMore_17tay_442:hover:not(:disabled){background:var(--accent)}._loadMore_17tay_442:focus-visible{outline:2px solid var(--ring);outline-offset:2px}._loadMore_17tay_442:disabled{cursor:progress;opacity:.6}._sheet_17tay_478{--sheet-width:min(560px, 100vw);flex-direction:column;padding:0;display:flex}._sheetHeader_17tay_485{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 16px;display:flex}._sheetHeaderMain_17tay_494{flex-direction:column;gap:6px;min-width:0;display:flex}._sheetHeaderId_17tay_501{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.8rem}._sheetClose_17tay_507{border:1px solid var(--line);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--muted-foreground);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;display:inline-flex}._sheetClose_17tay_507:hover{color:var(--text);background:var(--panel-muted)}._sheetClose_17tay_507:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}._sheetBody_17tay_531{flex-direction:column;flex:auto;gap:18px;padding:16px 24px 24px;display:flex;overflow-y:auto}._sheetMeta_17tay_540{grid-template-columns:max-content 1fr;gap:8px 16px;margin:0;font-size:.8125rem;display:grid}._sheetMeta_17tay_540 dt{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;align-self:center;font-size:.7rem}._sheetMeta_17tay_540 dd{font-variant-numeric:tabular-nums;word-break:break-all;color:var(--text);margin:0;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace}._payloadSection_17tay_564{flex-direction:column;gap:8px;min-width:0;display:flex}._payloadHeader_17tay_571{text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);justify-content:space-between;align-items:center;font-size:.7rem;font-weight:600;display:flex}._payloadBlock_17tay_582{background:var(--editor,var(--terminal));color:var(--editor-foreground,var(--terminal-foreground));border:1px solid var(--editor-border,var(--line));border-radius:var(--radius-md);white-space:pre;tab-size:2;margin:0;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:.8125rem;line-height:1.55;overflow-x:auto}@media (width<=720px){._colSession_17tay_350{max-width:160px}._colRun_17tay_365,._table_17tay_281 thead th[data-col=run]{display:none}}._root_tqjv2_1{cursor:pointer;box-sizing:border-box;border:1px solid #0000;border-radius:999px;outline:none;flex-shrink:0;align-items:center;padding:0;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex;position:relative}._root_tqjv2_1[data-state=unchecked]{background:var(--line-strong)}._root_tqjv2_1[data-state=checked]{background:var(--primary)}._root_tqjv2_1:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 35%, transparent)}._root_tqjv2_1:disabled{cursor:not-allowed;opacity:.5}._root_tqjv2_1[aria-invalid=true]{outline:1px solid var(--destructive);outline-offset:1px}._thumb_tqjv2_40{background:var(--background);will-change:transform;border-radius:999px;transition:transform .15s;display:block}._sizeDefault_tqjv2_50{width:36px;height:22px}._sizeDefault_tqjv2_50 ._thumb_tqjv2_40{width:16px;height:16px;margin-left:2px}._sizeDefault_tqjv2_50[data-state=checked] ._thumb_tqjv2_40{transform:translate(14px)}._sizeSm_tqjv2_65{width:28px;height:16px}._sizeSm_tqjv2_65 ._thumb_tqjv2_40{width:12px;height:12px;margin-left:1px}._sizeSm_tqjv2_65[data-state=checked] ._thumb_tqjv2_40{transform:translate(11px)}._page_50cum_1{flex-direction:column;gap:24px;width:100%;min-width:0;display:flex}._content_50cum_9{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}._path_50cum_16{font-variant-numeric:tabular-nums;word-break:break-all}._statusInline_50cum_21{color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:6px;font-size:.8125rem;display:inline-flex}._statusInline_50cum_21:before{content:"·";color:var(--muted-foreground);margin:0 6px}._statusDot_50cum_36{background:var(--primary);border-radius:999px;flex-shrink:0;width:6px;height:6px;display:inline-block}._formNote_50cum_45{border-radius:var(--radius-sm,8px);background:color-mix(in srgb, var(--accent) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);color:var(--muted-foreground);margin:-8px 0 0;padding:10px 14px;font-size:.875rem;line-height:1.45}._formNote_50cum_45 strong{color:var(--text);font-weight:600}._sectionDescription_50cum_61{margin-top:-10px;margin-bottom:18px}._sectionCard_50cum_66{width:100%;min-width:0}._jsonField_50cum_71{grid-column:1/-1}._poolStatusPending_50cum_75{margin:0;font-style:italic}._jsonEditor_50cum_80{resize:vertical;min-height:min(100vh - 260px,720px)}._unavailable_50cum_85{border-radius:var(--radius-sm,8px);border:1px solid var(--line);background:var(--panel-bg);max-width:480px;color:var(--muted-foreground);flex-direction:column;align-items:flex-start;gap:12px;margin:24px auto;padding:24px;display:flex}@media (width<=1080px){._content_50cum_9{grid-template-columns:1fr}}@keyframes _pulse_1yt98_1{0%,to{opacity:1}50%{opacity:.45}}._panel_1yt98_11{background:#fff;border:1px solid #00000014;border-radius:10px;overflow:hidden}._panelHeader_1yt98_18{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:12px 16px 11px;display:flex}._panelTitle_1yt98_26{color:#111827;letter-spacing:-.01em;font-size:12.5px;font-weight:600}._row_1yt98_33{border-bottom:1px solid #0000000d;border-left:2.5px solid #0000;flex-direction:column;padding:9px 16px;transition:background .1s;display:flex}._row_1yt98_33:last-of-type{border-bottom:none}._row_1yt98_33:hover{background:#00000003}._rowWarning_1yt98_50{background:#f59e0b08;border-left-color:#f59e0b}._rowWarning_1yt98_50:hover{background:#f59e0b0e}._rowDown_1yt98_59{background:#ef444405;border-left-color:#ef4444}._rowDown_1yt98_59:hover{background:#ef44440a}._rowTop_1yt98_68{justify-content:space-between;align-items:center;gap:12px;display:flex}._nameGroup_1yt98_75{align-items:center;gap:6px;min-width:0;display:flex}._dot_1yt98_82{border-radius:50%;flex-shrink:0;width:6px;height:6px}._dotHealthy_1yt98_89{background:#22c55e;box-shadow:0 0 0 2px #22c55e26}._dotWarning_1yt98_93{background:#f59e0b;animation:2s ease-in-out infinite _pulse_1yt98_1;box-shadow:0 0 0 2px #f59e0b26}._dotDown_1yt98_98{background:#ef4444;animation:1.6s ease-in-out infinite _pulse_1yt98_1;box-shadow:0 0 0 2px #ef444426}._dotInactive_1yt98_103{background:#d1d5db}._name_1yt98_75{color:#111827;letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;line-height:1.2;overflow:hidden}._badge_1yt98_118{text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:1.5px 5px;font-size:9px;font-weight:600;line-height:1.5}._badgeRemote_1yt98_130{color:#3b82f6;background:#eff6ff;border:1px solid #3b82f62e}._badgeLocal_1yt98_136{color:#16a34a;background:#f0fdf4;border:1px solid #16a34a2e}._meta_1yt98_142{flex-shrink:0;align-items:center;gap:8px;display:flex}._detail_1yt98_149{color:#6b7280;white-space:nowrap;font-family:SFMono-Regular,JetBrains Mono,Fira Code,monospace;font-size:11px}._modelCount_1yt98_156{color:#9ca3af;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}._loginBtn_1yt98_163{color:#92400e;cursor:pointer;white-space:nowrap;background:#fffbebe6;border:1px solid #d9770673;border-radius:5px;flex-shrink:0;padding:3px 9px;font-size:11.5px;font-weight:500;line-height:1.5;transition:background .1s,border-color .1s}._loginBtn_1yt98_163:hover{background:#fef3c7;border-color:#d97706}._loginBtn_1yt98_163:active{background:#fde68a}._inactiveFooter_1yt98_189{color:#b0b7c3;border-top:1px solid #0000000a;align-items:center;gap:6px;padding:8px 16px;font-size:11px;display:flex}._inactiveDot_1yt98_199{background:#e5e7eb;border-radius:50%;flex-shrink:0;width:5px;height:5px}._inactiveNames_1yt98_207{color:#c4c9d4;font-family:SFMono-Regular,JetBrains Mono,Fira Code,monospace;font-size:10.5px}._panelEmpty_1yt98_213{color:#9ca3af;text-align:center;padding:20px 16px;font-size:13px}html[data-theme=dark] ._panel_1yt98_11{background:#111827;border-color:#ffffff12}html[data-theme=dark] ._panelHeader_1yt98_18{border-bottom-color:#ffffff0d}html[data-theme=dark] ._panelTitle_1yt98_26{color:#e5edf7}html[data-theme=dark] ._row_1yt98_33{border-bottom-color:#ffffff0a}html[data-theme=dark] ._row_1yt98_33:hover{background:#ffffff05}html[data-theme=dark] ._rowWarning_1yt98_50{background:#f59e0b0d;border-left-color:#d97706}html[data-theme=dark] ._rowWarning_1yt98_50:hover{background:#f59e0b17}html[data-theme=dark] ._rowDown_1yt98_59{background:#ef44440a;border-left-color:#dc2626}html[data-theme=dark] ._rowDown_1yt98_59:hover{background:#ef444412}html[data-theme=dark] ._name_1yt98_75{color:#e5edf7}html[data-theme=dark] ._badgeRemote_1yt98_130{color:#93c5fd;background:#3b82f61f;border-color:#3b82f638}html[data-theme=dark] ._badgeLocal_1yt98_136{color:#86efac;background:#16a34a1f;border-color:#16a34a38}html[data-theme=dark] ._detail_1yt98_149{color:#6b7280}html[data-theme=dark] ._modelCount_1yt98_156{color:#4b5563}html[data-theme=dark] ._loginBtn_1yt98_163{color:#fbbf24;background:#f59e0b17;border-color:#f59e0b4d}html[data-theme=dark] ._loginBtn_1yt98_163:hover{background:#f59e0b26;border-color:#f59e0b80}html[data-theme=dark] ._inactiveFooter_1yt98_189{color:#374151;border-top-color:#ffffff0a}html[data-theme=dark] ._inactiveDot_1yt98_199{background:#374151}html[data-theme=dark] ._inactiveNames_1yt98_207{color:#374151}._root_akr74_1{flex-direction:column;gap:20px;display:flex}._empty_akr74_7{color:color-mix(in srgb, var(--text) 50%, transparent);margin:0;font-size:.85rem}._summary_akr74_13{color:color-mix(in srgb, var(--text) 70%, transparent);font-variant-numeric:tabular-nums;margin:0;font-size:.9rem;line-height:1.5}._summary_akr74_13 strong{color:var(--text);font-weight:600}._ribbon_akr74_26{border-top:1px solid color-mix(in srgb, var(--line) 80%, transparent);border-bottom:1px solid color-mix(in srgb, var(--line) 80%, transparent);grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:16px 0;display:grid}._metric_akr74_35{flex-direction:column;gap:4px;min-width:0;display:flex}._metricLabel_akr74_42{color:color-mix(in srgb, var(--text) 55%, transparent);font-size:.7rem;font-weight:500}._metricValue_akr74_48{font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}._chart_akr74_58{flex-direction:column;gap:6px;display:flex}._chartCanvas_akr74_64{width:100%;position:relative}._chartSvg_akr74_69{width:100%;height:72px;display:block;overflow:visible}._area_akr74_76{fill:var(--primary);fill-opacity:.1}._line_akr74_81{fill:none;stroke:var(--primary);stroke-opacity:.72;stroke-width:2.25px;stroke-linejoin:round;stroke-linecap:round}._pointTarget_akr74_90{outline:none}._point_akr74_90{fill:#0000;stroke:#0000}._pointTarget_akr74_90:focus-visible ._point_akr74_90{fill:var(--panel);stroke:var(--primary);stroke-width:2px}._crosshair_akr74_105{stroke:color-mix(in srgb, var(--primary) 48%, transparent);stroke-width:1px;stroke-dasharray:2 3;pointer-events:none}._tooltip_akr74_112{background:var(--panel-muted);border:1px solid var(--line);white-space:nowrap;pointer-events:none;z-index:1;border-radius:4px;align-items:baseline;gap:8px;padding:3px 8px;font-size:.75rem;line-height:1.2;display:inline-flex;position:absolute;top:-32px;transform:translate(-50%)}._tooltip_akr74_112[data-align=start]{transform:translate(0)}._tooltip_akr74_112[data-align=end]{transform:translate(-100%)}._tooltipLabel_akr74_138{color:color-mix(in srgb, var(--text) 60%, transparent)}._tooltipValue_akr74_142{color:var(--text);font-variant-numeric:tabular-nums;font-weight:500}._axis_akr74_148{color:color-mix(in srgb, var(--text) 50%, transparent);justify-content:space-between;align-items:baseline;font-size:.72rem;display:flex}._topModels_akr74_156{grid-template-columns:minmax(0,1fr) max-content 5.25rem;gap:6px 12px;margin:0;padding:0;list-style:none;display:grid}._topModelRow_akr74_166{grid-column:1/-1;grid-template-columns:subgrid;align-items:baseline;font-size:.85rem;display:grid}._topModelName_akr74_174{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._topModelDetail_akr74_181{color:color-mix(in srgb, var(--text) 55%, transparent);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;min-width:0}._topModelCost_akr74_189{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}@media (width<=720px){._ribbon_akr74_26{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}}._root_1rfzi_1{border:1px solid var(--line-strong);background:var(--panel-bg);width:16px;height:16px;color:var(--primary-foreground);cursor:pointer;box-sizing:border-box;border-radius:4px;outline:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}._root_1rfzi_1[data-state=checked],._root_1rfzi_1[data-state=indeterminate]{background:var(--primary);border-color:var(--primary)}._root_1rfzi_1:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 35%, transparent)}._root_1rfzi_1:disabled{cursor:not-allowed;opacity:.5}._root_1rfzi_1[aria-invalid=true]{border-color:var(--destructive)}._root_1rfzi_1[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--destructive) 30%, transparent)}._indicator_1rfzi_46{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}._icon_1rfzi_54{color:currentColor;width:12px;height:12px}._root_16nbt_1{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}._viewport_16nbt_10{scrollbar-width:none;-ms-overflow-style:none;outline:none;flex:auto;width:100%;min-width:0;height:100%;min-height:0;overflow:hidden scroll}._viewport_16nbt_10::-webkit-scrollbar{width:0;height:0;display:none}._scrollbar_16nbt_29{opacity:0;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;flex-direction:column;width:8px;padding:0;transition:opacity .16s;display:flex;position:absolute;top:4px;bottom:4px;right:2px}._scrollbar_16nbt_29[data-state=visible]{opacity:.6}._root_16nbt_1:hover ._scrollbar_16nbt_29[data-state=visible],._scrollbar_16nbt_29[data-state=visible]:hover,._scrollbar_16nbt_29[data-state=visible]:focus-within{opacity:1}._thumb_16nbt_55{background:color-mix(in srgb, var(--text) 26%, transparent);cursor:grab;will-change:transform;border-radius:999px;width:100%;min-height:20px;transition:background .12s}._thumb_16nbt_55:hover{background:color-mix(in srgb, var(--text) 38%, transparent)}._thumb_16nbt_55:active{background:color-mix(in srgb, var(--text) 48%, transparent);cursor:grabbing}._trigger_1fi1d_1{border:1px solid var(--line,var(--panel-bg));background-color:var(--panel-bg);max-width:220px;height:32px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;outline:none;align-items:center;gap:6px;padding:0 10px 0 12px;font-size:.78rem;font-weight:500;line-height:1;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}._trigger_1fi1d_1:hover:not([data-disabled]),._trigger_1fi1d_1[data-state=open]{background-color:color-mix(in srgb, var(--panel-bg) 80%, var(--text) 20%);border-color:color-mix(in srgb, var(--text) 22%, var(--panel-bg))}._trigger_1fi1d_1:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}._trigger_1fi1d_1[data-disabled]{opacity:.55;cursor:default}._value_1fi1d_40{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}._value_1fi1d_40[data-placeholder]{color:var(--muted-foreground)}._icon_1fi1d_52{color:currentColor;opacity:.7;flex-shrink:0;align-items:center;transition:transform .16s;display:inline-flex}._trigger_1fi1d_1[data-state=open] ._icon_1fi1d_52{opacity:1;transform:rotate(180deg)}._popup_1fi1d_66{z-index:1000;box-sizing:border-box;contain:layout style;border:1px solid color-mix(in srgb, var(--text) 28%, var(--panel-bg));background-color:var(--popover,var(--card,var(--panel-bg)));width:min(420px,100vw - 16px);height:min(440px,100vh - 32px);box-shadow:var(--shadow-popover);color:var(--text);border-radius:14px;outline:none;flex-direction:column;font-size:.82rem;transition:width .16s;animation:.12s ease-out _select-in_1fi1d_1;display:flex;position:fixed;overflow:hidden}._popup_1fi1d_66:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}:root[data-theme=dark] ._popup_1fi1d_66{background-color:#1c2536}:root[data-theme=light] ._popup_1fi1d_66{background-color:#fff}@keyframes _select-in_1fi1d_1{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}._popupHeader_1fi1d_111{border-bottom:1px solid color-mix(in srgb, var(--text) 12%, transparent);flex-shrink:0;padding:8px 8px 6px}._popupBodyPlain_1fi1d_117,._popupBody_1fi1d_117{flex:auto;min-width:0;min-height:0;display:flex}._popupRail_1fi1d_131{box-sizing:border-box;border-right:1px solid color-mix(in srgb, var(--text) 12%, transparent);scrollbar-width:none;flex-direction:column;flex-grow:0;flex-shrink:0;align-items:center;gap:2px;width:48px;padding:6px 4px;display:flex;overflow:hidden auto}._popupRail_1fi1d_131::-webkit-scrollbar{display:none}._listScroll_1fi1d_151{flex:auto;min-width:0;min-height:0}._list_1fi1d_151{outline:none;padding:6px}._list_1fi1d_151:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:-2px;border-radius:12px}._group_1fi1d_168{display:block}._group_1fi1d_168+._group_1fi1d_168{margin-top:4px}._groupLabel_1fi1d_176{color:var(--muted-foreground);letter-spacing:.01em;padding:8px 10px 4px;font-size:.72rem;font-weight:500}._separator_1fi1d_184{background:color-mix(in srgb, var(--text) 12%, transparent);height:1px;margin:4px 6px}._empty_1fi1d_190{color:var(--muted-foreground);text-align:center;padding:18px 12px;font-size:.82rem}._item_1fi1d_197{min-height:34px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;outline:none;align-items:center;gap:10px;padding:6px 10px;font-size:.84rem;line-height:1.3;display:flex;position:relative}._item_1fi1d_197:has(>._itemIndicator_1fi1d_214){padding-left:30px}._item_1fi1d_197[data-highlighted]:not([data-disabled]){background:color-mix(in srgb, var(--panel-bg) 60%, var(--text) 14%)}._item_1fi1d_197[data-state=checked]{font-weight:600}._item_1fi1d_197[data-state=checked]:not([data-highlighted]){background:color-mix(in srgb, var(--panel-bg) 75%, var(--text) 6%)}._item_1fi1d_197[data-disabled]{opacity:.5;cursor:not-allowed}._itemIndicator_1fi1d_214{color:currentColor;justify-content:center;align-items:center;display:none;position:absolute;left:8px}._item_1fi1d_197[data-state=checked]>._itemIndicator_1fi1d_214{display:inline-flex}._itemText_1fi1d_248{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}._itemBody_1fi1d_256{flex-direction:column;flex:auto;align-items:flex-start;gap:1px;min-width:0;display:flex}._itemBody_1fi1d_256>*{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}._itemSubtitle_1fi1d_272{color:var(--muted-foreground);letter-spacing:.01em;font-size:.7rem;font-weight:400}._itemMeta_1fi1d_279{color:var(--muted-foreground);font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:6px;font-size:.7rem;display:inline-flex}._srOnly_jfnet_1{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._chatPage_eu8x8_1{--chat-hover-bg:color-mix(in srgb, var(--muted) 94%, var(--foreground) 6%);width:100%;max-width:100vw;height:var(--chat-visual-viewport-height,100dvh);min-height:0;display:flex;overflow:hidden}._chatPage_eu8x8_1>div{height:100%;min-height:0}.layout:has(._chatPage_eu8x8_1){width:100%;max-width:100vw;min-height:0;height:var(--chat-visual-viewport-height,100dvh);overflow:hidden}html:has(.chatPage){width:100%;max-width:100vw;overflow-x:hidden}body:has(.chatPage){width:100%;max-width:100vw;overflow-x:hidden}#root:has(.chatPage){width:100%;max-width:100vw;overflow-x:hidden}._chatSidebarHeader_eu8x8_36{justify-content:space-between;align-items:center;gap:8px;padding:0 4px;display:flex}._chatSidebarContent_eu8x8_44{flex-direction:column;gap:8px;padding:0 4px;display:flex;overflow:hidden}._newChatButton_eu8x8_52{appearance:none;width:100%;color:inherit;font:inherit;border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:18px 8px;font-weight:500;transition:background .12s;display:flex}._newChatButton_eu8x8_52:hover{background:var(--chat-hover-bg)}._newChatButton_eu8x8_52>span:first-child{justify-content:center;width:20px;font-size:1.25rem;line-height:1;display:inline-flex}._sidebarLabel_eu8x8_82{text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);margin:12px 0 4px;padding:0 6px;font-size:.7rem;font-weight:700}._sidebarListHeader_eu8x8_92{justify-content:space-between;align-items:center;gap:8px;display:flex}._sidebarScopeToggle_eu8x8_99{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--muted);align-items:center;padding:2px;display:inline-flex}._sidebarScopeButton_eu8x8_108{appearance:none;border-radius:calc(var(--radius-sm) - 2px);color:var(--muted-foreground);font:inherit;cursor:pointer;background:0 0;border:0;padding:5px 8px;font-size:.72rem;font-weight:600;line-height:1;transition:background .12s,color .12s,box-shadow .12s}._sidebarScopeButton_eu8x8_108:hover{color:var(--text)}._sidebarScopeButtonActive_eu8x8_130{background:var(--primary);color:var(--primary-foreground);box-shadow:0 1px 2px #0f172a2e, 0 0 0 1px color-mix(in srgb, var(--primary) 70%, var(--background));font-weight:700}._sidebarScopeButtonActive_eu8x8_130:hover{color:var(--primary-foreground)}._sessionList_eu8x8_143{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}._sessionItemRow_eu8x8_152{border-radius:var(--radius-sm);grid-template-columns:minmax(0,1fr) 30px;align-items:center;transition:background .12s;display:grid}._sessionItemRow_eu8x8_152:hover,._sessionItemRow_eu8x8_152:focus-within{background:var(--chat-hover-bg)}._sessionItem_eu8x8_152{appearance:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0;flex-direction:column;gap:2px;min-width:0;padding:8px 10px;display:flex;overflow:hidden}._sessionItemPending_eu8x8_183{animation:1s ease-in-out infinite _sessionPulse_eu8x8_1}@keyframes _sessionPulse_eu8x8_1{0%,to{opacity:1}50%{opacity:.5}}._sessionTitle_eu8x8_197{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}._sessionTime_eu8x8_206{color:var(--muted-foreground);font-size:.72rem}._sessionSnippet_eu8x8_211{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}._sessionItemActive_eu8x8_219 ._sessionTitle_eu8x8_197,._sessionItemActive_eu8x8_219 ._sessionSnippet_eu8x8_211{color:var(--primary)}._sessionDeleteButton_eu8x8_224{appearance:none;border-radius:var(--radius-sm);width:28px;height:28px;color:var(--muted-foreground);cursor:pointer;opacity:0;background:0 0;border:0;justify-content:center;align-items:center;transition:background .12s,color .12s,opacity .12s;display:inline-flex}._sessionItemRow_eu8x8_152:hover ._sessionDeleteButton_eu8x8_224,._sessionItemRow_eu8x8_152:focus-within ._sessionDeleteButton_eu8x8_224{opacity:1}._sessionDeleteButton_eu8x8_224:hover,._sessionDeleteButton_eu8x8_224:focus-visible{background:var(--danger-soft);color:var(--danger);opacity:1}._sessionDeleteButton_eu8x8_224:disabled{cursor:wait;opacity:.5}._sessionDeleteIcon_eu8x8_260{fill:none;stroke:currentColor;width:15px;height:15px}@media (hover:none){._sessionDeleteButton_eu8x8_224{opacity:1}}._sidebarSearchWrap_eu8x8_273{padding:10px 0 4px}._sidebarSearch_eu8x8_273{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel-bg);width:100%;color:var(--text);font:inherit;padding:9px 11px}._sidebarSearch_eu8x8_273::placeholder{color:var(--muted-foreground)}._sidebarSearch_eu8x8_273:focus{outline:2px solid var(--accent-soft);outline-offset:1px;border-color:var(--ring)}._sidebarStatus_eu8x8_297{color:var(--muted-foreground);padding:6px 10px;font-size:.82rem}aside[data-state=collapsed] ._newChatButton_eu8x8_52{justify-content:center;gap:0;padding:10px 8px}aside[data-state=collapsed] ._newChatButton_eu8x8_52>span:not(:first-child),aside[data-state=collapsed] ._sidebarSearchWrap_eu8x8_273,aside[data-state=collapsed] ._chatSidebarContent_eu8x8_44{display:none}._chatMobileTrigger_eu8x8_316{margin-right:auto;display:inline-flex}._chatTopbar_eu8x8_321{z-index:50;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;min-width:0;max-width:100%;padding:24px 24px 0;display:flex;position:relative;overflow:visible}._mobileQrButton_eu8x8_335{appearance:none;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-bg);width:36px;height:36px;color:var(--muted-foreground);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}._mobileQrButton_eu8x8_335:hover{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 42%, var(--line))}._mobileQrButton_eu8x8_335:disabled{opacity:.55;cursor:wait}._mobileQrIcon_eu8x8_359{grid-template-rows:repeat(2,7px);grid-template-columns:repeat(2,7px);gap:3px;display:grid}._mobileQrIcon_eu8x8_359 span{border:2px solid;border-radius:2px}._mobileQrOverlay_eu8x8_371{z-index:80;background:#02061773;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}._mobileQrDialog_eu8x8_382{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-bg);width:min(360px,100%);padding:18px;box-shadow:0 18px 55px #0f172a38}._mobileQrHeader_eu8x8_391{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}._mobileQrHeader_eu8x8_391 h2{margin:0;font-size:1rem;font-weight:650}._mobileQrClose_eu8x8_405{appearance:none;border:1px solid var(--line);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--muted-foreground);cursor:pointer;font:inherit;background:0 0;line-height:1}._mobileQrImage_eu8x8_418{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;justify-content:center;padding:12px;display:flex}._mobileQrImage_eu8x8_418 img{width:min(260px,100%);height:auto}._mobileQrLink_eu8x8_432{color:var(--primary);text-align:center;word-break:break-word;margin-top:12px;font-size:.86rem;display:block}._chatMain_eu8x8_441{background:var(--page-bg);flex-direction:column;flex:auto;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}._messageArea_eu8x8_453{overscroll-behavior:contain;overflow-anchor:none;flex:auto;min-width:0;min-height:0;padding:16px 24px 12px;overflow:hidden auto}._messageList_eu8x8_466{flex-direction:column;gap:12px;width:100%;min-width:0;max-width:100%;display:flex}._sidebarCollapseButton_eu8x8_475{align-self:center}._emptyState_eu8x8_479{flex-direction:column;flex:auto;justify-content:center;align-items:center;min-height:0;padding:48px 24px;display:flex}._greeting_eu8x8_489{color:var(--muted-foreground);text-align:center;letter-spacing:-.02em;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;line-height:1.3}._messageBlock_eu8x8_498{flex-direction:column;gap:6px;width:100%;min-width:0;max-width:100%;display:flex}._jumpToLatest_eu8x8_510{left:50%;bottom:calc(var(--chat-composer-height,132px) + 12px);border:1px solid var(--line-strong);background:var(--panel-bg);color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow-raised);z-index:40;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:500;transition:background .12s;display:inline-flex;position:absolute;transform:translate(-50%)}._jumpToLatest_eu8x8_510:hover{background:var(--chat-hover-bg)}._jumpToLatest_eu8x8_510:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}._jumpToLatest_eu8x8_510 span:first-child{font-weight:700;line-height:1}._messageBlockUser_eu8x8_546{align-items:flex-end}._messageBlockAssistant_eu8x8_550,._messageBlockSystem_eu8x8_551{align-items:flex-start}._agentLabel_eu8x8_555{color:var(--muted-foreground);align-items:center;gap:8px;padding:0 4px;font-size:.82rem;font-weight:600;display:flex}._agentAvatar_eu8x8_565{object-fit:cover;border-radius:999px;width:32px;height:32px}._agentInitial_eu8x8_572{background:var(--primary);width:32px;height:32px;color:var(--primary-foreground);border-radius:999px;justify-content:center;align-items:center;font-size:.86rem;font-weight:700;display:flex}._bubble_eu8x8_585{word-wrap:break-word;overflow-wrap:break-word;border-radius:14px;min-width:0;max-width:85%;padding:10px 14px;font-size:.92rem;line-height:1.55}._bubbleUser_eu8x8_596{background:linear-gradient(135deg, var(--primary), var(--ring));color:var(--primary-foreground);white-space:pre-wrap;border-bottom-right-radius:4px}._userAgentMentionPill_eu8x8_603{border:1px solid color-mix(in srgb, var(--primary-foreground) 52%, transparent);background:color-mix(in srgb, var(--primary-foreground) 18%, transparent);max-width:180px;min-height:1.5em;color:var(--primary-foreground);vertical-align:baseline;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:.28em;margin:0 .12em;padding:0 .45em;font-weight:700;line-height:1.3;display:inline-flex;overflow:hidden}._userAgentMentionAvatar_eu8x8_624{object-fit:cover;border-radius:999px;flex:none;width:1.05em;height:1.05em}._userSkillCommandLink_eu8x8_632{color:inherit;text-underline-offset:.18em;font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px}._userSkillCommandLink_eu8x8_632:hover{text-decoration-thickness:2px}._bubbleAssistant_eu8x8_644{background:var(--card);color:var(--card-foreground);border:1px solid var(--line);box-shadow:var(--shadow-card);border-bottom-left-radius:4px}._bubbleApproval_eu8x8_652{--approval-amber:#d97706;--approval-amber-strong:#92400e;--approval-amber-bg:#f59e0b;--approval-amber-dark:#fbbf24;border-color:color-mix(in srgb, var(--approval-amber) 44%, var(--line));background:color-mix(in srgb, var(--approval-amber-bg) 8%, var(--card));width:min(640px,100%);max-width:92%;padding:0;overflow:hidden}._bubbleSystem_eu8x8_666{background:var(--accent-soft);color:var(--accent-foreground);text-align:center;align-self:center;max-width:90%;font-size:.84rem}._bubbleCommand_eu8x8_678{background:var(--secondary);max-width:85%;color:var(--foreground);border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);align-self:flex-start;font-size:.82rem;line-height:1.55}html[data-theme=dark] ._bubbleCommand_eu8x8_678{background:var(--terminal);color:var(--terminal-foreground)}._markdownContent_eu8x8_705{overflow-wrap:anywhere;min-width:0;max-width:100%;line-height:1.6}._markdownContent_eu8x8_705 h1,._markdownContent_eu8x8_705 h2,._markdownContent_eu8x8_705 h3{color:var(--foreground);letter-spacing:-.02em;margin:.6em 0 .3em;font-weight:600}._markdownContent_eu8x8_705 h1{font-size:1.25rem}._markdownContent_eu8x8_705 h2{font-size:1.12rem}._markdownContent_eu8x8_705 h3{font-size:1rem}._markdownContent_eu8x8_705 p{margin:.4em 0}._markdownContent_eu8x8_705 ul,._markdownContent_eu8x8_705 ol{margin:.4em 0;padding-left:20px}._markdownContent_eu8x8_705 li{margin:2px 0}._markdownContent_eu8x8_705 blockquote{border-left:3px solid var(--line-strong);color:var(--muted-foreground);margin:.5em 0;padding:4px 12px}._markdownContent_eu8x8_705 code{background:var(--muted);color:var(--foreground);border-radius:4px;padding:2px 5px;font-size:.86em}._markdownContent_eu8x8_705 pre{background:var(--code-bg);color:var(--terminal-foreground);border-radius:var(--radius-sm);margin:.5em 0;padding:12px 14px;font-size:.84rem;line-height:1.5;position:relative;overflow-x:auto}._markdownContent_eu8x8_705 pre code{color:inherit;font-size:inherit;background:0 0;border-radius:0;padding:0}._codeCopyButton_eu8x8_784{width:24px;height:24px;color:color-mix(in srgb, var(--terminal-foreground) 55%, transparent);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .12s;display:inline-flex;position:absolute;top:6px;right:6px}._codeCopyButton_eu8x8_784:hover{color:var(--terminal-foreground)}._codeCopyButton_eu8x8_784:focus-visible{outline:1px solid color-mix(in srgb, var(--terminal-foreground) 45%, transparent);outline-offset:1px}._codeCopyButtonDone_eu8x8_812,._codeCopyButtonDone_eu8x8_812:hover{color:var(--success)}._markdownContent_eu8x8_705 pre._codeBlockLabeled_eu8x8_820{padding-top:28px}._codeLangLabel_eu8x8_824{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--terminal-foreground) 65%, transparent);pointer-events:none;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-size:.66rem;font-weight:600;line-height:1;display:inline-flex;position:absolute;top:7px;left:11px}._codeLangLabel_eu8x8_824 svg{opacity:.8}._markdownContent_eu8x8_705 .hljs-comment,._markdownContent_eu8x8_705 .hljs-quote{color:var(--syntax-comment);font-style:italic}._markdownContent_eu8x8_705 .hljs-keyword,._markdownContent_eu8x8_705 .hljs-selector-tag,._markdownContent_eu8x8_705 .hljs-meta .hljs-keyword{color:var(--syntax-keyword)}._markdownContent_eu8x8_705 .hljs-built_in,._markdownContent_eu8x8_705 .hljs-type{color:var(--syntax-builtin)}._markdownContent_eu8x8_705 .hljs-string,._markdownContent_eu8x8_705 .hljs-regexp,._markdownContent_eu8x8_705 .hljs-doctag{color:var(--syntax-string)}._markdownContent_eu8x8_705 .hljs-number,._markdownContent_eu8x8_705 .hljs-literal{color:var(--syntax-number)}._markdownContent_eu8x8_705 .hljs-title,._markdownContent_eu8x8_705 .hljs-section{color:var(--syntax-function)}._markdownContent_eu8x8_705 .hljs-name,._markdownContent_eu8x8_705 .hljs-tag,._markdownContent_eu8x8_705 .hljs-selector-id,._markdownContent_eu8x8_705 .hljs-selector-class{color:var(--syntax-tag)}._markdownContent_eu8x8_705 .hljs-attr,._markdownContent_eu8x8_705 .hljs-attribute,._markdownContent_eu8x8_705 .hljs-property,._markdownContent_eu8x8_705 .hljs-variable,._markdownContent_eu8x8_705 .hljs-template-variable{color:var(--syntax-attr)}._markdownContent_eu8x8_705 .hljs-symbol,._markdownContent_eu8x8_705 .hljs-bullet,._markdownContent_eu8x8_705 .hljs-link{color:var(--syntax-builtin)}._markdownContent_eu8x8_705 .hljs-meta{color:var(--syntax-comment)}._markdownContent_eu8x8_705 .hljs-addition{color:var(--syntax-string);background:color-mix(in srgb, var(--syntax-string) 14%, transparent)}._markdownContent_eu8x8_705 .hljs-deletion{color:var(--syntax-tag);background:color-mix(in srgb, var(--syntax-tag) 14%, transparent)}._markdownContent_eu8x8_705 .hljs-emphasis{font-style:italic}._markdownContent_eu8x8_705 .hljs-strong{font-weight:600}._markdownContent_eu8x8_705 hr{border:none;border-top:1px solid var(--line);margin:.8em 0}._markdownContent_eu8x8_705 a{color:var(--primary);text-decoration:none}._markdownContent_eu8x8_705 a:hover{text-decoration:underline}._markdownContent_eu8x8_705 table{border-collapse:collapse;width:100%;margin:.5em 0;font-size:.86rem}._markdownContent_eu8x8_705 th,._markdownContent_eu8x8_705 td{border:1px solid var(--line);text-align:left;padding:6px 10px}._markdownContent_eu8x8_705 th{background:var(--muted);font-weight:600}._markdownContent_eu8x8_705 tbody tr:nth-child(2n){background:var(--muted)}._bubbleCommand_eu8x8_678 ._markdownContent_eu8x8_705>:first-child{margin-top:0}._bubbleCommand_eu8x8_678 ._markdownContent_eu8x8_705>:last-child{margin-bottom:0}._bubbleCommand_eu8x8_678 ._markdownContent_eu8x8_705 code{background:color-mix(in srgb, var(--foreground) 12%, transparent);color:inherit}._messageActions_eu8x8_984{gap:4px;padding:0 4px;display:flex}._messageActions_eu8x8_984 ._actionButton_eu8x8_990{width:24px;height:24px;min-height:unset;color:var(--muted-foreground);background:0 0;border-color:#0000;border-radius:999px;font-size:.82rem}._messageActions_eu8x8_984 ._actionButton_eu8x8_990:hover:not(:disabled):not([data-disabled]):not([data-rating-locked]){background:var(--chat-hover-bg);color:var(--foreground)}._messageActions_eu8x8_984 ._actionButtonSelected_eu8x8_1009{color:var(--foreground);background:0 0}._messageActions_eu8x8_984 ._actionButtonSuccess_eu8x8_1014{color:var(--success)}._branchSwitcher_eu8x8_1018{color:var(--muted-foreground);align-items:center;gap:4px;padding:0 4px;font-size:.75rem;display:inline-flex}._branchButton_eu8x8_1027{width:22px;height:22px;min-height:unset;border-radius:999px;font-size:.8rem}._branchButton_eu8x8_1027:hover:not(:disabled):not([data-disabled]){background:var(--chat-hover-bg);color:var(--text)}._branchButton_eu8x8_1027:disabled{opacity:.4;cursor:default}._approvalCard_eu8x8_1045{flex-direction:column;gap:12px;padding:14px;display:flex}._approvalHeader_eu8x8_1052{flex-wrap:wrap;align-items:center;gap:8px;display:flex}._approvalTier_eu8x8_1059{border:1px solid color-mix(in srgb, var(--approval-amber) 55%, var(--line));background:color-mix(in srgb, var(--approval-amber-bg) 16%, var(--card));min-height:24px;color:var(--approval-amber-strong);border-radius:999px;align-items:center;padding:3px 9px;font-size:.76rem;font-weight:700;line-height:1;display:inline-flex}html[data-theme=dark] ._approvalTier_eu8x8_1059{color:var(--approval-amber-dark)}._approvalTitle_eu8x8_1077{color:var(--foreground);font-size:.94rem;font-weight:700;line-height:1.2}._approvalIntro_eu8x8_1084{color:var(--foreground);margin:0;line-height:1.45}._approvalDetails_eu8x8_1090{gap:6px;margin:0;display:grid}._approvalDetailRow_eu8x8_1096{border-top:1px solid color-mix(in srgb, var(--line) 72%, transparent);grid-template-columns:minmax(92px,.28fr) minmax(0,1fr);gap:10px;padding:7px 0;display:grid}._approvalDetailRow_eu8x8_1096 dt{color:var(--muted-foreground);font-size:.78rem;font-weight:650;line-height:1.35}._approvalDetailRow_eu8x8_1096 dd{color:var(--foreground);overflow-wrap:anywhere;margin:0;font-size:.84rem;line-height:1.35}._approvalPrimaryActions_eu8x8_1119,._approvalTrustActions_eu8x8_1120{flex-wrap:wrap;gap:8px;display:flex}._approvalPrimaryActions_eu8x8_1119{padding-top:2px}._approvalTrustActions_eu8x8_1120{border-top:1px solid color-mix(in srgb, var(--line) 72%, transparent);padding-top:10px}._approvalAllow_eu8x8_1135{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}._artifactCard_eu8x8_1141{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--muted);flex-direction:column;align-items:center;gap:10px;width:fit-content;max-width:100%;margin-top:8px;padding:10px 14px;display:flex}._artifactCardWithPreview_eu8x8_1155{align-items:stretch;width:min(720px,100%)}._artifactHeader_eu8x8_1160{align-items:center;gap:10px;min-width:0;display:flex}._artifactFilename_eu8x8_1167{color:var(--text);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.84rem;font-weight:500;overflow:hidden}._artifactBadge_eu8x8_1177{background:var(--accent-soft);color:var(--accent-foreground);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:.7rem;font-weight:500}._artifactDownload_eu8x8_1187{color:var(--primary);cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0;font-size:.82rem;text-decoration:none}._artifactDownload_eu8x8_1187:hover{text-decoration:underline}._artifactDownload_eu8x8_1187:disabled{opacity:.6;cursor:default;text-decoration:none}._artifactPreview_eu8x8_1209{border-radius:var(--radius-sm);max-width:100%;overflow:hidden}._artifactPreview_eu8x8_1209 img{border-radius:var(--radius-sm);max-width:100%;display:block}._artifactPdfPreview_eu8x8_1221{border:1px solid var(--line);background:#fff;width:100%;height:min(60vh,560px);min-height:360px}._artifactPdfPreview_eu8x8_1221 iframe{background:#fff;border:0;width:100%;height:100%;display:block}._artifactVideoPreview_eu8x8_1237{background:#000;width:min(720px,100%)}._artifactVideoPreview_eu8x8_1237 video{border-radius:var(--radius-sm);background:#000;width:100%;max-height:min(65vh,560px);display:block}._thinking_eu8x8_1250{align-items:center;gap:4px;padding:10px 14px;display:flex}._thinkingDot_eu8x8_1257{background:var(--muted-foreground);border-radius:999px;width:7px;height:7px;animation:1.2s ease-in-out infinite _thinkingBounce_eu8x8_1}._thinkingDot_eu8x8_1257:nth-child(2){animation-delay:.15s}._thinkingDot_eu8x8_1257:nth-child(3){animation-delay:.3s}@keyframes _thinkingBounce_eu8x8_1{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}._composerWrapper_eu8x8_1286{flex-shrink:0;min-width:0;max-width:100%;margin-top:auto;padding:0 24px 20px;overflow:hidden}._composer_eu8x8_1286{border:1px solid var(--line-strong);background:var(--panel-bg);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-raised);border-radius:16px;flex-direction:column;gap:8px;padding:12px 16px;transition:border-color .15s;display:flex}._pendingMediaRow_eu8x8_1310{flex-wrap:wrap;gap:6px;padding:10px 14px 0;display:flex}._mediaChip_eu8x8_1317{background:var(--muted);color:var(--text);border-radius:6px;align-items:center;gap:4px;max-width:180px;padding:4px 8px;font-size:.78rem;display:inline-flex}._mediaChipName_eu8x8_1329{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}._mediaChipRemove_eu8x8_1335{width:16px;height:16px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;display:flex}._mediaChipRemove_eu8x8_1335:hover{color:var(--danger)}._composerRow_eu8x8_1354{align-items:flex-end;gap:8px;padding:10px 14px;display:flex}._composerActions_eu8x8_1361{justify-content:space-between;align-items:center;gap:8px;display:flex}._composerLeftActions_eu8x8_1368{align-items:center;gap:12px;min-width:0;display:flex}._composerInputWrap_eu8x8_1375{flex:auto;min-width:0;position:relative}._composerInputOverlay_eu8x8_1381{pointer-events:none;white-space:pre-wrap;overflow-wrap:break-word;color:var(--text);padding:6px 0;font-size:.92rem;line-height:1.5;position:absolute;inset:0;overflow:hidden}._composerOverlayCaret_eu8x8_1394{background:var(--text);vertical-align:-.18em;width:1px;height:1.25em;margin-left:1px;display:none}._composerInputWrap_eu8x8_1375:focus-within ._composerOverlayCaret_eu8x8_1394{display:inline-block}._composerMentionPill_eu8x8_1407{border:1px solid var(--line-strong);background:var(--panel-bg);max-width:180px;min-height:1.5em;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent);color:var(--text);font-weight:650;line-height:inherit;vertical-align:baseline;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:.28em;padding:0 .45em;display:inline-flex;overflow:hidden}._composerMentionAvatar_eu8x8_1427{object-fit:cover;border-radius:999px;flex:none;width:1.05em;height:1.05em}._composerInput_eu8x8_1375{z-index:1;resize:none;width:100%;min-height:36px;max-height:180px;color:var(--text);background:0 0;border:none;outline:none;flex:auto;padding:0;font-size:.92rem;line-height:36px;position:relative}._composerInputHasOverlay_eu8x8_1452{color:#0000;caret-color:#0000}._composerInput_eu8x8_1375:not(:placeholder-shown){padding:6px 0;line-height:1.5}._composerInput_eu8x8_1375::placeholder{color:var(--muted-foreground)}._attachButton_eu8x8_1466,._sendButton_eu8x8_1467{cursor:pointer;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .12s,color .12s;display:flex}._attachButton_eu8x8_1466:focus-visible,._sendButton_eu8x8_1467:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}._attachButton_eu8x8_1466{color:var(--muted-foreground);background:0 0;font-size:1.2rem}._attachButton_eu8x8_1466:hover{background:var(--chat-hover-bg);color:var(--text)}._composerPill_eu8x8_1501{max-width:220px;height:36px;color:var(--muted-foreground);font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:999px;outline:none;align-items:center;gap:8px;padding:0 16px;font-size:.78rem;font-weight:500;line-height:36px;transition:background .12s,color .12s;display:inline-flex;position:relative;overflow:hidden}._composerPill_eu8x8_1501:hover:not(:disabled):not([data-disabled]),._composerPill_eu8x8_1501:focus,._composerPill_eu8x8_1501:focus-within,._composerPill_eu8x8_1501[data-state=open]{background:var(--chat-hover-bg);color:var(--text)}._composerPill_eu8x8_1501:disabled,._composerPill_eu8x8_1501[data-disabled]{opacity:.55;cursor:default}._agentSelectPopup_eu8x8_1541{width:min(380px,100vw - 16px);height:auto;max-height:min(360px,100vh - 32px)}._agentSelectItem_eu8x8_1547{min-height:44px}._remoteAgentGroupLabel_eu8x8_1551{align-items:center;gap:6px;display:flex}._remoteAgentGroupIcon_eu8x8_1557{opacity:.85;flex:none}._agentSelectItemText_eu8x8_1562{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}._agentSelectAvatar_eu8x8_1569,._agentSelectAvatarLoading_eu8x8_1570{border-radius:999px;flex:none;width:28px;height:28px}._agentSelectAvatar_eu8x8_1569{object-fit:cover}._agentSelectAvatarLoading_eu8x8_1570{background:color-mix(in srgb, var(--muted-foreground) 16%, transparent)}._composerPillChevron_eu8x8_1585{opacity:.7;flex-shrink:0;align-items:center;transition:transform .16s;display:inline-flex}._composerPill_eu8x8_1501[data-state=open] ._composerPillChevron_eu8x8_1585{opacity:1;transform:rotate(180deg)}._sendButton_eu8x8_1467{color:var(--muted-foreground);border:1px solid var(--line-strong);background:0 0;font-size:.9rem}._sendButton_eu8x8_1467:hover:not(:disabled){background:var(--chat-hover-bg);color:var(--text)}._sendButton_eu8x8_1467:disabled{opacity:.5;cursor:default}._sendButton_eu8x8_1467._stopping_eu8x8_1615{background:var(--danger-soft);color:var(--danger)}._slashSuggestions_eu8x8_1620{background:var(--popover);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);overflow:hidden}._slashSuggestionsScroll_eu8x8_1628{max-height:220px}._slashSuggestionsList_eu8x8_1632{outline:none}._suggestionItem_eu8x8_1636{cursor:pointer;border-left:2px solid #0000;flex-direction:column;justify-content:center;gap:2px;min-width:0;min-height:44px;padding:10px 14px;transition:background .1s;display:flex}._suggestionItemAgent_eu8x8_1651{flex-direction:row;justify-content:flex-start;align-items:center;gap:10px}._suggestionItemActive_eu8x8_1658{background:color-mix(in srgb, var(--primary) 14%, transparent);border-left-color:var(--primary)}._suggestionItemSub_eu8x8_1663{padding-left:28px}._suggestionLabel_eu8x8_1667{color:var(--text);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.86rem;font-weight:500;overflow:hidden}._suggestionText_eu8x8_1677{flex-direction:column;gap:2px;min-width:0;display:flex}._suggestionAvatar_eu8x8_1684,._suggestionAvatarLoading_eu8x8_1685{border-radius:999px;flex:none;width:28px;height:28px}._suggestionAvatar_eu8x8_1684{object-fit:cover}._suggestionAvatarLoading_eu8x8_1685{background:color-mix(in srgb, var(--muted-foreground) 16%, transparent)}._suggestionLabelMono_eu8x8_1700{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--muted-foreground);font-size:.82rem}._suggestionMatch_eu8x8_1706{color:inherit;text-underline-offset:3px;background:0 0;font-weight:700;text-decoration:underline;text-decoration-thickness:1px}._suggestionDesc_eu8x8_1715{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}._suggestionEmpty_eu8x8_1723{color:var(--muted-foreground);padding:14px;font-size:.82rem}@media (width<=768px){._approvalDetailRow_eu8x8_1096{grid-template-columns:1fr;gap:3px}._suggestionItem_eu8x8_1636{min-height:48px;padding:12px 14px}}._errorBanner_eu8x8_1745{border-radius:var(--radius-sm);background:var(--danger-soft);border:1px solid var(--danger-border);color:var(--danger);width:calc(100% - 48px);max-width:860px;margin:0 auto;padding:8px 14px;font-size:.84rem;animation:.16s _errorBannerFadeIn_eu8x8_1}._errorBannerExiting_eu8x8_1760{animation:.2s forwards _errorBannerFadeOut_eu8x8_1}@keyframes _errorBannerFadeIn_eu8x8_1{0%{opacity:0}}@keyframes _errorBannerFadeOut_eu8x8_1{to{opacity:0}}._editArea_eu8x8_1776{resize:vertical;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel-bg);width:100%;min-height:48px;max-height:200px;color:var(--text);padding:8px 10px;font-family:inherit;font-size:.92rem;line-height:1.5}._editButtons_eu8x8_1791{gap:6px;margin-top:6px;display:flex}@media (width<=900px){._chatPage_eu8x8_1{width:100vw;max-width:100vw;position:fixed;inset:0}._chatPage_eu8x8_1,._chatPage_eu8x8_1 *{max-width:100vw}._chatPage_eu8x8_1{height:var(--chat-visual-viewport-height,100svh)}._chatMain_eu8x8_441{flex:0 0 100vw;width:100vw;max-width:100vw}._chatTopbar_eu8x8_321{width:100vw;padding:8px 16px 0}._messageArea_eu8x8_453{width:100vw;max-width:100vw;padding:16px 16px calc(var(--chat-composer-height,150px) + 12px)}._messageList_eu8x8_466,._messageBlock_eu8x8_498{width:100%;max-width:100%;overflow-x:clip}._bubble_eu8x8_585,._bubbleUser_eu8x8_596,._bubbleAssistant_eu8x8_644{max-width:min(95%,100vw - 32px)}._composerWrapper_eu8x8_1286{z-index:45;background:var(--page-bg);padding:0 16px;position:fixed;bottom:0;left:0;right:0}._slashSuggestionsScroll_eu8x8_1628{max-height:40vh}}@media (width<=480px){._bubbleUser_eu8x8_596,._bubbleAssistant_eu8x8_644{max-width:95%}._messageArea_eu8x8_453{padding:12px 8px calc(var(--chat-composer-height,150px) + 12px)}._composerWrapper_eu8x8_1286{padding:0 12px}._emptyState_eu8x8_479 h1{font-size:1.2rem}}@media (prefers-reduced-motion:reduce){._thinkingDot_eu8x8_1257,._sessionItemPending_eu8x8_183,._errorBanner_eu8x8_1745,._errorBannerExiting_eu8x8_1760{animation:none}}._search_12ewc_1{background:color-mix(in srgb, var(--panel-bg) 65%, transparent);height:30px;color:var(--muted-foreground);border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}._search_12ewc_1:focus-within{background:color-mix(in srgb, var(--panel-bg) 50%, var(--text) 6%);color:var(--text)}._searchInput_12ewc_17{min-width:0;height:100%;color:var(--text);font:inherit;background:0 0;border:none;outline:none;flex:auto;font-size:.82rem}._searchInput_12ewc_17::placeholder{color:var(--muted-foreground)}._rail_12ewc_33{display:contents}._railItem_12ewc_37{width:36px;height:36px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:flex}._railItem_12ewc_37:hover:not([data-active]){background:color-mix(in srgb, var(--panel-bg) 60%, var(--text) 14%);color:var(--text)}._railItem_12ewc_37[data-active]{background:color-mix(in srgb, var(--panel-bg) 50%, var(--text) 18%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 26%, transparent)}._railItem_12ewc_37:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:1px}._railGlyph_12ewc_70{width:22px;height:22px;color:var(--muted-foreground);filter:grayscale()saturate(0);justify-content:center;align-items:center;line-height:1;display:inline-flex}._railItem_12ewc_37:hover ._railGlyph_12ewc_70,._railItem_12ewc_37[data-active] ._railGlyph_12ewc_70{color:var(--text)}._triggerPill_12ewc_90{color:var(--muted-foreground);background-color:#0000;border-color:#0000;height:36px;padding:0 16px}._triggerPill_12ewc_90:hover:not([data-disabled]),._triggerPill_12ewc_90[data-state=open]{background-color:var(--chat-hover-bg);color:var(--text);border-color:#0000}._triggerLogo_12ewc_105{color:var(--muted-foreground);filter:grayscale()saturate(0);flex-shrink:0;align-items:center;line-height:1;display:inline-flex}._itemLogo_12ewc_114{width:20px;height:20px;color:var(--muted-foreground);filter:grayscale()saturate(0);flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}._anchor_1k3rt_1{width:100%;display:block;position:relative}._input_1k3rt_7{padding-right:32px}._chevron_1k3rt_11{width:16px;height:16px;color:var(--muted-foreground);pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}._popover_1k3rt_22{min-width:var(--popover-anchor-width,220px);max-width:min(var(--popover-anchor-width,480px), 480px);padding:4px}._list_1k3rt_28{flex-direction:column;gap:2px;max-height:280px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}._option_1k3rt_39{border-radius:var(--radius-sm,6px);cursor:pointer;color:var(--text);flex-direction:column;gap:2px;padding:8px 10px;font-size:.875rem;line-height:1.4;display:flex}._option_1k3rt_39[data-active]{background:color-mix(in srgb, var(--accent) 12%, transparent)}._option_1k3rt_39[data-disabled]{opacity:.5;cursor:not-allowed}._optionLabel_1k3rt_60{font-weight:500}._optionDescription_1k3rt_64{color:var(--muted-foreground);font-size:.8125rem}._empty_1k3rt_69{color:var(--muted-foreground);text-align:center;padding:12px 10px;font-size:.875rem}._section_1dqd9_1{flex-direction:column;gap:12px;display:flex}._sectionHead_1dqd9_7{flex-direction:column;gap:4px;display:flex}._sectionTitle_1dqd9_13{color:var(--text);align-items:baseline;gap:10px;margin:0;font-size:1rem;font-weight:600;display:flex}._count_1dqd9_23{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:600}._caption_1dqd9_30{color:var(--muted-foreground);margin:0;font-size:.8125rem}._name_1dqd9_36{font-family:var(--font-mono,"SFMono-Regular", "JetBrains Mono", monospace);word-break:break-all;font-weight:600}._fingerprint_1dqd9_42{font-family:var(--font-mono,"SFMono-Regular", "JetBrains Mono", monospace);color:var(--muted-foreground)}._actionsHead_1dqd9_47{text-align:right}._actions_1dqd9_47{justify-content:flex-end;gap:8px;display:flex}._overwriteForm_1dqd9_57{flex-direction:column;gap:12px;display:flex}._overwriteNote_1dqd9_63{color:var(--muted-foreground);margin:0;font-size:.8125rem;line-height:1.45}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#fff;--foreground:#1f2937;--card:#fff;--card-foreground:#1f2937;--popover:#fff;--popover-foreground:#1f2937;--muted:#f8fafc;--muted-foreground:#64748b;--border:#e5e7eb;--border-strong:#d1d5db;--input:#e5e7eb;--ring:#4a6cf7;--primary:#4a6cf7;--primary-foreground:#fff;--secondary:#f1f5f9;--secondary-foreground:#1f2937;--accent:#eef2ff;--accent-foreground:#4a6cf7;--destructive:#b42318;--destructive-foreground:#fff;--success:#0f766e;--success-foreground:#fff;--success-soft:#ecfdf5;--danger:#b42318;--danger-soft:#fef3f2;--sidebar:#f1f5f9;--sidebar-foreground:#1f2937;--sidebar-border:#e5e7eb;--terminal:#0f172a;--terminal-foreground:#cbd5e1;--terminal-overlay-start:#0f172ac2;--terminal-overlay-end:#0f172aeb;--code-bg:#1e293b;--syntax-comment:#6b7c93;--syntax-keyword:#c4a7f5;--syntax-builtin:#5fd0d6;--syntax-string:#8ee0a8;--syntax-number:#e6a866;--syntax-function:#8fb6ff;--syntax-tag:#ff8b82;--syntax-attr:#e6c07b;--editor:#0f172a;--editor-border:#334155;--editor-foreground:#e2e8f0;--status-success-border:#bbf7d0;--success-border:#a7f3d0;--danger-border:#fecaca;--status-idle:#94a3b8;--jobs-board:#fcfcfd;--jobs-empty:#f8fafca6;--jobs-card-border:#ebeef3;--jobs-pill-success-bg:#eafaf3;--jobs-pill-success-fg:#109669;--jobs-column-backlog-rgb:203, 213, 225;--jobs-column-progress-rgb:147, 197, 253;--jobs-column-review-rgb:252, 211, 77;--jobs-column-success-rgb:134, 239, 172;--jobs-column-danger-rgb:252, 165, 165;--tone-progress:#bfdbfe;--tone-review:#fcd34d;--tone-success:#bbf7d0;--tone-danger:#fecaca;--shadow-popover:0 12px 32px #0f172a1f;--shadow-raised:0 1px 2px #0f172a14;--shadow-board:0 10px 32px #0f172a0d;--shadow-card:0 1px 2px #0f172a0a;--shadow-focus:0 0 0 1px #4a6cf72e;--shadow-dropdown:0 4px 12px #00000026;--shell-background:none;--shell-accent:none;--sidebar-surface:none;--panel-surface:none;--panel-border-subtle:transparent;--nav-hover:var(--panel-bg);--nav-active:var(--panel-bg);--nav-active-border:var(--line);--chip-surface:var(--panel-bg);--chrome-surface:var(--panel-muted);--page-bg:var(--background);--sidebar-bg:var(--sidebar);--panel-bg:var(--card);--panel-muted:var(--muted);--line:var(--border);--line-strong:var(--border-strong);--text:var(--foreground);--accent-soft:var(--accent)}:root,html[data-theme=light]{--sidebar-fg:var(--sidebar-foreground)}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0b1220;--foreground:#e5edf7;--card:#111827;--card-foreground:#e5edf7;--popover:#111827;--popover-foreground:#e5edf7;--muted:#0f172a;--muted-foreground:#93a4b8;--border:#1f2937;--border-strong:#263347;--input:#1f2937;--ring:#7da2ff;--primary:#7da2ff;--primary-foreground:#0b1220;--secondary:#0f172a;--secondary-foreground:#e5edf7;--accent:#162240;--accent-foreground:#a3c1ff;--destructive:#ff7b72;--destructive-foreground:#18181b;--success:#7ee3a5;--success-foreground:#03150f;--success-soft:#7ee3a529;--danger:#ff7b72;--danger-soft:#301614;--sidebar:#0b1220;--sidebar-foreground:#c7d2e3;--sidebar-border:#1f2937;--terminal:#0f172a;--terminal-foreground:#e2e8f0;--terminal-overlay-start:#0b1220c2;--terminal-overlay-end:#0b1220eb;--code-bg:#0a0e1a;--editor:#0f172a;--editor-border:#263347;--editor-foreground:#e2e8f0;--status-success-border:#18594b;--success-border:#18594b;--danger-border:#6a2220;--status-idle:#5f7287;--jobs-board:#0f172a;--jobs-empty:#0f172acc;--jobs-card-border:#263347;--jobs-pill-success-bg:#7ee3a529;--jobs-pill-success-fg:#7ee3a5;--jobs-column-backlog-rgb:77, 101, 124;--jobs-column-progress-rgb:100, 140, 200;--jobs-column-review-rgb:214, 155, 64;--jobs-column-success-rgb:126, 227, 165;--jobs-column-danger-rgb:220, 108, 98;--tone-progress:#7da2ff;--tone-review:#d69b40;--tone-success:#7ee3a5;--tone-danger:#dc6c62;--shadow-popover:0 18px 48px #0000006b;--shadow-raised:0 8px 24px #00000038;--shadow-board:0 16px 40px #00000047;--shadow-card:0 12px 28px #0000002e;--shadow-focus:0 0 0 1px color-mix(in srgb, var(--primary) 36%, transparent), 0 0 0 5px color-mix(in srgb, var(--primary) 14%, transparent);--shadow-dropdown:0 16px 40px #0000006b;--shell-background:none;--shell-accent:none;--sidebar-surface:none;--panel-surface:none;--panel-border-subtle:transparent;--nav-hover:var(--panel-bg);--nav-active:var(--panel-bg);--nav-active-border:color-mix(in srgb, var(--primary) 32%, var(--border));--chip-surface:var(--panel-bg);--chrome-surface:var(--panel-muted);--page-bg:var(--background);--sidebar-bg:var(--sidebar);--panel-bg:var(--card);--panel-muted:var(--muted);--line:var(--border);--line-strong:var(--border-strong);--text:var(--foreground);--accent-soft:var(--accent);--sidebar-fg:var(--sidebar-foreground)}:root{--radius-lg:14px;--radius-md:10px;--radius-sm:8px;--control-height:44px;--control-line-height:22px;--control-padding-y:10px;--sans:system-ui, ui-sans-serif, -apple-system, BlinkMacSystemFont, Inter, NotoSansHans, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--page-bg);color:var(--text);font-family:var(--sans);margin:0}button,input,select,textarea{font:inherit}code{font-family:SFMono-Regular,JetBrains Mono,Fira Code,monospace}.main-panel{flex-direction:column;min-width:0;padding:24px;display:flex}.chat-shell{background:var(--page-bg);width:100%;min-width:0;height:100vh;display:block}.page-content,.page-stack,.detail-stack,.stack-form,.list-stack,.field,.config-section{gap:12px;display:grid}.page-content{flex:auto;min-height:0}.topbar h2,.login-card h1{letter-spacing:-.02em;margin:0;font-weight:600}.topbar h2{font-size:clamp(1.9rem,2.4vw,2.35rem)}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);margin:0;font-size:.74rem;font-weight:700}.supporting-text,.metric-card small,.list-row small,.summary-block span,.key-value-grid span{color:var(--muted-foreground);margin:0}.inline-popover{margin-top:4px;display:inline-block;position:relative}.inline-popover summary{list-style:none}.inline-popover summary::-webkit-details-marker{display:none}.inline-popover-trigger{color:var(--muted-foreground);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:2px;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:.875rem;line-height:1.35;display:inline-flex}.inline-popover-trigger:hover{color:var(--text)}.inline-popover-panel{z-index:20;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-bg);width:min(360px,70vw);box-shadow:var(--shadow-popover);padding:12px;position:absolute;top:calc(100% + 8px);left:0}.inline-popover-header{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:.8rem;font-weight:700}.inline-popover-list{gap:10px;display:grid}.inline-popover-entry{gap:4px;display:grid}.inline-popover-entry strong{font-size:.88rem;line-height:1.3}.inline-popover-entry small,.inline-popover-entry p{color:var(--muted-foreground);margin:0}.inline-popover-entry p{color:var(--text);overflow-wrap:anywhere;word-break:break-word}.nav-link-icon{flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.nav-link-icon svg{width:16px;height:16px}.button-row,.header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding-bottom:12px;display:flex}.topbar-title{flex:auto;min-width:0;overflow:hidden}.topbar-heading{align-items:center;gap:12px;min-width:0;display:flex}.topbar-title h2{text-overflow:ellipsis;white-space:nowrap;line-height:1.05;overflow:hidden}.view-switch{border:1px solid var(--line);background:var(--chrome-surface);border-radius:999px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px;display:inline-flex}.view-switch-link{color:var(--muted-foreground);border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-weight:600;text-decoration:none;display:inline-flex}.view-switch-link:hover{color:var(--text)}.view-switch-link.active{background:var(--nav-active);color:var(--accent-foreground);box-shadow:var(--shadow-raised)}.meta-chip,.status-pill{border:1px solid var(--line);background:var(--chip-surface);color:var(--muted-foreground);border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:.84rem;font-weight:500;display:inline-flex}.status-pill-success{border-color:var(--status-success-border);background:var(--success-soft);color:var(--success)}.status-dot{background:var(--status-idle);border-radius:999px;width:8px;height:8px}.status-dot.live,.status-dot-success{background:var(--success)}.status-dot-warning{background:var(--tone-review)}.status-dot-danger{background:var(--danger)}.page-stack,.detail-stack,.stack-form,.list-stack,.page-content{gap:20px}.page-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.page-header-description{max-width:62ch}.terminal-page{flex-direction:column;flex:auto;gap:10px;height:100%;min-height:0;display:flex}.terminal-panel-body{flex-direction:column;flex:auto;gap:16px;min-width:0;min-height:0;display:flex}.terminal-page .page-header .button-row{justify-content:flex-end}.terminal-page .page-header .status-pill{margin-right:6px}.terminal-page .page-header .header-actions{justify-content:flex-end;width:100%}.terminal-page .page-header{justify-content:flex-end}.terminal-page .page-header>span:first-child{display:none}.terminal-page .page-header .button-row{margin-bottom:4px}.terminal-shell{background:var(--terminal);border-radius:12px;flex:auto;width:100%;min-height:320px;display:flex;position:relative;overflow:hidden}.terminal-host{flex:auto;min-width:0;height:calc(100% - 12px);min-height:0;margin-bottom:12px;padding:4px 6px;overflow:hidden}.terminal-host .xterm{width:100%;min-width:0;max-width:100%;height:100%;overflow:hidden}.terminal-host .xterm-viewport{overflow-x:hidden}.terminal-host .xterm-screen{width:100%;max-width:100%}.terminal-empty-state{text-align:center;color:var(--terminal-foreground);background:linear-gradient(180deg, var(--terminal-overlay-start), var(--terminal-overlay-end));place-items:center;padding:24px;display:grid;position:absolute;inset:0}.terminal-empty-copy{white-space:nowrap}.terminal-error-banner{margin-top:16px}@media (width<=960px){.terminal-panel-body{gap:12px}}.metric-card,.config-section,.empty-state,.summary-block,.key-value-grid div{background:var(--panel-muted)}.metric-grid,.two-column-grid,.field-grid,.config-grid,.key-value-grid{gap:16px;display:grid}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.two-column-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.skills-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-detail{align-self:start;max-height:calc(100vh - 32px);position:sticky;top:16px;overflow-y:auto}@media (width<=1080px){.sticky-detail{max-height:none;position:static;overflow-y:visible}}.field-grid,.config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.key-value-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.metric-card{border-radius:var(--radius-md);border:1px solid var(--line);align-content:start;gap:3px;min-height:0;padding:10px 12px;display:grid}.metric-card-link{color:inherit;text-decoration:none}.metric-card-link:hover{border-color:var(--line-strong)}.metric-card strong{font-size:1.45rem;font-weight:700;line-height:1.15}.metric-card span,.metric-card small{line-height:1.25}.metric-card-value-skeleton{width:60%;height:1.65rem;margin:2px 0}.metric-card-detail-skeleton{width:80%;height:.85rem}.agents-dashboard{--agents-blue:var(--primary);--agents-green:var(--success);--agents-gold:#d97706;--agents-red:var(--danger);background:var(--page-bg);gap:16px;min-height:100vh;padding:24px}.agents-page-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.agents-title-row{flex-wrap:wrap;align-items:center;gap:14px;min-width:0;display:flex}.agents-title-row h1{color:var(--text);letter-spacing:-.045em;margin:0;font-size:clamp(2.4rem,4vw,3.8rem);line-height:1}.agents-refresh-chip,.agents-uptime-chip{border:1px solid var(--line);background:var(--panel-bg);min-height:44px;color:var(--muted-foreground);box-shadow:var(--shadow-raised);border-radius:999px;align-items:center;gap:10px;padding:9px 14px;font-size:.95rem;font-weight:600;display:inline-flex}.agents-refresh-chip{cursor:pointer}.agents-refresh-spinner{border:3px solid color-mix(in srgb, var(--agents-blue) 18%, transparent);border-top-color:var(--agents-blue);border-radius:999px;width:16px;height:16px}.agents-refresh-chip.is-spinning .agents-refresh-spinner{animation:.85s linear infinite spin}.agents-stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.agents-stat-card,.agents-dashboard-panel,.agents-overview-card,.agents-session-card{border:1px solid var(--line);background:var(--panel-bg);box-shadow:var(--shadow-raised)}.agents-stat-card{border-radius:var(--radius-lg);align-content:start;gap:8px;padding:18px;display:grid;position:relative;overflow:hidden}.agents-stat-card>span:not(.agents-metric-accent),.agents-stat-card small{color:var(--muted-foreground);font-size:.84rem;line-height:1.35}.agents-stat-card strong{color:var(--text);letter-spacing:-.03em;font-size:clamp(1.7rem,3vw,2.125rem);line-height:1.05}.agents-metric-accent{color:#fff;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.92rem;font-weight:800;display:inline-flex}.agents-metric-accent.is-green{background:linear-gradient(135deg, var(--agents-green), #15803d)}.agents-metric-accent.is-blue{background:linear-gradient(135deg, var(--agents-blue), #3657e9)}.agents-metric-accent.is-gold{background:linear-gradient(135deg, #f59e0b, var(--agents-gold))}.agents-metric-accent.is-slate{background:linear-gradient(135deg,#475569,#334155)}.agents-dashboard-panel{border-radius:var(--radius-lg);gap:16px;padding:18px;display:grid}.agents-section-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.agents-section-head h2{color:var(--text);margin:0;font-size:1.06rem}.agents-section-head p{color:var(--muted-foreground);margin:6px 0 0;font-size:.875rem;line-height:1.5}.agents-overview-grid,.agents-session-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.agents-session-list{margin-top:16px}.agents-overview-card,.agents-session-card{border-radius:var(--radius-lg);border-top-width:4px;gap:14px;padding:16px;display:grid;overflow:hidden}.agents-overview-card.is-active,.agents-session-card.is-active{border-top-color:var(--agents-green)}.agents-overview-card.is-idle,.agents-session-card.is-idle{border-top-color:var(--agents-gold)}.agents-overview-card.is-stopped,.agents-session-card.is-stopped{border-top-color:var(--agents-red)}.agents-overview-card.is-unused{border-top-color:#64748b}.agents-overview-card-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.agents-overview-card-header>div{min-width:0}.agents-overview-card-header h3,.agents-overview-card-header p{margin:0}.agents-overview-card-header h3{color:var(--text);overflow-wrap:anywhere;font-size:1rem;line-height:1.25}.agents-overview-card-header p{color:var(--muted-foreground);margin-top:6px;font-size:.8rem;line-height:1.38}.agents-tag-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.agents-tag,.agents-fullauto-badge{border-radius:999px;align-items:center;font-size:.72rem;font-weight:800;line-height:1.2;display:inline-flex}.agents-tag{background:var(--accent-soft);max-width:100%;color:var(--accent-foreground);text-overflow:ellipsis;padding:4px 8px;overflow:hidden}.agents-fullauto-badge{color:#fff;background:linear-gradient(135deg, var(--agents-blue), #7c3aed);margin-top:10px;padding:6px 10px}.agents-status-badge{border:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:8px;padding:5px 9px;font-size:.68rem;font-weight:800;display:inline-flex}.agents-status-badge-dot{background:currentColor;border-radius:999px;width:8px;height:8px}.agents-status-badge.is-active{border-color:color-mix(in srgb, var(--agents-green) 35%, var(--line));background:var(--success-soft);color:var(--agents-green)}.agents-status-badge.is-idle{border-color:color-mix(in srgb, var(--agents-gold) 35%, var(--line));background:color-mix(in srgb, var(--agents-gold) 12%, transparent);color:var(--agents-gold)}.agents-status-badge.is-stopped{border-color:color-mix(in srgb, var(--agents-red) 35%, var(--line));background:var(--danger-soft);color:var(--agents-red)}.agents-status-badge.is-unused{background:var(--panel-muted);color:#64748b;border-color:#cbd5e1}.agents-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.agents-meta-block{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--panel-bg) 84%, var(--panel-muted));align-content:start;gap:4px;min-width:0;min-height:74px;padding:9px 12px;display:grid}.agents-meta-block span{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:800}.agents-meta-block strong{min-width:0;color:var(--text);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;font-weight:650;line-height:1.35;display:-webkit-box;overflow:hidden}.agents-filter-row{flex-wrap:wrap;gap:10px;display:flex}.agents-filter-pill{border:1px solid var(--line);background:var(--panel-bg);color:var(--muted-foreground);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.875rem;display:inline-flex}.agents-filter-pill.is-active{border-color:color-mix(in srgb, var(--agents-blue) 32%, var(--line));background:var(--accent-soft);color:var(--accent-foreground)}.agents-filter-count{background:color-mix(in srgb, var(--agents-blue) 12%, transparent);min-width:22px;height:22px;color:inherit;border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:.75rem;font-weight:800;display:inline-flex}.agents-preview{border-radius:var(--radius-md);background:var(--panel-muted);gap:8px;padding:12px;display:grid}.agents-preview p{color:var(--text);grid-template-columns:22px minmax(0,1fr);gap:8px;margin:0;font-size:.82rem;line-height:1.45;display:grid}.agents-preview span{color:var(--muted-foreground);font-weight:800}.agents-terminal{border-radius:var(--radius-lg);background:var(--terminal);border:1px solid #1e293b;display:grid;overflow:hidden}.agents-terminal-top{background:#0f172af0;border-bottom:1px solid #1e293b;align-items:center;gap:6px;padding:10px 12px;display:flex}.agents-terminal-dot{border-radius:999px;width:10px;height:10px}.agents-terminal-dot.is-red{background:#fb7185}.agents-terminal-dot.is-yellow{background:#fbbf24}.agents-terminal-dot.is-green{background:#34d399}.agents-terminal-label{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:6px;font-size:.72rem;line-height:1.25;overflow:hidden}.agents-session-output{scrollbar-gutter:stable;gap:4px;max-height:220px;padding:10px 12px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.72rem;line-height:1.45;display:grid;overflow:auto}.agents-terminal-line{color:var(--terminal-foreground);white-space:pre-wrap;word-break:break-word}.agents-terminal-line.is-command{color:#93c5fd}.agents-terminal-line.is-success{color:#6ee7b7}.agents-terminal-line.is-warning{color:#fdba74}.agents-terminal-line.is-error{color:#fca5a5}.list-row,.selectable-row{box-sizing:border-box;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--panel-bg);justify-content:space-between;align-items:flex-start;gap:12px;width:100%;min-width:0;padding:12px 14px;display:flex}.list-row>div{flex:auto;gap:4px;min-width:0;display:grid}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.list-row>.row-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.list-row strong{overflow-wrap:anywhere;word-break:break-word;line-height:1.25;display:block}.list-row small{overflow-wrap:anywhere;line-height:1.35;display:block}.list-row>span:last-child{white-space:nowrap;flex:none;padding-left:12px}.list-status{align-items:center;gap:8px;font-weight:500;display:inline-flex}.list-status-success{color:var(--success)}.list-status-warning{color:var(--tone-review)}.list-status-danger{color:var(--danger)}.row-status-stack{text-align:right;flex:none;justify-items:end;gap:6px;padding-left:12px;display:grid}.row-status-stack small{color:var(--muted-foreground)}.row-status-note-danger{color:var(--danger)}.row-status-note{color:var(--muted-foreground)}.inline-checkbox{width:fit-content;color:var(--muted-foreground);align-items:center;gap:8px;font-size:.92rem;display:inline-flex}.inline-checkbox input{width:16px;height:16px}.info-row{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-bg);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.info-row>div:first-child{gap:4px;min-width:0;display:grid}.info-row strong,.info-row small{overflow-wrap:anywhere}.skill-blocked-badge{border:1px solid color-mix(in srgb, var(--danger) 42%, var(--line));background:color-mix(in srgb, var(--danger) 12%, transparent);width:fit-content;min-width:76px;color:var(--danger);letter-spacing:.04em;text-transform:lowercase;border-radius:999px;justify-content:center;align-items:center;padding:7px 12px;font-size:.82rem;font-weight:700;line-height:1;display:inline-flex}.skill-unblock-button{border:1px solid color-mix(in srgb, var(--danger) 34%, var(--line));background:var(--panel-bg);width:fit-content;min-width:96px;color:var(--danger);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:6px 10px;font-size:.8rem;font-weight:650;line-height:1;display:inline-flex}.skill-unblock-button:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, transparent)}.skill-unblock-button:disabled{cursor:default;opacity:.6}.skills-header-search,.skills-header-button{height:var(--control-height);min-height:var(--control-height)}.skills-header-search{flex:0 360px}.skills-enabled-filter{border:1px solid var(--line);background:var(--panel-bg);min-height:32px;color:var(--muted-foreground);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:4px 8px;font-size:.84rem;font-weight:700;display:inline-flex}.skill-detail-page{max-width:1180px}.skill-detail-back-row{display:flex}.skill-detail-hero{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:18px;display:grid}.skill-detail-icon{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-bg);width:64px;height:64px;box-shadow:var(--shadow-raised);color:var(--text);justify-content:center;align-items:center;font-size:1.7rem;font-weight:750;display:inline-flex}.skill-detail-icon img{object-fit:contain;width:100%;height:100%}.skill-detail-title{gap:10px;min-width:0;display:grid}.skill-detail-title h1{color:var(--text);margin:0;font-size:2.45rem;font-weight:750}.skill-detail-title p{max-width:78ch;color:var(--muted-foreground);margin:0;font-size:1.08rem;line-height:1.5}.skill-detail-status-row,.skill-chip-list{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.skill-detail-enable-control{border:1px solid var(--line);background:var(--panel-bg);min-height:34px;color:var(--muted-foreground);border-radius:999px;align-items:center;gap:8px;padding:5px 10px;font-size:.9rem;font-weight:700;display:inline-flex}.skill-detail-status-note{color:var(--danger);margin:0;font-size:.88rem;line-height:1.45}.skill-detail-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.skill-detail-summary-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-bg);gap:6px;padding:16px;display:grid}.skill-detail-summary-item span{color:var(--muted-foreground);text-transform:uppercase;font-size:.82rem;font-weight:650}.skill-detail-summary-item strong{overflow-wrap:anywhere;color:var(--text);font-size:1.08rem}.skill-screenshot-section{gap:12px;display:grid}.skill-screenshot-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.skill-screenshot-header h2{color:var(--text);margin:0;font-size:1.1rem}.skill-screenshot-controls{gap:8px;display:flex}.skill-screenshot-gallery{scroll-snap-type:x proximity;gap:18px;padding-bottom:4px;display:flex;overflow-x:auto}.skill-screenshot-frame{scroll-snap-align:start;flex:0 0 min(560px,82vw);gap:8px;margin:0;display:grid}.skill-screenshot-frame img{aspect-ratio:16/10;object-fit:contain;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-muted);width:100%;display:block}.skill-screenshot-frame figcaption{color:var(--muted-foreground);font-size:.88rem;line-height:1.4}.skill-description-panel,.skill-tutorial-panel,.skill-prompt-list,.skill-detail-list{gap:12px;display:grid}.skill-file-browser{grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);gap:16px;min-height:520px;display:grid}.skill-file-list{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-muted);align-content:start;gap:6px;max-height:560px;padding:4px;display:grid;overflow:auto}.skill-file-row{border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;gap:4px;padding:10px;display:grid}.skill-file-row:hover,.skill-file-row.is-selected{border-color:var(--line-strong);background:var(--panel-bg)}.skill-file-name{overflow-wrap:anywhere;font-size:.9rem;font-weight:650;line-height:1.35}.skill-file-meta{color:var(--muted-foreground);font-size:.78rem;line-height:1.3}.skill-file-editor{grid-template-rows:auto minmax(0,1fr);gap:12px;min-width:0;display:grid}.skill-file-editor-header{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.skill-file-editor-header>div:first-child{gap:4px;min-width:0;display:grid}.skill-file-editor-header strong,.skill-file-editor-header span{overflow-wrap:anywhere}.skill-file-editor-header span{color:var(--muted-foreground);font-size:.82rem}.skill-file-editor-actions{flex:none;gap:8px;display:flex}.skill-file-textarea{resize:vertical;min-height:440px}.skill-description-panel{margin-top:16px}.skill-description-panel p,.skill-description-panel h4{margin:0}.skill-description-panel p{max-width:78ch;line-height:1.6}.skill-description-panel h4{margin-top:8px}.skill-tutorial-panel{margin-top:16px}.skill-doc-source-link{width:fit-content;color:var(--accent-foreground);font-size:.9rem;font-weight:650;text-decoration:none}.skill-doc-source-link:hover{text-decoration:underline}.skill-markdown{gap:10px;max-width:86ch;line-height:1.6;display:grid}.skill-markdown>:first-child{margin-top:0}.skill-markdown>:last-child{margin-bottom:0}.skill-markdown h1,.skill-markdown h2,.skill-markdown h3,.skill-markdown h4{color:var(--text);margin:14px 0 4px}.skill-markdown p,.skill-markdown ul,.skill-markdown ol,.skill-markdown blockquote,.skill-markdown pre{margin:0}.skill-markdown ul,.skill-markdown ol{padding-left:1.35rem}.skill-markdown blockquote{border-left:3px solid var(--line-strong);background:var(--panel-muted);color:var(--muted-foreground);padding:10px 12px}.skill-markdown code,.skill-prompt-row code{background:var(--panel-muted);color:var(--text);border-radius:5px;padding:2px 5px;font-size:.9em}.skill-markdown pre{border-radius:var(--radius-sm);background:var(--code-bg);color:var(--terminal-foreground);padding:12px;overflow-x:auto}.skill-markdown pre code{color:inherit;background:0 0;padding:0}.skill-prompt-list{margin-top:16px}.skill-prompt-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-bg);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:12px;display:grid}.skill-prompt-row code{white-space:normal;overflow-wrap:anywhere;line-height:1.45}.skill-invocation-list{gap:10px;display:grid}.skill-invocation-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-bg);overflow:hidden}.skill-invocation-row summary{cursor:pointer;gap:5px;padding:12px 14px;display:grid}.skill-invocation-row summary::marker{color:var(--muted-foreground)}.skill-invocation-summary-main{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.35;overflow:hidden}.skill-invocation-summary-meta{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.35;overflow:hidden}.skill-invocation-detail{border-top:1px solid var(--line);background:var(--panel-muted);gap:12px;padding:14px;display:grid}.skill-invocation-detail section{gap:6px;display:grid}.skill-invocation-detail h4,.skill-invocation-detail pre{margin:0}.skill-invocation-detail h4{color:var(--text);font-size:.9rem}.skill-invocation-detail pre{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-bg);color:var(--text);white-space:pre-wrap;word-break:break-word;padding:10px;font-size:.88rem;line-height:1.45;overflow-x:auto}.skill-credential-list{gap:12px;display:grid}.skill-credential-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-bg);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding:12px;display:grid}.skill-credential-body{gap:5px;min-width:0;display:grid}.skill-credential-body strong,.skill-credential-body small,.skill-credential-fingerprint{overflow-wrap:anywhere}.skill-credential-body small{color:var(--muted-foreground)}.skill-credential-fingerprint{color:var(--muted-foreground);font-size:.82rem}.skill-credential-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.skill-credential-set-icon{stroke-width:2.8px;width:14px;height:14px}.skill-secret-dialog-form{gap:12px;display:grid}.skill-secret-dialog-note{color:var(--muted-foreground);margin:0;font-size:.82rem;line-height:1.45}.error-text{color:var(--danger)}.skill-detail-list-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-bg);gap:4px;padding:12px;display:grid}.skill-detail-list-row strong,.skill-detail-list-row small{overflow-wrap:anywhere}.skill-detail-list-row small{color:var(--muted-foreground)}.table-link-button{text-decoration:none}@media (width<=760px){.skill-detail-hero,.skill-prompt-row,.skill-credential-row{grid-template-columns:minmax(0,1fr)}.skill-credential-actions{justify-content:flex-start}.skill-detail-title h1{font-size:2rem}.skill-detail-summary-grid,.skill-detail-grid,.skill-file-browser{grid-template-columns:minmax(0,1fr)}.skill-file-editor-header{flex-direction:column;align-items:stretch}}.tunnel-panel-grid,.tunnel-config-grid,.tunnel-detail-grid{gap:16px;display:grid}.tunnel-panel-grid{grid-template-columns:minmax(0,1fr) auto;align-items:start}.tunnel-url-stack,.tunnel-action-stack,.tunnel-detail{gap:6px;display:grid}.tunnel-url-stack span,.tunnel-detail span{color:var(--muted-foreground);font-size:.82rem}.tunnel-url-stack strong,.tunnel-url-stack a,.tunnel-detail strong{overflow-wrap:anywhere}.tunnel-url-stack a{color:var(--primary);font-weight:650;text-decoration:none}.tunnel-url-stack a:hover{text-decoration:underline}.tunnel-action-stack{justify-items:end}.tunnel-action-button{width:128px}.tunnel-config-grid{grid-template-columns:minmax(180px,.35fr) minmax(280px,1fr) auto;align-items:end;margin-top:18px}.tunnel-control{gap:6px;min-width:0;display:grid}.tunnel-control span{color:var(--muted-foreground);font-size:.82rem;font-weight:600}.tunnel-config-actions{grid-column:3;justify-content:end;gap:8px;display:flex}.tunnel-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}.tunnel-error{color:var(--danger);margin-top:14px}.tunnel-warning{color:var(--tone-review);margin-top:14px}.selectable-row{text-align:left;cursor:pointer;width:100%;min-width:0}.selectable-row>div{flex:auto;gap:4px;min-width:0;display:grid}.selectable-row strong,.selectable-row small{display:block}.selectable-row strong{overflow-wrap:anywhere;word-break:break-word;line-height:1.25}.selectable-row small{line-height:1.35}.selectable-row.active{border-color:var(--accent);background:var(--accent-soft)}.channel-selectable-row{align-items:center}.channel-row-main{align-items:center;gap:12px;min-width:0;display:flex}.channel-row-copy{gap:4px;min-width:0;display:grid}.channel-logo{background:color-mix(in srgb, var(--panel-bg) 82%, white);border:1px solid color-mix(in srgb, var(--line) 78%, white);border-radius:14px;flex:none;place-items:center;width:42px;height:42px;display:grid;box-shadow:inset 0 1px #ffffff2e}.channel-logo svg{width:32px;height:32px}.channel-logo-compact svg{width:28px;height:28px}.channel-status-badge{border:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;width:fit-content;margin-left:auto;padding:5px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.channel-status-active{border-color:color-mix(in srgb, var(--success) 30%, var(--line));background:color-mix(in srgb, var(--success) 14%, transparent);color:var(--success)}.channel-status-configured{border-color:color-mix(in srgb, var(--accent) 30%, var(--line));background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent-strong)}.channel-status-available{color:var(--muted-foreground)}.table-shell{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 10px}th{text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground);font-size:.75rem}.table-sort-button{width:100%;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.table-sort-button:hover{color:var(--text)}.table-sort-button:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:3px}.table-sort-indicator{flex:none;width:10px;height:12px;position:relative}.table-sort-indicator:before,.table-sort-indicator:after{content:"";opacity:.2;border-left:4px solid #0000;border-right:4px solid #0000;position:absolute;left:50%;transform:translate(-50%)}.table-sort-indicator:before{border-bottom:5px solid;top:0}.table-sort-indicator:after{border-top:5px solid;bottom:0}.table-sort-indicator.is-active:before,.table-sort-indicator.is-active:after{opacity:.12}.table-sort-indicator.is-active.is-asc:before,.table-sort-indicator.is-active.is-desc:after{opacity:.9}.field,.toggle-row,.config-section{gap:8px}.field input,.field select,.field textarea,.compact-search{width:100%;padding:var(--control-padding-y) 12px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel-bg);color:var(--text)}.field input,.field select,.compact-search{min-height:var(--control-height);height:var(--control-height);line-height:var(--control-line-height)}.managed-secret-field{align-content:start}.managed-secret-field>.button-row{align-items:stretch}.managed-secret-action{min-height:var(--control-height);height:var(--control-height);line-height:var(--control-line-height);padding-top:0;padding-bottom:0}.managed-secret-editor{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-muted);gap:10px;padding:12px;display:grid}.email-account-section,.email-account-list,.email-account-row{gap:12px;display:grid}.email-account-section-header,.email-account-row-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.email-account-section-header h4{margin:0;font-size:.95rem;font-weight:700}.email-account-section-copy{gap:4px;display:grid}.email-account-section-copy p{color:var(--muted-foreground);margin:0;font-size:.85rem;font-weight:500}.email-default-agent-target{color:var(--muted-foreground);margin-left:8px;font-weight:600}.email-account-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-bg);padding:14px}.email-account-row-header strong{overflow-wrap:anywhere;min-width:0}.email-account-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.email-account-remove{color:var(--danger)}.whatsapp-pairing-field{align-content:start}.whatsapp-pairing-qr{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-md);color:#111827;white-space:pre;background:#fff;width:100%;max-width:100%;max-height:70vh;margin:0;padding:16px;font-family:ui-monospace,SFMono-Regular,SFMono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.52rem;line-height:.92;display:block;overflow:auto}.logs-layout{grid-template-columns:minmax(240px,.45fr) minmax(0,1.55fr);align-items:start}.logs-layout .selectable-row{align-items:center}.log-viewer{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-bg);width:100%;max-height:62vh;color:var(--text);white-space:pre;margin:0;padding:14px;font-family:ui-monospace,SFMono-Regular,SFMono,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.82rem;line-height:1.45;overflow:auto}.field textarea,.code-editor{resize:vertical}.toggle-row{grid-template-columns:auto 1fr;align-items:center;display:grid}.boolean-pill{border:1px solid var(--line);text-transform:lowercase;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:6px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.boolean-pill.is-on{background:var(--success-soft);border-color:var(--status-success-border);color:var(--success)}.boolean-pill.is-off{background:var(--panel-muted);border-color:var(--line-strong);color:var(--muted-foreground)}.boolean-pill.is-off.tone-danger{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.boolean-pill-dot{background:currentColor;border-radius:999px;width:8px;height:8px}.binary-toggle{width:fit-content;border:1px solid var(--line-strong);background:var(--panel-bg);border-radius:999px;grid-auto-columns:1fr;grid-auto-flow:column;align-items:stretch;min-inline-size:0;margin:0;padding:0;display:inline-grid;overflow:hidden}.binary-toggle-button{min-width:max-content;color:var(--muted-foreground);cursor:pointer;text-align:center;text-transform:lowercase;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;padding:8px 12px;font-size:.9rem;display:inline-flex}.binary-toggle-button+.binary-toggle-button{border-left:1px solid var(--line-strong)}.binary-toggle-button.active{font-weight:600}.binary-toggle-button.active.is-on{background:var(--success-soft);color:var(--success)}.binary-toggle-button.active.is-off{background:var(--panel-muted);color:var(--text)}.binary-toggle-button:disabled{cursor:default;opacity:.65}.binary-toggle-button[data-state=on].is-on{background:var(--success-soft);color:var(--success)}.binary-toggle-button[data-state=on].is-off{background:var(--panel-muted);color:var(--text)}.toggle-group--sm .binary-toggle-button{padding:4px 8px;font-size:.8rem}.config-section{border-radius:var(--radius-md);border:1px solid var(--line);padding:16px}.primary-button,.ghost-button,.danger-button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:9px 12px}.primary-button{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.ghost-button{background:var(--panel-bg);border-color:var(--line-strong);color:var(--text)}.danger-button{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.primary-button:disabled,.ghost-button:disabled,.danger-button:disabled{cursor:default;opacity:.72}.icon-button{width:var(--control-height);min-width:var(--control-height);height:var(--control-height);justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button svg{width:16px;height:16px}.button-with-spinner{align-items:center;gap:8px;display:inline-flex}.button-spinner{border:2px solid;border-right-color:#0000;border-radius:999px;width:14px;height:14px;animation:.75s linear infinite button-spinner-rotate}.output-guard-list-field{display:grid}.output-guard-list{gap:8px;display:grid}.output-guard-list-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.output-guard-add-button{width:fit-content}.output-guard-list-note{color:var(--muted-foreground);font-size:.82rem;line-height:1.45}.output-guard-model-source-control{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.output-guard-model-source-control.has-model-readout{grid-template-columns:none}.output-guard-model-readout{min-height:var(--control-height);min-width:0;max-width:100%;color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:0 2px;font-size:.9rem;display:inline-flex;overflow:hidden}.output-guard-score-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-muted);gap:10px;padding:12px;display:grid}.output-guard-score-bar{background:color-mix(in srgb, var(--muted-foreground) 16%, transparent);border-radius:999px;height:10px;overflow:hidden}.output-guard-score-bar span{border-radius:inherit;background:var(--success);height:100%;display:block}.output-guard-reason-list{color:var(--muted-foreground);margin:0;padding-left:18px;font-size:.86rem;line-height:1.45}@keyframes button-spinner-rotate{to{transform:rotate(360deg)}}.table-link-button{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.table-link-button:hover{color:var(--accent)}.table-link-button-danger{color:var(--danger)}.policy-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.policy-comment-field{grid-column:1/-1}.policy-table-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.policy-rules-table td{vertical-align:middle;font-size:.875rem;line-height:1.35}.table-shell .policy-rules-table td strong{overflow-wrap:normal;white-space:nowrap;word-break:normal}.policy-action-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.policy-template-actions{flex-wrap:nowrap;align-items:center;gap:10px;margin-left:auto;display:flex}.policy-template-inline{align-items:center;gap:10px;display:flex}.policy-template-inline span{white-space:nowrap;color:var(--muted-foreground);font-weight:600}.policy-template-inline select{width:auto;min-width:180px;height:var(--control-height);min-height:var(--control-height);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel-bg);color:var(--text);appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted-foreground) 50%), linear-gradient(135deg, var(--muted-foreground) 50%, transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding:0 38px 0 12px}.policy-action-row .primary-button,.policy-action-row .ghost-button{height:var(--control-height);min-height:var(--control-height);justify-content:center;align-items:center;display:inline-flex}.skill-review-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.empty-state,.success-banner,.error-banner,.summary-block{border-radius:var(--radius-md);border:1px solid var(--line);padding:14px 16px}.empty-state{color:var(--muted-foreground)}.empty-state.error,.error-banner{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.success-banner{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}.summary-block p{margin:0;line-height:1.55}.summary-block strong,.path-text{overflow-wrap:anywhere;word-break:break-word;min-width:0}.path-text{font-family:SFMono-Regular,JetBrains Mono,Fira Code,monospace;font-size:.9em}.agent-file-meta{min-width:0}.agent-file-meta .supporting-text{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.82rem;line-height:1.45;overflow:hidden}.agent-file-editor-title{color:var(--foreground);font-weight:700}.summary-block-header,.jobs-output-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.jobs-output-list{gap:12px;display:grid}.jobs-output-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-bg);gap:10px;padding:12px;display:grid}.jobs-output-actions small{color:var(--muted-foreground)}.jobs-output-pre{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;font:inherit;margin:0;line-height:1.55}.payload-block{white-space:pre-wrap;word-break:break-word;max-height:480px;margin:0;font-family:SFMono-Regular,JetBrains Mono,Fira Code,monospace;font-size:.88rem;line-height:1.45;overflow:auto}.sessions-layout,.selectable-list,.sessions-layout .detail-stack,.session-row-main,.key-value-grid div{min-width:0}.mailbox-shell{background:var(--panel-bg);border-radius:18px;grid-template-columns:220px minmax(0,1fr);min-height:720px;display:grid;overflow:hidden}.a2a-inbox-shell{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr)}.mailbox-sidebar,.mailbox-main,.mailbox-detail{min-width:0}.mailbox-sidebar{background:var(--panel-muted);border-right:1px solid var(--line);align-content:start;gap:18px;padding:18px 12px 18px 0;display:grid}.mailbox-sidebar-section,.mailbox-folder-list,.mailbox-tag-list,.mailbox-message-metadata,.mailbox-thread-copy,.mailbox-detail-copy,.mailbox-message-list{gap:10px;display:grid}.mailbox-folder-button,.mailbox-thread-button{text-align:left;cursor:pointer;width:100%;min-width:0}.mailbox-folder-button{color:var(--text);background:0 0;border:0;border-radius:0 999px 999px 0;padding:0;display:block}.mailbox-folder-row{border-radius:0 999px 999px 0;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px 10px 18px;display:flex}.mailbox-folder-title{align-items:center;gap:12px;min-width:0;display:inline-flex}.mailbox-folder-symbol{width:1.25rem;height:1.25rem;color:var(--muted-foreground);flex:0 0 1.25rem;justify-content:center;align-items:center;line-height:1;display:inline-flex}.mailbox-folder-symbol svg{width:100%;height:100%}.mailbox-folder-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.mailbox-folder-button strong{color:var(--muted-foreground);flex:none;font-size:.95rem;font-weight:600}.mailbox-folder-button:hover .mailbox-folder-row{background:color-mix(in srgb, var(--accent-soft) 48%, transparent)}.mailbox-folder-button.is-emphasized .mailbox-folder-label,.mailbox-folder-button.is-emphasized strong{font-weight:700}.mailbox-folder-button.active .mailbox-folder-row{background:color-mix(in srgb, var(--accent-soft) 82%, white)}.mailbox-folder-button.active .mailbox-folder-symbol,.mailbox-folder-button.active .mailbox-folder-label,.mailbox-folder-button.active strong{color:var(--accent-strong)}.mailbox-tag-list{align-content:start}.mailbox-main{background:color-mix(in srgb, var(--panel-bg) 92%, var(--panel-muted));grid-template-rows:auto minmax(0,1fr);display:grid}.mailbox-column-header,.mailbox-detail-toolbar,.mailbox-detail-header,.mailbox-thread-top,.mailbox-thread-meta,.mailbox-message-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mailbox-column-header{border-bottom:1px solid var(--line);background:var(--panel-bg);padding:16px 18px}.mailbox-column-actions,.mailbox-pagination{align-items:center;gap:10px;display:inline-flex}.mailbox-column-actions{flex-wrap:wrap;justify-content:flex-end}.mailbox-pagination small{color:var(--muted-foreground);white-space:nowrap}.mailbox-page-button{min-width:5.75rem}.mailbox-column-header strong,.mailbox-column-header small,.mailbox-thread-copy span,.mailbox-thread-copy small,.mailbox-message-header strong,.mailbox-message-header small{display:block}.mailbox-column-header small,.mailbox-thread-copy small,.mailbox-message-header small{color:var(--muted-foreground)}.mailbox-thread-list,.mailbox-message-list{min-height:0;overflow-y:auto}.mailbox-thread-list{background:linear-gradient(180deg, color-mix(in srgb, var(--panel-bg) 94%, transparent), color-mix(in srgb, var(--panel-muted) 20%, transparent));align-content:start;padding:0}.mailbox-thread-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.mailbox-thread-row:hover{background:color-mix(in srgb, var(--accent-soft) 42%, transparent)}.mailbox-thread-button{background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 18px;display:grid}.mailbox-icon-button{width:2.15rem;height:2.15rem;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.mailbox-icon-button:hover{background:color-mix(in srgb, var(--accent-soft) 52%, transparent);color:var(--text)}.mailbox-icon-button:disabled{cursor:default;opacity:.55}.mailbox-icon-button svg{width:1.1rem;height:1.1rem}.mailbox-thread-delete{margin-right:10px}.mailbox-thread-summary,.mailbox-thread-sender,.mailbox-thread-subject,.mailbox-thread-preview,.mailbox-thread-time{overflow-wrap:anywhere;word-break:break-word}.mailbox-thread-summary{white-space:nowrap;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.mailbox-thread-sender,.mailbox-thread-subject{line-height:1.25}.mailbox-thread-sender{text-overflow:ellipsis;flex:0 18ch;min-width:0;font-weight:600;overflow:hidden}.mailbox-thread-separator,.mailbox-thread-time{color:var(--muted-foreground)}.mailbox-thread-subject{text-overflow:ellipsis;flex:0 auto;font-weight:600;overflow:hidden}.mailbox-thread-preview{text-overflow:ellipsis;flex:auto;overflow:hidden}.mailbox-thread-time{white-space:nowrap;flex:none;font-size:.92rem}.mailbox-thread-button,.mailbox-thread-summary{min-width:0}.mailbox-thread-sender,.mailbox-thread-subject{color:var(--text)}.mailbox-thread-preview{color:var(--muted-foreground)}.mailbox-thread-sender,.mailbox-thread-subject{font-weight:600}.mailbox-thread-preview{font-weight:400}.mailbox-thread-summary>*{min-width:0}.mailbox-thread-separator{flex:none}.mailbox-thread-row.is-unread .mailbox-thread-sender,.mailbox-thread-row.is-unread .mailbox-thread-subject,.mailbox-thread-row.is-unread .mailbox-thread-time{color:var(--text);font-weight:700}.mailbox-detail{background:var(--panel-bg);grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.mailbox-detail-toolbar{border-bottom:1px solid var(--line);background:var(--panel-bg);padding:14px 18px}.mailbox-detail-toolbar-main{align-items:center;gap:10px;min-width:0;display:inline-flex}.mailbox-detail-toolbar-copy{gap:2px;display:grid}.mailbox-detail-toolbar small{color:var(--muted-foreground)}.mailbox-back-button{width:2.25rem;height:2.25rem;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.mailbox-back-button:hover{background:color-mix(in srgb, var(--accent-soft) 52%, transparent)}.mailbox-back-button svg{width:1.2rem;height:1.2rem}.mailbox-detail-delete{align-items:center;gap:8px;display:inline-flex}.mailbox-detail-delete-icon{width:1rem;height:1rem;display:inline-flex}.mailbox-detail-delete-icon svg{width:100%;height:100%}.mailbox-inline-error{border:1px solid var(--danger-border);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);margin:14px 18px 0;padding:10px 12px}.mailbox-detail-empty{margin:18px}.mailbox-detail-header{border-bottom:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--accent-soft) 72%, transparent), transparent);padding:22px 24px 18px}.mailbox-detail-heading{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mailbox-detail-heading h3{letter-spacing:-.02em;margin:0;font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.1}.mailbox-role-pill{border:1px solid var(--line);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.mailbox-role-pill.needs-reply{border-color:color-mix(in srgb, var(--accent) 28%, var(--line));background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent-strong)}.mailbox-role-pill.replied{border-color:color-mix(in srgb, var(--success) 28%, var(--line));background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}.mailbox-message-list{background:linear-gradient(180deg, color-mix(in srgb, var(--panel-muted) 12%, transparent), transparent 220px);align-content:start;padding:18px}.mailbox-message-card{border:1px solid var(--line);background:var(--panel-bg);box-shadow:var(--shadow-card);border-radius:18px;gap:12px;padding:16px 18px;display:grid}.mailbox-message-card.assistant{border-color:color-mix(in srgb, var(--accent) 18%, var(--line));background:color-mix(in srgb, var(--accent-soft) 52%, var(--panel-bg))}.mailbox-message-card.user{background:color-mix(in srgb, var(--panel-bg) 86%, var(--panel-muted))}.mailbox-message-metadata{flex-wrap:wrap;gap:8px;display:flex}.mailbox-message-metadata small{border:1px solid color-mix(in srgb, var(--line) 92%, transparent);background:color-mix(in srgb, var(--accent-soft) 28%, transparent);color:var(--muted-foreground);border-radius:999px;align-items:center;padding:6px 10px;font-size:.78rem;line-height:1.2;display:inline-flex}.mailbox-message-header span{white-space:nowrap;color:var(--muted-foreground);flex:none}.mailbox-message-body{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.65}.session-row-main{flex:auto}.session-row-main strong,.session-row-meta,.key-value-grid strong{overflow-wrap:anywhere;word-break:break-word;display:block}.session-row-main strong{line-height:1.25}.session-row-meta{margin-top:4px;font-size:.95rem;line-height:1.35}.session-row-time{white-space:nowrap;color:var(--muted-foreground);flex:none;font-size:.95rem}.key-value-grid div{border-radius:var(--radius-md);border:1px solid var(--line);gap:4px;padding:14px;display:grid}.distill-run-panel,.distill-run-metrics,.distill-stage-table,.distill-layout,.distill-data-section,.distill-data-list,.distill-data-row{min-width:0}.distill-layout{align-items:start}.distill-layout>.page-stack{align-self:start}.distill-stage-table table{table-layout:fixed}.distill-stage-table th,.distill-stage-table td{overflow-wrap:anywhere;word-break:break-word}.distill-stage-table th:first-child,.distill-stage-table td:first-child{width:120px}.distill-stage-table th:nth-child(2),.distill-stage-table td:nth-child(2){width:140px}.distill-data-section{gap:8px;display:grid}.distill-data-section h5{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.75rem;font-weight:700}.distill-section-note{color:var(--muted-foreground);margin:0;font-size:.85rem;line-height:1.4}.distill-inline-path{min-width:0}.distill-inline-path summary{width:fit-content;color:var(--muted-foreground);cursor:pointer;font-size:.82rem}.distill-inline-path code{color:var(--muted-foreground);margin-top:4px;display:block}.distill-embed-list{gap:8px;min-width:0;display:grid}.distill-embed{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-muted);min-width:0}.distill-embed summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 12px;display:flex}.distill-embed summary span{font-weight:700}.distill-embed summary small{min-width:0;color:var(--muted-foreground);text-align:right;overflow-wrap:anywhere;flex:0 auto}.distill-embed>code,.distill-embed>pre,.distill-embed>.empty-state{margin:0 12px 12px}.distill-embed>code{color:var(--muted-foreground);display:block}.distill-embed>pre{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-bg);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-height:420px;padding:12px;font-family:SFMono-Regular,JetBrains Mono,Fira Code,monospace;font-size:.82rem;line-height:1.5;overflow:auto}.distill-embed>.summary-block{margin:0 12px 12px}.distill-data-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.distill-data-row{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-muted);gap:4px;padding:10px 12px;display:grid}.distill-data-row-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;min-width:0;display:grid}.distill-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.distill-path-summary{grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:4px 8px;display:grid}.distill-path-summary span{padding-top:1px}.distill-data-row>div{min-width:0}.distill-data-row strong,.distill-data-row small,.distill-data-row code{display:block}.distill-data-row strong{line-height:1.3}.distill-data-row small{color:var(--muted-foreground);overflow-wrap:anywhere;margin-top:3px;line-height:1.35}.table-shell td strong,.table-shell td small{display:block}.table-shell td strong{overflow-wrap:anywhere;word-break:break-word;line-height:1.25}.table-shell td small{margin-top:4px;line-height:1.35}.login-shell{background:var(--panel-muted);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--panel-bg);width:min(480px,100%);padding:24px}.login-card h1{font-size:1.75rem}.loading-shell{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 18%, transparent) 0%, transparent 34%), linear-gradient(225deg, color-mix(in srgb, var(--success) 16%, transparent) 0%, transparent 38%), linear-gradient(180deg, color-mix(in srgb, var(--panel-muted) 74%, var(--panel-bg)) 0%, var(--page-bg) 100%);place-items:center;min-height:100vh;padding:24px;display:grid;overflow:hidden}.loading-panel{border:1px solid color-mix(in srgb, var(--line) 74%, transparent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--panel-bg) 88%, transparent);width:min(420px,100%);box-shadow:0 24px 70px color-mix(in srgb, var(--text) 16%, transparent), inset 0 1px 0 #ffffff8a;text-align:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-items:center;gap:20px;padding:36px 30px 32px;display:grid;position:relative}.loading-panel:before{border:1px solid color-mix(in srgb, var(--line) 54%, transparent);border-radius:calc(var(--radius-lg) - 3px);pointer-events:none;content:"";position:absolute;inset:10px}.loading-mark-wrap{border:1px solid color-mix(in srgb, var(--primary) 22%, var(--line));background:linear-gradient(145deg, color-mix(in srgb, var(--primary) 16%, var(--panel-bg)), color-mix(in srgb, var(--success) 10%, var(--panel-bg)));width:116px;height:116px;box-shadow:inset 0 1px 0 #ffffff75, 0 18px 36px color-mix(in srgb, var(--primary) 20%, transparent);border-radius:50%;place-items:center;display:grid;position:relative}.loading-mark-wrap:after{border:2px solid #0000;border-top-color:color-mix(in srgb, var(--primary) 72%, transparent);border-right-color:color-mix(in srgb, var(--success) 58%, transparent);content:"";border-radius:50%;animation:1.8s linear infinite loading-ring-spin;position:absolute;inset:-7px}.loading-mark{width:68px;height:75px;color:color-mix(in srgb, var(--primary) 76%, var(--text));filter:drop-shadow(0 8px 14px color-mix(in srgb, var(--primary) 24%, transparent))}.loading-copy{justify-items:center;gap:8px;display:grid}.loading-copy h1{color:var(--text);letter-spacing:0;margin:0;font-size:clamp(1.55rem,5vw,2.05rem);font-weight:700;line-height:1.08}.loading-progress{background:color-mix(in srgb, var(--muted-foreground) 16%, transparent);border-radius:999px;width:min(260px,72vw);height:6px;overflow:hidden}.loading-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--success), color-mix(in srgb, var(--tone-review) 80%, var(--primary)));width:42%;height:100%;animation:1.45s ease-in-out infinite loading-progress-slide;display:block}@keyframes loading-ring-spin{to{transform:rotate(360deg)}}@keyframes loading-progress-slide{0%{transform:translate(-115%)}55%{transform:translate(85%)}to{transform:translate(245%)}}@media (prefers-reduced-motion:reduce){.loading-mark-wrap:after,.loading-progress span{animation:none}.loading-progress span{transform:translate(68%)}}.compact-search{min-width:240px}.jobs-column-header{align-items:center;display:flex}.jobs-column{min-width:0}.jobs-columns,.jobs-column-body{gap:12px;display:grid}.jobs-card-pill{border-radius:999px;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:inline-flex}.jobs-header-search{flex:0 260px;min-width:180px}.page-header .header-actions{flex-wrap:nowrap;justify-content:flex-end;width:auto}.page-header .header-actions .primary-button{flex:none}.jobs-board-layout{border:1px solid var(--line);background:var(--panel-bg);min-width:0;min-height:720px;box-shadow:var(--shadow-board);border-radius:18px;grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}.jobs-board-layout.has-detail{grid-template-columns:minmax(0,1fr) 320px}.jobs-card strong,.jobs-card p{overflow-wrap:anywhere;word-break:break-word}.jobs-card strong,.jobs-card p,.jobs-card small{margin:0}.jobs-card p,.jobs-card small{color:var(--muted-foreground)}.jobs-columns{background:var(--jobs-board);border-right:1px solid var(--line);grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;align-items:stretch;gap:4px;padding:12px 14px;display:grid;overflow-x:auto}.jobs-column{--jobs-column-rgb:var(--jobs-column-backlog-rgb);background:rgba(var(--jobs-column-rgb), .04);border:0;border-radius:16px;grid-template-rows:auto minmax(0,1fr);gap:10px;min-width:0;margin:0;padding:10px 8px;display:grid}.jobs-column.drop-target{background:color-mix(in srgb, var(--primary) 8%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 20%, transparent)}.jobs-column-backlog{--jobs-column-rgb:var(--jobs-column-backlog-rgb)}.jobs-column-in_progress{--jobs-column-rgb:var(--jobs-column-progress-rgb)}.jobs-column-review{--jobs-column-rgb:var(--jobs-column-review-rgb)}.jobs-column-done{--jobs-column-rgb:var(--jobs-column-success-rgb)}.jobs-column-cancelled{--jobs-column-rgb:var(--jobs-column-danger-rgb)}.jobs-column-header{border:1px solid var(--line);background:rgba(var(--jobs-column-rgb), .08);border-radius:14px;justify-content:space-between;gap:10px;padding:10px 12px;font-size:.95rem}.jobs-column-header span{background:var(--panel-muted);color:var(--muted-foreground);border-radius:999px;padding:2px 7px;font-size:.8rem;font-weight:700}.jobs-column-body{align-content:start;min-width:0;max-height:640px;padding-right:4px;overflow-y:auto}.jobs-column-empty{border:1px dashed var(--line-strong);color:var(--muted-foreground);background:var(--jobs-empty);border-radius:12px;padding:12px}.jobs-card{border:1px solid var(--jobs-card-border);background:var(--panel-bg);box-shadow:var(--shadow-card);border-radius:16px;gap:8px;padding:12px;display:grid}.jobs-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.jobs-card.tone-progress{border-color:var(--tone-progress)}.jobs-card.tone-review{border-color:var(--tone-review)}.jobs-card.tone-success{border-color:var(--tone-success)}.jobs-card.tone-danger{border-color:var(--tone-danger)}.jobs-card strong{font-size:.95rem;line-height:1.25}.jobs-card p{min-height:2.5em;font-size:.92rem;line-height:1.35}.jobs-card small{text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.jobs-card-edge-row{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.jobs-edge-chip{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-muted);width:fit-content;max-width:100%;color:var(--muted-foreground);overflow-wrap:anywhere;padding:4px 7px;font-size:.74rem;font-weight:650;line-height:1}.jobs-edge-chip.blocked{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.jobs-card-agent-row{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.jobs-card-pill{background:var(--jobs-pill-success-bg);width:fit-content;color:var(--jobs-pill-success-fg);padding:5px 8px}.agent-budget-chip{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-muted);width:fit-content;color:var(--muted-foreground);white-space:nowrap;padding:4px 7px;font-size:.74rem;font-weight:500;line-height:1}.agent-budget-chip[data-tone=warn]{border-color:color-mix(in srgb, var(--tone-review) 58%, var(--line));background:color-mix(in srgb, var(--tone-review) 18%, transparent);color:color-mix(in srgb, var(--tone-review) 72%, var(--text))}.agent-budget-chip[data-tone=hard]{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.jobs-card-frame{width:100%;display:block}.jobs-card-frame.drop-target .jobs-card{box-shadow:var(--shadow-focus)}.jobs-card-shell{position:relative}.jobs-card-button{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.jobs-card-button:focus-visible .jobs-card{border-color:var(--accent);box-shadow:var(--shadow-focus)}.jobs-card-shell.draggable{cursor:grab}.jobs-inline-trigger{width:100%;min-width:0;color:var(--text);font:inherit;text-align:left;overflow-wrap:anywhere;word-break:break-word;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.jobs-inline-trigger:disabled{cursor:default}.jobs-inline-select{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.jobs-card-frame.dragging{opacity:.58}.jobs-card-frame.dragging .jobs-card{border-style:dashed}.jobs-card-shell.active .jobs-card{border-color:var(--accent);box-shadow:var(--shadow-focus)}.jobs-detail{background:var(--panel-bg);min-width:0;padding:18px}.jobs-detail-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.jobs-detail-header h4{margin:4px 0 0;font-size:1.15rem}.jobs-detail-stack,.jobs-runtime-list{gap:14px;display:grid}.jobs-runtime-row{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-muted);gap:4px;padding:10px 12px;display:grid}.jobs-runtime-row strong,.jobs-runtime-row small{overflow-wrap:anywhere;word-break:break-word;margin:0}.jobs-runtime-row small{color:var(--muted-foreground)}.code-editor{background:var(--editor);border-color:var(--editor-border);min-height:540px;color:var(--editor-foreground)}@media (width<=1080px){.metric-grid,.two-column-grid,.field-grid,.config-grid,.key-value-grid{grid-template-columns:1fr}.tunnel-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tunnel-config-grid{grid-template-columns:minmax(0,1fr)}.tunnel-config-actions{grid-column:auto;justify-content:start}.jobs-board-layout{grid-template-columns:1fr}.jobs-columns{border-right:none;border-bottom:1px solid var(--line)}.mailbox-shell{grid-template-columns:1fr}.mailbox-sidebar{border-right:none;border-bottom:1px solid var(--line)}}@media (width<=780px){.main-panel{padding:0}.login-card{padding:18px}.page-content{padding:16px 18px 24px}.tunnel-panel-grid,.tunnel-config-grid,.tunnel-detail-grid{grid-template-columns:1fr}.tunnel-action-stack,.tunnel-config-actions{justify-items:stretch}.tunnel-config-actions{flex-direction:column}.tunnel-action-button{width:100%}.output-guard-model-source-control,.output-guard-model-source-control.has-model-readout{grid-template-columns:1fr}.topbar{z-index:10;background:var(--page-bg);border-bottom:1px solid var(--line);gap:10px;margin-bottom:0;padding:12px 18px 10px;position:sticky;top:0}.topbar h2{font-size:1.1rem}.page-header{flex-direction:column}.topbar-actions{justify-items:stretch;width:100%}.view-switch{flex:none;gap:2px;padding:4px}.view-switch-link{gap:0;padding:8px}.view-switch-link span:not(.nav-link-icon){clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.jobs-header-search{min-width:0}.mailbox-thread-button{grid-template-columns:minmax(0,1fr);gap:6px}.mailbox-thread-summary{white-space:normal;gap:4px;display:grid}.mailbox-thread-separator{display:none}.mailbox-thread-sender,.mailbox-thread-subject,.mailbox-thread-preview{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mailbox-thread-time{justify-self:start}.terminal-shell,.terminal-host{min-height:60vh}.mailbox-detail-header,.mailbox-column-header,.mailbox-message-header{flex-direction:column}.distill-data-row-header{grid-template-columns:minmax(0,1fr)}.distill-row-actions{justify-content:flex-start}}@media (width<=1260px){.agents-overview-grid,.agents-session-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.agents-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.agents-stats-row,.agents-overview-grid,.agents-session-list,.agents-meta-grid{grid-template-columns:1fr}.agents-overview-card-header,.agents-section-head{flex-direction:column}}