hive-am 1.5.0 → 1.7.0
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 +32 -1
- package/README.md +5 -4
- package/package.json +1 -1
- package/server/dist/connections/format.js +26 -0
- package/server/dist/connections/index.js +2 -0
- package/server/dist/connections/manager.js +3 -3
- package/server/dist/connections/router.js +42 -12
- package/server/dist/connections/secrets.js +1 -1
- package/server/dist/connections/slack.js +488 -0
- package/server/dist/connections/store.js +2 -0
- package/server/dist/db/migrations.js +12 -0
- package/server/dist/db.js +15 -3
- package/server/dist/dispatches.js +126 -0
- package/server/dist/http/routes/orchestration.js +13 -2
- package/server/dist/http/validate.js +22 -2
- package/server/dist/index.js +2 -0
- package/server/dist/instructions.js +1 -1
- package/server/dist/retention.js +4 -2
- package/server/dist/runtime.js +17 -6
- package/server/dist/services/connections.js +18 -3
- package/server/dist/skills/defaults.js +6 -4
- package/server/dist/watch.js +1 -1
- package/server/mcp/dispatch.mjs +48 -5
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-build-manifest.json +91 -75
- package/web/.next/app-path-routes-manifest.json +5 -5
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +61 -61
- package/web/.next/server/app/_not-found/page.js +2 -2
- package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_not-found.html +1 -1
- package/web/.next/server/app/_not-found.rsc +3 -3
- package/web/.next/server/app/agents/[id]/page.js +4 -4
- package/web/.next/server/app/agents/[id]/page.js.nft.json +1 -1
- package/web/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/agents/page.js +2 -2
- package/web/.next/server/app/agents/page.js.nft.json +1 -1
- package/web/.next/server/app/agents/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/agents.html +1 -1
- package/web/.next/server/app/agents.rsc +21 -18
- package/web/.next/server/app/chat/page.js +2 -2
- package/web/.next/server/app/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/chat.html +1 -1
- package/web/.next/server/app/chat.rsc +4 -4
- package/web/.next/server/app/connections/page.js +2 -2
- package/web/.next/server/app/connections/page.js.nft.json +1 -1
- package/web/.next/server/app/connections/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/connections.html +1 -1
- package/web/.next/server/app/connections.rsc +4 -4
- package/web/.next/server/app/index.html +1 -1
- package/web/.next/server/app/index.rsc +4 -4
- package/web/.next/server/app/page.js +2 -2
- package/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/relations/page.js +2 -2
- package/web/.next/server/app/relations/page.js.nft.json +1 -1
- package/web/.next/server/app/relations/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/relations.html +1 -1
- package/web/.next/server/app/relations.rsc +4 -4
- package/web/.next/server/app/resources/[id]/page.js +2 -2
- package/web/.next/server/app/resources/[id]/page.js.nft.json +1 -1
- package/web/.next/server/app/resources/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/resources/page.js +2 -2
- package/web/.next/server/app/resources/page.js.nft.json +1 -1
- package/web/.next/server/app/resources/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/resources.html +1 -1
- package/web/.next/server/app/resources.rsc +4 -4
- package/web/.next/server/app/schedules/page.js +2 -2
- package/web/.next/server/app/schedules/page.js.nft.json +1 -1
- package/web/.next/server/app/schedules/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/schedules.html +1 -1
- package/web/.next/server/app/schedules.rsc +4 -4
- package/web/.next/server/app/sessions/page.js +2 -2
- package/web/.next/server/app/sessions/page.js.nft.json +1 -1
- package/web/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/sessions.html +1 -1
- package/web/.next/server/app/sessions.rsc +4 -4
- package/web/.next/server/app/skills/page.js +2 -2
- package/web/.next/server/app/skills/page.js.nft.json +1 -1
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills.html +1 -1
- package/web/.next/server/app/skills.rsc +4 -4
- package/web/.next/server/app/types/page.js +2 -2
- package/web/.next/server/app/types/page.js.nft.json +1 -1
- package/web/.next/server/app/types/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/types.html +1 -1
- package/web/.next/server/app/types.rsc +4 -4
- package/web/.next/server/app-paths-manifest.json +5 -5
- package/web/.next/server/chunks/{505.js → 111.js} +1 -1
- package/web/.next/server/chunks/143.js +1 -1
- package/web/.next/server/chunks/716.js +2 -2
- package/web/.next/server/chunks/741.js +2 -0
- package/web/.next/server/chunks/837.js +1 -0
- package/web/.next/server/chunks/{435.js → 939.js} +3 -3
- package/web/.next/server/chunks/944.js +1 -0
- package/web/.next/server/pages/404.html +1 -1
- package/web/.next/server/pages/500.html +1 -1
- package/web/.next/server/server-reference-manifest.json +1 -1
- package/web/.next/static/chunks/162-68ba190086f5ad39.js +1 -0
- package/web/.next/static/chunks/214-35b88db02113ae02.js +1 -0
- package/web/.next/static/chunks/281-a855bf409ef9eebd.js +1 -0
- package/web/.next/static/chunks/350-bdf6b8994a28f2b4.js +1 -0
- package/web/.next/static/chunks/491-196bcb3dd11bb460.js +1 -0
- package/web/.next/static/chunks/517-8f2db464d10a4624.js +1 -0
- package/web/.next/static/chunks/{586-f7017d585a84738d.js → 586-4f67b823df060b46.js} +1 -1
- package/web/.next/static/chunks/{587-5b511f5f93910180.js → 587-3c53d91a1c4f99d6.js} +1 -1
- package/web/.next/static/chunks/642-dc874c8caf203ee1.js +1 -0
- package/web/.next/static/chunks/771-db19da9b1a24820c.js +1 -0
- package/web/.next/static/chunks/928-09d4a58e977641dc.js +1 -0
- package/web/.next/static/chunks/app/agents/[id]/page-9f191f25a366b26b.js +1 -0
- package/web/.next/static/chunks/app/agents/layout-71dd98d696935e29.js +1 -0
- package/web/.next/static/chunks/app/connections/page-b0ea2eae62cef74e.js +1 -0
- package/web/.next/static/chunks/app/layout-cb5af29b0742c513.js +1 -0
- package/web/.next/static/chunks/app/page-5e547e87de23d9fa.js +1 -0
- package/web/.next/static/chunks/app/resources/[id]/page-1e2afddcb1f04884.js +1 -0
- package/web/.next/static/chunks/app/resources/{page-61cccd8fdcc2f6c8.js → page-195b0af83b8ace0d.js} +1 -1
- package/web/.next/static/chunks/app/sessions/{page-85638705fdc18174.js → page-f5a98ec3eaffd7a6.js} +1 -1
- package/web/.next/static/chunks/app/types/page-c4c2b2217c4667e8.js +1 -0
- package/web/.next/static/css/f5438d03b796884e.css +1 -0
- package/web/.next/trace +30 -30
- package/web/.next/types/routes.d.ts +2 -1
- package/web/.next/types/validator.ts +9 -0
- package/web/.next/server/chunks/274.js +0 -1
- package/web/.next/server/chunks/612.js +0 -1
- package/web/.next/static/chunks/107-77dd87cc2ca4f941.js +0 -1
- package/web/.next/static/chunks/281-30e32d932b8b5a75.js +0 -1
- package/web/.next/static/chunks/350-0fe82e622e7a670f.js +0 -1
- package/web/.next/static/chunks/391-18768499e741112e.js +0 -1
- package/web/.next/static/chunks/517-b3b1c9044d2ef23c.js +0 -1
- package/web/.next/static/chunks/656-f3cc78328603241a.js +0 -1
- package/web/.next/static/chunks/705-ce86175dea00e6a9.js +0 -1
- package/web/.next/static/chunks/app/agents/[id]/page-638e12ba3cb813c3.js +0 -1
- package/web/.next/static/chunks/app/connections/page-06bd2d7d9495126a.js +0 -1
- package/web/.next/static/chunks/app/layout-fad968a635f9a4b3.js +0 -1
- package/web/.next/static/chunks/app/page-0062ebc30322b1ae.js +0 -1
- package/web/.next/static/chunks/app/resources/[id]/page-fc494e85b01e8cb7.js +0 -1
- package/web/.next/static/chunks/app/types/page-8e25f503bdcd72ad.js +0 -1
- package/web/.next/static/css/dfcaa19a8d46e60d.css +0 -1
- /package/web/.next/static/{UDA414PFPu9ZROltNmjbX → gqk-RaeJBRWW1cWGRixT2}/_buildManifest.js +0 -0
- /package/web/.next/static/{UDA414PFPu9ZROltNmjbX → gqk-RaeJBRWW1cWGRixT2}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{6261:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});let l=(0,t(74955).A)("Hexagon",[["path",{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z",key:"yt0hxn"}]])},32098:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});let l=(0,t(74955).A)("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]])},36098:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>V});var l=t(94799),o=t(41463),s=t.n(o),a=t(34023),i=t(92947),c=t(6261),r=t(77841),d=t(73784),m=t(75406),h=t(71529),u=t(14910),y=t(32098),x=t(70665);let g=(0,t(74955).A)("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var j=t(494),p=t(97356),f=t(48538),b=t(77021),v=t(3749),k=t(47890),w=t(10804),N=t(41435),C=t(1517),_=t(12646),M=t(73506),A=t(22214),z=t(69654);let S=k.hg,L=["cwd","permission","skills","prompt"];function F(e){let{colony:n,onClose:t}=e,{t:o}=(0,z.s9)(),{agents:s,skills:i,colonies:c,refresh:r}=(0,f.q5)(),d=(0,w.dj)(),[m,h]=(0,a.useState)(()=>n?{name:n.name,color:n.color,cwd:n.cwd,permission:n.permission,system_prompt:n.system_prompt,skill_ids:n.skill_ids,skill_loads:n.skill_loads,agent_ids:n.agent_ids,inherit:n.inherit}:{name:"",color:S[c.length%S.length],cwd:"",permission:"acceptEdits",system_prompt:"",skill_ids:[],skill_loads:{},agent_ids:[],inherit:{cwd:!0,permission:!0,skills:!0,prompt:!0}}),u=(0,a.useMemo)(()=>JSON.stringify(m),[]),y=JSON.stringify(m)!==u;(0,M.h)(y);let[x,g]=(0,a.useState)(!1),j=()=>{y?g(!0):t()},[b,k]=(0,a.useState)(""),[N,C]=(0,a.useState)(!1),[L,F]=(0,a.useState)(!1),[E,T]=(0,a.useState)(!1),q=(e,n)=>h(t=>({...t,[e]:n})),H=async e=>{T(!0);try{let l={...m,name:m.name.trim(),color:m.color.toLowerCase(),inherit:e};n?await v.FH.patch("/colonies/".concat(n.id),l):await v.FH.post("/colonies",l),await r(["agents","colonies"]),d(n?o("colony.saved"):o("colony.created")),t()}catch(e){C(!1),k(e instanceof Error?e.message:o("edit.saveFailed")),T(!1)}};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(w._s,{title:n?o("colony.editTitle",{name:n.name}):o("colony.newTitle"),subtitle:o("colony.subtitle"),onClose:j,footer:(0,l.jsxs)(l.Fragment,{children:[n&&(0,l.jsxs)("button",{className:"btn danger push-r",onClick:()=>F(!0),children:[(0,l.jsx)(p.A,{size:15}),o("common.delete")]}),(0,l.jsx)("button",{className:"btn ghost",onClick:j,children:o("common.cancel")}),(0,l.jsx)("button",{className:"btn primary",onClick:()=>m.name.trim()?c.some(e=>e.id!==(null==n?void 0:n.id)&&e.name.toLowerCase()===m.name.trim().toLowerCase())?void k(o("colony.err.nameTaken")):/^#[0-9a-f]{6}$/i.test(m.color)?void(k(""),C(!0)):void k(o("colony.err.color")):void k(o("colony.err.name")),children:n?o("colony.save"):o("colony.create")})]}),children:[(0,l.jsx)(w.D0,{label:o("form.name"),error:b,children:(0,l.jsx)("input",{className:"input",value:m.name,onChange:e=>q("name",e.target.value),placeholder:o("colony.name.placeholder"),"data-autofocus":!0})}),(0,l.jsx)(w.D0,{label:o("colony.color"),children:(0,l.jsxs)("div",{className:"swatches",children:[S.map(e=>(0,l.jsx)("button",{type:"button",className:"swatch",style:{"--c":e},"aria-pressed":m.color.toLowerCase()===e,"aria-label":o("colony.colorOption",{color:e}),onClick:()=>q("color",e)},e)),(0,l.jsx)("label",{className:"swatch custom ".concat(S.includes(m.color.toLowerCase())?"":"on"),style:{"--c":/^#[0-9a-f]{6}$/i.test(m.color)?m.color:"transparent"},title:o("colony.colorCustom"),children:(0,l.jsx)("input",{type:"color",value:/^#[0-9a-f]{6}$/i.test(m.color)?m.color:"#2f8f5b",onChange:e=>q("color",e.target.value),"aria-label":o("colony.colorCustom")})}),(0,l.jsx)("input",{className:"input hex-input mono",value:m.color,maxLength:7,spellCheck:!1,"aria-label":o("colony.colorHex"),placeholder:"#2f8f5b",onChange:e=>{let n=e.target.value.trim();q("color",n.startsWith("#")||!n?n:"#".concat(n))}})]})}),(0,l.jsx)(w.dR,{value:m.cwd,onChange:e=>q("cwd",e)}),(0,l.jsx)(w.en,{value:m.permission,onChange:e=>q("permission",e)}),(0,l.jsx)(w.D0,{label:o("inherit.context"),hint:o("colony.context.hint"),children:(0,l.jsx)(_.n,{value:m.system_prompt,onChange:e=>q("system_prompt",e),placeholder:o("colony.context.placeholder"),defaultView:"write",minHeight:160})}),(0,l.jsx)(w.D0,{label:o("form.skills"),children:(0,l.jsx)(w.kV,{skills:i,value:m.skill_ids,loads:m.skill_loads,onChange:(e,n)=>h({...m,skill_ids:e,skill_loads:n})})}),(0,l.jsx)(w.D0,{label:o("colony.members"),hint:o("colony.members.hint"),children:0===s.length?(0,l.jsx)("p",{className:"hint",children:o("colony.members.empty")}):(0,l.jsx)(A.C,{value:m.agent_ids,onChange:e=>q("agent_ids",e),items:s.map(e=>{let t=e.colony_id&&e.colony_id!==(null==n?void 0:n.id)?c.find(n=>n.id===e.colony_id):null;return{id:e.id,name:e.name,note:t?o("colony.currentlyIn",{name:t.name}):e.description||o("role.".concat(e.role))}})})})]}),N&&(0,l.jsx)(D,{draft:m,colony:n,members:s.filter(e=>m.agent_ids.includes(e.id)),busy:E,onBack:()=>C(!1),onConfirm:H}),x&&(0,l.jsx)(w.TM,{danger:!0,title:o("fa.unsaved.title"),body:o("fa.unsaved.body"),confirmLabel:o("fa.unsaved.discard"),cancelLabel:o("fa.unsaved.keep"),onClose:()=>g(!1),onConfirm:t}),L&&n&&(0,l.jsx)(w.TM,{title:o("colony.deleteTitle",{name:n.name}),body:o("colony.deleteBody",{count:n.agent_ids.length}),danger:!0,confirmLabel:o("colony.delete"),cancelLabel:o("colony.keep"),onClose:()=>F(!1),onConfirm:async()=>{await v.FH.del("/colonies/".concat(n.id)),await r(["agents","colonies"]),d(o("colony.deleted")),t()}})]})}function D(e){let{draft:n,colony:t,members:o,busy:s,onBack:i,onConfirm:c}=e,{t:r}=(0,z.s9)(),d={cwd:!!n.cwd,permission:!0,skills:n.skill_ids.length>0,prompt:!!n.system_prompt.trim()},[m,h]=(0,a.useState)(()=>({cwd:(!t||t.inherit.cwd)&&d.cwd,permission:!t||t.inherit.permission,skills:(!t||t.inherit.skills)&&d.skills,prompt:(!t||t.inherit.prompt)&&d.prompt})),u=(0,a.useMemo)(()=>m.cwd&&n.cwd&&o.filter(e=>!e.overrides.includes("cwd")&&e.effective.cwd!==n.cwd).length,[m.cwd,n.cwd,o]);return(0,l.jsxs)(w.aF,{title:r("inheritAsk.title"),onClose:i,children:[(0,l.jsx)("p",{className:"muted small m0",children:r("inheritAsk.intro")}),(0,l.jsx)("div",{className:"col gap-s",children:L.map(e=>(0,l.jsx)(w.Tl,{disabled:!d[e],checked:m[e],onChange:n=>h(t=>({...t,[e]:n})),label:(0,l.jsxs)(l.Fragment,{children:[r("inheritAsk.field.".concat(e)),"cwd"===e&&n.cwd?(0,l.jsxs)("span",{className:"muted mono fw-400",children:[" \xb7 ",(0,k._1)(n.cwd)]}):null,"permission"===e?(0,l.jsxs)("span",{className:"muted fw-400",children:[" \xb7 ",(0,k.Ck)(n.permission)]}):null]}),hint:d[e]?r("inheritAsk.hint.".concat(e)):r("inheritAsk.empty.".concat(e))},e))}),u?(0,l.jsx)(w.lZ,{kind:"honey",children:r("inheritAsk.folderMoves",{count:Number(u)})}):null,(0,l.jsxs)("div",{className:"row push-end",children:[(0,l.jsx)("button",{className:"btn ghost",onClick:i,children:r("common.back")}),(0,l.jsx)("button",{className:"btn primary",disabled:s,onClick:()=>c(m),children:s?r("common.saving"):t?r("colony.save"):r("colony.create")})]})]})}var E=t(5300),T=t(89128);function q(e){let{agent:n,onClose:t}=e,{t:o}=(0,z.s9)(),s=(0,T.A)(n,{onSaved:t,onDeleted:t,onCloned:t});return s.draft?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(w._s,{title:o("edit.title",{name:n.name}),subtitle:o("running"===n.status?"edit.subtitleRunning":"edit.subtitleIdle"),onClose:t,footer:s.actions({onCancel:t}),children:(0,l.jsx)(E.SU,{draft:s.draft,onChange:s.setDraft,errors:s.errors,selfId:n.id})}),s.deleteModal,s.cloneModal]}):null}var H=t(48776),O=t(80696),I=t(37165),B=t(5372),W=t(31606),K=t(95587),R=t(74988);let P=74*Math.sqrt(3),J=[[1,0],[1,-1],[0,-1],[-1,0],[-1,1],[0,1]],G=e=>{let[n,t]=e;return{x:P*(n+t/2),y:111*t}},U=(e,n,t)=>Array.from({length:6},(l,o)=>{let s=(60*o-30)*Math.PI/180;return"".concat((e+t*Math.cos(s)).toFixed(1),",").concat((n+t*Math.sin(s)).toFixed(1))}).join(" ");function V(){var e,n,t;let{t:o}=(0,z.s9)(),{agents:_,colonies:M,objects:A,dispatches:S,ready:L,error:D,retry:E,refresh:T}=(0,f.q5)(),V=(0,w.dj)(),[X,Y]=(0,a.useState)(null),[$,Z]=(0,a.useState)(null),[Q,ee]=(0,a.useState)(null),[en,et]=(0,a.useState)(null),[el,eo]=(0,a.useState)(null),[es,ea]=(0,a.useState)(null),[ei,ec]=(0,b.ud)("hive-colony-layout",{}),[er,ed]=(0,a.useState)(null),[em,eh]=(0,b.ud)("hive-colony-zoom",1),eu=em>=.4&&em<=2.5?em:1,ey=e=>eh(Math.min(2.5,Math.max(.4,Math.round(100*e)/100))),ex=(0,a.useMemo)(()=>er?{...ei,[er.key]:{x:er.x,y:er.y}}:ei,[ei,er]),{clusters:eg,width:ej,height:ep}=(0,a.useMemo)(()=>(function(e,n,t){let l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e=>!!e&&n.some(n=>n.id===e),s=n.map(n=>({key:n.id,colony:n,members:e.filter(e=>e.colony_id===n.id),things:t.filter(e=>e.colony_id===n.id)}));s.push({key:"free",colony:null,members:e.filter(e=>!o(e.colony_id)),things:t.filter(e=>!o(e.colony_id))});let a=[],i=0,c=0,r=0;for(let n of s){if(!n.members.length&&!n.things.length&&!n.colony&&e.length+t.length>0)continue;let o=function(e){let n=e.filter(e=>"orchestrator"===e.role);for(let t of[...n])for(let l of t.worker_ids){let t=e.find(e=>e.id===l);t&&!n.includes(t)&&n.push(t)}for(let t of e)n.includes(t)||n.push(t);return n}(n.members),s=(function(e){let n=[[0,0]];for(let t=1;n.length<e;t++){let e=J[4][0]*t,l=J[4][1]*t;for(let o=0;o<6;o++)for(let s=0;s<t;s++)n.push([e,l]),e+=J[o][0],l+=J[o][1]}return n.slice(0,e)})(o.length+n.things.length+1).map(G),d=Math.min(...s.map(e=>e.x))-P/2,m=Math.max(...s.map(e=>e.x))+P/2,h=Math.min(...s.map(e=>e.y))-74,u=Math.max(...s.map(e=>e.y))+74,y=m-d+52,x=u-h+52+50,g=n.colony?l[n.key]:void 0;!g&&i>0&&i+y>880&&(i=0,c+=r+36,r=0);let j=g?g.x:i,p=g?g.y:c,f=s.map((e,t)=>{var s,a,i;let c=null!=(a=o[t])?a:null,r=n.things[t-o.length],m=n.colony?void 0:l[null!=(i=null==(s=null!=c?c:r)?void 0:s.id)?i:""];return{agent:c,object:r,x:m?m.x:j+(e.x-d)+26,y:m?m.y:p+(e.y-h)+26+50}});a.push({key:n.key,colony:n.colony,cells:f,x:j,y:p,w:y,h:x}),g||(i+=y+36,r=Math.max(r,x))}let d=0,m=0;for(let e of a)if(e.colony)d=Math.max(d,e.x+e.w),m=Math.max(m,e.y+e.h);else for(let n of e.cells)d=Math.max(d,n.x+P/2+26),m=Math.max(m,n.y+74+26);return{clusters:a,width:d,height:m}})(_,M,A,ex),[_,M,A,ex]),ef=(0,a.useRef)(null),[eb,ev]=(0,a.useState)(0);(0,a.useEffect)(()=>{let e=ef.current;if(!e)return;let n=new ResizeObserver(()=>ev(e.clientWidth));return n.observe(e),ev(e.clientWidth),()=>n.disconnect()},[L,0===_.length]);let ek=(0,a.useRef)(eu);ek.current=eu,(0,a.useEffect)(()=>{let e=ef.current;if(!e)return;let n=e=>{(e.ctrlKey||e.metaKey)&&(e.preventDefault(),ey(ek.current*(e.deltaY<0?1.1:1/1.1)))};return e.addEventListener("wheel",n,{passive:!1}),()=>e.removeEventListener("wheel",n)},[L]);let ew=ej+80,eN=ep+80,eC=(eb?Math.min(1,(eb-24)/ew):1)*eu,e_=(0,a.useRef)(null),eM=(0,a.useRef)(!1),eA=function(e,n,t,l){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{x:0,y:0};if(0===e.button){e_.current={key:n,sx:e.clientX,sy:e.clientY,ox:t,oy:l,min:o,moved:!1};try{e.currentTarget.setPointerCapture(e.pointerId)}catch(e){}}},ez=e=>{let n=e_.current;if(!n)return;let t=(e.clientX-n.sx)/eC,l=(e.clientY-n.sy)/eC;!n.moved&&Math.hypot(t,l)*eC<6||(n.moved=!0,n.last={x:Math.max(n.min.x,n.ox+t),y:Math.max(n.min.y,n.oy+l)},ed({key:n.key,...n.last}))},eS=()=>{let e=e_.current;e_.current=null,(null==e?void 0:e.moved)&&e.last&&(eM.current=!0,setTimeout(()=>{eM.current=!1},0),ec({...ei,[e.key]:e.last}),ed(null))},eL=function(e,n,t,l){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{x:0,y:0},s={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]}[e.key];if(!s||e.altKey||e.ctrlKey||e.metaKey)return;e.preventDefault();let a=e.shiftKey?64:16;ec({...ei,[n]:{x:Math.max(o.x,t+s[0]*a),y:Math.max(o.y,l+s[1]*a)}})},eF=(e,n,t,l)=>({onPointerDown:o=>eA(o,e,n,t,l),onPointerMove:ez,onPointerUp:eS,onPointerCancel:eS}),eD=new Map;for(let e of eg)for(let n of e.cells)n.agent&&eD.set(n.agent.id,{x:n.x+40,y:n.y+40}),n.object&&eD.set(n.object.id,{x:n.x+40,y:n.y+40});let eE=A.filter(e=>"cluster"===e.kind).flatMap(e=>e.config.members.map(n=>({from:e.id,to:n}))),eT=A.filter(e=>e.manager_id&&eD.has(e.manager_id)&&eD.has(e.id)).map(e=>({from:e.manager_id,to:e.id})),eq=e=>A.filter(n=>n.manager_id===e),eH=e=>{var n;return e.cloned_from?null==(n=_.find(n=>n.id===e.cloned_from))?void 0:n.name:void 0},[eO,eI]=(0,a.useState)(null),[eB,eW]=(0,a.useState)(null),eK=null!=(e=_.find(e=>e.id===X))?e:null,eR=null!=(n=A.find(e=>e.id===X))?n:null,[eP,eJ]=(0,a.useState)(null);(0,a.useLayoutEffect)(()=>{eJ(X?document.querySelector('[data-sid="'.concat(X,'"]')):null)},[X,_.length,A.length]),(0,a.useEffect)(()=>{if(!X)return;let e=e=>{"Escape"!==e.key||document.querySelector('[role="dialog"]')||Y(null)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[X]);let eG=null!=$?$:X,eU=_.filter(e=>"orchestrator"===e.role).flatMap(e=>e.worker_ids.map(n=>({from:e.id,to:n}))),eV=new Set(eG?[eG,...[...eU,...eE,...eT].filter(e=>e.from===eG||e.to===eG).flatMap(e=>[e.from,e.to])]:[]),eX=e=>_.filter(n=>"orchestrator"===n.role&&n.worker_ids.includes(e)),eY=_.filter(e=>"running"===e.status).length,e$=A.filter(e=>"running"===e.state.status).length,eZ=_.filter(e=>"orchestrator"===e.role).length,eQ=e=>{var n,t;return null!=(t=null==(n=_.find(n=>n.id===e))?void 0:n.name)?t:o("colony.removedAgent")},e0=S.filter(e=>"running"===e.status).length,e1=[{id:"agents",n:_.length,label:o("stat.agents",{count:_.length}),href:"/agents"},{id:"colonies",n:M.length,label:o("stat.colonies",{count:M.length})},{id:"objects",n:A.length,label:o("stat.objects",{count:A.length}),href:"/resources",title:A.length?o("obj.running",{count:e$}):void 0},{id:"queens",n:eZ,label:o("stat.orchestrators",{count:eZ}),href:"/agents"},{id:"working",n:eY,label:o("stat.working"),href:"/agents"},{id:"tasks",n:e0,label:o("stat.tasks"),href:"#recent"}],e4=eK?M.find(e=>e.id===eK.colony_id):void 0,e2=async(e,n)=>{try{var t,l;await v.FH.patch("/agents/".concat(e.id),{colony_id:n||null,overrides:[]}),await T(["agents","colonies"]),V(n?o("colony.joined",{name:e.name,colony:null!=(l=null==(t=M.find(e=>e.id===n))?void 0:t.name)?l:""}):o("colony.left",{name:e.name}))}catch(e){V(e instanceof Error?e.message:o("colony.moveFailed"),"err")}};return(0,l.jsxs)("div",{className:"page",children:[(0,l.jsxs)("div",{className:"page-head",children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"row gap-s",children:[(0,l.jsx)("h1",{children:o("nav.colony")}),(0,l.jsx)(I.B,{label:o("colony.helpLabel"),title:o("colony.howTitle"),children:o("colony.howBody")})]}),(0,l.jsx)("p",{children:o("colony.page.subtitle")})]}),(0,l.jsx)("div",{className:"cx-head-actions",children:(0,l.jsx)(N.W1,{label:o("cx.new"),icon:(0,l.jsx)(i.A,{size:14}),children:e=>(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(N.Dr,{icon:(0,l.jsx)(c.A,{size:15}),onClick:()=>{e(),ee({})},children:o("newAgent.title")}),(0,l.jsx)(N.Dr,{icon:(0,l.jsx)(r.A,{size:15}),onClick:()=>{e(),et("new")},children:o("colony.newTitle")}),(0,l.jsx)(N.Dr,{icon:(0,l.jsx)(d.A,{size:15}),onClick:()=>{e(),ea({})},children:o("obj.new")})]})})})]}),(0,l.jsx)("div",{className:"stats",children:e1.map(e=>{let n=(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("b",{children:e.n}),(0,l.jsx)("span",{children:e.label})]});return e.href?(0,l.jsx)(s(),{href:e.href,className:"card stat",title:e.title,"aria-label":"".concat(e.n," ").concat(e.label,". ").concat(o("cx.stat.open",{label:e.label})),children:n},e.id):(0,l.jsx)("div",{className:"card stat",title:e.title,children:n},e.id)})}),(0,l.jsxs)("div",{className:"colony",children:[(0,l.jsxs)("div",{className:"comb-wrap",ref:ef,children:[L?0===_.length&&0===M.length&&0===A.length?(0,l.jsx)("div",{className:"comb-empty-wrap",children:(0,l.jsx)(w.pp,{icon:(0,l.jsx)(w._h,{size:"lg",queen:!0,label:"+"}),title:o("colony.empty.title"),body:o("colony.empty.body"),action:(0,l.jsxs)("div",{className:"row",children:[(0,l.jsxs)("button",{className:"btn",onClick:()=>et("new"),children:[(0,l.jsx)(i.A,{size:16}),o("colony.empty.createColony")]}),(0,l.jsxs)("button",{className:"btn primary",onClick:()=>ee({}),children:[(0,l.jsx)(i.A,{size:16}),o("colony.empty.createAgent")]})]})})}):(0,l.jsx)("div",{className:"comb-box",style:{width:ew*eC,height:eN*eC},children:(0,l.jsxs)("div",{className:"comb",style:{width:ew,height:eN,transform:"scale(".concat(eC,")"),transformOrigin:"0 0","--w":"".concat(.9*P,"px"),"--h":"".concat(133.20000000000002,"px")},children:[(0,l.jsx)("svg",{className:"links",width:ew,height:eN,children:eg.filter(e=>e.colony).map(e=>{let n=e.colony.color||"var(--honey)";return(0,l.jsxs)("g",{children:[e.cells.map((e,t)=>(0,l.jsx)("polygon",{points:U(e.x+40,e.y+40,74),style:{fill:n,stroke:n},strokeWidth:44,strokeLinejoin:"round"},"o"+t)),e.cells.map((e,t)=>(0,l.jsx)("polygon",{points:U(e.x+40,e.y+40,74),style:{fill:"color-mix(in srgb, ".concat(n," 9%, var(--surface))"),stroke:"color-mix(in srgb, ".concat(n," 9%, var(--surface))")},strokeWidth:38,strokeLinejoin:"round"},"i"+t))]},e.key)})}),eg.map(e=>(0,l.jsxs)("div",{children:[e.colony?(0,l.jsxs)("button",{className:"colony-label draggable ".concat((null==er?void 0:er.key)===e.key?"dragging":""),style:{left:e.x+e.w/2+40,top:e.y+50-10+40,"--c":e.colony.color||"var(--honey)"},...eF(e.key,e.x,e.y),onKeyDown:n=>eL(n,e.key,e.x,e.y),onClick:()=>{eM.current||et(e.colony)},title:"".concat(e.colony.cwd?o("colony.editHover",{path:(0,k._1)(e.colony.cwd)}):o("colony.editHoverShort")," \xb7 ").concat(o("colony.dragHint")," \xb7 ").concat(o("cx.moveHint")),children:[(0,l.jsx)("i",{className:"cdot"}),e.colony.name,(0,l.jsx)("small",{children:o("colony.agentCount",{count:e.cells.filter(e=>e.agent).length})}),(0,l.jsx)(r.A,{size:13,className:"muted"})]}):M.length>0&&e.cells.some(e=>e.agent)?(0,l.jsx)("span",{className:"colony-label cx-unplaced",style:{left:e.x+e.w/2+40,top:e.y+50-10+40},children:(0,l.jsx)("small",{children:o("common.noColony")})}):null,e.cells.map((n,t)=>{let s=n.agent,a={left:n.x+40,top:n.y+40},c=n.object;if(c){let{icon:t,color:s}=R.Nd[c.kind];return(0,l.jsxs)("button",{"data-sid":c.id,className:"cell fill obj st-".concat(c.state.status," ").concat("running"===c.state.status?"running":""," ").concat(eG&&!eV.has(c.id)?"dim":""," ").concat(eG&&eV.has(c.id)&&c.id!==eG?"linked":""," ").concat(e.colony?"":"draggable"),style:{...a,"--c":s},"aria-pressed":X===c.id,onMouseEnter:()=>Z(c.id),onMouseLeave:()=>Z(null),onFocus:()=>Z(c.id),onBlur:()=>Z(null),...e.colony?{}:{...eF(c.id,n.x,n.y,{x:P/2,y:74}),onKeyDown:e=>eL(e,c.id,n.x,n.y,{x:P/2,y:74})},onClick:()=>{eM.current||Y(c.id===X?null:c.id)},"aria-label":"".concat(c.name,", ").concat(o("obj.kind.".concat(c.kind)),", ").concat(o("obj.status.".concat(c.state.status))),title:c.state.detail?"".concat(o("obj.status.".concat(c.state.status)),": ").concat(c.state.detail):o("obj.status.".concat(c.state.status)),children:[(0,l.jsx)("span",{className:"shape"}),(0,l.jsxs)("span",{className:"label",children:[(0,l.jsx)(t,{size:16}),(0,l.jsx)("b",{children:c.name}),(0,l.jsx)("small",{children:o("obj.status.".concat(c.state.status))})]}),(0,l.jsx)("span",{className:"pip o-".concat(c.state.status)}),c.manager_id&&(0,l.jsxs)("span",{className:"ltag top mgr",title:o("colony.managedBy",{name:eQ(c.manager_id)}),children:["⚙ ",eQ(c.manager_id)]})]},c.id)}return s?(0,l.jsxs)("button",{"data-sid":s.id,className:"cell fill ".concat("orchestrator"===s.role?"queen":""," ").concat("running"===s.status?"running":""," ").concat(eG&&!eV.has(s.id)?"dim":""," ").concat(eG&&eV.has(s.id)&&s.id!==eG?"linked":""," ").concat(e.colony?"":"draggable"),onMouseEnter:()=>Z(s.id),onMouseLeave:()=>Z(null),onFocus:()=>Z(s.id),onBlur:()=>Z(null),style:{...a,"--c":k.xq[s.provider].color},"aria-pressed":X===s.id,...e.colony?{}:{...eF(s.id,n.x,n.y,{x:P/2,y:74}),onKeyDown:e=>eL(e,s.id,n.x,n.y,{x:P/2,y:74}),title:o("cx.moveHint")},onClick:()=>{eM.current||Y(s.id===X?null:s.id)},"aria-label":"".concat(s.name,", ").concat(o("role.".concat(s.role)),", ").concat(k.xq[s.provider].short,", ").concat(o("status.".concat(s.status))),children:[(0,l.jsx)("span",{className:"shape"}),(0,l.jsxs)("span",{className:"label",children:[(0,l.jsx)("b",{children:s.name}),(0,l.jsx)("small",{children:k.xq[s.provider].short})]}),"idle"!==s.status&&(0,l.jsx)("span",{className:"pip ".concat("error"===s.status?"err":"")}),(eq(s.id).length>0||eH(s))&&(0,l.jsxs)("span",{className:"ltag top ".concat(eq(s.id).length>0?"mgr":"clone"),title:[eH(s)?o("agent.cloneOf",{name:eH(s)}):"",eq(s.id).length>0?o("colony.manages",{names:eq(s.id).map(e=>e.name).join(", ")}):""].filter(Boolean).join(" \xb7 "),children:[eH(s)?"⧉ ".concat(eH(s)):"",eH(s)&&eq(s.id).length>0?" \xb7 ":"",eq(s.id).length>0?"⚙ ".concat(1===eq(s.id).length?eq(s.id)[0].name:eq(s.id).length):""]}),("orchestrator"===s.role?s.worker_ids.length>0:eX(s.id).length>0)&&(0,l.jsx)("span",{className:"ltag",title:"orchestrator"===s.role?o("colony.delegatesTo",{count:s.worker_ids.length}):o("colony.connectedTo",{names:eX(s.id).map(e=>e.name).join(", ")}),children:"orchestrator"===s.role?"↓ ".concat(s.worker_ids.length):"↑ ".concat(1===eX(s.id).length?eX(s.id)[0].name:eX(s.id).length)})]},s.id):(0,l.jsxs)("button",{className:"cell ghost",style:a,onClick:()=>{var n;return ee({colonyId:null==(n=e.colony)?void 0:n.id})},"aria-label":e.colony?o("colony.addTo",{name:e.colony.name}):o("colony.addAgent"),children:[(0,l.jsx)("svg",{className:"ghost-hex",viewBox:"0 0 100 115",preserveAspectRatio:"none","aria-hidden":!0,children:(0,l.jsx)("polygon",{points:"50,2 98,29 98,86 50,113 2,86 2,29"})}),(0,l.jsxs)("span",{className:"label",children:[(0,l.jsx)(i.A,{size:18}),o("colony.addAgent")]})]},e.key+"g"+t)})]},e.key+"l")),(0,l.jsxs)("svg",{className:"links top",width:ew,height:eN,"aria-hidden":!0,children:[eU.filter(e=>!!eG&&(e.from===eG||e.to===eG)).map(e=>{var n;let t=eD.get(e.from),o=eD.get(e.to);if(!t||!o)return null;let s=o.x-t.x,a=o.y-t.y,i=Math.hypot(s,a)||1,c=s/i,r=a/i,d=t.x+45.88*c,m=t.y+45.88*r,h=o.x-45.88*c,u=o.y-45.88*r,y=(null==(n=_.find(n=>n.id===e.to))?void 0:n.status)==="running",x=!!eG&&(e.from===eG||e.to===eG),g=!!eG&&!x;return(0,l.jsxs)("g",{opacity:g?.18:1,children:[(0,l.jsx)("line",{x1:d,y1:m,x2:h,y2:u,stroke:"var(--surface)",strokeWidth:x?8:5,strokeLinecap:"round",opacity:.85}),(0,l.jsx)("line",{x1:d,y1:m,x2:h,y2:u,stroke:"var(--honey)",strokeWidth:x?3.5:2.2,strokeDasharray:y?"7 6":x?void 0:"1 6",strokeLinecap:"round",children:y&&(0,l.jsx)("animate",{attributeName:"stroke-dashoffset",from:"26",to:"0",dur:"0.8s",repeatCount:"indefinite"})}),(0,l.jsx)("circle",{cx:h,cy:u,r:x?5.5:4,fill:"var(--honey)",stroke:"var(--surface)",strokeWidth:2})]},e.from+e.to)}),[...eE.map(e=>({...e,kind:"cluster"})),...eT.map(e=>({...e,kind:"manager"}))].filter(e=>!!eG&&(e.from===eG||e.to===eG)).map(e=>{let n=eD.get(e.from),t=eD.get(e.to);if(!n||!t)return null;let o=t.x-n.x,s=t.y-n.y,a=Math.hypot(o,s)||1,i=o/a,c=s/a,r="cluster"===e.kind?k.Ng:"var(--link-manager)";return(0,l.jsxs)("g",{children:[(0,l.jsx)("line",{x1:n.x+45.88*i,y1:n.y+45.88*c,x2:t.x-45.88*i,y2:t.y-45.88*c,stroke:"var(--surface)",strokeWidth:8,strokeLinecap:"round",opacity:.9}),(0,l.jsx)("line",{x1:n.x+45.88*i,y1:n.y+45.88*c,x2:t.x-45.88*i,y2:t.y-45.88*c,stroke:r,strokeWidth:3,strokeDasharray:"cluster"===e.kind?"3 5":"8 5",strokeLinecap:"round"}),(0,l.jsx)("circle",{cx:t.x-45.88*i,cy:t.y-45.88*c,r:5,fill:r,stroke:"var(--surface)",strokeWidth:2})]},e.kind+e.from+e.to)})]})]})}):D?(0,l.jsx)("div",{className:"comb-skel",children:(0,l.jsx)(w.lZ,{kind:"err",children:(0,l.jsxs)("div",{className:"row gap-s wrap",children:[(0,l.jsxs)("span",{className:"grow",children:[o("cx.loadFailed")," ",D]}),(0,l.jsx)("button",{className:"btn sm",onClick:()=>void E(),children:o("cx.retry")})]})})}):(0,l.jsxs)("div",{className:"comb-skel",role:"status","aria-label":o("cx.loading"),children:[(0,l.jsx)("div",{className:"skel",style:{width:220,height:190}}),(0,l.jsxs)("div",{className:"row gap-l",children:[(0,l.jsx)("div",{className:"skel",style:{width:150,height:130}}),(0,l.jsx)("div",{className:"skel",style:{width:150,height:130}})]})]}),(0,l.jsxs)("div",{className:"comb-zoom",role:"group","aria-label":o("colony.zoom"),children:[Object.keys(ei).length>0&&(0,l.jsx)("button",{className:"btn ghost icon sm",onClick:()=>ec({}),title:o("colony.layout.reset"),"aria-label":o("colony.layout.reset"),children:(0,l.jsx)(m.A,{size:14})}),(0,l.jsx)("button",{className:"btn ghost icon sm",onClick:()=>ey(eu/1.2),disabled:eu<=.4,title:o("colony.zoom.out"),"aria-label":o("colony.zoom.out"),children:(0,l.jsx)(h.A,{size:14})}),(0,l.jsxs)("button",{className:"btn ghost sm zoom-pct",onClick:()=>ey(1),title:o("colony.zoom.fit"),"aria-label":o("colony.zoom.fit"),children:[Math.round(100*eu),"%"]}),(0,l.jsx)("button",{className:"btn ghost icon sm",onClick:()=>ey(1.2*eu),disabled:eu>=2.5,title:o("colony.zoom.in"),"aria-label":o("colony.zoom.in"),children:(0,l.jsx)(i.A,{size:14})}),(0,l.jsx)("button",{className:"btn ghost icon sm",onClick:()=>ey(1),title:o("colony.zoom.fit"),"aria-label":o("colony.zoom.fit"),children:(0,l.jsx)(u.A,{size:14})})]}),(0,l.jsxs)("div",{className:"comb-legend",children:[Object.keys(k.xq).map(e=>(0,l.jsxs)("span",{className:"pbadge",style:{"--c":k.xq[e].color},children:[(0,l.jsx)("i",{}),k.xq[e].short]},e)),(0,l.jsxs)("span",{className:"pbadge",style:{"--c":"var(--honey)"},children:[(0,l.jsx)("i",{}),o("role.orchestrator")]})]})]}),eR?(0,l.jsx)(W.wl,{object:eR,target:eP,onClose:()=>Y(null),onCreateManager:()=>{var e;return ee({colonyId:null!=(e=eR.colony_id)?e:void 0,manager:!0,objectId:eR.id})}},eR.id):eK?(0,l.jsxs)(B.rs,{target:eP,pinned:!0,width:340,label:eK.name,onClose:()=>Y(null),children:[(0,l.jsxs)("div",{className:"ap-corner row gap-s",children:[(0,l.jsx)("button",{className:"btn ghost icon sm",onClick:()=>eo(eK.id),"aria-label":o("colony.settingsFor",{name:eK.name}),title:o("colony.agentSettings"),children:(0,l.jsx)(y.A,{size:16})}),(0,l.jsx)("button",{className:"btn ghost icon sm",onClick:()=>Y(null),"aria-label":o("common.close"),title:"".concat(o("common.close")," (Esc)"),children:(0,l.jsx)(x.A,{size:16})})]}),(0,l.jsx)(B.kh,{agent:eK,hideColony:!0}),(0,l.jsxs)("div",{className:"field ap-pin-field",children:[(0,l.jsx)("label",{children:o("form.colony")}),(0,l.jsxs)("select",{className:"select",value:null!=(t=null==e4?void 0:e4.id)?t:"",onChange:e=>void e2(eK,e.target.value),children:[(0,l.jsx)("option",{value:"",children:o("common.noColony")}),M.map(e=>(0,l.jsx)("option",{value:e.id,children:e.name},e.id))]})]}),(0,l.jsxs)("div",{className:"row ap-pin-actions",children:[(0,l.jsxs)(s(),{className:"btn primary grow",href:"/agents/".concat(eK.id),children:[o("colony.openChat")," ",(0,l.jsx)(g,{size:16})]}),(0,l.jsx)("button",{className:"btn icon",onClick:()=>eW(eK.id),"aria-label":o("agent.clone"),title:o("agent.clone.hint"),children:(0,l.jsx)(j.A,{size:16})}),(0,l.jsx)("button",{className:"btn danger icon",onClick:()=>eI(eK.id),"aria-label":o("agent.delete"),title:o("agent.delete"),children:(0,l.jsx)(p.A,{size:16})})]})]},eK.id):null]}),(0,l.jsxs)("div",{className:"card card-pad recent",id:"recent",children:[(0,l.jsx)("div",{className:"eyebrow recent-head",children:o("colony.recent")}),0===S.length?(0,l.jsx)("p",{className:"muted small m0",children:o("colony.recentEmpty")}):(0,l.jsx)("div",{className:"recent-grid",children:S.slice(0,6).map(e=>(0,l.jsxs)("div",{className:"feed-item",children:[(0,l.jsx)("i",{className:"dot ".concat("running"===e.status?"run":"done"===e.status?"ok":"err")}),(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"feed-line",children:[_.some(n=>n.id===e.from_id)?(0,l.jsx)(s(),{href:"/agents/".concat(e.from_id),"aria-label":o("cx.openAgent",{name:eQ(e.from_id)}),children:eQ(e.from_id)}):(0,l.jsx)("b",{children:eQ(e.from_id)})," → ",_.some(n=>n.id===e.to_id)?(0,l.jsx)(s(),{href:"/agents/".concat(e.to_id),"aria-label":o("cx.openAgent",{name:eQ(e.to_id)}),children:eQ(e.to_id)}):(0,l.jsx)("b",{children:eQ(e.to_id)})]}),(0,l.jsx)("div",{className:"muted small ellipsis",children:e.task}),(0,l.jsx)("div",{className:"muted feed-when",children:(0,k.KN)(e.created_at)})]})]},e.id))})]}),eB&&_.find(e=>e.id===eB)&&(0,l.jsx)(O.y,{agent:_.find(e=>e.id===eB),onClose:()=>eW(null),onCloned:e=>Y(e.id)}),eO&&_.find(e=>e.id===eO)&&(0,l.jsx)(H.G,{agent:_.find(e=>e.id===eO),onClose:()=>eI(null),onDeleted:()=>Y(null)}),Q&&(0,l.jsx)(C.bC,{presetColonyId:Q.colonyId,presetObjectId:Q.objectId,manager:Q.manager,onClose:()=>ee(null),onCreated:e=>Y(e)}),el&&_.find(e=>e.id===el)&&(0,l.jsx)(q,{agent:_.find(e=>e.id===el),onClose:()=>eo(null)},el),es&&(0,l.jsx)(K.X,{presetColonyId:es.colonyId,onClose:()=>ea(null),onSaved:e=>Y(e)}),en&&(0,l.jsx)(F,{colony:"new"===en?void 0:en,onClose:()=>et(null)})]})}},48776:(e,n,t)=>{"use strict";t.d(n,{G:()=>r});var l=t(94799),o=t(34023),s=t(10804),a=t(48538),i=t(3749),c=t(69654);function r(e){let{agent:n,onClose:t,onDeleted:r}=e,{t:d}=(0,c.s9)(),{refresh:m}=(0,a.zd)(),h=(0,s.dj)(),[u,y]=(0,o.useState)([]);return(0,o.useEffect)(()=>{let e=!1;return i.FH.get("/agents/".concat(n.id,"/notebook")).then(n=>{var t;e||y((null!=(t=n.shared_with)?t:[]).map(e=>e.name))}).catch(()=>void 0),()=>{e=!0}},[n.id]),(0,l.jsx)(s.TM,{title:d("agent.deleteTitle",{name:n.name}),body:u.length?d("agent.deleteBody.shared",{names:u.join(", ")}):d("agent.deleteBody"),danger:!0,confirmLabel:d("agent.delete"),cancelLabel:d("agent.keep"),onClose:t,onConfirm:async()=>{await i.FH.del("/agents/".concat(n.id)),await m(["agents","colonies"]),h(d("agent.deleted")),null==r||r()}})}},75406:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});let l=(0,t(74955).A)("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]])},77701:(e,n,t)=>{Promise.resolve().then(t.bind(t,36098))},80696:(e,n,t)=>{"use strict";t.d(n,{y:()=>d});var l=t(94799),o=t(34023),s=t(494),a=t(3749),i=t(48538),c=t(69654),r=t(10804);function d(e){var n;let{agent:t,onClose:d,onCloned:m}=e,{t:h}=(0,c.s9)(),{agents:u,colonies:y}=(0,i.q5)(),{refresh:x}=(0,i.zd)(),g=(0,r.dj)(),[j,p]=(0,o.useState)(()=>((e,n)=>{for(let t=2;;t++){let l="".concat(e," ").concat(t);if(!n.has(l.toLowerCase()))return l}})(t.name,new Set(u.map(e=>e.name.toLowerCase())))),[f,b]=(0,o.useState)(null!=(n=t.colony_id)?n:""),[v,k]=(0,o.useState)(!1),[w,N]=(0,o.useState)(""),C=u.some(e=>e.name.toLowerCase()===j.trim().toLowerCase()),_=async()=>{k(!0),N("");try{let e=await a.FH.post("/agents/".concat(t.id,"/clone"),{name:j.trim(),colony_id:f||null});await x(["agents","colonies"]),g(h("agent.cloned",{name:e.name})),null==m||m(e),d()}catch(e){N(e instanceof Error?e.message:String(e)),k(!1)}};return(0,l.jsxs)(r.aF,{title:h("agent.clone.title",{name:t.name}),onClose:d,children:[(0,l.jsx)(r.D0,{label:h("agent.clone.name"),error:C?h("agent.clone.taken"):w,children:(0,l.jsx)("input",{className:"input",value:j,autoFocus:!0,onChange:e=>p(e.target.value),onKeyDown:e=>{"Enter"===e.key&&j.trim()&&!C&&!v&&_()}})}),(0,l.jsx)(r.D0,{label:h("form.colony"),children:(0,l.jsxs)("select",{className:"select",value:f,onChange:e=>b(e.target.value),children:[(0,l.jsx)("option",{value:"",children:h("common.noColony")}),y.map(e=>(0,l.jsx)("option",{value:e.id,children:e.name},e.id))]})}),(0,l.jsxs)("ul",{className:"muted small clone-facts",children:[(0,l.jsx)("li",{children:h("agent.clone.parallel",{name:t.name})}),(0,l.jsx)("li",{children:h("agent.clone.config")}),(0,l.jsx)("li",{children:h("agent.clone.notebook",{name:t.name})}),(0,l.jsx)("li",{children:h("agent.clone.notBring",{name:t.name})})]}),(0,l.jsxs)("div",{className:"row",style:{justifyContent:"flex-end"},children:[(0,l.jsx)("button",{className:"btn ghost",onClick:d,children:h("common.cancel")}),(0,l.jsxs)("button",{className:"btn primary",disabled:!j.trim()||C||v,onClick:()=>void _(),children:[(0,l.jsx)(s.A,{size:14}),v?h("agent.clone.working"):h("agent.clone")]})]})]})}},89128:(e,n,t)=>{"use strict";t.d(n,{A:()=>x});var l=t(94799),o=t(34023),s=t(97356),a=t(494),i=t(10804),c=t(5300),r=t(48776),d=t(80696),m=t(48538),h=t(73506),u=t(3749),y=t(69654);function x(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{t}=(0,y.s9)(),{agents:x,colonies:g,objects:j,refresh:p}=(0,m.q5)(),f=(0,i.dj)(),b=(0,o.useMemo)(()=>e?j.filter(n=>n.manager_id===e.id).map(e=>e.id).sort():[],[j,null==e?void 0:e.id]),v=(0,o.useMemo)(()=>e?JSON.stringify((0,c.TN)(e,b)):"",[e,b]),[k,w]=(0,o.useState)(()=>e?(0,c.TN)(e,b):null),[N,C]=(0,o.useState)(!1),[_,M]=(0,o.useState)(!1),[A,z]=(0,o.useState)(!1);(0,o.useEffect)(()=>{w(e?(0,c.TN)(e,b):null)},[v]);let S=k&&e?(0,c.tf)(k,x,e.id,g):{},L=!!k&&JSON.stringify(k)!==v;(0,h.h)(L);let F=async()=>{if(k&&e){if(Object.keys(S).length)return void f(t("edit.fixFields"),"err");C(!0);try{var l;let{type_id:o,object_ids:s,...a}=k;await u.FH.patch("/agents/".concat(e.id),a),JSON.stringify([...s].sort())!==JSON.stringify(b)&&await u.FH.put("/agents/".concat(e.id,"/resources"),{object_ids:s}),await p(["agents","colonies","objects"]),f(t("edit.saved",{name:k.name.trim()})),null==(l=n.onSaved)||l.call(n)}catch(e){f(e instanceof Error?e.message:t("edit.saveFailed"),"err")}C(!1)}},D=()=>{e&&w((0,c.TN)(e,b))};return{draft:k,setDraft:w,errors:S,dirty:L,saving:N,save:F,discard:D,actions:function(){var e,n,o,i,c;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,l.jsxs)("span",{className:"foot-actions push-r",children:[(0,l.jsxs)("span",{className:"row gap-s",children:[(0,l.jsxs)("button",{className:"btn danger ".concat(null!=(e=r.size)?e:""),onClick:()=>M(!0),children:[(0,l.jsx)(s.A,{size:r.size?14:15}),t("agent.delete")]}),(0,l.jsx)("button",{className:"btn icon ".concat(null!=(n=r.size)?n:""),onClick:()=>z(!0),title:t("agent.clone.hint"),"aria-label":t("agent.clone"),children:(0,l.jsx)(a.A,{size:r.size?14:15})})]}),r.onCancel?(0,l.jsx)("button",{className:"btn ghost ".concat(null!=(o=r.size)?o:""),onClick:r.onCancel,children:t("common.cancel")}):(0,l.jsx)("button",{className:"btn ghost ".concat(null!=(i=r.size)?i:""),disabled:!L,onClick:D,children:t("common.discard")}),(0,l.jsx)("button",{className:"btn primary ".concat(null!=(c=r.size)?c:""),disabled:!L||N,onClick:F,children:N?t("common.saving"):t("common.saveChanges")})]})},deleteModal:_&&e?(0,l.jsx)(r.G,{agent:e,onClose:()=>M(!1),onDeleted:n.onDeleted}):null,cloneModal:A&&e?(0,l.jsx)(d.y,{agent:e,onClose:()=>z(!1),onCloned:n.onCloned}):null}}}},e=>{e.O(0,[586,706,391,281,517,350,606,587,408,89,358],()=>e(e.s=77701)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[594],{72317:(e,s,u)=>{Promise.resolve().then(u.bind(u,75750))},75750:(e,s,u)=>{"use strict";u.r(s),u.d(s,{default:()=>_});var n=u(94799),r=u(34023),t=u(38656);function _(e){let{params:s}=e,{id:u}=(0,r.use)(s);return(0,n.jsx)(t.D,{id:u})}}},e=>{e.O(0,[586,706,837,391,281,517,350,606,587,30,656,408,89,358],()=>e(e.s=72317)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[192],{3492:(e,s,t)=>{"use strict";t.d(s,{A:()=>l});let l=(0,t(74955).A)("Heading2",[["path",{d:"M4 12h8",key:"17cfdx"}],["path",{d:"M4 18V6",key:"1rz3zl"}],["path",{d:"M12 18V6",key:"zqpxq5"}],["path",{d:"M21 18h-4c0-4 4-3 4-6 0-1.5-2-2.5-4-1",key:"9jr5yi"}]])},11108:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>k});var l=t(94799),a=t(34023),i=t(12646),r=t(92947),n=t(97356),d=t(48538),o=t(3749),p=t(47890),c=t(10804),h=t(1517),y=t(69654),m=t(56072),u=t(73506);let x={name:"",description:"",role:"worker",provider:"claude",model:"",effort:"",system_prompt:"",permission:"acceptEdits",skill_ids:[],skill_loads:{}};function k(){var e;let{t:s}=(0,y.s9)(),{types:t,agents:k,skills:j,providers:v,refresh:b,ready:f}=(0,d.o0)(),g=(0,c.dj)(),[M,A]=(0,a.useState)(null),[C,N]=(0,a.useState)(""),[w,_]=(0,a.useState)(null),[z,q]=(0,a.useState)(null),[H,D]=(0,a.useState)(!1),S=(0,a.useRef)(""),V=e=>{S.current=JSON.stringify(e),A(e),N("")},L=!!M&&JSON.stringify(M)!==S.current;(0,u.h)(L);let T=()=>{L?D(!0):A(null)},E=async()=>{if(M){if(!M.name.trim())return void N(s("types.err.name"));try{M.id?await o.FH.patch("/types/".concat(M.id),M):await o.FH.post("/types",M),await b(["types"]),g(M.id?s("types.updated"):s("types.created")),A(null),N("")}catch(e){N(e instanceof Error?e.message:s("edit.saveFailed"))}}},F=(e,s)=>A(t=>t&&{...t,[e]:s});return(0,l.jsxs)("div",{className:"page",children:[(0,l.jsxs)("div",{className:"page-head",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("h1",{children:s("nav.types")}),(0,l.jsx)("p",{children:s("types.subtitle")})]}),(0,l.jsxs)("button",{className:"btn primary",onClick:()=>V(x),children:[(0,l.jsx)(r.A,{size:16}),s("types.new")]})]}),f&&!t.length?(0,l.jsx)(c.pp,{title:s("types.empty.title"),body:s("types.empty.body"),action:(0,l.jsxs)("button",{className:"btn primary",onClick:()=>V(x),children:[(0,l.jsx)(r.A,{size:16}),s("types.empty.create")]})}):(0,l.jsx)("div",{className:"typegrid",children:t.map(e=>{let t=k.filter(s=>s.type_id===e.id).length;return(0,l.jsxs)("div",{className:"card typecard",children:[(0,l.jsxs)("div",{className:"row gap-l",children:[(0,l.jsx)(c._h,{color:p.xq[e.provider].color,queen:"orchestrator"===e.role,label:e.name.slice(0,2).toUpperCase()}),(0,l.jsxs)("div",{className:"grow",children:[(0,l.jsx)("h3",{className:"fa-card-title",children:e.name}),(0,l.jsx)("div",{className:"row gap-s mt-xs",children:(0,l.jsx)(c.PW,{role:e.role})})]})]}),(0,l.jsx)("p",{className:"muted small m0 fa-desc",children:e.description||s("types.noDescription")}),(0,l.jsxs)("div",{className:"row gap-s wrap",children:[(0,l.jsx)("span",{className:"chip",children:p.xq[e.provider].label}),(0,l.jsx)("span",{className:"chip",children:e.model||s("types.defaultModel")}),(0,l.jsx)("span",{className:"chip",children:s("types.skillsCount",{count:e.skill_ids.length})})]}),(0,l.jsxs)("div",{className:"row mt-xs",children:[(0,l.jsx)("span",{className:"muted small grow",children:s("types.usedBy",{count:t})}),(0,l.jsx)("button",{className:"btn sm",onClick:()=>V({...e}),children:s("common.edit")}),(0,l.jsx)("button",{className:"btn sm primary",onClick:()=>q(e.id),children:s("newAgent.create")})]})]},e.id)})}),M&&(0,l.jsxs)(c._s,{title:M.id?s("types.editTitle",{name:M.name||s("types.typeWord")}):s("types.newTitle"),subtitle:s("types.drawerSubtitle"),onClose:T,footer:(0,l.jsxs)(l.Fragment,{children:[M.id&&(0,l.jsxs)("button",{className:"btn danger push-r",onClick:()=>{var e;return _(null!=(e=t.find(e=>e.id===M.id))?e:null)},children:[(0,l.jsx)(n.A,{size:15}),s("common.delete")]}),(0,l.jsx)("button",{className:"btn ghost",onClick:T,children:s("common.cancel")}),(0,l.jsx)("button",{className:"btn primary",onClick:E,children:M.id?s("types.save"):s("types.create")})]}),children:[(0,l.jsx)(c.D0,{label:s("form.name"),error:C,children:(0,l.jsx)("input",{className:"input",value:M.name,onChange:e=>F("name",e.target.value),placeholder:s("types.name.placeholder"),autoFocus:!0})}),(0,l.jsx)(c.D0,{label:s("types.description"),hint:s("types.description.hint"),children:(0,l.jsx)("input",{className:"input",value:M.description,onChange:e=>F("description",e.target.value)})}),(0,l.jsx)(c.D0,{label:s("form.role"),children:(0,l.jsx)(c.$q,{value:M.role,onChange:e=>F("role",e),options:[{id:"worker",label:s("role.worker")},{id:"orchestrator",label:s("role.orchestrator")}]})}),(0,l.jsx)(c.D0,{label:s("form.provider"),children:(0,l.jsx)(c.YO,{value:M.provider,onChange:e=>A({...M,provider:e,model:"",effort:""}),providers:v})}),(0,l.jsx)(c.CD,{provider:M.provider,value:M.model,onChange:e=>F("model",e)}),(0,l.jsx)(c.xA,{provider:M.provider,model:M.model,value:null!=(e=M.effort)?e:"",onChange:e=>F("effort",e)}),(0,l.jsx)(c.en,{value:M.permission,onChange:e=>F("permission",e)}),(0,l.jsx)(c.D0,{label:s("form.systemPrompt"),hint:s("types.chars",{count:M.system_prompt.length,n:(0,m._E)(M.system_prompt.length)}),children:(0,l.jsx)(i.n,{value:M.system_prompt,onChange:e=>F("system_prompt",e),minHeight:260})}),(0,l.jsx)(c.D0,{label:s("form.skills"),children:(0,l.jsx)(c.kV,{skills:j,value:M.skill_ids,loads:M.skill_loads,onChange:(e,s)=>A({...M,skill_ids:e,skill_loads:s})})})]}),w&&(0,l.jsx)(c.TM,{danger:!0,title:s("types.deleteTitle",{name:w.name}),body:s("types.deleteBody"),cancelLabel:s("types.keep"),confirmLabel:s("types.delete"),onClose:()=>_(null),onConfirm:async()=>{await o.FH.del("/types/".concat(w.id)),await b(["types","agents"]),A(null),g(s("types.deleted"))}}),H&&(0,l.jsx)(c.TM,{danger:!0,title:s("fa.unsaved.title"),body:s("fa.unsaved.body"),confirmLabel:s("fa.unsaved.discard"),cancelLabel:s("fa.unsaved.keep"),onClose:()=>D(!1),onConfirm:()=>A(null)}),z&&(0,l.jsx)(h.bC,{presetTypeId:z,onClose:()=>q(null)})]})}},20555:(e,s,t)=>{"use strict";t.d(s,{A:()=>l});let l=(0,t(74955).A)("ListOrdered",[["path",{d:"M10 12h11",key:"6m4ad9"}],["path",{d:"M10 18h11",key:"11hvi2"}],["path",{d:"M10 6h11",key:"c7qv1k"}],["path",{d:"M4 10h2",key:"16xx2s"}],["path",{d:"M4 6h1v4",key:"cnovpq"}],["path",{d:"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1",key:"m9a95d"}]])},32021:(e,s,t)=>{Promise.resolve().then(t.bind(t,11108))},52263:(e,s,t)=>{"use strict";t.d(s,{A:()=>l});let l=(0,t(74955).A)("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]])},55712:(e,s,t)=>{"use strict";t.d(s,{A:()=>l});let l=(0,t(74955).A)("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]])},55838:(e,s,t)=>{"use strict";t.d(s,{A:()=>l});let l=(0,t(74955).A)("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]])},71529:(e,s,t)=>{"use strict";t.d(s,{A:()=>l});let l=(0,t(74955).A)("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]])},91833:(e,s,t)=>{"use strict";t.d(s,{A:()=>l});let l=(0,t(74955).A)("Quote",[["path",{d:"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"rib7q0"}],["path",{d:"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"1ymkrd"}]])},92947:(e,s,t)=>{"use strict";t.d(s,{A:()=>l});let l=(0,t(74955).A)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},97356:(e,s,t)=>{"use strict";t.d(s,{A:()=>l});let l=(0,t(74955).A)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])},98148:(e,s,t)=>{"use strict";t.d(s,{A:()=>l});let l=(0,t(74955).A)("Bold",[["path",{d:"M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8",key:"mg9rjx"}]])},98938:(e,s,t)=>{"use strict";t.d(s,{A:()=>l});let l=(0,t(74955).A)("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]])},99579:(e,s,t)=>{"use strict";t.d(s,{A:()=>l});let l=(0,t(74955).A)("Italic",[["line",{x1:"19",x2:"10",y1:"4",y2:"4",key:"15jd3p"}],["line",{x1:"14",x2:"5",y1:"20",y2:"20",key:"bu0au3"}],["line",{x1:"15",x2:"9",y1:"4",y2:"20",key:"uljnxc"}]])}},e=>{e.O(0,[586,706,281,517,408,89,358],()=>e(e.s=32021)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
:root{--bg:#e9ede6;--bg-deep:#dfe4da;--surface:#f7f8f3;--surface-2:#eff2ea;--ink:#12201b;--ink-2:#3b4a43;--muted:#586860;--line:#d3d9cb;--line-strong:#bcc5b6;--honey:#e8a317;--honey-ink:#3a2700;--honey-soft:#fbefcf;--ok:#237548;--err:#c2412d;--danger:var(--err);--cluster:#c0399a;--err-soft:#f9e0da;--err-ink:#b03a28;--p-claude:#d4663f;--p-opencode:#2f5bea;--p-kiro:#7a4de0;--shadow:0 1px 0 rgba(18,32,27,.04),0 8px 24px -12px rgba(18,32,27,.18);--radius:12px;--radius-sm:8px;--font-display:var(--f-display),"Bricolage Grotesque",system-ui,sans-serif;--font-body:var(--f-body),"Hanken Grotesk",system-ui,sans-serif;--font-mono:var(--f-mono),"JetBrains Mono",ui-monospace,monospace;--fs-micro:11px;--fs-caption:11.5px;--fs-small:12px;--fs-hint:12.5px;--fs-ui:13px;--fs-ui-lg:13.5px;--fs-body:14px;--fs-lead:15px;--z-1:1;--z-2:2;--z-3:3;--z-4:4;--z-5:5;--z-6:6;--z-drop:20;--z-pop:30;--z-side:30;--z-menu:40;--z-dock:40;--z-card:42;--z-fullscreen:45;--z-dialog:50;--z-toast:200;--z-tooltip:3000;color-scheme:light}:root[data-theme=dark]{--bg:#0c1411;--bg-deep:#080e0c;--surface:#131e1a;--surface-2:#182520;--ink:#e7eee9;--ink-2:#b6c4bc;--muted:#84968c;--line:#223229;--line-strong:#2f443a;--honey:#f2b230;--honey-ink:#2b1d00;--honey-soft:#33290f;--ok:#4cc287;--err:#ef6a55;--err-soft:#3a1b16;--err-ink:#ef6a55;--cluster:#e46fc6;--p-claude:#ee8559;--p-opencode:#6f8fff;--p-kiro:#a07bff;--shadow:0 1px 0 rgba(0,0,0,.3),0 12px 30px -14px rgba(0,0,0,.7);color-scheme:dark}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:700}a{text-decoration:none}a,button{color:inherit}button{font:inherit;cursor:pointer}.mono,code,pre{font-family:var(--font-mono);font-size:.86em}:focus-visible{outline:2px solid var(--honey);outline-offset:2px;border-radius:6px}::selection{background:var(--honey);color:var(--honey-ink)}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.shell{display:grid;grid-template-columns:220px 1fr;height:var(--app-h,100vh)}.rail{background:var(--bg-deep);border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 18px;font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:-.03em}.brand-mark{flex:none;display:block}.brand small{display:block;font-family:var(--font-body);font-weight:500;letter-spacing:0;margin-top:-3px}.brand small,.nav-label{font-size:var(--fs-micro);color:var(--muted)}.nav-label{font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:14px 10px 6px}.nav{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;color:var(--ink-2);font-weight:500}.nav:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.nav[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font-weight:600}button.nav{width:100%;border:0;background:none;font:inherit;font-weight:500;text-align:left;cursor:pointer}.nav[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font-weight:600}.nav .count{margin-left:auto;font-size:var(--fs-small);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:2px;padding:10px 0 0;font-size:var(--fs-small);color:var(--muted)}.rail-foot .nav{font-size:var(--fs-lead)}.rail-foot .conn{padding:4px 10px}.conn{display:flex;align-items:center;gap:8px}.dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}.dot.ok{background:var(--ok)}.dot.err{background:var(--err)}.dot.run{background:var(--honey);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.35;transform:scale(.8)}}.main{overflow-y:auto;min-width:0}.page{padding:28px 36px 60px;max-width:1280px;margin:0 auto}.page.full{max-width:none;padding:0;height:var(--app-h,100vh);overflow:hidden}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-head h1{font-size:30px;line-height:1.1}.page-head p{margin:6px 0 0;color:var(--muted);max-width:60ch}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.grow{flex:1 1;min-width:0}.gap-s{gap:6px}.gap-l{gap:18px}.col{display:flex;flex-direction:column;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border-radius:9px;border:1px solid var(--line-strong);background:var(--surface);font-weight:600;font-size:var(--fs-body);transition:transform .08s,background .15s;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--honey);border-color:color-mix(in srgb,var(--honey) 70%,black);color:var(--honey-ink)}.btn.primary:hover{background:color-mix(in srgb,var(--honey) 90%,white)}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn.ghost:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}.btn.danger{color:var(--err)}.btn.sm{padding:5px 10px;font-size:var(--fs-ui);border-radius:8px}.btn.icon{padding:7px}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:18px}.eyebrow{font-size:var(--fs-micro);font-weight:600;letter-spacing:.09em;text-transform:uppercase}.eyebrow,.muted{color:var(--muted)}.small{font-size:var(--fs-ui)}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line);font-size:var(--fs-small);font-weight:600;color:var(--ink-2);white-space:nowrap}.chip.honey{background:var(--honey-soft);border-color:color-mix(in srgb,var(--honey) 50%,transparent);color:color-mix(in srgb,var(--honey) 40%,var(--ink))}.chip .dot{width:7px;height:7px}.pbadge{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-hint);font-weight:600}.pbadge i{width:9px;height:10px;background:var(--c);-webkit-clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.field{display:flex;flex-direction:column;gap:6px}.field>label,.label{font-size:var(--fs-ui);font-weight:600;color:var(--ink-2)}.hint{font-size:var(--fs-hint);color:var(--muted)}.input,.select,.textarea{width:100%;padding:9px 12px;border-radius:9px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit}.input:focus,.select:focus,.textarea:focus{outline:2px solid color-mix(in srgb,var(--honey) 70%,transparent);outline-offset:0;border-color:var(--honey)}.textarea{resize:vertical;min-height:120px;line-height:1.55}.textarea.mono{font-family:var(--font-mono);font-size:var(--fs-ui)}.field-err{color:var(--err);font-size:var(--fs-ui)}.seg{display:inline-flex;padding:3px;border-radius:10px;background:var(--bg-deep);border:1px solid var(--line);gap:2px}.seg button{border:0;background:transparent;padding:6px 12px;border-radius:7px;font-weight:600;font-size:var(--fs-ui);color:var(--ink-2)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.pcards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.pcard{text-align:left;padding:12px;border-radius:11px;border:1.5px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:4px;position:relative}.pcard:hover{border-color:var(--line-strong)}.pcard[aria-pressed=true]{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 18%,transparent)}.pcard b{font-family:var(--font-display);font-size:var(--fs-lead)}.pcard span{font-size:var(--fs-small);color:var(--muted);line-height:1.35}.pcard .tag{margin-top:4px;font-size:var(--fs-micro);font-weight:600}.agent-config .pcards{grid-template-columns:1fr}.agent-config .pcard span:not(.tag){display:none}.agent-config .pcard{flex-direction:row;align-items:center;justify-content:space-between;padding:10px 12px}.agent-config .pcard .tag{margin:0}.field>.seg{align-self:flex-start}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line)}.tab{border:0;background:none;padding:10px 14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.agent-config .tabs .tab{padding-left:9px;padding-right:9px;white-space:nowrap}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--honey)}.tab:disabled{opacity:.45;cursor:not-allowed}.tab-count{margin-left:6px;font-size:var(--fs-caption);font-weight:600;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tabs.pill{border-bottom:0;gap:4px;flex-wrap:wrap}.tabs.pill .tab{margin:0;padding:5px 12px;border:1px solid var(--line);border-radius:99px;font-size:var(--fs-ui);background:var(--surface)}.tabs.pill .tab[aria-selected=true]{background:var(--honey-soft);border-color:color-mix(in srgb,var(--honey) 55%,var(--line))}.tabpanel[hidden]{display:none}.empty{text-align:center;padding:56px 24px;border:1.5px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:12px}.empty h3{color:var(--ink);font-size:18px}.empty p{margin:0;max-width:44ch}.empty-ic{display:grid;place-items:center;color:var(--muted)}.empty.compact{padding:24px 16px;gap:8px}.empty.compact h3{font-size:var(--fs-lead)}.hex{--s:44px;width:var(--s);height:calc(var(--s) * 1.1547);display:grid;place-items:center;background:var(--c,var(--muted));-webkit-clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);color:#fff;font-family:var(--font-display);font-weight:800;font-size:calc(var(--s) * .36);flex:none;position:relative;letter-spacing:-.02em}.hex.queen{background:var(--honey);color:var(--honey-ink)}.hex.sm{--s:28px}.hex.lg{--s:64px}.colony,.comb-wrap{position:relative}.comb-wrap{border-radius:18px;background:radial-gradient(1200px 500px at 50% 0,color-mix(in srgb,var(--honey) 10%,transparent),transparent 70%),var(--surface);border:1px solid var(--line);overflow:auto;min-height:600px;display:flex;padding-bottom:36px}.comb{position:relative;flex:none}.comb svg.links{position:absolute;inset:0;pointer-events:none}.cell{position:absolute;width:var(--w);height:var(--h);transform:translate(-50%,-50%);border:0;padding:0;background:none}.cell .shape{position:absolute;inset:0;-webkit-clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:var(--c);transition:transform .15s,filter .15s}.cell .shape:after{content:"";position:absolute;inset:3px;-webkit-clip-path:inherit;clip-path:inherit;background:var(--surface)}.cell.fill .shape:after{background:color-mix(in srgb,var(--c) 14%,var(--surface))}.cell:hover .shape{transform:scale(1.05);filter:saturate(1.2)}.cell[aria-pressed=true] .shape{background:var(--ink)}.cell.queen .shape{background:var(--honey)}.cell.running .shape{animation:breathe 1.6s ease-in-out infinite}@keyframes breathe{50%{transform:scale(1.06);filter:brightness(1.15)}}.cell .label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;padding:0 14%;pointer-events:none}.cell .label b{font-family:var(--font-display);font-size:var(--fs-ui);line-height:1.1;letter-spacing:-.02em;word-break:break-word}.cell .label small{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c)}.cell.queen .label small{color:color-mix(in srgb,var(--honey) 50%,var(--ink))}.cell.ghost .ghost-hex{position:absolute;inset:0;width:100%;height:100%}.cell.ghost .ghost-hex polygon{fill:none;stroke:var(--line-strong);stroke-width:2;stroke-dasharray:5 6;vector-effect:non-scaling-stroke;transition:stroke .15s}.cell.ghost:hover .ghost-hex polygon{stroke:var(--honey)}.cell.ghost .label{color:var(--muted);font-weight:600;font-size:var(--fs-small)}.cell.ghost:hover .label{color:var(--ink)}.cell .pip{position:absolute;top:12%;right:16%;width:11px;height:11px;border-radius:50%;border:2px solid var(--surface);background:var(--honey);animation:pulse 1.2s infinite}.cell .pip.err{background:var(--err);animation:none}.comb-legend{position:absolute;left:16px;bottom:14px;display:flex;gap:14px;flex-wrap:wrap;font-size:var(--fs-small);color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:10px;gap:10px;margin-bottom:18px}.stat{padding:12px 14px}.stat b{font-family:var(--font-display);font-size:26px;display:block;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat span{font-size:var(--fs-hint);color:var(--muted)}.side-float{position:absolute;top:14px;right:14px;z-index:var(--z-5);width:340px;max-width:calc(100% - 28px);max-height:calc(100% - 28px);overflow-y:auto;box-shadow:0 18px 44px -14px rgba(0,0,0,.35);animation:slide .16s ease-out}.recent{margin-top:18px}.recent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-column-gap:24px;column-gap:24px}.feed-item>div{min-width:0}.feed-item{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:10px;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:var(--fs-ui-lg)}.feed-item:first-child{border-top:0}.table{width:100%;border-collapse:separate;border-spacing:0}.table th{text-align:left;font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 14px;font-weight:600}.table td,.table th{border-bottom:1px solid var(--line)}.table td{padding:12px 14px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr{cursor:pointer;transition:background .12s}.table tbody tr:hover{background:var(--surface-2)}.name-cell{display:flex;align-items:center;gap:12px}.name-cell b{font-family:var(--font-display);font-size:var(--fs-lead);display:block}.name-cell>div>span{font-size:var(--fs-hint);color:var(--muted)}.ws{--sw:290px;display:grid;grid-template-columns:var(--sw) minmax(0,1fr);height:var(--app-h,100vh)}.ws.sw-anim{transition:grid-template-columns .18s ease}.ws.sw-collapsed{--sw:68px}.ws-chat{display:flex;flex-direction:column;min-width:0;height:var(--app-h,100vh)}.ws-head{display:flex;align-items:center;gap:14px;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--surface)}.ws-head h1{font-size:20px}.agent-config .pane{display:flex;flex-direction:column;gap:16px}.agent-config .tabs{margin-bottom:16px}.thread{flex:1 1;overflow-y:auto;padding:24px 24px 12px}.thread-inner{max-width:820px;margin:0 auto;gap:18px}.msg,.thread-inner{display:flex;flex-direction:column}.msg{gap:8px}.msg.user{align-items:flex-end}.msg.user.queued .bubble{opacity:.6;border:1px dashed var(--line-strong)}.queued-tag{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:var(--fs-caption);color:var(--muted)}.msg .bubble{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);padding:10px 15px;border-radius:16px 16px 4px 16px;max-width:80%;white-space:pre-wrap;word-break:break-word}.msg.assistant .who{display:flex;align-items:center;gap:8px;font-size:var(--fs-small);color:var(--muted);font-weight:600}.msg .stamp{font-weight:500}.dispatch-note{align-self:center;font-size:var(--fs-hint);color:var(--muted);display:flex;gap:8px;align-items:center;padding:4px 12px;background:var(--honey-soft);border-radius:99px}.md{line-height:1.62;word-break:break-word}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md ol,.md p,.md ul{margin:0 0 .75em}.md ol,.md ul{padding-left:1.3em}.md pre{border:1px solid var(--line);padding:12px 14px;border-radius:10px;overflow-x:auto}.md code,.md pre{background:var(--bg-deep)}.md code{padding:1px 5px;border-radius:5px}.md pre code{background:none;padding:0}.md table{border-collapse:collapse}.md td,.md th{border:1px solid var(--line);padding:5px 10px}.md a{color:var(--p-opencode);text-decoration:underline}.md h1,.md h2,.md h3,.md h4{line-height:1.25;margin:1.3em 0 .5em}.md h1{font-size:1.5em}.md h2{font-size:1.28em}.md h3{font-size:1.1em}.md h4{font-size:1em;color:var(--ink-2)}.md blockquote{margin:.9em 0;padding:.55em 1em;border-left:3px solid var(--honey);background:var(--surface-2);border-radius:0 8px 8px 0;color:var(--ink-2)}.md blockquote>:last-child{margin-bottom:0}.md table{display:block;max-width:100%;overflow-x:auto;margin:.9em 0}.md th{background:var(--surface-2);text-align:left;font-weight:600}.md tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.md hr{border:0;border-top:1px solid var(--line);margin:1.3em 0}.md li{margin:.2em 0}.md li>p{margin:0}.md li>ol,.md li>ul{margin:.25em 0 0}.md ul.contains-task-list{list-style:none;padding-left:.3em}.md .task-list-item input{margin-right:.5em;vertical-align:middle}.md img{max-width:100%;border-radius:8px}.md pre{margin:.9em 0}.fold{border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:var(--fs-ui);overflow:hidden}.fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:7px 12px;color:var(--ink-2);font-weight:600}.fold>summary::-webkit-details-marker{display:none}.fold>summary .chev{transition:transform .15s;margin-left:auto;color:var(--muted)}.fold[open]>summary .chev{transform:rotate(90deg)}.fold pre{margin:0;padding:10px 12px;border-top:1px solid var(--line);white-space:pre-wrap;word-break:break-word;max-height:280px;overflow:auto;font-size:var(--fs-small);background:var(--surface)}.fold.err{border-color:color-mix(in srgb,var(--err) 40%,var(--line))}.fold.think>summary{font-style:italic;font-weight:500}.typing{display:inline-flex;gap:4px;padding:4px 0}.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:pulse 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.composer{padding:14px 24px 20px;background:linear-gradient(transparent,var(--bg) 30%)}.composer-box{flex-wrap:wrap;max-width:820px;margin:0 auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;padding:10px 10px 10px 14px;display:flex;gap:10px;align-items:flex-end;box-shadow:var(--shadow)}.composer-box:focus-within{border-color:var(--honey);box-shadow:0 0 0 3px color-mix(in srgb,var(--honey) 25%,transparent)}.composer-box textarea{flex:1 1;border:0;background:transparent;resize:none;font:inherit;color:inherit;outline:none;max-height:200px;padding:6px 0}.composer-meta{max-width:820px;margin:6px auto 0;display:flex;gap:12px;font-size:var(--fs-small);color:var(--muted)}.banner{padding:9px 14px;border-radius:10px;font-size:var(--fs-ui-lg);display:flex;gap:10px;align-items:center}.banner.err{background:var(--err-soft);color:var(--err-ink)}.banner-action{flex:none;margin-left:auto}.banner.honey{background:var(--honey-soft)}.banner.info{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2)}.banner.warn{background:var(--honey-soft);border:1px solid color-mix(in srgb,var(--honey) 55%,var(--line));color:var(--ink)}.banner-ic{flex:none;align-self:flex-start;margin-top:2px}.skillpick{display:flex;flex-direction:column;gap:6px}.skillpills{display:flex;flex-wrap:wrap;gap:6px}.skillpill{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;border-radius:99px;background:var(--honey-soft);border:1px solid color-mix(in srgb,var(--honey) 50%,transparent);font-size:var(--fs-hint);font-weight:600;max-width:100%}.skillpill button{display:grid;place-items:center;width:18px;height:18px;border:0;border-radius:99px;background:transparent;color:var(--muted);padding:0}.skillpill button:hover{background:color-mix(in srgb,var(--ink) 12%,transparent);color:var(--ink)}.skillopts{max-height:260px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.skillopt,.skillopts{display:flex;flex-direction:column}.skillopt{gap:2px;padding:8px 11px;border:0;background:transparent;text-align:left;width:100%}.skillopt+.skillopt{border-top:1px solid var(--line)}.skillopt.on{background:var(--honey-soft)}.skillopt b{font-weight:600;font-size:var(--fs-ui-lg)}.skillmode{width:auto!important;padding:0 7px!important;margin:0 1px 0 2px;font-size:var(--fs-micro);font-weight:600;color:var(--ink-2,var(--ink))!important;border:1px solid color-mix(in srgb,var(--honey) 55%,transparent)!important;border-radius:99px!important;background:var(--surface)!important;height:18px!important}.skillmode.lazy{color:var(--muted)!important;border-color:var(--line-strong,var(--line))!important;background:transparent!important}.skillmode:hover{border-color:var(--honey)!important}.skillopt-w{margin-left:6px;font-weight:500;font-size:var(--fs-caption);color:var(--muted)}.hint.warn{color:var(--honey)}.skillopt .hint{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.skillrow{display:flex;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-align:left;align-items:flex-start;width:100%}.skillrow[aria-pressed=true]{border-color:var(--honey);background:var(--honey-soft)}.check{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line-strong);flex:none;display:grid;place-items:center;margin-top:2px;background:var(--surface)}[aria-pressed=true]>.check{background:var(--honey);border-color:var(--honey);color:var(--honey-ink)}.savebar.col{flex-direction:column;align-items:stretch;gap:8px}.savebar{position:-webkit-sticky;position:sticky;bottom:0;display:flex;gap:10px;align-items:center;padding:12px 20px;background:var(--surface);border-top:1px solid var(--line);margin-top:auto}.split{display:grid;grid-template-columns:340px 1fr;grid-gap:20px;gap:20px;align-items:start}.listcard{overflow:hidden}.listitem{display:block;width:100%;text-align:left;padding:12px 16px;border:0;border-bottom:1px solid var(--line);background:none}.listitem:last-child{border-bottom:0}.listitem:hover{background:var(--surface-2)}.listitem[aria-current=true]{background:var(--honey-soft);box-shadow:inset 3px 0 0 var(--honey)}.listitem b{font-family:var(--font-display);display:block}.search{position:relative}.search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted)}.search .input{padding-left:34px}.typegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:14px;gap:14px}.typecard{padding:18px;display:flex;flex-direction:column;gap:10px;text-align:left;transition:transform .12s,border-color .12s}.typecard:hover{transform:translateY(-2px);border-color:var(--line-strong)}.scrim{position:fixed;inset:0;background:rgba(8,14,12,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:calc(var(--z-dialog) + var(--layer, 0) * 2);animation:fade .15s}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);background:var(--surface);z-index:calc(var(--z-dialog) + var(--layer, 0) * 2 + 1);max-width:100vw;display:flex;flex-direction:column;box-shadow:-20px 0 50px -20px rgba(0,0,0,.4);animation:slide .2s ease-out}.drawer-grip{position:absolute;left:-4px;top:0;bottom:0;width:9px;cursor:col-resize;z-index:var(--z-1);touch-action:none}.drawer-grip:active,.drawer-grip:hover{background:color-mix(in srgb,var(--honey) 45%,transparent)}.drawer header{padding:20px 24px 16px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:12px}.drawer header h2{font-size:22px}.drawer .body{padding:22px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:18px;flex:1 1}.drawer footer{padding:14px 24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-items:center}.drawer footer .btn{white-space:nowrap;flex:none}.foot-actions{display:flex;align-items:center;gap:10px;flex:none}.drawer footer>span.grow{min-width:max-content}@keyframes slide{0%{transform:translateX(30px);opacity:0}}@keyframes fade{0%{opacity:0}}.modal{position:fixed;z-index:calc(var(--z-dialog) + var(--layer, 0) * 2 + 1);left:50%;top:14vh;transform:translateX(-50%);width:min(480px,92vw);background:var(--surface);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:0 30px 80px -20px rgba(0,0,0,.5);max-height:calc(100vh - 14vh - 16px);overflow-y:auto}.drawer:focus,.modal:focus{outline:none}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-head h3{font-size:20px}.modal-head .btn{margin:-4px -6px 0 0;flex:none}.drawer-sub{margin:4px 0 0}.confirm-body{margin:0;color:var(--ink-2);overflow-wrap:anywhere}.confirm-actions{justify-content:flex-end;gap:10px}.picker{border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);overflow:hidden}.picker .path{padding:8px 12px;background:var(--bg-deep);font-family:var(--font-mono);font-size:var(--fs-small);display:flex;gap:8px;align-items:center}.picker ul{list-style:none;margin:0;padding:4px;max-height:190px;overflow-y:auto}.picker li button{width:100%;display:flex;gap:8px;align-items:center;padding:6px 8px;border:0;background:none;border-radius:6px;text-align:left}.picker li button:hover{background:var(--surface-2)}.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:var(--z-toast)}.toast{background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;font-weight:600;font-size:var(--fs-body);box-shadow:var(--shadow);animation:slide .2s;display:flex;gap:10px;align-items:center}.toast.err{background:var(--err);color:#fff}:root[data-theme=dark] .toast.err{color:var(--bg-deep)}.toast-msg{flex:1 1;min-width:0;overflow-wrap:anywhere}.toast-x{flex:none;display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:inherit;opacity:.75;padding:0}.toast-x:hover{opacity:1;background:color-mix(in srgb,currentColor 18%,transparent)}.rel{height:var(--app-h,100vh);position:relative}.rel .react-flow{background:var(--bg)}.rel-hud{position:absolute;z-index:var(--z-5);left:24px;top:20px;display:flex;flex-direction:column;gap:6px;pointer-events:none}.rel-hud h1{font-size:26px}.rel-hud p{margin:0;color:var(--muted);max-width:46ch;pointer-events:none}.rnode{width:150px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.rnode .hex{--s:66px}.rnode b{font-family:var(--font-display);font-size:var(--fs-body);background:var(--surface);padding:2px 10px;border-radius:99px;border:1px solid var(--line)}.rnode-clone:empty{display:none}.rnode-clone{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.rnode small{color:var(--muted);font-size:var(--fs-micro);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.rnode .react-flow__handle{width:12px;height:12px;background:var(--honey);border:2px solid var(--surface)}.react-flow__controls button{background:var(--surface);color:var(--ink);border-color:var(--line);fill:var(--ink)}.react-flow__attribution{display:none}.sx-ws .switcher-head .seg{align-self:flex-start}.sx-head{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid var(--line)}.sx-transcript{flex:1 1;min-height:0;max-height:none;padding:20px 24px 40px}.sx-transcript .msg{max-width:920px;width:100%}.sess-grid{display:grid;grid-template-columns:minmax(360px,460px) 1fr;grid-gap:20px;gap:20px;align-items:start}.sess{padding:14px 16px;display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line)}.sess:hover{background:var(--surface-2)}.sess[aria-current=true]{background:var(--honey-soft);box-shadow:inset 3px 0 0 var(--honey)}.sess .pv{color:var(--ink-2);font-size:var(--fs-ui-lg);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.transcript{max-height:calc(var(--app-h, 100vh) - 150px);overflow-y:auto;padding:20px}@media (max-width:1100px){.sess-grid,.split{grid-template-columns:1fr}.side-float{position:static;width:auto;max-width:none;max-height:none;margin-top:14px}.ws{grid-template-columns:1fr;height:auto}.ws-chat{height:80vh}.switcher{height:auto;max-height:40vh}.stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.shell{grid-template-columns:1fr}.rail{flex-direction:row;overflow-x:auto;padding:8px;border-right:0;border-bottom:1px solid var(--line)}.brand,.nav-label,.rail-foot .conn{display:none}.nav,.rail{gap:2px}.nav{flex:none;flex-direction:column;justify-content:center;min-width:64px;min-height:48px;padding:6px 8px;font-size:var(--fs-micro);text-align:center}.nav span.t{max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav .count{margin-left:0;font-size:var(--fs-micro)}.rail-foot{margin-top:0;flex-direction:row;gap:2px;border-left:1px solid var(--line);margin-left:4px;padding:0 0 0 4px}.rail-foot .nav{font-size:var(--fs-micro)}button.nav{width:auto;text-align:center}.page{padding:20px 16px 48px}.pcards{grid-template-columns:1fr}}.fold.tool>summary{gap:9px;padding:8px 12px;font-weight:500}.fold.tool .tico{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--bg-deep);color:var(--ink-2);flex:none}.fold.tool .tlabel{font-family:var(--font-display);font-size:var(--fs-ui);flex:none}.fold.tool .tsum{color:var(--muted);font-size:var(--fs-small);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1}.fold.tool .tmeta{display:flex;gap:10px;align-items:center;margin-left:auto;font-size:var(--fs-caption);color:var(--muted);font-weight:500;flex:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fold.tool .tmeta .live{color:var(--honey);font-weight:700}.fold.tool.running{border-color:color-mix(in srgb,var(--honey) 55%,var(--line))}.fold.tool>summary .chev{margin-left:0}.fold.changed>summary{gap:8px;padding:8px 12px;font-weight:600}.fold.changed .cf-list{padding:2px 8px 8px;display:grid;grid-gap:2px;gap:2px}.cf-file>summary{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:4px 6px;font-size:var(--fs-hint);cursor:pointer;list-style:none;border-radius:6px}.cf-file>summary::-webkit-details-marker{display:none}.cf-file>summary:hover{background:var(--bg-deep)}.cf-file>summary code{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cf-file>summary .chev{flex:none;transition:transform .15s}.cf-file[open]>summary .chev{transform:rotate(90deg)}.cf-body{display:grid;grid-gap:6px;gap:6px;padding:4px 6px 8px 22px;max-height:360px;overflow:auto}.fold.changed .cf-meta{display:flex;gap:8px;flex:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-caption);font-weight:600;color:var(--muted)}.fold.changed .cf-meta em{font-style:normal}.fold.changed .cf-add{color:var(--ok)}.fold.changed .cf-del,.tbad{color:var(--err)}.tbad{font-style:normal;font-weight:600}.tbody{border-top:1px solid var(--line);padding:12px;background:var(--surface);display:flex;flex-direction:column;gap:10px}.tbody pre{border:0;padding:0;background:none;max-height:320px}.tbody pre.cmd{background:#0d1512;color:#d7e6dd;padding:10px 12px;border-radius:8px;margin:0;white-space:pre-wrap;border:0;max-height:200px}.tbody pre.cmd .prompt{color:var(--honey);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tbody pre.codebox{background:var(--bg-deep);padding:10px 12px;border-radius:8px;margin:0}.tout .eyebrow{margin-bottom:4px}.tout pre{background:var(--bg-deep)!important;padding:10px 12px!important;border-radius:8px;margin:0}.kv{margin:0;grid-gap:4px;gap:4px;font-size:var(--fs-hint)}.kv,.kv>div{display:grid}.kv>div{grid-template-columns:92px 1fr;grid-gap:8px;gap:8px}.kv dt{color:var(--muted)}.kv dd{margin:0;word-break:break-all}.kv .pre-wrap,.pre-wrap{white-space:pre-wrap;word-break:break-word}.diff{font-family:var(--font-mono);font-size:var(--fs-small);border-radius:8px;overflow:hidden;border:1px solid var(--line)}.diff div{padding:1px 10px;white-space:pre-wrap;word-break:break-all}.diff b{display:inline-block;width:14px;font-weight:400;opacity:.7}.diff .del{background:color-mix(in srgb,var(--err) 14%,var(--surface))}.diff .add{background:color-mix(in srgb,var(--ok) 15%,var(--surface))}.todos{list-style:none;margin:0;padding:0;display:grid;grid-gap:4px;gap:4px;font-size:var(--fs-ui)}.todos li{display:flex;gap:8px;align-items:center}.todos i{width:12px;height:12px;border-radius:4px;border:1.5px solid var(--line-strong);flex:none}.todos li[data-s=completed]{color:var(--muted);text-decoration:line-through}.todos li[data-s=completed] i{background:var(--ok);border-color:var(--ok)}.todos li[data-s=in_progress] i{border-color:var(--honey);background:var(--honey-soft)}.replymeta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:var(--fs-caption);color:var(--muted);font-weight:500;padding-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.replymeta span{display:inline-flex;align-items:center;gap:4px}.replymeta.live{color:var(--honey)}.stats-wrap{background:var(--surface);border-bottom:1px solid var(--line)}.statsbar{width:100%;display:flex;align-items:center;gap:4px 18px;flex-wrap:wrap;padding:9px 24px;border:0;background:none;text-align:left;font-size:var(--fs-hint);color:var(--muted)}.statsbar:hover{background:var(--surface-2)}.statsbar .sb{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.statsbar .sb b{color:var(--ink);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-right:1px}.statsbar .sb svg{color:var(--ink-2);opacity:.7}.statsbar em{font-style:normal}.chev2{margin-left:auto;transition:transform .15s}.chev2.open{transform:rotate(180deg)}.statspanel{display:grid;grid-template-columns:1fr 1fr;grid-gap:22px;gap:22px;padding:6px 24px 18px;animation:fade .15s}.mixbar{display:flex;height:12px;border-radius:99px;overflow:hidden;background:var(--bg-deep);margin:8px 0 10px}.mixbar i{display:block;min-width:0}.legend{margin:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:4px 14px;gap:4px 14px;font-size:var(--fs-hint)}.legend>div{display:flex;align-items:center;gap:7px}.legend i{width:9px;height:9px;border-radius:3px;flex:none}.legend dt{color:var(--muted)}.legend dd{margin:0 0 0 auto;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.toolrow{display:grid;grid-template-columns:minmax(80px,1.1fr) 1.4fr auto 48px;grid-gap:10px;gap:10px;align-items:center;font-size:var(--fs-hint);padding:3px 0}.toolrow .tn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolrow .tbar{height:8px;background:var(--bg-deep);border-radius:99px;overflow:hidden}.toolrow .tbar i{display:block;height:100%;background:var(--honey);border-radius:99px}.toolrow .tc{font-weight:600}.toolrow .tc,.toolrow .td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.toolrow .td{text-align:right}.tbars{gap:3px;height:64px;margin-top:8px}.sbar,.tbars{display:flex;align-items:flex-end}.sbar{flex:1 1;max-width:22px;height:100%}.sbar i{width:100%;background:color-mix(in srgb,var(--p-claude) 75%,var(--honey));border-radius:3px 3px 0 0}.sbar:hover i{background:var(--ink)}.sessmeta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--fs-small);color:var(--muted);font-weight:500}@media (max-width:1100px){.statspanel{grid-template-columns:1fr}}.fold.tool.is-shell>summary{align-items:flex-start}.fold.tool.is-shell .tsum{color:var(--ink);white-space:pre-wrap;word-break:break-all;display:block;flex:1 1;min-width:0;max-height:calc(1.45em * 3 + 2px);overflow:hidden;font-size:var(--fs-hint);line-height:1.45;padding-top:1px}.fold.tool.is-shell .tico,.fold.tool.is-shell .tlabel{margin-top:1px}.fold.tool .prompt{color:var(--honey);-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:700}.fold.tool.is-shell[open] .tsum{max-height:calc(1.45em + 2px)}.fold.tool:not(.shell) .tsum{color:var(--ink-2)}.cmdhead{display:flex;justify-content:space-between}.cmdhead,.copybtn{align-items:center}.copybtn{display:inline-flex;gap:5px;border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:2px 8px;font-size:var(--fs-caption);font-weight:600;color:var(--ink-2)}.copybtn:hover{background:var(--surface-2)}.linkbtn{margin-left:auto;border:0;background:none;padding:0;font-size:var(--fs-small);font-weight:600;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}.inherit-row{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);cursor:pointer}.inherit-row.on{border-color:color-mix(in srgb,var(--honey) 55%,var(--line));background:var(--honey-soft)}.inherit-row input{margin-top:3px;accent-color:var(--honey);width:16px;height:16px}.inherit-row .inh-val,.inherit-row b{font-size:var(--fs-ui);display:block}.inherit-row .inh-val{color:var(--ink-2);word-break:break-all;margin-top:2px}.inherit-row .inh-state{font-size:var(--fs-caption);font-weight:700;color:var(--muted);white-space:nowrap}.inherit-row.on .inh-state{color:color-mix(in srgb,var(--honey) 45%,var(--ink))}.cdot{display:inline-block;width:9px;height:9px;border-radius:3px;margin:0 4px 0 2px;vertical-align:0}.swatches{display:flex;gap:8px;flex-wrap:wrap}.swatch{width:28px;height:28px;border-radius:9px;border:2px solid transparent;background:var(--c)}.swatch[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 2px var(--surface) inset}.checkrow{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}.checkrow input{margin-top:3px;accent-color:var(--honey);width:16px;height:16px}.checkrow.off{opacity:.55;cursor:not-allowed;background:var(--surface-2)}.checkrow b,.checkrow span.hint{display:block}.colony-label{position:absolute;transform:translate(-50%,-100%);display:flex;align-items:center;gap:8px;padding:5px 12px 5px 10px;border-radius:99px;background:var(--surface);border:1.5px solid var(--c);font-family:var(--font-display);font-weight:700;font-size:var(--fs-body);white-space:nowrap;box-shadow:var(--shadow)}.colony-label:hover{background:var(--surface-2)}.colony-label small{font-family:var(--font-body);font-weight:500;color:var(--muted);font-size:var(--fs-caption)}.colony-label .cdot{width:11px;height:11px;margin:0;background:var(--c)}.comb-wrap{overflow:hidden}.comb-wrap .comb{margin:0}.colony-label{max-width:260px}.colony-label small{overflow:hidden;text-overflow:ellipsis}.switcher{background:var(--bg-deep);border-right:1px solid var(--line);min-height:0;height:var(--app-h,100vh)}.switcher,.switcher-head{display:flex;flex-direction:column}.switcher-head{padding:14px 14px 10px;gap:10px;border-bottom:1px solid var(--line)}.switcher-head .input{padding:7px 10px 7px 32px;font-size:var(--fs-ui-lg)}.switcher-head .search svg{left:10px}.switcher-list{overflow-y:auto;flex:1 1;padding:6px 8px 16px}.switcher-group{display:flex;align-items:center;gap:6px;padding:12px 8px 5px;font-size:var(--fs-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.switcher-group span{margin-left:auto;font-weight:600}.sw-item{display:flex;gap:10px;padding:9px 8px;border-radius:10px;align-items:flex-start}.sw-item:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.sw-item[aria-current=page]{background:var(--surface);box-shadow:var(--shadow)}.sw-av{position:relative;flex:none}.sw-av .hex{--s:34px}.sw-av .pip{position:absolute;top:-1px;right:-2px;width:10px;height:10px;border-radius:50%;background:var(--honey);border:2px solid var(--bg-deep);animation:pulse 1.2s infinite}.sw-av .pip.err{background:var(--err);animation:none}.sw-item[aria-current=page] .sw-av .pip{border-color:var(--surface)}.sw-body{min-width:0;display:flex;flex-direction:column;gap:1px;flex:1 1}.sw-top{display:flex;align-items:center;gap:6px}.sw-top b{font-family:var(--font-display);font-size:var(--fs-body)}.sw-top b,.sw-top em.clone{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sw-top em.clone{display:inline-flex;align-items:center;gap:3px;min-width:0;max-width:90px;text-transform:none;letter-spacing:0;color:#5b4bc4;background:color-mix(in srgb,#6a5acd 12%,var(--surface))}.sw-top em{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:color-mix(in srgb,var(--honey) 40%,var(--ink));background:var(--honey-soft);padding:1px 6px;border-radius:99px;flex:none}.sw-sub{font-size:var(--fs-hint);color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sw-sub.empty{color:var(--muted);font-style:italic}.sw-sub.live{color:color-mix(in srgb,var(--honey) 55%,var(--ink));font-weight:600}.sw-meta{display:flex;align-items:center;gap:5px;font-size:var(--fs-caption);color:var(--muted)}.sw-meta i{width:8px;height:9px;-webkit-clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);flex:none}.sw-ago{margin-left:auto;white-space:nowrap}.ws-head .btn .dot{margin-left:2px}.delegation-card{border:1px dashed color-mix(in srgb,var(--honey) 60%,var(--line));background:var(--honey-soft);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:6px;font-size:var(--fs-ui-lg)}.delegation-card .head{display:flex;gap:8px;align-items:center;font-weight:700}.delegation-card p{margin:0;color:var(--ink-2);white-space:pre-wrap;word-break:break-word}.comb svg.links.top{z-index:var(--z-3)}.cell{z-index:var(--z-2);transition:opacity .15s}.cell.dim{opacity:.45}.cell.linked .shape{filter:drop-shadow(0 0 0 var(--honey));box-shadow:none}.cell.linked .shape:after{background:color-mix(in srgb,var(--honey) 22%,var(--surface))}.ltag{left:50%;bottom:7%;transform:translateX(-50%);z-index:var(--z-4);max-width:86%;padding:1px 8px;border-radius:99px;background:var(--honey);color:var(--honey-ink);font-size:10.5px;font-weight:800;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 0 0 2px var(--surface);pointer-events:none}.ltag,.rel-tools{position:absolute}.rel-tools{z-index:var(--z-5);right:20px;top:20px;display:flex;gap:8px}.rnode{transition:opacity .15s}.rnode.dim{opacity:.35}.rnode.active .hex{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--honey) 70%,transparent))}.rnode .react-flow__handle{width:16px;height:16px;border-width:3px}.rnode .react-flow__handle.source{bottom:-8px}.rnode .react-flow__handle.target{top:-8px}.edge-x{position:absolute;pointer-events:all;width:24px;height:24px;border-radius:50%;border:2px solid var(--surface);background:var(--err);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow);padding:0}.edge-x:hover{transform-origin:center;filter:brightness(1.1)}.rel-panel{position:absolute;z-index:var(--z-6);right:20px;top:64px;width:300px;padding:16px;display:flex;flex-direction:column;gap:10px;max-height:calc(var(--app-h, 100vh) - 100px);overflow-y:auto}.relrow{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);font-weight:600;font-size:var(--fs-ui-lg)}:root[data-theme=dark] .hex:not(.queen){color:#0c1411}.card-corner{position:absolute;top:10px;right:10px;z-index:var(--z-1)}.lang-row{display:flex;align-items:center;gap:8px;padding:0 10px 12px;color:var(--muted)}.lang-row .seg{flex:1 1}.lang-row .seg button{flex:1 1;padding:4px 8px;font-size:var(--fs-small);letter-spacing:.04em}@media (max-width:760px){.lang-row{padding:0 6px;flex:none}}.help{position:relative;display:inline-flex;align-items:center}.help-btn{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:0;background:transparent;color:var(--muted)}.help-btn:hover,.help-btn[aria-expanded=true]{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}.help-pop{z-index:var(--z-pop);top:calc(100% + 8px);left:0;width:min(360px,calc(100vw - 32px));padding:14px 16px;border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 18px 40px -16px rgba(0,0,0,.35);animation:fade .12s}.help-pop,.help-pop:before{position:absolute;background:var(--surface)}.help-pop:before{content:"";top:-6px;left:11px;width:10px;height:10px;border-left:1px solid var(--line-strong);border-top:1px solid var(--line-strong);transform:rotate(45deg)}.help-pop p{margin:8px 0 0;font-weight:400;line-height:1.5}.chat-pane:not([hidden]){display:contents}.tabcount{margin-left:6px;min-width:18px;padding:0 5px;border-radius:99px;background:var(--honey);color:var(--honey-ink);font-size:var(--fs-micro);font-weight:800;display:inline-block;text-align:center;line-height:17px}.gx{flex:1 1;min-height:0;flex-direction:column;background:var(--bg)}.gx,.gx-bar{display:flex}.gx-bar{align-items:center;gap:12px;padding:8px 16px;background:var(--surface);border-bottom:1px solid var(--line);min-height:46px;flex-wrap:wrap}.gx-branch{display:inline-flex;align-items:center;gap:7px;max-width:min(100%,460px);padding:3px 10px;border-radius:99px;background:var(--bg-deep);border:1px solid var(--line);font-family:var(--font-mono);font-size:var(--fs-hint);font-weight:600;color:var(--ink)}.gx-branch:hover,.gx-branch[aria-expanded=true]{background:var(--surface-2);border-color:var(--line-strong)}.gx-branch svg{flex:none}.gx-branch .bn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gx-branch .sha{flex:none;color:var(--muted);font-weight:500}.gx-branch .ab{flex:none;color:var(--ink-2);font-weight:500}.gx-info{margin:0;padding:10px 16px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);display:grid;grid-gap:6px;gap:6px;font-size:var(--fs-ui)}.gx-info>div{display:grid;grid-template-columns:110px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:baseline}.gx-info dt{color:var(--muted);font-size:var(--fs-small);font-weight:600}.gx-info dd{margin:0;overflow-wrap:anywhere;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.gx-info dd.msg{display:block;white-space:pre-wrap;font-weight:600}.gx-sum{font-size:var(--fs-ui)}.gx i.add{color:var(--ok)}.gx i.add,.gx i.del{font-style:normal;font-weight:700}.gx i.del{color:var(--err)}.gx-lock{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-caption);font-weight:700;color:var(--muted);padding:3px 9px;border-radius:99px;border:1px dashed var(--line-strong)}.gx-scope{padding:6px 16px;font-size:var(--fs-hint);background:var(--honey-soft);border-bottom:1px solid var(--line)}.gx-main{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr)}.gx-tree{min-height:0;background:var(--surface);border-right:1px solid var(--line)}.gx-filter,.gx-tree{display:flex;flex-direction:column}.gx-filter{gap:8px;padding:10px;border-bottom:1px solid var(--line)}.gx-filter .input{padding:6px 10px 6px 30px;font-size:var(--fs-ui)}.gx-filter .search svg{left:9px}.gx-filter .seg{align-self:stretch}.gx-filter .seg button{flex:1 1;padding:5px 8px;font-size:var(--fs-hint)}.gx-list{flex:1 1;overflow:auto;padding:4px 0 12px}.gx-row{--stc:var(--muted);display:flex;align-items:center;gap:4px;width:100%;height:27px;padding-right:8px;border:0;border-left:3px solid transparent;background:none;text-align:left;font-size:var(--fs-ui);color:var(--ink-2)}.gx-row:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.gx-row .chev{width:14px}.gx-row .chev,.gx-row .ico{flex:none;color:var(--muted);display:grid;place-items:center}.gx-row .nm{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gx-row.dir.has-changes .ico{color:var(--honey)}.gx-row .meta{display:flex;gap:6px;align-items:center;flex:none}.gx-counts{display:inline-flex;gap:6px;font-size:var(--fs-caption);font-family:var(--font-mono)}.dirdot,.gx-counts.sm{font-size:var(--fs-micro)}.dirdot{flex:none;min-width:18px;padding:0 5px;border-radius:99px;background:var(--honey-soft);color:color-mix(in srgb,var(--honey) 45%,var(--ink));font-weight:800;text-align:center;line-height:17px}.st-modified,.st-typechange{--stc:var(--honey)}.st-added,.st-untracked{--stc:var(--ok)}.st-conflict,.st-deleted{--stc:var(--err)}.st-renamed{--stc:var(--p-opencode)}.st-typechange{--stc:var(--p-kiro)}.gx-row.changed{background:color-mix(in srgb,var(--stc) 9%,transparent);border-left-color:var(--stc);color:var(--ink)}.gx-row.changed:hover{background:color-mix(in srgb,var(--stc) 16%,transparent)}.gx-row.changed .nm{color:color-mix(in srgb,var(--stc) 55%,var(--ink));font-weight:600}.gx-row.st-deleted .nm{text-decoration:line-through;opacity:.85}.gx-row.sel{background:color-mix(in srgb,var(--honey) 22%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--honey) 50%,transparent)}.gx-row:focus-visible{outline-offset:-2px}.stl{width:18px;height:18px;border-radius:5px;display:grid;place-items:center;font-family:var(--font-mono);font-weight:800;font-size:var(--fs-micro);background:color-mix(in srgb,var(--stc) 20%,transparent);color:color-mix(in srgb,var(--stc) 70%,var(--ink))}.gx-note{padding:14px 16px;margin:0;color:var(--muted);font-size:var(--fs-ui)}.gx-note.err{color:var(--err)}.gx-empty{margin:auto;text-align:center;padding:40px 24px;max-width:460px;display:flex;flex-direction:column;gap:10px;align-items:center;color:var(--muted)}.gx-empty h3{color:var(--ink);font-size:19px}.gx-empty p{margin:0}.gx-preview{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface)}.gx-phead{gap:8px 10px;padding:10px 16px;border-bottom:1px solid var(--line)}.gx-phead,.gx-ptitle{display:flex;flex-wrap:wrap}.gx-ptitle{min-width:0;flex:1 1 auto}.gx-ptitle,.gx-ptools{align-items:center;gap:8px}.gx-ptools{display:flex;justify-content:flex-end;flex-wrap:wrap;flex:0 1 auto;margin-left:auto}.gx-ptools .seg button{padding:4px 10px;font-size:var(--fs-hint)}.gx-path{font-size:var(--fs-ui);overflow-wrap:anywhere}.gx-path .dir{color:var(--muted)}.gx-chip,.gx-path b{font-weight:700}.gx-chip{--stc:var(--muted);padding:1px 9px;border-radius:99px;font-size:var(--fs-caption);border:1px solid color-mix(in srgb,var(--stc) 45%,transparent);background:color-mix(in srgb,var(--stc) 14%,transparent);color:color-mix(in srgb,var(--stc) 65%,var(--ink))}.gx-chip.soft{border-color:var(--line);background:var(--surface-2);color:var(--ink-2);font-weight:600}.gx-banner{padding:7px 16px;font-size:var(--fs-hint);background:var(--honey-soft);border-bottom:1px solid var(--line)}.gx-body{flex:1 1;min-height:0;overflow:auto}.gx-meta{padding:6px 16px;font-size:var(--fs-small);color:var(--muted);border-bottom:1px solid var(--line);font-family:var(--font-mono)}.gx-md{padding:18px 26px 30px;width:100%;box-sizing:border-box}.gx-md h1,.gx-md h2{border-bottom:1px solid var(--line);padding-bottom:.25em}.gx-md img{max-width:100%}.gx-md blockquote{margin:0 0 .75em;padding-left:12px;border-left:3px solid var(--line);color:var(--muted,inherit)}.gx-image{padding:20px;display:grid;place-items:center;min-height:220px;background:repeating-conic-gradient(var(--bg-deep) 0 25%,var(--surface) 0 50%) 0 0 /18px 18px}.gx-image img{max-width:100%;max-height:70vh;box-shadow:var(--shadow);background:#fff;border-radius:4px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1100px){.gx-main{grid-template-columns:1fr;grid-template-rows:minmax(160px,38%) 1fr}.gx-tree{border-right:0;border-bottom:1px solid var(--line)}}.switcher.mini .switcher-head{flex-direction:column;align-items:center;gap:4px;padding:10px 0}.switcher.mini .switcher-list{padding:6px 0 16px}.mini-group,.switcher.mini .switcher-list{display:flex;flex-direction:column;align-items:center}.mini-group{gap:4px;width:100%}.mini-sep{width:28px;height:4px;border-radius:4px;margin:10px 0 6px;background:var(--c,var(--line-strong));opacity:.85}.mini-group:first-child .mini-sep{margin-top:2px}.sw-item.mini{padding:6px;width:48px;justify-content:center;align-items:center;border-radius:12px}.sw-item.mini .sw-av .hex{--s:34px}.ap-card{position:fixed;z-index:var(--z-card);padding:14px 16px;border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 22px 48px -16px rgba(0,0,0,.4);pointer-events:none;animation:ap-in .14s ease-out}.ap-card,.ap-card:before{background:var(--surface)}.ap-card:before{content:"";position:absolute;top:50%;width:10px;height:10px;margin-top:-5px;transform:rotate(45deg)}.ap-card.right:before{left:-6px;border-left:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.ap-card.left:before{right:-6px;border-right:1px solid var(--line-strong);border-top:1px solid var(--line-strong)}.ap-head{display:flex;gap:12px;align-items:center}.ap-head .hex{--s:46px}.ap-name{font-family:var(--font-display);font-size:18px;letter-spacing:-.02em;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-desc{margin:10px 0 0;font-size:var(--fs-ui-lg);line-height:1.45}.ap-now{margin-top:10px;padding:7px 10px;border-radius:9px;background:var(--honey-soft);font-size:var(--fs-hint);font-weight:600;display:flex;gap:8px;align-items:center;color:color-mix(in srgb,var(--honey) 40%,var(--ink));overflow:hidden}.ap-now .dot{flex:none}.ap-rows{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);display:grid;grid-gap:5px;gap:5px;font-size:var(--fs-hint)}.ap-row{display:grid;grid-template-columns:82px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:baseline}.ap-row dt{color:var(--muted);font-weight:600}.ap-row dd{margin:0;overflow-wrap:anywhere}@media (max-width:760px){.ap-card{display:none}}.mde{border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);overflow:hidden;display:flex;flex-direction:column}.mde:focus-within{border-color:var(--honey);box-shadow:0 0 0 3px var(--honey-soft)}.mde-bar{display:flex;align-items:center;gap:2px;padding:6px 8px;background:var(--surface-2);border-bottom:1px solid var(--line);flex-wrap:wrap}.mde-btn{width:30px;height:30px;display:grid;place-items:center;border:0;background:transparent;color:var(--muted);border-radius:7px;cursor:pointer}.mde-btn:hover:not(:disabled){background:var(--honey-soft);color:var(--ink)}.mde-btn:disabled{opacity:.4;cursor:default}.mde-views{display:flex;padding:2px;border-radius:8px;background:var(--line)}.mde-views button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:var(--fs-small);font-weight:600;padding:4px 10px;border-radius:6px;cursor:pointer}.mde-views button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.15)}.mde-body{display:grid;min-height:340px;max-height:62vh}.mde-body.v-split{grid-template-columns:1fr 1fr}.mde-text{border:0;outline:0;resize:none;padding:14px 16px;background:var(--surface);color:var(--ink);font-size:var(--fs-ui);line-height:1.6;min-height:340px;width:100%;box-sizing:border-box}.mde-prev{padding:14px 18px;overflow:auto;background:var(--surface-2)}.v-split .mde-prev{border-left:1px solid var(--line)}.mde-foot{padding:6px 12px;font-size:var(--fs-caption);border-top:1px solid var(--line)}@media (max-width:900px){.mde-body.v-split{grid-template-columns:1fr}.v-split .mde-prev{border-left:0;border-top:1px solid var(--line);max-height:240px}}.sk-ws{display:grid;grid-template-columns:290px minmax(0,1fr);height:var(--app-h,100vh)}.sk-item{display:block;width:100%;text-align:left;border:0;background:none;color:inherit;font:inherit;padding:10px;border-radius:10px;cursor:pointer}.sk-item:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.sk-item[aria-current=true]{background:var(--surface);box-shadow:var(--shadow)}.sk-item b{font-family:var(--font-display);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sk-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--fs-hint);margin-top:1px}.sk-desc,.sk-meta{color:var(--muted)}.sk-meta{display:block;font-size:var(--fs-caption);margin-top:4px}.sk-main{display:flex;flex-direction:column;min-width:0;height:var(--app-h,100vh)}.sk-none{align-items:center;justify-content:center}.sk-head{display:flex;gap:20px;align-items:flex-start;padding:16px 24px;border-bottom:1px solid var(--line);background:var(--surface)}.sk-fields{flex:1 1;min-width:0;display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,2fr);grid-gap:16px;gap:16px}.sk-actions{display:flex;gap:8px;align-items:center;padding-top:22px;flex-wrap:wrap;justify-content:flex-end}.sk-editor{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:6px;padding:14px 24px 20px}.mde.fill{flex:1 1;min-height:0}.mde.fill .mde-body{flex:1 1;min-height:0!important;max-height:none}.mde.fill .mde-text{height:100%;min-height:0!important;overflow:auto}.mde.fill .mde-prev{min-height:0}@media (max-width:900px){.sk-ws{grid-template-columns:1fr;height:auto}.sk-ws .switcher{height:auto;max-height:36vh}.sk-main{height:auto}.sk-fields{grid-template-columns:1fr}.sk-actions{padding-top:0}.sk-editor .mde.fill .mde-body{min-height:360px!important}}.swatches{align-items:center}.swatch.custom{position:relative;cursor:pointer;overflow:hidden;background:conic-gradient(red,yellow,lime,aqua,blue,magenta,red);padding:0}.swatch.custom:after{content:"";position:absolute;inset:5px;border-radius:5px;background:var(--c)}.swatch.custom.on{border-color:var(--ink)}.swatch.custom input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.hex-input{width:96px;padding:5px 8px;font-size:var(--fs-hint)}.gx-acts{display:flex;gap:6px;flex-wrap:wrap}.gx-acts .btn,.gx-brmenu>.btn{gap:6px}.ct{min-width:16px;padding:0 5px;border-radius:99px;background:color-mix(in srgb,currentColor 18%,transparent);font-size:var(--fs-micro);font-weight:700;line-height:16px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gx-brmenu{position:relative}.gx-pop{position:absolute;z-index:var(--z-pop);top:calc(100% + 6px);left:0;width:340px;max-width:90vw;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 18px 44px -14px rgba(0,0,0,.35);padding:10px;display:flex;flex-direction:column;gap:8px;animation:ap-in .12s ease-out}.gx-pop .search .input{padding:6px 10px 6px 30px;font-size:var(--fs-ui)}.gx-pop .search svg{left:9px}.gx-newbr{display:flex;gap:6px}.gx-newbr .input{flex:1 1;min-width:0;padding:5px 9px;font-size:var(--fs-hint)}.gx-brlist{max-height:300px;overflow-y:auto;margin:0 -4px}.gx-brhead{padding:8px 8px 3px;font-size:var(--fs-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.gx-br{display:flex;align-items:center;gap:4px;border-radius:8px}.gx-br:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.gx-br>button.grow{border:0;background:none;text-align:left;padding:6px 8px;min-width:0;color:inherit;font:inherit;cursor:pointer;display:flex;flex-direction:column}.gx-br>button.grow:disabled{cursor:default;opacity:1}.gx-br .nm{display:flex;align-items:center;gap:5px;font-size:var(--fs-ui);font-weight:600;font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gx-br.cur .nm{color:var(--honey)}.gx-br .sub{font-size:var(--fs-caption);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gx-mergeask{padding:10px;border-radius:9px;background:var(--honey-soft)}.gx-mergeask,.gx-notice{display:flex;flex-direction:column;gap:8px;font-size:var(--fs-ui)}.gx-notice{padding:10px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--err) 8%,var(--surface))}.gx-notice pre{margin:0;max-height:160px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);font-size:var(--fs-small)}.gx-warn{padding:7px 16px;font-size:var(--fs-hint);background:var(--honey-soft);border-bottom:1px solid var(--line)}.gx-tabs{padding:10px 10px 0}.gx-tabs .seg{display:flex}.gx-tabs .seg button{flex:1 1}.gx-hist{flex:1 1;min-height:0;overflow-y:auto;padding:6px 0}.gx-commit{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;border:0;border-left:3px solid transparent;background:none;color:inherit;font:inherit;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--line)}.gx-commit:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.gx-commit.sel{background:color-mix(in srgb,var(--honey) 22%,var(--surface));border-left-color:var(--honey)}.gx-commit .subj{font-size:var(--fs-ui-lg);font-weight:600}.gx-commit .meta,.gx-commit .subj{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gx-commit .meta{font-size:var(--fs-caption);color:var(--muted)}.gx-commit .refs{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}.ref{font-style:normal;font-family:var(--font-mono);font-size:10.5px;padding:1px 7px;border-radius:99px;background:var(--honey-soft);border:1px solid color-mix(in srgb,var(--honey) 40%,transparent)}.gx-chead{padding:14px 16px 10px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.gx-chead h3{font-size:17px;line-height:1.3;overflow-wrap:anywhere}.gx-cbody{margin:0;white-space:pre-wrap;font-family:var(--font-body);font-size:var(--fs-ui);color:var(--ink-2);max-height:140px;overflow:auto}.gx-cfilelist{max-height:30%;min-height:36px;overflow-y:auto;border-bottom:1px solid var(--line);flex:none}.gx-cfile,.gx-crow{--stc:var(--muted);display:flex;align-items:center;gap:8px;width:100%;padding:4px 14px;border:0;background:none;text-align:left;color:inherit;font:inherit;font-size:var(--fs-hint);cursor:pointer}.gx-cfile:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.gx-cfile.sel{background:color-mix(in srgb,var(--honey) 22%,var(--surface))}.gx-cfile .nm,.gx-crow .nm{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gx-cfiles{display:flex;flex-direction:column;gap:6px}.gx-clist{max-height:240px;overflow-y:auto;border:1px solid var(--line);border-radius:10px}.gx-crow{padding:5px 10px;border-bottom:1px solid var(--line)}.gx-crow:last-child{border-bottom:0}.gx-crow:hover{background:var(--surface-2)}.gx-state{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 16px;font-size:var(--fs-ui);background:color-mix(in srgb,var(--err) 7%,var(--surface));border-bottom:1px solid var(--line)}.gx-resolver .gx-rbody{flex:1 1;min-height:0;display:flex;flex-direction:column}.gx-rblocks{max-height:46%;overflow-y:auto;padding:10px 14px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--line);flex:none}.gx-rcard{border:1px solid var(--line-strong);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--surface-2)}.gx-rtitle{display:flex;gap:10px;align-items:baseline}.gx-rsides{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.gx-rside{--sc:var(--ok);border:1px solid color-mix(in srgb,var(--sc) 45%,var(--line));border-radius:9px;background:var(--surface);display:flex;flex-direction:column;min-width:0;overflow:hidden}.gx-rside.remote{--sc:var(--p-opencode)}.gx-rhead{display:flex;gap:6px;align-items:center;padding:5px 9px;font-size:var(--fs-caption);font-weight:700;background:color-mix(in srgb,var(--sc) 14%,var(--surface));color:color-mix(in srgb,var(--sc) 60%,var(--ink))}.gx-rside pre{margin:0;padding:10px 12px 12px;font-family:var(--font-mono);font-size:var(--fs-small);max-height:150px;overflow:auto;white-space:pre;flex:1 1}.gx-rside .btn{margin:4px 12px 12px;align-self:flex-start}.gx-rboth{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.gx-rresult{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:6px;padding:10px 14px 4px}.gx-rfoot{display:flex;gap:10px;align-items:center;padding:10px 14px;border-top:1px solid var(--line)}@media (max-width:900px){.gx-rsides{grid-template-columns:1fr}}.gx{--g-bg:var(--surface);--g-fg:var(--ink);--g-gbg:var(--bg-deep);--g-gfg:var(--muted);--g-add:color-mix(in srgb,var(--ok) 15%,var(--surface));--g-addln:color-mix(in srgb,var(--ok) 28%,var(--surface));--g-del:color-mix(in srgb,var(--err) 14%,var(--surface));--g-delln:color-mix(in srgb,var(--err) 26%,var(--surface));--g-hunk:color-mix(in srgb,var(--p-opencode) 11%,var(--surface));--g-sel:color-mix(in srgb,var(--honey) 28%,transparent);--g-comment:var(--muted);--g-keyword:#a8327d;--g-string:#2f7a4b;--g-number:#b4561b;--g-fn:#3a5bd0;--g-type:#0f7c8a;--g-attr:#8a5a00;--g-meta:var(--muted)}:root:not([data-theme=light]) .gx[data-gx-theme=app],:root[data-theme=dark] .gx[data-gx-theme=app]{--g-keyword:#f08ac9;--g-string:#8fd6a2;--g-number:#f0a766;--g-fn:#8fa8ff;--g-type:#6fd3de;--g-attr:#e3c177}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .gx[data-gx-theme=app]{--g-keyword:#a8327d;--g-string:#2f7a4b;--g-number:#b4561b;--g-fn:#3a5bd0;--g-type:#0f7c8a;--g-attr:#8a5a00}}.gx[data-gx-theme=gitlab-light]{--g-bg:#ffffff;--g-fg:#1f1e24;--g-gbg:#fafafa;--g-gfg:#8f8f8f;--g-add:#ecfdf0;--g-addln:#c7f0d2;--g-del:#fbe9eb;--g-delln:#f9d7dc;--g-hunk:#f0f5ff;--g-comment:#868686;--g-keyword:#a31515;--g-string:#0451a5;--g-number:#098658;--g-fn:#6f42c1;--g-type:#267f99;--g-attr:#e36209;--g-meta:#6a737d;--g-sel:#fff5b1;color-scheme:light}.gx[data-gx-theme=gitlab-dark]{--g-bg:#1f1e24;--g-fg:#e6e6e8;--g-gbg:#27262c;--g-gfg:#7f7f87;--g-add:#12261e;--g-addln:#1a3a2a;--g-del:#2d1a1e;--g-delln:#442329;--g-hunk:#25283a;--g-comment:#8b949e;--g-keyword:#ff7b72;--g-string:#a5d6ff;--g-number:#79c0ff;--g-fn:#d2a8ff;--g-type:#ffa657;--g-attr:#7ee787;--g-meta:#8b949e;--g-sel:#4d3c00;color-scheme:dark}.gx[data-gx-theme=solarized-light]{--g-bg:#fdf6e3;--g-fg:#586e75;--g-gbg:#eee8d5;--g-gfg:#93a1a1;--g-add:#eef2cf;--g-addln:#d9e5a8;--g-del:#f9e1d6;--g-delln:#f2c9b8;--g-hunk:#e9efd9;--g-comment:#93a1a1;--g-keyword:#859900;--g-string:#2aa198;--g-number:#d33682;--g-fn:#268bd2;--g-type:#b58900;--g-attr:#cb4b16;--g-meta:#839496;--g-sel:#f1e6b0;color-scheme:light}.gx[data-gx-theme=solarized-dark]{--g-bg:#002b36;--g-fg:#93a1a1;--g-gbg:#073642;--g-gfg:#586e75;--g-add:#0b3a2a;--g-addln:#14513c;--g-del:#3a2527;--g-delln:#58302f;--g-hunk:#073b4a;--g-comment:#586e75;--g-keyword:#859900;--g-string:#2aa198;--g-number:#d33682;--g-fn:#268bd2;--g-type:#b58900;--g-attr:#cb4b16;--g-meta:#657b83;--g-sel:#4a4a00;color-scheme:dark}.gx[data-gx-theme=monokai]{--g-bg:#272822;--g-fg:#f8f8f2;--g-gbg:#2d2e27;--g-gfg:#75715e;--g-add:#2f3a1f;--g-addln:#3f5226;--g-del:#42232a;--g-delln:#5c2f39;--g-hunk:#33342b;--g-comment:#75715e;--g-keyword:#f92672;--g-string:#e6db74;--g-number:#ae81ff;--g-fn:#a6e22e;--g-type:#66d9ef;--g-attr:#fd971f;--g-meta:#75715e;--g-sel:#5a5a1c;color-scheme:dark}.gx[data-gx-theme=dracula]{--g-bg:#282a36;--g-fg:#f8f8f2;--g-gbg:#21222c;--g-gfg:#6272a4;--g-add:#1f3a2a;--g-addln:#2a5039;--g-del:#3f2230;--g-delln:#5c2c40;--g-hunk:#303347;--g-comment:#6272a4;--g-keyword:#ff79c6;--g-string:#f1fa8c;--g-number:#bd93f9;--g-fn:#50fa7b;--g-type:#8be9fd;--g-attr:#ffb86c;--g-meta:#6272a4;--g-sel:#5c5a22;color-scheme:dark}.gx .gx-body{background:var(--g-bg);color:var(--g-fg)}.gx .hljs-comment,.gx .hljs-quote{color:var(--g-comment);font-style:italic}.gx .hljs-doctag,.gx .hljs-keyword,.gx .hljs-literal,.gx .hljs-name,.gx .hljs-section,.gx .hljs-selector-tag,.gx .hljs-strong{color:var(--g-keyword)}.gx .hljs-addition,.gx .hljs-bullet,.gx .hljs-regexp,.gx .hljs-string,.gx .hljs-symbol,.gx .hljs-template-variable{color:var(--g-string)}.gx .hljs-link,.gx .hljs-number{color:var(--g-number)}.gx .hljs-function,.gx .hljs-selector-class,.gx .hljs-selector-id,.gx .hljs-title,.gx .hljs-title.function_{color:var(--g-fn)}.gx .hljs-built_in,.gx .hljs-builtin-name,.gx .hljs-class .hljs-title,.gx .hljs-title.class_,.gx .hljs-type{color:var(--g-type)}.gx .hljs-attr,.gx .hljs-attribute,.gx .hljs-params,.gx .hljs-property,.gx .hljs-selector-attr,.gx .hljs-selector-pseudo,.gx .hljs-variable{color:var(--g-attr)}.gx .hljs-deletion,.gx .hljs-meta,.gx .hljs-meta .hljs-keyword,.gx .hljs-tag{color:var(--g-meta)}.gx .hljs-emphasis{font-style:italic}.gx i.ws-s,.gx i.ws-t{font-style:normal;position:relative}.gx i.ws-s:before{content:"\00b7";width:100%;text-align:center}.gx i.ws-s:before,.gx i.ws-t:before{position:absolute;left:0;color:var(--g-gfg);opacity:.65}.gx i.ws-t:before{content:"\2192"}.ce{position:relative;flex:1 1;min-height:120px;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;background:var(--g-bg);color:var(--g-fg);font-family:var(--font-mono);font-size:var(--fs-hint);line-height:20px}.ce:focus-within{border-color:var(--honey);box-shadow:0 0 0 3px var(--honey-soft)}.ce-area,.ce-layer{position:absolute;inset:0;margin:0;padding:8px 0;font:inherit;line-height:inherit;tab-size:var(--g-tab,4);-moz-tab-size:var(--g-tab,4);white-space:pre;overflow:auto;border:0}.ce-layer{pointer-events:none;overflow:hidden}.ce-space{position:relative}.ce-win{position:absolute;left:0;right:0}.ce-row{display:flex;height:20px}.ce-no{flex:none;width:var(--ce-gw);padding:0 8px;text-align:right;color:var(--g-gfg);background:var(--g-gbg);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:-webkit-sticky;position:sticky;left:0;font-size:var(--fs-caption)}.ce-code{padding:0 12px;flex:1 1}.ce-area{background:transparent;color:transparent;caret-color:var(--g-fg);resize:none;outline:none;padding-left:calc(var(--ce-gw) + 12px);width:100%;height:100%;box-sizing:border-box}.ce-area::selection{background:var(--g-sel);color:transparent}.ce-row.mk-edge{background:color-mix(in srgb,var(--err) 18%,transparent)}.ce-row.mk-mid{background:color-mix(in srgb,var(--honey) 22%,transparent)}.gx-setpop{width:340px;left:auto;right:0;box-sizing:border-box}.gx-themes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.gx-theme{min-width:0;display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-hint);cursor:pointer;text-align:left}.gx-theme:hover{background:var(--surface-2)}.gx-theme.on{border-color:var(--honey);box-shadow:0 0 0 2px var(--honey-soft)}.gx-theme .sw{display:flex;align-items:center;gap:2px;padding:4px 5px;border-radius:6px;border:1px solid rgba(128,128,128,.35);flex:none}.gx-theme .sw i{width:7px;height:7px;border-radius:50%}.gx-theme .nm{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gx-opt{display:flex;align-items:center;gap:10px;justify-content:space-between;cursor:pointer;font-size:var(--fs-ui)}.gx-opt small{display:block;color:var(--muted);font-size:var(--fs-caption)}.gx-opt input{flex:none}.bl-btn{display:flex;gap:8px;align-items:baseline;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left}.bl-btn:hover .sha{text-decoration:underline;color:var(--honey)}.bl-btn .sha{font-size:var(--fs-micro);flex:none}.bl-btn .who{overflow:hidden;text-overflow:ellipsis;max-width:80px;color:var(--g-fg)}.bl-btn .when{margin-left:auto;opacity:.75}.gx-rside pre{background:var(--g-bg);color:var(--g-fg);-moz-tab-size:var(--g-tab,4);tab-size:var(--g-tab,4)}.gx-body:has(>.vf){overflow:hidden;display:flex;flex-direction:column}.vf{display:flex;flex-direction:column;background:var(--g-bg);color:var(--g-fg)}.vf,.vf-main{flex:1 1;min-height:0}.vf-main{position:relative}.vl{position:absolute;inset:0;overflow:auto;font-family:var(--font-mono);font-size:var(--fs-hint);line-height:20px;tab-size:var(--g-tab,4);-moz-tab-size:var(--g-tab,4)}.vl-space{position:relative}.vl-win{position:absolute;left:0;right:0}.vl-row{display:flex;height:20px;white-space:pre}.vl-bl,.vl-ln{position:-webkit-sticky;position:sticky;flex:none;z-index:var(--z-2);background:var(--g-gbg);color:var(--g-gfg);overflow:hidden}.vl-bl{left:0;width:var(--vl-left);padding:0 10px;box-sizing:border-box;font-size:var(--fs-caption);border-right:1px solid var(--line)}.vl-bl.first{box-shadow:inset 0 1px 0 var(--line)}.vl-ln{left:var(--vl-left,0);box-sizing:content-box;width:6ch;padding:0 8px;text-align:right;font-size:var(--fs-caption);-webkit-user-select:none;-moz-user-select:none;user-select:none}.vl-cd{flex:1 1;padding:0 12px}.vl-row.bl-g1 .vl-bl{background:color-mix(in srgb,var(--g-gbg) 82%,var(--g-fg))}.vl-sg{flex:none;width:18px;text-align:center;color:var(--g-gfg);-webkit-user-select:none;-moz-user-select:none;user-select:none}.vl-row.add .vl-sg{color:var(--ok);font-weight:800}.vl-row.del .vl-sg{color:var(--err);font-weight:800}.vl-ln.add,.vl-row.add .vl-ln{background:var(--g-addln);color:var(--g-fg)}.vl-cd.add,.vl-row.add .vl-cd,.vl-row.add .vl-sg{background:var(--g-add)}.vl-ln.del,.vl-row.del .vl-ln{background:var(--g-delln);color:var(--g-fg)}.vl-cd.del,.vl-row.del .vl-cd,.vl-row.del .vl-sg{background:var(--g-del)}.vl-row.hunk{background:var(--g-hunk);color:var(--g-gfg);font-size:var(--fs-small);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-sizing:border-box}.vl-row.hunk .vl-ln{background:var(--g-hunk);text-align:center;opacity:.8}.vl-hl{position:-webkit-sticky;position:sticky;left:calc(12ch + 32px);display:flex;gap:12px;align-items:center;padding:0 12px;min-width:0}.vl-hl .hs,.vl-hl .rng{color:var(--g-gfg);white-space:nowrap}.vl-hl .hs{opacity:.75;font-family:var(--font-body);font-style:italic;overflow:hidden;text-overflow:ellipsis;max-width:60ch}.vl-row.split{display:grid;grid-template-columns:calc(6ch + 16px) minmax(0,1fr) calc(6ch + 16px) minmax(0,1fr)}.vl-row.split .vl-cd{overflow:hidden}.vl-row.split .vl-cd>span{display:inline-block;transform:translateX(calc(var(--hx, 0px) * -1))}.vl-row.split .vl-ln{position:static;width:auto;box-sizing:border-box}.vl-row.split .vl-cd.void,.vl-row.split .vl-ln.void{background:repeating-linear-gradient(135deg,var(--g-gbg) 0 6px,var(--g-bg) 6px 12px)}.vl-row.split .vl-cd:nth-child(2){border-right:1px solid var(--line)}.hk-btn{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding:1px 9px;border:1px solid var(--line-strong);border-radius:99px;background:var(--surface);color:var(--ink-2);font:inherit;font-size:var(--fs-caption);cursor:pointer;opacity:.55;white-space:nowrap}.hk-btn:focus-visible,.hk-btn:hover,.vl-row.hunk:hover .hk-btn{opacity:1}.hk-btn:hover{border-color:var(--err);color:var(--err)}.gx-dlist{margin:0;padding:8px 12px 8px 28px;max-height:180px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:var(--fs-hint)}.hk-btn.on{opacity:1}.hk-btn.danger{border-color:var(--err);color:var(--err)}.hk-btn:disabled{opacity:.4;cursor:default}.hk-btn+.hk-btn{margin-left:0}.vl-hl{flex-wrap:nowrap}.vl-row .vl-sg input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:14px;height:14px;margin:0;cursor:pointer;vertical-align:middle;border:1.5px solid var(--g-gfg);border-radius:4px;background:var(--g-bg);display:inline-block;position:relative;top:-1px}.vl-row .vl-sg input:hover{border-color:var(--err)}.vl-row .vl-sg input:checked{background:var(--err);border-color:var(--err)}.vl-row .vl-sg input:checked:after{content:"";position:absolute;left:3.5px;top:.5px;width:3px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.vl-row .vl-sg input:focus-visible{outline:2px solid var(--honey);outline-offset:1px}.vl-row.picked{outline:1px solid color-mix(in srgb,var(--err) 70%,transparent);outline-offset:-1px}.gx-effects{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-size:var(--fs-ui-lg)}.gx-effects>li{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.gx-effects>li.bad{border-color:color-mix(in srgb,var(--err) 55%,var(--line));background:color-mix(in srgb,var(--err) 8%,var(--surface))}.gx-effects .gx-dlist{margin-top:8px}.gx-lost{margin:0;font-weight:700;color:var(--err);font-size:var(--fs-ui-lg)}.gx-file-eff{margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);overflow-wrap:anywhere}.gx-sw-warn{padding:10px 12px;border-radius:10px;background:var(--honey-soft);border:1px solid color-mix(in srgb,var(--honey) 50%,transparent);font-size:var(--fs-ui);gap:4px}.gx-stashes,.gx-sw-warn{display:flex;flex-direction:column}.gx-stashes{min-height:0;flex:1 1}.gx-stash-head{padding:10px;border-bottom:1px solid var(--line)}.gx-stash-head .btn{width:100%;justify-content:center;gap:6px}.gx{--g-mod:color-mix(in srgb,#3b82f6 16%,var(--g-bg));--g-modln:color-mix(in srgb,#3b82f6 34%,var(--g-gbg))}.vl-row.m-add .vl-cd{background:var(--g-add)}.vl-row.m-add .vl-ln{background:var(--g-addln);box-shadow:inset 3px 0 0 var(--ok);color:var(--g-fg)}.vl-row.m-mod .vl-cd{background:var(--g-mod)}.vl-row.m-mod .vl-ln{background:var(--g-modln);box-shadow:inset 3px 0 0 #3b82f6;color:var(--g-fg)}.vl-row.m-delb .vl-bl,.vl-row.m-delb .vl-cd,.vl-row.m-delb .vl-ln{box-shadow:inset 0 2px 0 var(--err)}.vl-row.m-dela .vl-bl,.vl-row.m-dela .vl-cd,.vl-row.m-dela .vl-ln{box-shadow:inset 0 -2px 0 var(--err)}.vl-row.m-dela .vl-ln:after,.vl-row.m-delb .vl-ln:before{content:"";position:absolute;left:0;width:0;height:0;border:4px solid transparent;border-left:4px solid var(--err)}.vl-row.m-delb .vl-ln:before{top:0}.vl-row.m-dela .vl-ln:after{bottom:0}.vl-row.has-peek .vl-ln,.vl-row.has-peek.m-add .vl-cd,.vl-row.has-peek.m-mod .vl-cd{cursor:pointer}.vl-row.has-peek:hover .vl-ln{filter:brightness(1.25)}.vl-row.in-peek .vl-cd{position:relative}.vl-row.in-peek .vl-cd:after{content:"";position:absolute;inset:0;pointer-events:none;background:color-mix(in srgb,var(--honey) 16%,transparent)}.vl-row.in-peek .vl-ln{background-image:linear-gradient(var(--honey),var(--honey));background-size:4px 100%;background-repeat:no-repeat;background-position:0}.vl-peekwrap{position:absolute;left:0;right:0;z-index:var(--z-4);pointer-events:none}.vl-peek{pointer-events:auto;position:-webkit-sticky;position:sticky;left:64px;width:min(880px,calc(var(--vl-vw, 900px) - 90px));margin:4px 0 8px;border:1px solid var(--honey);border-radius:10px;background:var(--g-bg,var(--surface));box-shadow:0 14px 34px -12px rgba(0,0,0,.5);overflow:hidden;font-family:var(--font-body);white-space:normal}.vl-peek-head{display:flex;align-items:center;gap:8px;padding:5px 8px 5px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:var(--fs-hint);color:var(--ink)}.vl-peek-body{display:flex;flex-direction:column}.vl-peek-body .vf{flex:1 1;min-height:0}.gx-row.ignored{opacity:.55}.gx-row.ignored.sel,.gx-row.ignored:hover{opacity:.9}.gx-row.ignored .nm{font-style:italic}.hbar{flex:none;overflow-x:auto;overflow-y:hidden;height:14px;border-top:1px solid var(--line);background:var(--g-gbg,var(--surface-2))}.bubble.channel{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:16px 16px 4px 16px}.bubble.channel .chhead{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--fs-caption);color:var(--muted);margin-bottom:4px}.bubble.channel .chhead b{color:var(--ink-2)}.bubble.channel .chhead .chfrom{margin-left:auto;font-weight:600;color:var(--ink-2)}.bubble.channel .chbody{white-space:pre-wrap;word-break:break-word}.bubble.channel .chfiles{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.bubble.channel .chfile{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:8px;background:var(--surface-2,rgba(127,127,127,.15));font-size:var(--fs-small);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bubble.channel .chfile i{color:var(--muted);font-style:normal}.bubble.channel .chtag{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:999px;background:var(--surface-2,rgba(127,127,127,.15));font-size:var(--fs-micro)}.bubble.channel .chctx{margin-top:6px;font-size:var(--fs-small);color:var(--muted)}.bubble.channel .chctx summary{cursor:pointer}.bubble.channel .chctx pre{margin:4px 0 0;white-space:pre-wrap;word-break:break-word;font:inherit}.seg button:disabled{opacity:.4;cursor:not-allowed}.conn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:14px;gap:14px}.conncard{display:flex;flex-direction:column;gap:10px;cursor:pointer;font:inherit;color:inherit;text-align:left}.conncard:hover{border-color:var(--honey)}.sched-list{gap:12px}.sched,.sched-list{display:flex;flex-direction:column}.sched{gap:8px}.sched.off{opacity:.6}.sched .note{margin:0;white-space:pre-wrap;word-break:break-word}.sched .meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}.sched-runs{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-hint);border-top:1px solid var(--line);padding-top:8px}.sched-runs .r{display:flex;gap:10px;flex-wrap:wrap}.chip.warn{border-color:var(--honey);color:var(--honey)}.chat-earlier{display:block;margin:4px auto 14px}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ink) 22%,transparent) transparent}:hover{scrollbar-color:color-mix(in srgb,var(--ink) 38%,transparent) transparent}@supports not (scrollbar-color:auto){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 24%,transparent);border-radius:10px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--ink) 42%,transparent);background-clip:content-box}}.gx-tagview{display:flex;flex-direction:column;min-height:0}.gx-tagfiles{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);border-top:1px solid var(--line)}.gx-tagtree{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line)}.gx-tagtree .gx-list{flex:1 1;overflow-y:auto}.gx-tagfile{display:flex;flex-direction:column;min-width:0;min-height:0}.gx-tagfile .gx-body{flex:1 1;min-height:0}.gx-commitview.embedded{flex:1 1;min-height:0;border-top:1px solid var(--line)}@media (max-width:900px){.gx-tagfiles{grid-template-columns:1fr}.gx-tagtree{max-height:40vh;border-right:0;border-bottom:1px solid var(--line)}}.gx-tabs .seg{overflow-x:auto;scrollbar-width:none}.gx-tabs .seg button{padding:6px 4px;font-size:var(--fs-small);white-space:nowrap}.gx-hfilter{padding:10px 10px 8px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line)}.gx-hfilter .input{padding:6px 10px;font-size:var(--fs-ui)}.gx-hfilter .search .input{padding-left:32px}.gx-hfilter select.input{width:auto;flex:none}.gx-hfilter .gx-refpick{flex:1 1;min-width:0}.gx-refbtn{max-width:100%}.gx-refbtn .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.gx-pathchip{display:flex;align-items:center;gap:4px;padding:2px 4px 2px 10px;max-width:100%}.gx-pathchip .nm{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gx-refpick .gx-pop{width:320px}.gx-refrow{display:flex;flex-direction:column;width:100%;text-align:left;border:0;background:none;color:inherit;font:inherit;padding:6px 8px;border-radius:8px;cursor:pointer;min-width:0}.gx-refrow:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.gx-refrow.sel .nm{color:var(--honey)}.gx-refrow .nm{display:flex;align-items:center;gap:5px;font-size:var(--fs-ui);font-weight:600}.gx-refrow .nm,.gx-refrow .sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gx-refrow .sub{font-size:var(--fs-caption);color:var(--muted)}.gx-cmpside{padding:12px 12px 16px;display:flex;flex-direction:column;gap:6px}.gx-cmpside .gx-refpick .btn{width:100%;justify-content:space-between}.gx-cmpside .gx-refbtn .nm{max-width:none;flex:1 1;text-align:left}.gx-cmpcommits summary{cursor:pointer;font-size:var(--fs-hint);color:var(--ink-2);font-weight:600}.gx-cmpcommits ul{margin:6px 0 0;padding:0;list-style:none;max-height:200px;overflow-y:auto;font-size:var(--fs-hint);display:flex;flex-direction:column;gap:3px}.gx-hits{padding:4px 0}.gx-hit{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;border:0;border-left:3px solid transparent;background:none;color:inherit;font:inherit;padding:6px 12px;cursor:pointer;border-bottom:1px solid var(--line);min-width:0}.gx-hit:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.gx-hit.sel{background:color-mix(in srgb,var(--honey) 22%,var(--surface));border-left-color:var(--honey)}.gx-hit .nm{font-size:var(--fs-small);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gx-hit .nm i{font-style:normal;color:var(--muted);font-weight:500}.gx-hit .tx{font-size:var(--fs-small);color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vl-row.m-hit{background:color-mix(in srgb,var(--honey) 28%,transparent)}.gx-picpair{display:flex;gap:20px;flex-wrap:wrap;padding:16px;align-items:flex-start}.gx-pic{margin:0;flex:1 1;min-width:240px}.gx-pic .gx-image{padding:12px;min-height:160px}.gx-bar{flex-wrap:nowrap;gap:8px}.gx-bar .gx-sum{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.gx-bar .gx-branch{flex:0 1 auto;min-width:0}.gx-acts{flex-wrap:nowrap;gap:4px}.gx-acts .btn{padding-left:9px;padding-right:9px}.gx-acts .btn .ct{margin-left:4px}.gx-tabs{display:flex;gap:2px;padding:8px 10px 0}.gx-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;min-width:34px;padding:0 9px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:600;font-size:var(--fs-hint);white-space:nowrap}.gx-tab:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}.gx-tab.on{background:var(--bg-deep);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);flex:1 1 auto;min-width:0}.gx-tab.on span{overflow:hidden;text-overflow:ellipsis}.gx-filter{flex-direction:row;align-items:center;gap:6px;padding:8px 10px}.gx-filter .search{flex:1 1;min-width:0}.seg.icons button{padding:5px 8px;display:inline-flex;align-items:center}.gx-filter .seg.icons{flex:none;align-self:auto}.gx-filter .seg.icons button{flex:none}.gx-onlych{padding:5px 8px;flex:none}.gx-onlych .ct{margin-left:4px;font-size:var(--fs-micro);font-weight:700}.gx-phead{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px 12px;gap:8px 12px;padding:10px 16px 8px}.gx-ptools{grid-column:1/-1;margin-left:0;justify-content:flex-start;width:100%}.gx-ptl,.gx-ptr{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gx-ptr{gap:2px;flex-wrap:nowrap}.gx-ptr .btn.on{background:var(--honey-soft);color:var(--ink);box-shadow:inset 0 0 0 1px var(--honey)}.gx-ptr .gx-refbtn .nm{max-width:120px}.copybtn.compact{padding:6px;border-radius:8px}.copybtn.compact:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.tooltip{position:fixed;z-index:var(--z-tooltip);max-width:min(340px,calc(100vw - 16px));padding:6px 10px;border-radius:8px;background:var(--ink);color:var(--bg);font-size:var(--fs-small);line-height:1.45;font-weight:500;white-space:pre-line;overflow-wrap:anywhere;pointer-events:none;box-shadow:0 8px 24px -8px rgba(0,0,0,.45);animation:tip-in .12s ease-out}@keyframes tip-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.tooltip[data-below="1"]{animation-name:tip-in-below}@keyframes tip-in-below{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.tooltip{animation:none}}.cell.obj .label{gap:3px}.cell.obj .label svg{color:var(--c);flex:none}.cell.obj .label small{color:var(--muted)}.cell.obj.st-error .label small{color:var(--err)}.cell.obj.st-running .label small{color:var(--ok)}.cell.obj.st-starting .label small{color:var(--honey)}.cell.obj.st-stopped .shape,.cell.obj.st-unknown .shape{filter:saturate(.45)}.cell .pip.o-running{background:var(--ok);animation:none}.cell .pip.o-starting{background:var(--honey)}.cell .pip.o-error{background:var(--err);animation:none}.cell .pip.o-stopped,.cell .pip.o-unknown{background:var(--line-strong);animation:none}.odot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--line-strong);flex:none}.odot.ok{background:var(--ok)}.odot.warn{background:var(--honey);animation:pulse 1.2s infinite}.odot.err{background:var(--err)}.ostatus{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-hint);font-weight:700;padding:2px 9px;border-radius:99px;background:var(--bg-deep);border:1px solid var(--line)}.ostatus.ok{color:var(--ok)}.ostatus.warn{color:color-mix(in srgb,var(--honey) 70%,var(--ink))}.ostatus.err{color:var(--err)}.obj-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--c) 16%,var(--surface));color:var(--c);flex:none}.obj-cmd{padding:6px 9px;border-radius:8px;background:var(--bg-deep);border:1px solid var(--line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logv{position:relative}.logv-body{margin:0;padding:10px 12px;overflow:auto;border-radius:10px;background:var(--bg-deep);border:1px solid var(--line);font-size:var(--fs-small);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.logv-tools{position:absolute;right:8px;bottom:8px;display:flex;gap:4px}.okinds{display:grid;grid-gap:10px;gap:10px}.okind{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:inherit;font:inherit}.okind svg{color:var(--c)}.okind small{color:var(--muted);font-size:var(--fs-small);line-height:1.35}.okind:hover{border-color:var(--line-strong)}.okind[aria-pressed=true]{border-color:var(--c);box-shadow:0 0 0 1px var(--c);background:color-mix(in srgb,var(--c) 8%,var(--surface))}.okinds{grid-template-columns:1fr 1fr}.omembers{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:10px;padding:4px;max-height:260px;overflow-y:auto}.omember{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer}.omember:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.omember .nm{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.omember .ord{font-size:var(--fs-micro);font-weight:700;padding:0 7px;border-radius:99px;background:var(--honey-soft);color:var(--ink)}.hr{position:fixed;z-index:var(--z-fullscreen);inset:3vh 3vw;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;box-shadow:0 30px 80px -20px rgba(0,0,0,.5);overflow:hidden}.hr-head{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line)}.hr-main{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(250px,340px) minmax(0,1fr)}.hr-list{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:var(--bg-deep)}.hr-reqs{flex:1 1;overflow-y:auto;padding-bottom:12px}.hr-file{display:flex;align-items:center;gap:6px;padding:10px 12px 4px;font-size:var(--fs-caption);font-weight:700;letter-spacing:.04em;color:var(--muted)}.hr-file .nm{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hr-req{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;border-left:3px solid transparent;background:none;color:inherit;font:inherit;padding:7px 12px;cursor:pointer}.hr-req:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.hr-req.sel{background:color-mix(in srgb,var(--honey) 22%,var(--surface));border-left-color:var(--honey)}.hr-req .nm{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-ui);font-weight:600}.hr-m{flex:none;min-width:48px;text-align:center;font-family:var(--font-mono);font-size:10.5px;font-weight:800;padding:2px 6px;border-radius:6px;background:var(--bg-deep);color:var(--ink-2)}.hr-m.get{color:#1f7a4d;background:color-mix(in srgb,#2f8f5b 16%,var(--surface))}.hr-m.post{color:#1d5fb8;background:color-mix(in srgb,#2f5bea 14%,var(--surface))}.hr-m.put{color:#9a6a00;background:color-mix(in srgb,#e8a317 22%,var(--surface))}.hr-m.del{color:#b32d1b;background:color-mix(in srgb,#c2412d 14%,var(--surface))}.hr-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--line-strong)}.hr-dot.ok{background:var(--ok)}.hr-dot.warn{background:var(--honey)}.hr-dot.err{background:var(--err)}.hr-detail{display:flex;flex-direction:column;min-width:0;min-height:0}.hr-reqhead{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}.hr-url{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-ui)}.hr-var{color:var(--p-kiro);font-weight:700}.hr-st.ok{color:var(--ok)}.hr-st.warn{color:color-mix(in srgb,var(--honey) 70%,var(--ink))}.hr-st.err{color:var(--err)}.hr-out{flex:1 1;min-height:0;overflow:auto;border-top:1px solid var(--line)}.hr-pre{padding:12px 16px 24px;font-family:var(--font-mono);font-size:var(--fs-hint);line-height:1.55}.hr-pre pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.hr-pre b{color:var(--ink-2)}@media (max-width:900px){.hr{inset:0;border-radius:0}.hr-main{grid-template-columns:1fr;grid-template-rows:38% 1fr}.hr-list{border-right:0;border-bottom:1px solid var(--line)}}.obj-panel .ord{font-size:var(--fs-micro);font-weight:700;padding:0 7px;border-radius:99px;background:var(--honey-soft);color:var(--ink)}.cell.obj.st-ready .label small{color:var(--ok)}.cell .pip.o-ready{background:var(--ok);animation:none}.dock{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-dock);display:flex;flex-direction:column;background:var(--bg-deep);border-top:1px solid var(--line-strong);box-shadow:0 -10px 30px -16px rgba(0,0,0,.35)}.dock-grip{position:absolute;left:0;right:0;top:-4px;height:8px;cursor:ns-resize;z-index:var(--z-2)}.dock-grip:hover{background:color-mix(in srgb,var(--honey) 40%,transparent)}.dock-bar{display:flex;align-items:center;gap:4px;padding:4px 8px;border-bottom:1px solid var(--line);background:var(--surface);flex:none}.dock-tabs{display:flex;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}.dock-tab{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 10px;border-radius:8px;color:var(--muted);font-size:var(--fs-hint);font-weight:600;cursor:pointer;white-space:nowrap;max-width:220px}.dock-tab .nm{overflow:hidden;text-overflow:ellipsis}.dock-tab:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}.dock-tab.on{color:var(--ink);background:var(--bg-deep);box-shadow:inset 0 0 0 1px var(--line)}.dock-x{display:grid;place-items:center;width:18px;height:18px;border:0;border-radius:5px;background:none;color:inherit;padding:0}.dock-x:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}.dock-body{flex:1 1;min-height:0;position:relative}.dock-pane{position:absolute;inset:0}.dock-pane[hidden]{display:none}.xterm-box{position:absolute;inset:6px 4px 4px 10px}.xterm-box .xterm{height:100%}.xterm-box .xterm-viewport{background:transparent!important}.dock-pane .logv{height:100%}.dock-pane .logv-body{height:100%!important}.lp{flex-direction:column;height:100%;min-height:0}.lp,.lp-bar{display:flex}.lp-bar{align-items:center;gap:6px;padding:8px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}.lp-search{position:relative;width:min(360px,100%)}.lp-search .input{padding:6px 90px 6px 30px;font-size:var(--fs-ui)}.lp-search svg{left:9px}.lp-hits{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:var(--fs-caption);color:var(--muted);pointer-events:none}.lp-chips{display:flex;gap:6px;flex-wrap:wrap;padding:8px 14px 0}.lp-chip{border:1px solid var(--c);background:color-mix(in srgb,var(--c) 14%,var(--surface));color:var(--ink);border-radius:99px;padding:2px 11px;font-size:var(--fs-small);font-weight:700}.lp-chip.off{background:none;color:var(--muted);border-color:var(--line);text-decoration:line-through}.lp-body{flex:1 1;min-height:0;overflow:auto;margin:10px 14px 0;padding:10px 12px;border-radius:10px;background:var(--bg-deep);border:1px solid var(--line);line-height:1.5;white-space:pre}.lp-body.wrap{white-space:pre-wrap;overflow-wrap:anywhere}.lp-row{padding:0 2px;border-radius:3px}.lp-row.err{color:var(--err)}.lp-row.warn{color:color-mix(in srgb,var(--honey) 70%,var(--ink))}.lp-row.hit{background:color-mix(in srgb,var(--honey) 14%,transparent)}.lp-row mark{background:color-mix(in srgb,var(--honey) 55%,transparent);color:inherit;border-radius:2px;padding:0 1px}.lp-src{color:var(--c);margin-right:4px;font-weight:700}.lp-foot{display:flex;align-items:center;justify-content:space-between;padding:6px 16px 10px;min-height:36px}.btn.on{background:var(--honey-soft);box-shadow:inset 0 0 0 1px var(--honey)}.ow-tabs{padding:0 24px;background:var(--surface);border-bottom:1px solid var(--line)}.ow-body{flex:1 1;min-height:0;overflow-y:auto}.ow-body.full{overflow:hidden;display:flex;flex-direction:column}.ow-body.full>*{flex:1 1;min-height:0}.obj-ico.sm{width:34px;height:34px;border-radius:10px}.sw-av .odot.sw-dot{position:absolute;top:-1px;right:-2px;border:2px solid var(--bg-deep);width:11px;height:11px;box-sizing:border-box}.odot.lg{width:12px;height:12px}.ov{padding:20px 24px 40px;display:flex;flex-direction:column;gap:14px;max-width:1200px}.ov-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:14px;gap:14px}.ov-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;min-width:0}.ov-card.wide{grid-column:1/-1}.ov-big{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:26px;font-weight:700}.ov-meter{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-ui);color:var(--muted)}.ov-meter b{color:var(--ink);font-size:var(--fs-lead);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ov-dl{margin:0;display:flex;flex-direction:column;gap:5px}.ov-row{display:grid;grid-template-columns:130px minmax(0,1fr);grid-gap:10px;gap:10px;font-size:var(--fs-ui)}.ov-row dt{color:var(--muted)}.ov-log,.ov-row dd{margin:0;overflow-wrap:anywhere}.ov-log{padding:10px 12px;border-radius:10px;background:var(--bg-deep);border:1px solid var(--line);font-size:var(--fs-small);line-height:1.5;white-space:pre-wrap;max-height:280px;overflow:auto}.spark{display:block}.oc{min-height:100%}.oc,.oc-form{display:flex;flex-direction:column}.oc-form{padding:20px 24px 28px;max-width:820px;width:100%;gap:14px}.oc-bar{position:-webkit-sticky;position:sticky;bottom:0;margin-top:auto;display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--surface);border-top:1px solid var(--line)}.ofold{border:1px solid var(--line);border-radius:12px;padding:4px 14px 12px}.ofold>summary{cursor:pointer;font-weight:700;padding:8px 0}.cm-table{width:100%;border-collapse:collapse;font-size:var(--fs-ui)}.cm-table th{text-align:left;font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 8px}.cm-table td{padding:7px 8px;border-top:1px solid var(--line);vertical-align:middle}.cm-ord{white-space:nowrap}.cm-act{text-align:right}.cm-name{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none}.cm-name:hover b{text-decoration:underline}.ord{font-size:var(--fs-micro);font-weight:700;padding:0 7px;border-radius:99px;background:var(--honey-soft);color:var(--ink);margin-right:4px}.vars{display:flex;flex-direction:column;gap:10px}.vars-envs{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.vars-env{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:3px 12px;font-size:var(--fs-hint);font-weight:700;color:var(--ink-2)}.vars-env.on{background:var(--honey-soft);border-color:var(--honey);color:var(--ink)}.vars-file{font-style:normal;color:var(--p-kiro);margin-left:4px;font-size:18px;line-height:0;vertical-align:-2px}.vars-add{display:inline-flex;align-items:center;gap:2px}.vars-add .input{padding:3px 10px;font-size:var(--fs-hint);width:150px}.vars-table{display:flex;flex-direction:column;gap:6px}.vars-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(160px,2fr) auto auto auto;grid-gap:6px;gap:6px;align-items:center}.vars-row .input{padding:6px 10px;font-size:var(--fs-ui)}.vars-note{grid-column:1/-1;font-size:var(--fs-caption);color:var(--p-kiro);margin:-2px 0 2px 4px}.hw-list{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:var(--bg-deep)}.hw-env{display:flex;align-items:center;gap:8px;padding:10px 12px 4px}.hw-hint{padding:4px 14px 8px;margin:0;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.hw-file{display:flex;align-items:center;gap:4px;padding:2px 8px 2px 4px}.hw-file.sel{background:color-mix(in srgb,var(--honey) 18%,var(--surface))}.hw-fbtn{flex:1 1;min-width:0;display:flex;align-items:center;gap:6px;border:0;background:none;color:inherit;font:inherit;padding:7px 6px;text-align:left;cursor:pointer}.hw-fbtn .nm{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-hint);font-weight:600}.hw-file-view{padding:20px 24px;display:flex;flex-direction:column;gap:12px;overflow:auto}.hw-trow{cursor:pointer}.hw-trow:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.hw-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:560px}@media (max-width:900px){.hw-list{border-right:0;border-bottom:1px solid var(--line)}.vars-row{grid-template-columns:1fr 1fr auto auto auto}}.of{gap:14px}.of,.of-card{display:flex;flex-direction:column}.of-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px 16px;gap:12px;min-width:0;scroll-margin-top:16px}.of-grid2{grid-template-columns:1fr 1fr;grid-gap:10px 14px}.of-grid2,.of-grid3{display:grid;gap:10px 14px}.of-grid3{grid-template-columns:repeat(3,1fr);grid-gap:10px 14px}.of-card>header h4{font-family:var(--font-display);font-size:var(--fs-lead);margin:0}.of-card>header p{margin:3px 0 0}.sg{position:relative}.sg-list{position:absolute;z-index:var(--z-drop);left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;max-height:280px;overflow-y:auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 14px 34px -12px rgba(0,0,0,.35)}.sg-opt{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;border:0;background:none;color:inherit;font:inherit;padding:6px 9px;border-radius:7px;cursor:pointer;text-align:left}.sg-opt.hi{background:color-mix(in srgb,var(--honey) 22%,var(--surface))}.sg-opt .nm{font-weight:600;font-size:var(--fs-ui)}.sg-opt .hint,.sg-opt .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sg-opt .hint{font-size:var(--fs-caption);color:var(--muted);max-width:55%}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip-pick{border:1px solid var(--line-strong);background:var(--surface);border-radius:99px;padding:3px 12px;font-size:var(--fs-hint);font-weight:700;color:var(--ink-2);font-family:var(--font-mono)}.chip-pick.on{background:var(--honey-soft);border-color:var(--honey);color:var(--ink)}.vars-scope{margin:0}.vars-used{border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column}.vused{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;padding:3px 9px;font-size:var(--fs-small);color:var(--ink);cursor:pointer}.vused code{font-family:var(--font-mono);font-weight:700}.vused small{color:var(--muted);font-size:var(--fs-micro)}.vused.here{border-color:color-mix(in srgb,var(--ok) 60%,var(--line));background:color-mix(in srgb,var(--ok) 10%,var(--surface));cursor:default}.vused.missing{border-color:var(--honey);background:var(--honey-soft)}.vused.all,.vused.atfile,.vused.envfile{background:var(--bg-deep)}.vars-row{grid-template-columns:minmax(150px,1fr) minmax(180px,2fr) auto auto auto}.ow-body:not(.full){display:flex;flex-direction:column}.ov{flex:1 1;min-height:0;max-width:none;width:100%}.ov-card.grow{flex:1 1;min-height:240px}.ov-card.grow .ov-log{flex:1 1;min-height:0;max-height:none}.oc{flex:1 1}.oc-form{max-width:none}.hw-session{border-top:1px solid var(--line);background:var(--surface);max-height:45%;overflow-y:auto;flex:none}.hw-session-head{display:flex;align-items:center;gap:6px;width:100%;border:0;background:none;color:inherit;font:inherit;padding:8px 12px;text-align:left}.hw-session-body{padding:0 12px 12px;display:flex;flex-direction:column;gap:4px}.hw-kv{display:grid;grid-template-columns:minmax(60px,auto) minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;font-size:var(--fs-small)}.hw-kv code{font-weight:700}.hw-kv .val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}.hw-kv-add{display:grid;grid-template-columns:1fr 1.4fr auto auto;grid-gap:4px;gap:4px;margin-top:6px}.hw-kv-add .input{padding:4px 8px;font-size:var(--fs-small)}.hw-test{display:flex;align-items:center;gap:8px;padding:3px 0}.hw-test.ok svg{color:var(--ok)}.hw-test.err svg{color:var(--err)}.ivt{display:flex;flex-direction:column;gap:8px;min-width:0}.ivt-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ivt-bar .search{width:min(320px,100%)}.ivt-bar .input{padding:6px 10px 6px 30px;font-size:var(--fs-ui)}.ivt-table{width:100%;border-collapse:collapse;font-size:var(--fs-ui)}.ivt-table th{text-align:left;font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 8px}.ivt-row td{padding:7px 8px;border-top:1px solid var(--line);vertical-align:top}.ivt-row.miss{background:color-mix(in srgb,var(--honey) 10%,transparent)}.ivt-name{font-weight:700}.ivt-val{max-width:460px}.ivt-text{display:block;overflow-wrap:anywhere;white-space:pre-wrap;max-height:120px;overflow:auto}.ivt-act{white-space:nowrap;text-align:right}.ivt-src{display:inline-block;padding:1px 9px;border-radius:99px;font-size:var(--fs-caption);font-weight:700;background:var(--bg-deep);border:1px solid var(--line)}.ivt-src.sess{background:color-mix(in srgb,var(--honey) 22%,var(--surface));border-color:var(--honey)}.ivt-src.file{background:color-mix(in srgb,var(--p-opencode) 12%,var(--surface))}.ivt-src.env{background:color-mix(in srgb,var(--ok) 12%,var(--surface))}.ivt-src.hive{background:color-mix(in srgb,var(--p-kiro) 12%,var(--surface))}.ivt-src.resp{background:color-mix(in srgb,#0f8f9e 14%,var(--surface))}.ivt-src.dyn{color:var(--muted)}.ivt-src.miss{background:var(--honey-soft);border-color:var(--honey)}.jt{font-size:var(--fs-hint);line-height:1.6}.jt-row{display:flex;align-items:baseline;gap:4px;padding-left:2px}.jt-row:hover .jt-copy{opacity:1}.jt-kids{margin-left:14px;border-left:1px dashed var(--line);padding-left:6px}.jt-fold{border:0;background:none;padding:0;width:14px;color:var(--muted);display:inline-grid;place-items:center}.jt-k{color:var(--p-kiro)}.jt-k i{font-style:normal;color:var(--muted)}.jt-s{color:var(--ok);overflow-wrap:anywhere}.jt-n{color:var(--p-opencode)}.jt-b{color:var(--honey);font-weight:700}.jt-copy,.jt-p{color:var(--muted)}.jt-copy{opacity:0;border:0;background:none;font-size:var(--fs-micro);padding:0 4px;cursor:pointer}.jt-copy:hover{color:var(--ink)}.jt-copy:focus-visible{opacity:1}.hs{flex-direction:column;min-height:0;height:100%}.hs,.hs-bar{display:flex}.hs-bar{align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--line)}.hs-view{flex:1 1;min-height:0;overflow:auto;padding:8px 0 24px;font-size:var(--fs-hint);line-height:1.55}.hs-line{display:grid;grid-template-columns:26px 38px minmax(0,1fr);align-items:baseline}.hs-line:hover{background:color-mix(in srgb,var(--ink) 4%,transparent)}.hs-line.sep{background:color-mix(in srgb,var(--honey) 10%,transparent);font-weight:700}.hs-gutter{display:flex;justify-content:center}.hs-no{text-align:right;padding-right:10px;color:var(--muted);-webkit-user-select:none;-moz-user-select:none;user-select:none}.hs-text{white-space:pre-wrap;overflow-wrap:anywhere;padding-right:16px}.hs-comment{color:var(--muted)}.hs-run{width:18px;height:18px;display:grid;place-items:center;border:0;border-radius:5px;background:color-mix(in srgb,var(--ok) 18%,var(--surface));color:var(--ok);padding:0;cursor:pointer}.hs-run.err{background:color-mix(in srgb,var(--err) 18%,var(--surface));color:var(--err)}.hs-run.warn{background:var(--honey-soft);color:var(--honey-ink)}.hs-var{border-radius:4px;padding:0 2px;font-weight:700;cursor:help;background:var(--bg-deep)}.hs-var.sess{background:color-mix(in srgb,var(--honey) 28%,var(--surface))}.hs-var.file{background:color-mix(in srgb,var(--p-opencode) 16%,var(--surface))}.hs-var.env{background:color-mix(in srgb,var(--ok) 16%,var(--surface))}.hs-var.hive{background:color-mix(in srgb,var(--p-kiro) 16%,var(--surface))}.hs-var.resp{background:color-mix(in srgb,#0f8f9e 18%,var(--surface))}.hs-var.miss{background:var(--honey-soft);box-shadow:inset 0 -2px 0 var(--honey)}.hs-var.dyn{color:var(--muted)}.hs-edit{flex:1 1;width:100%;border:0;outline:0;resize:none;padding:12px 16px;background:var(--surface);color:var(--ink);font-size:var(--fs-hint);line-height:1.55;-moz-tab-size:2;tab-size:2}.hw-pop{margin:0 8px 8px;padding:10px;background:var(--surface);max-height:60%;overflow:auto;box-shadow:var(--shadow,0 6px 20px rgba(0,0,0,.12))}.hw-pop,.hw-src{border:1px solid var(--line);border-radius:10px}.hw-src{flex:1 1;min-height:360px;overflow:hidden;display:flex;flex-direction:column}.hw-ans{margin-top:8px}.hw-ans-head{display:flex;align-items:center;gap:6px;width:100%;border:0;background:none;color:inherit;font:inherit;padding:3px 0;text-align:left}.hw-ans-body{max-height:260px;overflow:auto;padding:4px 0 4px 14px}.se{position:relative;min-height:0;display:flex}.se,.se .hs-edit{flex:1 1}.se-pop{position:absolute;z-index:var(--z-pop);margin:0;padding:4px;list-style:none;min-width:220px;max-width:360px;max-height:240px;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 24px rgba(0,0,0,.16)}.se-pop li{display:flex;justify-content:space-between;gap:12px;padding:5px 9px;border-radius:6px;cursor:pointer;font-size:var(--fs-hint)}.se-pop li.on,.se-pop li:hover{background:var(--honey-soft)}.se-pop li i{font-style:normal;color:var(--muted);font-size:var(--fs-caption);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.rd-head{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:10px}.rd-head>div{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.rd-hdrs div{padding:2px 0}.rd-add,.rd-del{padding:0 4px;border-radius:4px}.rd-add{background:color-mix(in srgb,var(--ok) 20%,var(--surface))}.rd-del{background:color-mix(in srgb,var(--err) 18%,var(--surface));text-decoration:line-through}.rd-body{border:1px solid var(--line);border-radius:8px;overflow:auto;font-size:var(--fs-hint);line-height:1.55;background:var(--surface)}.rd-l{display:grid;grid-template-columns:22px 1fr;white-space:pre-wrap;overflow-wrap:anywhere}.rd-l span{text-align:center;color:var(--muted);-webkit-user-select:none;-moz-user-select:none;user-select:none}.rd-l.add{background:color-mix(in srgb,var(--ok) 16%,var(--surface))}.rd-l.del{background:color-mix(in srgb,var(--err) 14%,var(--surface))}.rd-fold{padding:2px 22px;color:var(--muted);background:var(--bg-deep);font-size:var(--fs-caption)}.ae-row{display:flex;gap:6px;align-items:center;margin-bottom:6px;flex-wrap:wrap}.ae-row .input{flex:1 1;min-width:120px}.ae-row .select{width:auto}.hr-detail .seg button{white-space:nowrap}.hr-detail .seg{flex-wrap:wrap}.hs.gx{background:var(--g-bg);color:var(--g-fg)}.hs.gx .hs-bar{background:var(--surface)}.hs.gx .hs-view{background:var(--g-bg);color:var(--g-fg)}.hs.gx .hs-no{color:var(--g-gfg);background:var(--g-gbg);padding-left:4px}.hs.gx .hs-line:hover{background:color-mix(in srgb,var(--g-fg) 6%,transparent)}.hs.gx .hs-line.sep{background:color-mix(in srgb,var(--g-keyword) 10%,transparent);font-weight:400}.hs.gx .hs-var{background:color-mix(in srgb,var(--g-fg) 10%,transparent)}.hs.gx .hs-var.miss{background:color-mix(in srgb,var(--honey) 28%,transparent)}.hs.gx .se{padding:0}.hs.gx .ce{border:0;border-radius:0;flex:1 1}.hs.gx .se .ce{height:100%}.hs.gx .hs-bar,.se-pop{color:var(--ink)}.hw-file-view{flex:1 1;min-height:0}.hw-src{min-height:240px}.stack{display:flex;flex-direction:column;gap:12px;min-width:0}.hr-form{padding:14px 16px 24px;font-family:var(--font-body);font-size:var(--fs-body)}.hr-form .input,.hr-form .select,.hr-form textarea{font-family:inherit}.hr-form .mono,.hr-form input.mono,.hr-form textarea.mono{font-family:var(--font-mono);font-size:var(--fs-ui)}.help.sm .help-btn{width:24px;height:24px}.help.end .help-pop{left:auto;right:0}.help.end .help-pop:before{left:auto;right:7px}.help-body p{margin:0 0 8px}.help-body p:last-child{margin-bottom:0}.help-pop .help-body{margin-top:8px;font-weight:400;line-height:1.5}.cm-table .num{text-align:right;white-space:nowrap}.svc td{padding:9px 8px}.svc-name{display:flex;flex-direction:column;min-width:0;line-height:1.25}.svc-name small{font-size:var(--fs-micro)}.svc-img,.svc-name small{overflow:hidden;text-overflow:ellipsis}.svc-img{max-width:200px;white-space:nowrap}.svc-ports{display:flex;flex-wrap:wrap;gap:2px 8px;font-size:var(--fs-small)}.svc-ports a{color:var(--p-opencode);text-decoration:none}.svc-ports a:hover{text-decoration:underline}.cm-table tr.cm-sub>td{padding:0 0 0 38px;background:color-mix(in srgb,var(--ink) 3%,transparent)}.cm-table tr.cm-sub .cm-table{margin:0}.cm-table tr.cm-sub .cm-table th{padding-top:8px}.cm-chev{border:0;background:none;padding:0;width:20px;height:20px;display:inline-grid;place-items:center;color:var(--muted);cursor:pointer;border-radius:5px}.cm-chev:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}.oc-body{padding:20px 24px 28px;container-type:inline-size}.oc-body .oc-form{padding:0;max-width:none}.oc-body .of{display:block}.oc-body .of>*{margin-bottom:14px;page-break-inside:avoid;break-inside:avoid}@container (min-width: 900px){.oc-body .of{column-count:2;column-gap:14px}.oc-body .of>.of-card.wide,.oc-body .of>:not(.of-card){column-span:all}}.modal.wide{top:6vh;width:min(860px,calc(100vw - 32px));max-height:88vh;overflow:auto}.sd-sec{display:flex;flex-direction:column;gap:6px}.sd-sec>.eyebrow{margin-top:4px}.sd-kv{display:grid;grid-template-columns:150px minmax(0,1fr);grid-gap:4px 12px;gap:4px 12px;font-size:var(--fs-ui);margin:0}.sd-kv dt{color:var(--muted)}.sd-kv dd{margin:0;overflow-wrap:anywhere}.sd-table{width:100%;border-collapse:collapse;font-size:var(--fs-hint)}.sd-table td,.sd-table th{text-align:left;padding:4px 8px 4px 0;border-top:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.sd-table th{font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-top:0}.cm-act .menu{display:inline-block;vertical-align:middle}.cm-act{white-space:nowrap}.tpls{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.tpl{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:inherit;font:inherit;cursor:pointer}.tpl small{color:var(--muted);font-size:var(--fs-small);line-height:1.3}.tpl:hover{border-color:var(--line-strong)}.tpl[aria-pressed=true]{border-color:var(--honey);box-shadow:0 0 0 1px var(--honey);background:var(--honey-soft)}.menu{position:relative;display:inline-block}.menu-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:var(--z-menu);min-width:250px;max-width:min(360px,calc(100vw - 24px));max-height:min(70vh,480px);overflow-y:auto;padding:6px;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 18px 40px -16px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:1px;text-align:left;white-space:normal}.menu-pop.up{top:auto;bottom:calc(100% + 6px)}.menu-item{display:flex;align-items:flex-start;gap:10px;width:100%;border:0;background:none;color:var(--ink);font:inherit;font-size:var(--fs-ui-lg);text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer}.menu-item:focus-visible,.menu-item:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 7%,transparent);outline:none}.menu-item:disabled{opacity:.45;cursor:default}.menu-item .mi-ic{flex:none;width:18px;height:20px;display:grid;place-items:center;color:var(--muted)}.menu-item .mi-tx{display:flex;flex-direction:column;min-width:0;line-height:1.3}.menu-item .mi-lb{font-weight:500}.menu-item small{color:var(--muted);font-size:var(--fs-small);margin-top:1px}.menu-item.danger,.menu-item.danger .mi-ic{color:var(--err)}.menu-item.danger:hover:not(:disabled){background:color-mix(in srgb,var(--err) 10%,transparent)}.menu-group{padding:8px 10px 4px;font-size:var(--fs-micro);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.menu-sep{height:1px;margin:5px 4px;background:var(--line)}.menu-note{margin:2px 10px 6px}.hw-fhead{display:flex;align-items:center;gap:10px}.hw-fhead h3{font-size:var(--fs-lead);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item .mi-box{width:16px;height:16px;border-radius:5px;border:1.5px solid var(--line-strong);display:grid;place-items:center;color:#fff}.menu-item .mi-box.on{background:var(--honey);border-color:var(--honey);color:var(--ink)}.oc .btn,.oc .field>label,.oc .input,.oc .label,.oc select,.oc textarea,.of-card .btn,.of-card .field>label,.of-card .input,.of-card .label,.of-card .seg button,.of-card select,.of-card textarea{font-size:var(--fs-hint)}.ow-tabs .tab{font-size:var(--fs-ui)}.oc .field-hint,.oc .hint,.oc .muted.small{font-size:var(--fs-small)}.of-card>header h4{font-size:var(--fs-body)}.ov-empty{display:flex;align-items:center;gap:8px;margin:0;padding:6px 0}.ap-card.pinned{pointer-events:auto;max-height:calc(100vh - 16px);overflow-y:auto;animation:ap-in .12s ease-out}.ap-card.pinned:before{display:none}.ap-card.pinned.right{box-shadow:-1px 0 0 var(--line-strong),0 22px 48px -16px rgba(0,0,0,.4)}.ap-corner{position:absolute;top:8px;right:8px;z-index:var(--z-1)}.ap-card.pinned .ap-head{padding-right:64px}.ap-pin-field{margin-top:12px}.ap-pin-actions{margin-top:12px;gap:8px}.ap-card.pinned .obj-panel .ap-corner+.row{padding-right:70px}@keyframes ap-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (max-width:760px){.ap-card.pinned{display:block;left:8px!important;right:8px;top:auto!important;bottom:8px;width:auto!important;max-height:70vh}}.ap-pin-field>label{font-size:var(--fs-hint);color:var(--muted)}.ap-pin-field .select{font-size:var(--fs-ui);padding:7px 10px}.dbw{padding:14px 24px 18px}.dbq,.dbw{display:flex;flex-direction:column;flex:1 1;min-height:0}.dbq{gap:10px}.dbq-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.db-pick{width:auto;max-width:220px;padding:5px 10px;font-size:var(--fs-hint)}.db-badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-caption);font-weight:600;padding:3px 9px;border-radius:99px;border:1px solid var(--line-strong);color:var(--ink-2);background:var(--surface)}.db-badge.ro{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.db-badge.rw{color:var(--err);border-color:color-mix(in srgb,var(--err) 45%,transparent)}.db-ed{flex:0 0 34%;min-height:150px;display:flex}.db-ed .ce{border-radius:10px;flex:1 1;height:100%}.dbq-res{flex:1 1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.db-note{display:flex;align-items:center;gap:8px;margin:0;padding:14px}.db-err{margin:10px;white-space:pre-wrap;overflow-wrap:anywhere}.dbr{display:flex;flex-direction:column;min-height:0;flex:1 1}.dbr-bar{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line);flex-wrap:wrap}.db-trunc{color:var(--err);font-weight:600}.dbr-scroll{overflow:auto;flex:1 1;min-height:0}.dbr-table{border-collapse:separate;border-spacing:0;font-size:var(--fs-hint);width:max-content;min-width:100%}.dbr-table th{position:-webkit-sticky;position:sticky;top:0;background:var(--surface-2,var(--surface));text-align:left;font-weight:600;padding:6px 12px;border-bottom:1px solid var(--line-strong);white-space:nowrap;z-index:var(--z-1)}.dbr-table td{padding:5px 12px;border-bottom:1px solid var(--line);max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--fs-small)}.dbr-table .n,.dbr-table td.num,.dbr-table th.num{text-align:right}.dbr-table .n{color:var(--muted);width:1%;position:-webkit-sticky;position:sticky;left:0;background:var(--surface)}.dbr-table tbody tr:hover td{background:color-mix(in srgb,var(--ink) 4%,transparent)}.db-null{color:var(--muted);font-style:normal;font-size:var(--fs-micro);opacity:.75}.dbr-more{margin:10px}.dbs-list{min-height:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.dbs-head,.dbs-list{display:flex;flex-direction:column}.dbs-head{gap:6px;padding:8px;border-bottom:1px solid var(--line)}.dbs-head .search{display:block}.dbs-head .select{font-size:var(--fs-hint);padding:5px 10px}.dbs-tree{overflow:auto;flex:1 1;padding:4px}.dbs-group{display:flex;align-items:center;gap:4px;width:100%;border:0;background:none;font:inherit;font-size:var(--fs-small);font-weight:700;color:var(--muted);padding:6px 6px 3px;cursor:pointer;text-align:left}.dbs-group .muted{margin-left:auto;font-weight:500}.dbs-table{display:flex;align-items:center;gap:7px;width:100%;border:0;background:none;font:inherit;font-size:var(--fs-hint);color:var(--ink);padding:6px 8px;border-radius:7px;cursor:pointer;text-align:left}.dbs-table .nm{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--fs-small)}.dbs-table .muted{font-size:var(--fs-micro)}.dbs-table:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.dbs-table.on{background:var(--honey-soft,color-mix(in srgb,var(--honey) 18%,transparent));font-weight:600}.dbs-detail{display:flex;flex-direction:column;gap:12px;overflow:auto;min-height:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:14px}.dbs-cols td{font-family:inherit}.dbs-cols td.mono{font-family:var(--font-mono)}.db-key{font-size:var(--fs-micro);font-weight:700;padding:1px 6px;border-radius:6px;background:var(--honey-soft,color-mix(in srgb,var(--honey) 18%,transparent))}.dbh{display:flex;flex-direction:column;gap:22px;overflow:auto;flex:1 1;min-height:0}.dbh h3{margin:0;font-size:var(--fs-body)}.dbh-row{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line)}.dbh-main{flex:1 1;min-width:0;text-align:left;border:0;background:none;font:inherit;color:inherit;padding:9px 6px;cursor:pointer;display:flex;flex-direction:column;gap:4px;border-radius:8px}.dbh-main:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.dbh-main code{font-size:var(--fs-small);color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.db-ok{align-items:center;color:var(--ok)}.db-bad,.db-ok{display:inline-flex;gap:5px}.db-bad{align-items:flex-start;color:var(--err);overflow-wrap:anywhere;min-width:0}.db-test{align-items:center}@media (max-width:900px){.dbw{padding:12px}}.dbengines{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.dbengine{display:grid;grid-template-columns:auto 1fr;grid-column-gap:10px;column-gap:10px;align-items:center;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:inherit;font:inherit;cursor:pointer}.dbengine svg{color:var(--c);grid-row:span 2}.dbengine b{font-size:var(--fs-ui)}.dbengine small{color:var(--muted);font-size:var(--fs-small)}.dbengine:hover{border-color:var(--line-strong)}.dbengine[aria-pressed=true]{border-color:var(--c);box-shadow:0 0 0 1px var(--c);background:color-mix(in srgb,var(--c) 8%,var(--surface))}.of-adv{border:1px dashed var(--line-strong);border-radius:14px;padding:0;display:flex;flex-direction:column;gap:12px}.of-adv>summary{display:flex;align-items:center;gap:8px;padding:12px 14px;cursor:pointer;font-size:var(--fs-ui);font-weight:600;list-style:none}.of-adv>summary::-webkit-details-marker{display:none}.of-adv>summary svg{transition:transform .15s}.of-adv[open]>summary svg{transform:rotate(90deg)}.of-adv>summary .muted{font-weight:400}.of-adv[open]{padding-bottom:12px}.of-adv>.of-card{margin:0 12px}.of-adv>.of-card+.of-card{margin-top:12px}.dprops{gap:10px}.dprop,.dprops{display:flex;flex-direction:column}.dprop{gap:2px}.dprop-row{display:grid;grid-template-columns:minmax(120px,36%) 1fr auto;grid-gap:8px;gap:8px;align-items:center}.dprop-name{font-size:var(--fs-hint);overflow-wrap:anywhere}.dprop-val{min-width:0}.dprop-val .input,.dprop-val .select{width:100%}.dprop-desc{margin:0;line-height:1.35}.dprop-add{display:flex;align-items:center;gap:8px}.dprop-add .select{max-width:280px}.drawer .of-card>header{padding:0;border:0;display:block}.pw{position:relative;display:block;flex:1 1;min-width:0}.pw .input{width:100%;padding-right:34px}.pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.pw-eye:hover{color:var(--ink);background:var(--honey-soft)}.dbs-tools{display:flex;align-items:center;gap:4px}.dbs-tools .search{flex:1 1;min-width:0}.dbs-tools .btn{flex:none}.db-ed .se{flex:1 1;min-height:0;display:flex}.db-ed .se .ce{height:100%}.oa-row{padding:6px 4px;border-radius:8px;cursor:pointer;align-items:center}.oa-row:hover{background:var(--honey-soft)}.oa-row input:disabled{cursor:default}.ps-box{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:38px;height:auto;padding:4px 8px;cursor:text}.ps-box.open{border-color:var(--honey);box-shadow:0 0 0 3px var(--honey-soft)}.ps-input{flex:1 1;min-width:120px;border:0;outline:0;background:transparent;color:inherit;font:inherit;padding:4px 2px}.ps-chip{gap:4px}.ps-chip button{display:grid;place-items:center;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0;border-radius:99px}.ps-chip button:hover{color:var(--ink)}.sg-empty{padding:8px 10px;font-size:var(--fs-hint);color:var(--muted);list-style:none}.ps-inline .sg-list{position:static;margin-top:6px;box-shadow:none;max-height:160px}.ltag.top{top:7%;bottom:auto}.ltag.mgr{background:#1f8f8f;color:#fff}.ltag.clone{background:#6a5acd;color:#fff}.chip.clone{gap:4px;color:#5b4bc4;background:color-mix(in srgb,#6a5acd 12%,var(--surface));border-color:color-mix(in srgb,#6a5acd 35%,transparent);max-width:160px;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.chip.clone svg{flex:none}a.chip.clone:hover{background:color-mix(in srgb,#6a5acd 22%,var(--surface))}.comb-zoom{position:absolute;right:12px;top:12px;z-index:var(--z-6);display:flex;align-items:center;gap:2px;padding:3px;border-radius:10px;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.zoom-pct{min-width:52px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cell.draggable,.colony-label.draggable{cursor:-webkit-grab;cursor:grab;touch-action:none}.colony-label.dragging{cursor:-webkit-grabbing;cursor:grabbing}.comb-wrap:has(.dragging){cursor:-webkit-grabbing;cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.comb{-moz-user-select:none;user-select:none;-webkit-user-select:none}.composer-box.over{border-color:var(--honey);box-shadow:0 0 0 3px color-mix(in srgb,var(--honey) 25%,transparent)}.cmp-imgs{flex:0 0 100%;display:flex;flex-wrap:wrap;gap:8px}.cmp-img{position:relative;width:72px;height:72px;border-radius:10px;overflow:hidden;border:1px solid var(--line-strong);background:var(--surface-2)}.cmp-img img{width:100%;height:100%;object-fit:cover;display:block}.cmp-img button{position:absolute;top:3px;right:3px;display:grid;place-items:center;width:20px;height:20px;border:0;border-radius:99px;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;padding:0}.cmp-img.file{width:auto;max-width:220px;height:34px;display:flex;align-items:center;gap:6px;padding:0 28px 0 9px;font-size:var(--fs-small)}.cmp-img.file b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-img.file i{font-style:normal;color:var(--muted);flex:none}.cmp-img.file button{top:7px}.bubble-imgs{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.bubble-imgs:first-child{margin-top:0}.bubble-imgs img{max-width:260px;max-height:200px;border-radius:10px;display:block;border:1px solid var(--line)}.mdl-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer;min-height:38px}.mdl-btn.open{border-color:var(--honey);box-shadow:0 0 0 3px var(--honey-soft)}.mdl-cur{display:flex;align-items:baseline;gap:8px;min-width:0;overflow:hidden}.mdl-cur b{font-weight:600}.mdl-cur b,.mdl-cur i{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdl-cur i{font-style:normal;font-size:var(--fs-caption);color:var(--muted)}.mdl-pop{padding:0;max-height:none;overflow:hidden}.mdl-search{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);color:var(--muted)}.mdl-search input{flex:1 1;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;min-width:0}.mdl-opts{margin:0;padding:4px;list-style:none;max-height:260px;overflow-y:auto}.mdl-ok{color:var(--honey);flex:none;align-self:center}.sg-opt.custom .nm{font-weight:500}.search .input:has(+.search-clear){padding-right:32px}.search-clear{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--muted);padding:0}.search-clear:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}.search .search-clear svg{position:static;transform:none}.ws-head.wsh{container:wsh/inline-size;gap:12px}.wsh-id{flex:1 1;min-width:0}.wsh-id h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wsh-meta{flex-wrap:wrap;gap:4px 12px;margin-top:4px;color:var(--muted);font-size:var(--fs-ui)}.wsh-actions,.wsh-meta{display:flex;align-items:center}.wsh-actions{gap:8px;flex:none}.wsh-wide{display:flex;align-items:center;gap:6px}.wsh-narrow{display:none}@container wsh (max-width: 760px){.wsh-wide{display:none}.wsh-narrow{display:block}}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.stack-s{gap:6px}.stack-l,.stack-s{display:flex;flex-direction:column;min-width:0}.stack-l{gap:18px}.gap-xs{gap:4px}.gap-m{gap:12px}.clone-facts{margin:0;padding-left:18px;display:grid;grid-gap:6px;gap:6px}.push-r{margin-left:auto}.ellipsis,.nowrap{white-space:nowrap}.ellipsis{overflow:hidden;text-overflow:ellipsis;min-width:0}.m0{margin:0}.mt-s{margin-top:6px}.mt-m{margin-top:12px}.mt-l{margin-top:20px}@media (max-width:760px),(pointer:coarse){.btn,.btn.sm{min-height:40px}.btn.icon,.btn.icon.sm{min-width:40px;min-height:40px}.tab{min-height:40px}.help-btn,.pw-eye,.search-clear,.toast-x{min-width:32px;min-height:32px}}.msd{display:grid;grid-template-columns:var(--msd-list,minmax(260px,340px)) minmax(0,1fr);flex:1 1;height:100%;min-height:0}.msd.msd-gap{gap:14px;height:auto;--msd-list:300px}@media (max-width:900px){.msd{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.msd>:first-child{max-height:40vh}}:root{--link-manager:#1f8f8f;--series-mix:0%}:root[data-theme=dark]{--link-manager:#3cbdbd;--series-mix:35%}a.card.stat{display:block;color:inherit;text-decoration:none;transition:border-color .12s,background .12s}a.card.stat:hover{border-color:var(--honey);background:var(--surface-2)}.table tbody tr.row-link:focus-visible,a.card.stat:focus-visible{outline:2px solid var(--honey);outline-offset:-2px}.cx-head-actions{display:flex;align-items:center;gap:8px}.empty.comb-empty{border:0;min-height:520px;justify-content:center;margin:auto}.comb-skel{min-height:420px;display:grid;grid-gap:14px;gap:14px;padding:28px;align-content:center;justify-items:center}.skel{border-radius:14px;background:linear-gradient(90deg,var(--surface-2),var(--line),var(--surface-2));background-size:200% 100%;animation:cx-skel 1.4s linear infinite}@keyframes cx-skel{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.cx-unplaced{--c:var(--line-strong);box-shadow:none;background:transparent}.recent-head{margin-bottom:6px}.feed-item .dot{margin-top:7px}.feed-item .feed-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-item .feed-when{font-size:var(--fs-small)}.feed-item a{color:inherit;font-weight:700;text-decoration:none}.feed-item a:hover{text-decoration:underline}.table-scroll{overflow-x:auto;border-radius:var(--radius)}.table-scroll .table{min-width:760px}.agents-filters{margin-bottom:16px}.agents-filters .search{max-width:360px;flex:1 1;min-width:200px}.cell-model{font-weight:600}.cx-chip-dot{margin:0}.cx-pick-title{font-family:var(--font-display);font-size:16px}.cx-typecard{text-align:left}.cx-typecard.blank{border-style:dashed}.rel-empty{margin:140px auto;max-width:420px;background:var(--surface)}.rel-panel-name{font-family:var(--font-display);font-size:17px}.rel-panel .none{margin:0}.hint-block{display:block}.fw-600{font-weight:600}.comb-box{flex:none}.comb-box,.comb-empty-wrap{margin:auto}.comb-empty-wrap .empty{border:0;min-height:520px;justify-content:center}.ow-pad{margin:40px}.ow-body>.tabpanel{display:contents}.sw-title{font-family:var(--font-display);font-size:16px}.sw-none{padding:16px}.fw-500{font-weight:500}.gx-sidepanel{display:flex;flex-direction:column;flex:1 1;min-height:0}.dock-tab-btn:focus-visible,.gx-tab:focus-visible{outline:2px solid var(--honey);outline-offset:-2px}.gx-prewrap{white-space:pre-wrap;margin:0}.gx-more{margin:10px}.gx-ptools.pad{padding:6px 14px}.gx-hint-row{margin:0;padding:10px 14px}.dock-tabwrap{display:inline-flex;align-items:center;height:28px;padding:0 6px 0 0;border-radius:8px;color:var(--muted);max-width:220px}.dock-tabwrap:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}.dock-tabwrap.on{color:var(--ink);background:var(--bg-deep);box-shadow:inset 0 0 0 1px var(--line)}.dock-tab-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 4px 0 10px;border:0;background:none;color:inherit;font:inherit;font-size:var(--fs-hint);font-weight:600;white-space:nowrap;min-width:0;cursor:pointer;border-radius:8px}.dock-tab-btn .nm{overflow:hidden;text-overflow:ellipsis}.dock-logpane{padding:8px;height:100%}.res-m0{margin:0}.db-menu-none{margin:8px;max-width:240px}.res-end{justify-content:flex-end}.fw-400{font-weight:400}.row.push-end{justify-content:flex-end}.thread-wrap{position:relative;flex:1 1;min-height:0;display:flex;flex-direction:column}.chat-jump{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:var(--z-3);box-shadow:var(--shadow);background:var(--surface)}.chat-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.chat-readonly{justify-content:space-between;align-items:center}.fa-sess{gap:8px}.sess-id{overflow-wrap:anywhere}.fa-sess.on{border-color:var(--honey)}.fa-clamp3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.fa-title{font-family:var(--font-display);font-size:16px}.fa-title.lg{font-size:17px}.fa-card-title{font-size:19px}.fa-desc{min-height:40px}.fa-err{color:var(--err)}.fa-gap10{gap:10px}.fa-w150{width:150px}.fa-w190{width:190px}.sx-transcript{gap:16px}.push-c{align-self:center}.m-xl{margin:36px}.pad-m{padding:16px}.tl{text-align:left}.mt-xs{margin-top:4px}.row.between{justify-content:space-between}.fa-c-cr{background:var(--p-opencode)}.fa-c-cw{background:var(--p-kiro)}.fa-c-in{background:var(--honey)}.fa-c-out{background:var(--p-claude)}.fa-span{grid-column:1/-1}.res-mb{margin-bottom:8px}.res-minw0{min-width:0}.res-p0{padding:0}.hw-scroll{overflow:auto}.hw-session-pad{padding:16px}.hw-pad{padding:20px}.hw-wrap{overflow-wrap:anywhere}.hw-pre{white-space:pre-wrap}.hw-m16{margin:16px}.hw-envsel{width:auto;padding:4px 10px;flex:1 1}.hw-cmp{width:auto;padding:3px 8px}.hw-bar{padding:8px 16px}.hw-my6{margin:6px 0}.hw-hint2{margin:0 0 6px}.hw-eb{margin:12px 0 4px}.hw-eb2{margin:16px 0 6px}.hr-req.hr-req-sub{padding-left:30px}.res-mb6{margin-bottom:6px}.res-mt4{margin-top:4px}.res-mt6{margin-top:6px}.res-mt8{margin-top:8px}.res-gap12{gap:12px}.res-gap4{gap:4px}.res-pr70{padding-right:70px}.res-mw130{max-width:130px}.res-mw150{max-width:150px}.res-mw170{max-width:170px}.res-h2{font-size:20px;overflow-wrap:anywhere}.picker-state{display:flex;align-items:center;gap:8px;padding:10px 12px;margin:0}.picker-state.err{justify-content:space-between;color:var(--err-ink)}.tabwrap{display:inline-flex;align-items:center;position:relative;margin-bottom:-1px}.tabwrap .tab{margin-bottom:0;padding-right:26px}.tab-x{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:18px;height:18px;border:0;border-radius:5px;background:transparent;color:var(--muted);padding:0}.tab-x:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 10%,transparent)}.tab svg{flex:none}.tab:has(>svg){display:inline-flex;align-items:center;gap:6px}.checkrow.compact{display:inline-flex;align-items:center;gap:8px;padding:2px 4px;border:0;background:none;border-radius:6px}.checkrow.compact input{margin-top:0}.checkrow.compact.off{background:none}.compact-mark{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:12px}.compact-mark:after,.compact-mark:before{content:"";flex:1 1;border-top:1px dashed var(--line)}.of-fold>.of-grid2,.of-fold>.of-grid3{padding:10px 12px 12px;border-top:1px solid var(--line);background:var(--surface)}.cres{flex:none;border-bottom:1px solid var(--line)}.cres-head{width:100%;display:flex;align-items:center;gap:10px;padding:9px 24px;border:0;background:none;font:inherit;font-size:var(--fs-hint);color:var(--muted);cursor:pointer;text-align:left}.cres-head:hover{background:var(--surface-2)}.cres-sum{flex-wrap:wrap;gap:4px 12px}.cres-n,.cres-sum{display:inline-flex}.cres-n{align-items:center;gap:5px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cres-n em{font-style:normal;font-weight:500;color:var(--muted)}.cres-n.err{color:var(--err)}.cres-n.ok{color:var(--ok)}.cres-body{padding:2px 24px 14px;display:flex;flex-direction:column;gap:10px}.cres-scope{align-self:flex-start}.cres-note{margin:0}.cres-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:8px;gap:8px;max-height:260px;overflow-y:auto}.cres-card{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;transition:border-color .15s,box-shadow .15s}.cres-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.cres-card.err{border-color:color-mix(in srgb,var(--err) 45%,var(--line));background:color-mix(in srgb,var(--err-soft) 55%,var(--surface))}.cres-ico{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--surface))}.cres-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.cres-name{font-weight:700;font-size:var(--fs-ui);color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cres-name:hover{text-decoration:underline}.cres-st{display:flex;align-items:center;gap:6px;font-size:var(--fs-hint);color:var(--muted);min-width:0}.cres-st.ok{color:var(--ok)}.cres-st.err{color:var(--err)}.cres-st em{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.cres-act{flex:none;display:flex;align-items:center;gap:2px;opacity:.55;transition:opacity .15s}.cres-card:focus-within .cres-act,.cres-card:hover .cres-act{opacity:1}.thread-inner{opacity:0}.thread-inner.in{opacity:1;transition:opacity .18s ease}.cres-head b{color:var(--ink)}
|
|
File without changes
|
|
File without changes
|