@sma1lboy/kobe 0.7.23 → 0.7.25

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.
@@ -0,0 +1,11 @@
1
+ import{i as e,t}from"./react-B8IZ02wI.js";import{a as n}from"./index-DdSnT7Rv.js";import{B as r,V as i,d as a,f as o,m as s,p as c,r as l,z as u}from"./chips-BYg-ofbe.js";var d=i(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),f=i(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),p=i(`clipboard-copy`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2`,key:`4jdomd`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v4`,key:`3hqy98`}],[`path`,{d:`M21 14H11`,key:`1bme5i`}],[`path`,{d:`m15 10-4 4 4 4`,key:`5dvupr`}]]),m=i(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]);async function h(){try{let e=await fetch(`/api/quick-prompts`);if(!e.ok)return{review:null,pr:null};let t=await e.json();return{review:typeof t.review==`string`?t.review:null,pr:typeof t.pr==`string`?t.pr:null}}catch{return{review:null,pr:null}}}async function g(e){let t=await fetch(`/api/quick-prompts`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(e)});if(!t.ok)throw Error(`save failed (${t.status})`)}var _=e=>`if it passes, run \`kobe api set-status --task-id ${e} --status done\`; otherwise report the problems and leave the status unchanged.`;function v(e){return(e??`claude`)===`claude`?`/review`:`Review the current changes in this worktree critically.`}function y(e,t,n){return`${n?.trim()||v(t)}\nAfter the review: ${_(e)}`}var b=[`Open a pull request for this task's branch:`,`1. Make sure the work is committed, then push the branch to origin.`,"2. Create the PR with `gh pr create` — write a clear title and a body that summarizes what changed and why, following this repo's conventions."].join(`
2
+ `);function x(e){return[e?.trim()||b,`Reply with the PR URL.`,"If `gh` isn't authenticated, there's no remote, or a PR already exists for this branch, say so instead of forcing it."].join(`
3
+ `)}var S=e(t(),1),C=5e3,w=[],T=0,E=new Set;function D(){for(let e of E)e()}function O(e,t){T+=1;let n={id:T,kind:e,message:t};w=[...w.slice(-3),n],D(),window.setTimeout(()=>k(n.id),C)}function k(e){w.some(t=>t.id===e)&&(w=w.filter(t=>t.id!==e),D())}function A(e,t){return`${e}: ${t instanceof Error?t.message:String(t)}`}function j(e,t){O(`error`,A(e,t))}function M(){return(0,S.useSyncExternalStore)(e=>(E.add(e),()=>E.delete(e)),()=>w,()=>w)}var N=[`a[href]`,`button:not([disabled])`,`textarea:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function P(e,t=!0){(0,S.useEffect)(()=>{if(!t)return;let n=e.current;if(!n)return;let r=document.activeElement,i=e=>{if(e.key!==`Tab`)return;let t=Array.from(n.querySelectorAll(N)).filter(e=>e.offsetParent!==null||e===document.activeElement);if(t.length===0)return;let r=t[0],i=t[t.length-1],a=document.activeElement;e.shiftKey?(a===r||!n.contains(a))&&(e.preventDefault(),i.focus()):(a===i||!n.contains(a))&&(e.preventDefault(),r.focus())};return n.addEventListener(`keydown`,i),()=>{n.removeEventListener(`keydown`,i),r?.focus?.()}},[e,t])}async function F(e){try{if(navigator.clipboard?.writeText)return await navigator.clipboard.writeText(e),!0}catch{}try{let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select();let n=document.execCommand(`copy`);return document.body.removeChild(t),n}catch{return!1}}function I(e,t,n,r=80){return t-e-n<r}var L=90;function R(e){let t=e.input;if(t&&typeof t==`object`){let e=e=>typeof t[e]==`string`?t[e]:null,n=e(`command`)??e(`file_path`)??e(`pattern`)??e(`url`)??e(`description`)??e(`prompt`)??e(`query`);if(n)return n.length>L?`${n.slice(0,L-1)}…`:n}try{let t=JSON.stringify(e.input);return!t||t===`{}`||t===`null`?``:t.length>L?`${t.slice(0,L-1)}…`:t}catch{return``}}function z(e){if(typeof e==`string`)return e;if(e==null)return``;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var B=600,V={user:`You`,assistant:`Assistant`,system:`System`};function H(e){return e.split(`
4
+ `).map(e=>e?`> ${e}`:`>`).join(`
5
+ `)}function U(e,t){let n=R(e),r=n?`**↳ ${e.name}** \`${n}\``:`**↳ ${e.name}**`,i=t.get(e.callId),a=i?z(i.output).trimEnd():``;if(!a)return r;let o=a.length>B?`${a.slice(0,B)}\n… (truncated)`:a,s=o.includes("```")?"````":"```",c=i?.isError?` error`:``;return`${r}\n\n${s}${c?`text${c}`:``}\n${o}\n${s}`}function W(e,t,n){let r=[];for(let i of e.blocks)if(i.type===`text`||i.type===`thinking`){let e=i.text.trim();if(!e)continue;r.push(i.type===`thinking`?H(`💭 ${e}`):e)}else if(i.type===`tool_call`){if(n)continue;r.push(U(i,t))}return r.length===0?null:`### ${V[e.role]}\n\n${r.join(`
6
+
7
+ `)}`}function G(e,t,n,r){let i=e.reduce((e,r)=>W(r,t,n)?e+1:e,0),a=[`\`${r.vendor}\``];return a.push(i===r.total?`${r.total} messages`:`${i} of ${r.total} messages`),n&&a.push(`tools hidden`),`${[`# ${r.title} — transcript\n\n${a.join(` · `)}`,...e.map(e=>W(e,t,n)).filter(e=>e!==null)].join(`
8
+
9
+ ---
10
+
11
+ `)}\n`}function K(e){switch(e.type){case`text`:case`thinking`:return e.text;case`tool_call`:return`${e.name} ${R(e)}`;case`tool_result`:return z(e.output)}}function q(e){return e.blocks.map(K).join(` `)}function J(e,t){return!(t&&e.type===`tool_call`)}function Y(e,t){return e.blocks.some(e=>e.type===`text`||e.type===`thinking`?e.text.trim()!==``:e.type===`tool_call`?!t:!1)}var X=n(),Z=2500,Q=600;function $({call:e,result:t}){let[n,r]=(0,S.useState)(!1),i=R(e),a=t?z(t.output):``,o=!n&&a.length>Q,s=o?`${a.slice(0,Q)}…`:a,c=a.length>0;return(0,X.jsxs)(`div`,{className:`my-1`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>c&&r(e=>!e),className:`flex w-full items-baseline gap-2 text-left ${c?`cursor-pointer`:`cursor-default`}`,children:[(0,X.jsx)(`span`,{className:`shrink-0 text-[11px] ${t?.isError?`text-kobe-red`:`text-kobe-green`}`,children:`⏺`}),(0,X.jsx)(`span`,{className:`shrink-0 text-[12px] font-semibold text-fg`,children:e.name}),i&&(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[11px] text-subtle`,children:i}),c&&(0,X.jsx)(`span`,{className:`shrink-0 text-subtle`,children:n?(0,X.jsx)(d,{size:12}):(0,X.jsx)(f,{size:12})})]}),(n||!n&&a&&a.length<=Q)&&a&&(0,X.jsx)(`pre`,{className:`mt-1 max-h-96 overflow-auto whitespace-pre-wrap break-words border-l-2 pl-3 font-mono text-[11px] leading-relaxed ${t?.isError?`border-kobe-red/40 text-kobe-red/90`:`border-line text-muted`}`,children:s}),o&&(0,X.jsx)(`button`,{type:`button`,onClick:()=>r(!0),className:`ml-5 mt-0.5 text-[10px] text-subtle hover:text-fg`,children:`show full output`})]})}function ee({text:e}){let[t,n]=(0,S.useState)(!1);return(0,X.jsxs)(`div`,{className:`my-1`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`flex items-baseline gap-2 text-[11px] italic text-subtle hover:text-muted`,children:[(0,X.jsx)(`span`,{children:`✱`}),(0,X.jsx)(`span`,{children:t?`thinking`:`thinking…`}),t?(0,X.jsx)(d,{size:11}):(0,X.jsx)(f,{size:11})]}),t&&(0,X.jsx)(`p`,{className:`mt-1 whitespace-pre-wrap break-words border-l-2 border-line-subtle pl-3 text-[11px] italic leading-relaxed text-subtle`,children:e})]})}function te({message:e,results:t,hideTools:n}){let r=[],i=l(e.timestamp),a=!1;return e.blocks.forEach((o,s)=>{if(!J(o,n))return;let c=`${e.timestamp}-${s}`;if(o.type===`text`){if(!o.text.trim())return;e.role===`user`?(r.push((0,X.jsxs)(`div`,{className:`my-2 flex items-baseline gap-2 border-l-2 border-primary/60 bg-inset/40 px-3 py-2`,children:[(0,X.jsx)(`span`,{className:`shrink-0 font-mono text-[12px] font-bold text-primary`,children:`❯`}),(0,X.jsx)(`p`,{className:`min-w-0 flex-1 whitespace-pre-wrap break-words text-[12px] leading-relaxed text-fg`,children:o.text}),i&&!a&&(0,X.jsx)(`span`,{className:`shrink-0 font-mono text-[10px] text-subtle`,title:e.timestamp,children:i})]},c)),a=!0):r.push((0,X.jsx)(`p`,{className:`my-2 whitespace-pre-wrap break-words text-[12px] leading-relaxed ${e.role===`system`?`text-subtle`:`text-fg/90`}`,children:o.text},c));return}if(o.type===`tool_call`){r.push((0,X.jsx)($,{call:o,result:t.get(o.callId)},c));return}if(o.type===`thinking`){o.text.trim()&&r.push((0,X.jsx)(ee,{text:o.text},c));return}}),r.length===0?null:(0,X.jsx)(X.Fragment,{children:r})}function ne({worktreePath:e,vendor:t,title:n=`Session`}){let[i,l]=(0,S.useState)([]),[d,f]=(0,S.useState)(null),[h,g]=(0,S.useState)(!0),[_,v]=(0,S.useState)([]),[y,b]=(0,S.useState)(``),[x,C]=(0,S.useState)(!1),[w,T]=(0,S.useState)(null),[E,D]=(0,S.useState)(!1),[k,A]=(0,S.useState)(!0),j=(0,S.useRef)(-1),M=(0,S.useRef)(null),N=(0,S.useRef)(!0),P=(0,S.useRef)(0),L=(0,S.useRef)(!0),R=(0,S.useRef)(null);(0,S.useEffect)(()=>{L.current=h,R.current=d},[h,d]);let z=(0,S.useCallback)(async(n=!1)=>{if(!e)return;let r=P.current;try{let i=await o(e,t);if(i.latestMtime===j.current&&!n)return;j.current=i.latestMtime;let s=i.sessions.at(-1)??null,c=L.current?s:R.current??s;r=++P.current;let u=c?await a(t,c):[];if(r!==P.current)return;l(i.sessions),v(u),f(c),T(null)}catch(e){r===P.current&&T(e instanceof Error?e.message:String(e))}finally{r===P.current&&D(!0)}},[e,t]),B=(0,S.useRef)(z);(0,S.useEffect)(()=>{B.current=z},[z]),(0,S.useEffect)(()=>{j.current=-1,D(!1),L.current=!0,R.current=null,N.current=!0,g(!0),f(null),b(``),C(!1),A(!0),B.current(!0);let e=window.setInterval(()=>{document.hidden||B.current()},Z);return()=>window.clearInterval(e)},[e,t]);let V=e=>{let n=e===i.at(-1);L.current=n,R.current=e,g(n),f(e);let r=++P.current;a(t,e).then(e=>{r===P.current&&v(e)}).catch(e=>{r===P.current&&T(e instanceof Error?e.message:String(e))})};(0,S.useEffect)(()=>{let e=M.current;e&&N.current&&(e.scrollTop=e.scrollHeight)},[_]);let H=()=>{let e=M.current;if(!e)return;let t=I(e.scrollTop,e.scrollHeight,e.clientHeight);N.current=t,A(t)},U=()=>{let e=M.current;e&&(e.scrollTop=e.scrollHeight,N.current=!0,A(!0))},W=(0,S.useMemo)(()=>{let e=new Map;for(let t of _)for(let n of t.blocks)n.type===`tool_result`&&e.set(n.callId,n);return e},[_]),K=(0,S.useMemo)(()=>s(_),[_]),J=(0,S.useMemo)(()=>_.map(e=>q(e).toLowerCase()),[_]),Q=(0,S.useMemo)(()=>{let e=y.trim().toLowerCase();return _.filter((t,n)=>(!e||J[n].includes(e))&&Y(t,x))},[_,J,y,x]),$=async()=>{if(Q.length===0)return;let e=await F(G(Q,W,x,{title:n,vendor:t,total:_.length}));O(e?`success`:`error`,e?`Copied transcript as Markdown (${Q.length} messages)`:`Couldn't copy to the clipboard`)};return e?(0,X.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col border border-line bg-bg`,children:[(0,X.jsxs)(`div`,{className:`flex h-8 shrink-0 items-center gap-2 border-b border-line bg-surface px-2`,children:[(0,X.jsx)(`span`,{className:`text-[10px] font-bold uppercase tracking-[0.12em] text-subtle`,children:`Chat`}),i.length>0&&(0,X.jsx)(`select`,{value:d??``,onChange:e=>V(e.target.value),className:`max-w-44 border border-line bg-bg px-1 py-0.5 font-mono text-[10px] text-muted focus:outline-none`,title:`Engine session`,children:i.map((e,t)=>(0,X.jsxs)(`option`,{value:e,children:[`#`,t+1,` `,e.slice(0,8),t===i.length-1?` (latest)`:``]},e))}),(0,X.jsxs)(`div`,{className:`ml-auto flex items-center gap-3 font-mono text-[10px] text-subtle`,children:[K.contextTokens>0&&(0,X.jsxs)(`span`,{title:`Live context estimate (last turn's full prompt)`,children:[`ctx `,c(K.contextTokens)]}),K.outputTokens>0&&(0,X.jsxs)(`span`,{title:`Session tokens in / out`,children:[`⇡`,c(K.inputTokens),` ⇣`,c(K.outputTokens)]}),Q.length>0&&(0,X.jsx)(`button`,{type:`button`,onClick:()=>void $(),className:`text-subtle transition-colors hover:text-fg`,title:`Copy transcript as Markdown (respects search + hide-tools)`,"aria-label":`Copy transcript as Markdown`,children:(0,X.jsx)(p,{size:11,strokeWidth:2})}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>void z(!0),className:`text-subtle transition-colors hover:text-fg`,title:`Refresh transcript`,"aria-label":`Refresh transcript`,children:(0,X.jsx)(m,{size:11,strokeWidth:2})})]})]}),_.length>0&&(0,X.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 border-b border-line px-2`,children:[(0,X.jsx)(r,{size:11,strokeWidth:2,className:`shrink-0 text-subtle`}),(0,X.jsx)(`input`,{value:y,onChange:e=>b(e.target.value),onKeyDown:e=>{e.key===`Escape`&&y&&(e.preventDefault(),b(``))},placeholder:`Search transcript…`,spellCheck:!1,className:`min-w-0 flex-1 bg-transparent font-mono text-[11px] text-fg placeholder:text-subtle focus:outline-none`}),y.trim()&&(0,X.jsxs)(`span`,{className:`shrink-0 font-mono text-[10px] text-subtle`,children:[Q.length,`/`,_.length]}),y.trim()&&(0,X.jsx)(`button`,{type:`button`,onClick:()=>b(``),className:`shrink-0 text-subtle transition-colors hover:text-fg`,"aria-label":`clear transcript search`,title:`Clear search`,children:(0,X.jsx)(u,{size:12,strokeWidth:2})}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>C(e=>!e),className:`shrink-0 border px-1.5 py-0.5 font-mono text-[10px] transition-colors ${x?`border-primary bg-inset text-fg`:`border-line bg-bg text-subtle hover:border-primary hover:text-fg`}`,title:x?`Show tool calls`:`Hide tool calls — read just the conversation`,children:x?`tools off`:`tools`})]}),(0,X.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,X.jsx)(`div`,{ref:M,onScroll:H,className:`min-h-0 flex-1 overflow-y-auto px-3 py-2`,children:w?(0,X.jsx)(`div`,{className:`py-4 text-[12px] text-kobe-red`,children:w}):E?_.length===0?(0,X.jsx)(`div`,{className:`py-4 text-[12px] leading-relaxed text-subtle`,children:`No engine session recorded for this worktree yet. Open a Vendor tab and start a conversation — the transcript appears here.`}):Q.length===0?(0,X.jsxs)(`div`,{className:`py-4 text-[12px] leading-relaxed text-subtle`,children:[`No messages match “`,y.trim(),`”.`]}):Q.map((e,t)=>(0,X.jsx)(te,{message:e,results:W,hideTools:x},`${e.sessionId}-${t}`)):(0,X.jsx)(`div`,{className:`py-4 text-[12px] text-subtle`,children:`Loading transcript…`})}),!k&&Q.length>0&&(0,X.jsx)(`button`,{type:`button`,onClick:U,className:`absolute bottom-3 right-4 flex items-center gap-1 border border-line bg-surface px-2 py-1 font-mono text-[10px] text-muted shadow-md transition-colors hover:border-primary hover:text-fg`,children:`↓ latest`})]})]}):(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center text-[12px] text-subtle`,children:`This task has no worktree yet.`})}export{O as a,b as c,y as d,h as f,k as i,x as l,m,F as n,j as o,g as p,P as r,M as s,ne as t,v as u};
@@ -0,0 +1 @@
1
+ import{V as e}from"./chips-BYg-ofbe.js";var t=e(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]);export{t};
@@ -0,0 +1,7 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ChatTerminal-DL9kz6iJ.js","assets/react-B8IZ02wI.js","assets/index-DdSnT7Rv.js","assets/index-CtJIPdVH.css","assets/chips-BYg-ofbe.js","assets/terminal-D7PGfbSa.js","assets/ChatTranscript-DL4KGcCP.js","assets/ChatTerminal-kHJ-D0s7.css"])))=>i.map(i=>d[i]);
2
+ import{i as e,t}from"./react-B8IZ02wI.js";import{a as n,i as r,n as i,r as a}from"./index-DdSnT7Rv.js";import{B as o,P as s,V as c,a as l,c as u,j as d,n as f,r as p,s as m,t as h,v as g,y as _,z as v}from"./chips-BYg-ofbe.js";import{t as y}from"./arrow-left-CPDGLwQs.js";import{a as b,d as x,f as ee,l as S,o as C,r as w,t as T}from"./ChatTranscript-DL4KGcCP.js";import{r as E}from"./terminal-D7PGfbSa.js";var te=c(`clipboard-check`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`m9 14 2 2 4-4`,key:`df797q`}]]),D=c(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),ne=c(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),re=c(`git-pull-request`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`,key:`rroup`}]]),O=c(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),k=a(),A=e(t());function j(){var e=[...arguments];return(0,A.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var M=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function N(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function P(e){return`nodeType`in e}function F(e){return e?N(e)?e:P(e)?e.ownerDocument?.defaultView??window:window:window}function I(e){let{Document:t}=F(e);return e instanceof t}function L(e){return N(e)?!1:e instanceof F(e).HTMLElement}function ie(e){return e instanceof F(e).SVGElement}function R(e){return e?N(e)?e.document:P(e)?I(e)?e:L(e)||ie(e)?e.ownerDocument:document:document:document}var z=M?A.useLayoutEffect:A.useEffect;function B(e){let t=(0,A.useRef)(e);return z(()=>{t.current=e}),(0,A.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function V(){let e=(0,A.useRef)(null);return[(0,A.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,A.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function ae(e,t){t===void 0&&(t=[e]);let n=(0,A.useRef)(e);return z(()=>{n.current!==e&&(n.current=e)},t),n}function H(e,t){let n=(0,A.useRef)();return(0,A.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function U(e){let t=B(e),n=(0,A.useRef)(null);return[n,(0,A.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function W(e){let t=(0,A.useRef)();return(0,A.useEffect)(()=>{t.current=e},[e]),t.current}var oe={};function se(e,t){return(0,A.useMemo)(()=>{if(t)return t;let n=oe[e]==null?0:oe[e]+1;return oe[e]=n,e+`-`+n},[e,t])}function ce(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var le=ce(1),ue=ce(-1);function de(e){return`clientX`in e&&`clientY`in e}function G(e){if(!e)return!1;let{KeyboardEvent:t}=F(e.target);return t&&e instanceof t}function fe(e){if(!e)return!1;let{TouchEvent:t}=F(e.target);return t&&e instanceof t}function pe(e){if(fe(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return de(e)?{x:e.clientX,y:e.clientY}:null}var K=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[K.Translate.toString(e),K.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),me=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function he(e){return e.matches(me)?e:e.querySelector(me)}var ge={display:`none`};function _e(e){let{id:t,value:n}=e;return A.createElement(`div`,{id:t,style:ge},n)}function ve(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return A.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function ye(){let[e,t]=(0,A.useState)(``);return{announce:(0,A.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var be=(0,A.createContext)(null);function xe(e){let t=(0,A.useContext)(be);(0,A.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function Se(){let[e]=(0,A.useState)(()=>new Set),t=(0,A.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,A.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var Ce={draggable:`
3
+ To pick up a draggable item, press the space bar.
4
+ While dragging, use the arrow keys to move the item.
5
+ Press space again to drop the item in its new position, or press escape to cancel.
6
+ `},we={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function Te(e){let{announcements:t=we,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=Ce}=e,{announce:a,announcement:o}=ye(),s=se(`DndLiveRegion`),[c,l]=(0,A.useState)(!1);if((0,A.useEffect)(()=>{l(!0)},[]),xe((0,A.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!c)return null;let u=A.createElement(A.Fragment,null,A.createElement(_e,{id:r,value:i.draggable}),A.createElement(ve,{id:s,announcement:o}));return n?(0,k.createPortal)(u,n):u}var q;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(q||={});function Ee(){}function De(e,t){return(0,A.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function Oe(){var e=[...arguments];return(0,A.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var J=Object.freeze({x:0,y:0});function ke(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function Ae(e,t){let n=pe(e);if(!n)return`0 0`;let r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+`% `+r.y+`%`}function je(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function Me(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function Ne(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function Pe(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}var Fe=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=Ne(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=Ne(r),o=i.reduce((e,t,r)=>e+ke(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(je)};function Ie(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var Le=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=Ie(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(Me)};function Re(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function ze(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:J}function Be(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var Ve=Be(1);function He(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Ue(e,t,n){let r=He(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var We={ignoreTransform:!1};function Ge(e,t){t===void 0&&(t=We);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=F(e).getComputedStyle(e);t&&(n=Ue(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function Ke(e){return Ge(e,{ignoreTransform:!0})}function qe(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function Je(e,t){return t===void 0&&(t=F(e).getComputedStyle(e)),t.position===`fixed`}function Ye(e,t){t===void 0&&(t=F(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`?n.test(r):!1})}function Xe(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(I(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!L(i)||ie(i)||n.includes(i))return n;let a=F(e).getComputedStyle(i);return i!==e&&Ye(i,a)&&n.push(i),Je(i,a)?n:r(i.parentNode)}return e?r(e):n}function Ze(e){let[t]=Xe(e,1);return t??null}function Qe(e){return!M||!e?null:N(e)?e:P(e)?I(e)||e===R(e).scrollingElement?window:L(e)?e:null:null}function $e(e){return N(e)?e.scrollX:e.scrollLeft}function et(e){return N(e)?e.scrollY:e.scrollTop}function tt(e){return{x:$e(e),y:et(e)}}var Y;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(Y||={});function nt(e){return!M||!e?!1:e===document.scrollingElement}function rt(e){let t={x:0,y:0},n=nt(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var it={x:.2,y:.2};function at(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=it);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=rt(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=Y.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=Y.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=Y.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=Y.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function ot(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function st(e){return e.reduce((e,t)=>le(e,tt(t)),J)}function ct(e){return e.reduce((e,t)=>e+$e(t),0)}function lt(e){return e.reduce((e,t)=>e+et(t),0)}function ut(e,t){if(t===void 0&&(t=Ge),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Ze(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var dt=[[`x`,[`left`,`right`],ct],[`y`,[`top`,`bottom`],lt]],ft=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=Xe(t),r=st(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of dt)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}},pt=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function mt(e){let{EventTarget:t}=F(e);return e instanceof t?e:R(e)}function ht(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t?r>t.y:!1}var X;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(X||={});function gt(e){e.preventDefault()}function _t(e){e.stopPropagation()}var Z;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})(Z||={});var vt={start:[Z.Space,Z.Enter],cancel:[Z.Esc],end:[Z.Space,Z.Enter,Z.Tab]},yt=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case Z.Right:return{...n,x:n.x+25};case Z.Left:return{...n,x:n.x-25};case Z.Down:return{...n,y:n.y+25};case Z.Up:return{...n,y:n.y-25}}},bt=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new pt(R(t)),this.windowListeners=new pt(F(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(X.Resize,this.handleCancel),this.windowListeners.add(X.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(X.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&ut(n),t(J)}handleKeyDown(e){if(G(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=vt,coordinateGetter:a=yt,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:J;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=ue(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=rt(n),p=ot(n),m={x:Math.min(i===Z.Right?p.right-p.width/2:p.right,Math.max(i===Z.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===Z.Down?p.bottom-p.height/2:p.bottom,Math.max(i===Z.Down?p.top:p.top+p.height/2,u.y))},h=i===Z.Right&&!s||i===Z.Left&&!c,g=i===Z.Down&&!l||i===Z.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===Z.Right&&e<=d.x||i===Z.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===Z.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}else if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===Z.Down&&e<=d.y||i===Z.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===Z.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,le(ue(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};bt.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=vt,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function xt(e){return!!(e&&`distance`in e)}function St(e){return!!(e&&`delay`in e)}var Ct=class{constructor(e,t,n){n===void 0&&(n=mt(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=R(i),this.documentListeners=new pt(this.document),this.listeners=new pt(n),this.windowListeners=new pt(F(i)),this.initialCoordinates=pe(r)??J,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(X.Resize,this.handleCancel),this.windowListeners.add(X.DragStart,gt),this.windowListeners.add(X.VisibilityChange,this.handleCancel),this.windowListeners.add(X.ContextMenu,gt),this.documentListeners.add(X.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(St(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(xt(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(X.Click,_t,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(X.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=pe(e)??J,s=ue(n,o);if(!t&&a){if(xt(a)){if(a.tolerance!=null&&ht(s,a.tolerance))return this.handleCancel();if(ht(s,a.distance))return this.handleStart()}if(St(a)&&ht(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===Z.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},wt={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},Tt=class extends Ct{constructor(e){let{event:t}=e,n=R(t.target);super(e,wt,n)}};Tt.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var Et={move:{name:`mousemove`},end:{name:`mouseup`}},Dt;(function(e){e[e.RightClick=2]=`RightClick`})(Dt||={});var Ot=class extends Ct{constructor(e){super(e,Et,R(e.event.target))}};Ot.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===Dt.RightClick?!1:(r?.({event:n}),!0)}}];var kt={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},At=class extends Ct{constructor(e){super(e,kt)}static setup(){return window.addEventListener(kt.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(kt.move.name,e)};function e(){}}};At.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var jt;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(jt||={});var Mt;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(Mt||={});function Nt(e){let{acceleration:t,activator:n=jt.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=Mt.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=Ft({delta:d,disabled:!a}),[m,h]=V(),g=(0,A.useRef)({x:0,y:0}),_=(0,A.useRef)({x:0,y:0}),v=(0,A.useMemo)(()=>{switch(n){case jt.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case jt.DraggableRect:return i}},[n,i,c]),y=(0,A.useRef)(null),b=(0,A.useCallback)(()=>{let e=y.current;if(!e)return;let t=g.current.x*_.current.x,n=g.current.y*_.current.y;e.scrollBy(t,n)},[]),x=(0,A.useMemo)(()=>s===Mt.TreeOrder?[...l].reverse():l,[s,l]);(0,A.useEffect)(()=>{if(!a||!l.length||!v){h();return}for(let e of x){if(r?.(e)===!1)continue;let n=u[l.indexOf(e)];if(!n)continue;let{direction:i,speed:a}=at(e,n,v,t,f);for(let e of[`x`,`y`])p[e][i[e]]||(a[e]=0,i[e]=0);if(a.x>0||a.y>0){h(),y.current=e,m(b,o),g.current=a,_.current=i;return}}g.current={x:0,y:0},_.current={x:0,y:0},h()},[t,b,r,h,a,o,JSON.stringify(v),JSON.stringify(p),m,l,x,u,JSON.stringify(f)])}var Pt={x:{[Y.Backward]:!1,[Y.Forward]:!1},y:{[Y.Backward]:!1,[Y.Forward]:!1}};function Ft(e){let{delta:t,disabled:n}=e,r=W(t);return H(e=>{if(n||!r||!e)return Pt;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[Y.Backward]:e.x[Y.Backward]||i.x===-1,[Y.Forward]:e.x[Y.Forward]||i.x===1},y:{[Y.Backward]:e.y[Y.Backward]||i.y===-1,[Y.Forward]:e.y[Y.Forward]||i.y===1}}},[n,t,r])}function It(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return H(e=>t==null?null:r??e??null,[r,t])}function Lt(e,t){return(0,A.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var Rt;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(Rt||={});var zt;(function(e){e.Optimized=`optimized`})(zt||={});var Bt=new Map;function Vt(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,A.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,A.useRef)(e),d=g(),f=ae(d),p=(0,A.useCallback)(function(e){e===void 0&&(e=[]),!f.current&&o(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),m=(0,A.useRef)(null),h=H(t=>{if(d&&!n)return Bt;if(!t||t===Bt||u.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new ft(c(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,d,c]);return(0,A.useEffect)(()=>{u.current=e},[e]),(0,A.useEffect)(()=>{d||p()},[n,d]),(0,A.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,A.useEffect)(()=>{d||typeof s!=`number`||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},s))},[s,d,p,...r]),{droppableRects:h,measureDroppableContainers:p,measuringScheduled:a!=null};function g(){switch(l){case Rt.Always:return!1;case Rt.BeforeDragging:return n;default:return!n}}}function Ht(e,t){return H(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function Ut(e,t){return Ht(e,t)}function Wt(e){let{callback:t,disabled:n}=e,r=B(t),i=(0,A.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,A.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Gt(e){let{callback:t,disabled:n}=e,r=B(t),i=(0,A.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,A.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Kt(e){return new ft(Ge(e),e)}function qt(e,t,n){t===void 0&&(t=Kt);let[r,i]=(0,A.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let o=Wt({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=Gt({callback:a});return z(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function Jt(e){return ze(e,Ht(e))}var Yt=[];function Xt(e){let t=(0,A.useRef)(e),n=H(n=>e?n&&n!==Yt&&e&&t.current&&e.parentNode===t.current.parentNode?n:Xe(e):Yt,[e]);return(0,A.useEffect)(()=>{t.current=e},[e]),n}function Zt(e){let[t,n]=(0,A.useState)(null),r=(0,A.useRef)(e),i=(0,A.useCallback)(e=>{let t=Qe(e.target);t&&n(e=>e?(e.set(t,tt(t)),new Map(e)):null)},[]);return(0,A.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=Qe(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,tt(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{Qe(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,A.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>le(e,t),J):st(e):J,[e,t])}function Qt(e,t){t===void 0&&(t=[]);let n=(0,A.useRef)(null);return(0,A.useEffect)(()=>{n.current=null},t),(0,A.useEffect)(()=>{let t=e!==J;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?ue(e,n.current):J}function $t(e){(0,A.useEffect)(()=>{if(!M)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function en(e,t){return(0,A.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function tn(e){return(0,A.useMemo)(()=>e?qe(e):null,[e])}var nn=[];function rn(e,t){t===void 0&&(t=Ge);let[n]=e,r=tn(n?F(n):null),[i,a]=(0,A.useState)(nn);function o(){a(()=>e.length?e.map(e=>nt(e)?r:new ft(t(e),e)):nn)}let s=Gt({callback:o});return z(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function an(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return L(t)?t:e}function on(e){let{measure:t}=e,[n,r]=(0,A.useState)(null),i=Gt({callback:(0,A.useCallback)(e=>{for(let{target:n}of e)if(L(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=U((0,A.useCallback)(e=>{let n=an(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,A.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var sn=[{sensor:Tt,options:{}},{sensor:bt,options:{}}],cn={current:{}},ln={draggable:{measure:Ke},droppable:{measure:Ke,strategy:Rt.WhileDragging,frequency:zt.Optimized},dragOverlay:{measure:Ge}},un=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},dn={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new un,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Ee},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:ln,measureDroppableContainers:Ee,windowRect:null,measuringScheduled:!1},fn={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:Ee,draggableNodes:new Map,over:null,measureDroppableContainers:Ee},pn=(0,A.createContext)(fn),mn=(0,A.createContext)(dn);function hn(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new un}}}function gn(e,t){switch(t.type){case q.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case q.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case q.DragEnd:case q.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case q.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new un(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case q.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new un(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case q.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new un(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function _n(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,A.useContext)(pn),a=W(r),o=W(n?.id);return(0,A.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!G(a)||document.activeElement===a.target)return;let e=i.get(o);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=he(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function vn(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function yn(e){return(0,A.useMemo)(()=>({draggable:{...ln.draggable,...e?.draggable},droppable:{...ln.droppable,...e?.droppable},dragOverlay:{...ln.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function bn(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,A.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;z(()=>{if(!o&&!s||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=ze(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=Ze(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var xn=(0,A.createContext)({...J,scaleX:1,scaleY:1}),Sn;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(Sn||={});var Cn=(0,A.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=sn,collisionDetection:o=Le,measuring:s,modifiers:c,...l}=e,[u,d]=(0,A.useReducer)(gn,void 0,hn),[f,p]=Se(),[m,h]=(0,A.useState)(Sn.Uninitialized),g=m===Sn.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),ee=(0,A.useRef)({initial:null,translated:null}),S=(0,A.useMemo)(()=>_==null?null:{id:_,data:x?.data??cn,rect:ee},[_,x]),C=(0,A.useRef)(null),[w,T]=(0,A.useState)(null),[E,te]=(0,A.useState)(null),D=ae(l,Object.values(l)),ne=se(`DndDescribedBy`,t),re=(0,A.useMemo)(()=>b.getEnabled(),[b]),O=yn(s),{droppableRects:j,measureDroppableContainers:M,measuringScheduled:N}=Vt(re,{dragging:g,dependencies:[y.x,y.y],config:O.droppable}),P=It(v,_),I=(0,A.useMemo)(()=>E?pe(E):null,[E]),L=Me(),ie=Ut(P,O.draggable.measure);bn({activeNode:_==null?null:v.get(_),config:L.layoutShiftCompensation,initialRect:ie,measure:O.draggable.measure});let R=qt(P,O.draggable.measure,ie),B=qt(P?P.parentElement:null),V=(0,A.useRef)({activatorEvent:null,active:null,activeNode:P,collisionRect:null,collisions:null,droppableRects:j,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),H=b.getNodeFor(V.current.over?.id),U=on({measure:O.dragOverlay.measure}),W=U.nodeRef.current??P,oe=g?U.rect??R:null,ce=!!(U.nodeRef.current&&U.rect),ue=Jt(ce?null:R),de=tn(W?F(W):null),G=Xt(g?H??P:null),fe=rn(G),K=vn(c,{transform:{x:y.x-ue.x,y:y.y-ue.y,scaleX:1,scaleY:1},activatorEvent:E,active:S,activeNodeRect:R,containerNodeRect:B,draggingNodeRect:oe,over:V.current.over,overlayNodeRect:U.rect,scrollableAncestors:G,scrollableAncestorRects:fe,windowRect:de}),me=I?le(I,y):null,he=Zt(G),ge=Qt(he),_e=Qt(he,[R]),ve=le(K,ge),ye=oe?Ve(oe,K):null,xe=S&&ye?o({active:S,collisionRect:ye,droppableRects:j,droppableContainers:re,pointerCoordinates:me}):null,Ce=Pe(xe,`id`),[we,Ee]=(0,A.useState)(null),De=Re(ce?K:le(K,_e),we?.rect??null,R),Oe=(0,A.useRef)(null),J=(0,A.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(C.current==null)return;let i=v.get(C.current);if(!i)return;let a=e.nativeEvent;Oe.current=new n({active:C.current,activeNode:i,event:a,options:r,context:V,onAbort(e){if(!v.get(e))return;let{onDragAbort:t}=D.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!v.get(e))return;let{onDragPending:i}=D.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=C.current;if(t==null)return;let n=v.get(t);if(!n)return;let{onDragStart:r}=D.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:ee}};(0,k.unstable_batchedUpdates)(()=>{r?.(i),h(Sn.Initializing),d({type:q.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),T(Oe.current),te(a)})},onMove(e){d({type:q.DragMove,coordinates:e})},onEnd:o(q.DragEnd),onCancel:o(q.DragCancel)});function o(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=V.current,o=null;if(t&&i){let{cancelDrop:s}=D.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===q.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=q.DragCancel)}C.current=null,(0,k.unstable_batchedUpdates)(()=>{d({type:e}),h(Sn.Uninitialized),Ee(null),T(null),te(null),Oe.current=null;let t=e===q.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=D.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),ke=Lt(a,(0,A.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=v.get(r);if(C.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},C.current=r,J(n,t))},[v,J]));$t(a),z(()=>{R&&m===Sn.Initializing&&h(Sn.Initialized)},[R,m]),(0,A.useEffect)(()=>{let{onDragMove:e}=D.current,{active:t,activatorEvent:n,collisions:r,over:i}=V.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:ve.x,y:ve.y},over:i};(0,k.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[ve.x,ve.y]),(0,A.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=V.current;if(!e||C.current==null||!t||!i)return;let{onDragOver:a}=D.current,o=r.get(Ce),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,k.unstable_batchedUpdates)(()=>{Ee(s),a?.(c),f({type:`onDragOver`,event:c})})},[Ce]),z(()=>{V.current={activatorEvent:E,active:S,activeNode:P,collisionRect:ye,collisions:xe,droppableRects:j,draggableNodes:v,draggingNode:W,draggingNodeRect:oe,droppableContainers:b,over:we,scrollableAncestors:G,scrollAdjustedTranslate:ve},ee.current={initial:oe,translated:ye}},[S,P,xe,ye,v,W,oe,j,b,we,G,ve]),Nt({...L,delta:y,draggingRect:ye,pointerCoordinates:me,scrollableAncestors:G,scrollableAncestorRects:fe});let Ae=(0,A.useMemo)(()=>({active:S,activeNode:P,activeNodeRect:R,activatorEvent:E,collisions:xe,containerNodeRect:B,dragOverlay:U,draggableNodes:v,droppableContainers:b,droppableRects:j,over:we,measureDroppableContainers:M,scrollableAncestors:G,scrollableAncestorRects:fe,measuringConfiguration:O,measuringScheduled:N,windowRect:de}),[S,P,R,E,xe,B,U,v,b,j,we,M,G,fe,O,N,de]),je=(0,A.useMemo)(()=>({activatorEvent:E,activators:ke,active:S,activeNodeRect:R,ariaDescribedById:{draggable:ne},dispatch:d,draggableNodes:v,over:we,measureDroppableContainers:M}),[E,ke,S,R,d,ne,v,we,M]);return A.createElement(be.Provider,{value:p},A.createElement(pn.Provider,{value:je},A.createElement(mn.Provider,{value:Ae},A.createElement(xn.Provider,{value:De},i)),A.createElement(_n,{disabled:n?.restoreFocus===!1})),A.createElement(Te,{...n,hiddenTextDescribedById:ne}));function Me(){let e=w?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=g&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),wn=(0,A.createContext)(null),Tn=`button`,En=`Draggable`;function Dn(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=se(En),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,A.useContext)(pn),{role:p=Tn,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,A.useContext)(g?xn:wn),[v,y]=U(),[b,x]=U(),ee=en(o,t),S=ae(n);return z(()=>(d.set(t,{id:t,key:a,node:v,activatorNode:b,data:S}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,A.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===Tn?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,h,g,m,u.draggable]),isDragging:g,listeners:r?void 0:ee,node:v,over:f,setNodeRef:y,setActivatorNodeRef:x,transform:_}}function On(){return(0,A.useContext)(mn)}var kn=`Droppable`,An={timeout:25};function jn(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=se(kn),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,A.useContext)(pn),u=(0,A.useRef)({disabled:n}),d=(0,A.useRef)(!1),f=(0,A.useRef)(null),p=(0,A.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...An,...i},_=ae(h??r),v=Gt({callback:(0,A.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{l(Array.isArray(_.current)?_.current:[_.current]),p.current=null},g)},[g]),disabled:m||!o}),[y,b]=U((0,A.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=ae(t);return(0,A.useEffect)(()=>{!v||!y.current||(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,A.useEffect)(()=>(s({type:q.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:q.UnregisterDroppable,key:a,id:r})),[r]),(0,A.useEffect)(()=>{n!==u.current.disabled&&(s({type:q.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:y,over:c,setNodeRef:b}}function Mn(e){let{animation:t,children:n}=e,[r,i]=(0,A.useState)(null),[a,o]=(0,A.useState)(null),s=W(n);return!n&&!r&&s&&i(s),z(()=>{if(!a)return;let e=r?.key,n=r?.props.id;if(e==null||n==null){i(null);return}Promise.resolve(t(n,a)).then(()=>{i(null)})},[t,r,a]),A.createElement(A.Fragment,null,n,r?(0,A.cloneElement)(r,{ref:o}):null)}var Nn={x:0,y:0,scaleX:1,scaleY:1};function Pn(e){let{children:t}=e;return A.createElement(pn.Provider,{value:fn},A.createElement(xn.Provider,{value:Nn},t))}var Fn={position:`fixed`,touchAction:`none`},In=e=>G(e)?`transform 250ms ease`:void 0,Ln=(0,A.forwardRef)((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:a,className:o,rect:s,style:c,transform:l,transition:u=In}=e;if(!s)return null;let d=i?l:{...l,scaleX:1,scaleY:1},f={...Fn,width:s.width,height:s.height,top:s.top,left:s.left,transform:K.Transform.toString(d),transformOrigin:i&&r?Ae(r,s):void 0,transition:typeof u==`function`?u(r):u,...c};return A.createElement(n,{className:o,style:f,ref:t},a)}),Rn={duration:250,easing:`ease`,keyframes:e=>{let{transform:{initial:t,final:n}}=e;return[{transform:K.Transform.toString(t)},{transform:K.Transform.toString(n)}]},sideEffects:(e=>t=>{let{active:n,dragOverlay:r}=t,i={},{styles:a,className:o}=e;if(a!=null&&a.active)for(let[e,t]of Object.entries(a.active))t!==void 0&&(i[e]=n.node.style.getPropertyValue(e),n.node.style.setProperty(e,t));if(a!=null&&a.dragOverlay)for(let[e,t]of Object.entries(a.dragOverlay))t!==void 0&&r.node.style.setProperty(e,t);return o!=null&&o.active&&n.node.classList.add(o.active),o!=null&&o.dragOverlay&&r.node.classList.add(o.dragOverlay),function(){for(let[e,t]of Object.entries(i))n.node.style.setProperty(e,t);o!=null&&o.active&&n.node.classList.remove(o.active)}})({styles:{active:{opacity:`0`}}})};function zn(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return B((e,a)=>{if(t===null)return;let o=n.get(e);if(!o)return;let s=o.node.current;if(!s)return;let c=an(a);if(!c)return;let{transform:l}=F(a).getComputedStyle(a),u=He(l);if(!u)return;let d=typeof t==`function`?t:Bn(t);return ut(s,i.draggable.measure),d({active:{id:e,data:o.data,node:s,rect:i.draggable.measure(s)},draggableNodes:n,dragOverlay:{node:a,rect:i.dragOverlay.measure(c)},droppableContainers:r,measuringConfiguration:i,transform:u})})}function Bn(e){let{duration:t,easing:n,sideEffects:r,keyframes:i}={...Rn,...e};return e=>{let{active:a,dragOverlay:o,transform:s,...c}=e;if(!t)return;let l={x:o.rect.left-a.rect.left,y:o.rect.top-a.rect.top},u={scaleX:s.scaleX===1?1:a.rect.width*s.scaleX/o.rect.width,scaleY:s.scaleY===1?1:a.rect.height*s.scaleY/o.rect.height},d={x:s.x-l.x,y:s.y-l.y,...u},f=i({...c,active:a,dragOverlay:o,transform:{initial:s,final:d}}),[p]=f,m=f[f.length-1];if(JSON.stringify(p)===JSON.stringify(m))return;let h=r?.({active:a,dragOverlay:o,...c}),g=o.node.animate(f,{duration:t,easing:n,fill:`forwards`});return new Promise(e=>{g.onfinish=()=>{h?.(),e()}})}}var Vn=0;function Hn(e){return(0,A.useMemo)(()=>{if(e!=null)return Vn++,Vn},[e])}var Un=A.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:a,modifiers:o,wrapperElement:s=`div`,className:c,zIndex:l=999}=e,{activatorEvent:u,active:d,activeNodeRect:f,containerNodeRect:p,draggableNodes:m,droppableContainers:h,dragOverlay:g,over:_,measuringConfiguration:v,scrollableAncestors:y,scrollableAncestorRects:b,windowRect:x}=On(),ee=(0,A.useContext)(xn),S=Hn(d?.id),C=vn(o,{activatorEvent:u,active:d,activeNodeRect:f,containerNodeRect:p,draggingNodeRect:g.rect,over:_,overlayNodeRect:g.rect,scrollableAncestors:y,scrollableAncestorRects:b,transform:ee,windowRect:x}),w=Ht(f),T=zn({config:r,draggableNodes:m,droppableContainers:h,measuringConfiguration:v}),E=w?g.setRef:void 0;return A.createElement(Pn,null,A.createElement(Mn,{animation:T},d&&S?A.createElement(Ln,{key:S,id:d.id,ref:E,as:s,activatorEvent:u,adjustScale:t,className:c,transition:a,rect:w,style:{zIndex:l,...i},transform:C},n):null))});function Wn(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function Gn(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function Kn(e){return e!==null&&e>=0}function qn(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Jn(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var Yn=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=Wn(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},Xn={scaleX:1,scaleY:1},Zn=e=>{let{activeIndex:t,activeNodeRect:n,index:r,rects:i,overIndex:a}=e,o=i[t]??n;if(!o)return null;if(r===t){let e=i[a];return e?{x:0,y:t<a?e.top+e.height-(o.top+o.height):e.top-o.top,...Xn}:null}let s=Qn(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...Xn}:r<t&&r>=a?{x:0,y:o.height+s,...Xn}:{x:0,y:0,...Xn}};function Qn(e,t,n){let r=e[t],i=e[t-1],a=e[t+1];return r?n<t?i?r.top-(i.top+i.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):i?r.top-(i.top+i.height):0:0}var $n=`Sortable`,er=A.createContext({activeIndex:-1,containerId:$n,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Yn,disabled:{draggable:!1,droppable:!1}});function tr(e){let{children:t,id:n,items:r,strategy:i=Yn,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=On(),d=se($n,n),f=s.rect!==null,p=(0,A.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),m=o!=null,h=o?p.indexOf(o.id):-1,g=l?p.indexOf(l.id):-1,_=(0,A.useRef)(p),v=!qn(p,_.current),y=g!==-1&&h===-1||v,b=Jn(a);z(()=>{v&&m&&u(p)},[v,p,m,u]),(0,A.useEffect)(()=>{_.current=p},[p]);let x=(0,A.useMemo)(()=>({activeIndex:h,containerId:d,disabled:b,disableTransforms:y,items:p,overIndex:g,useDragOverlay:f,sortedRects:Gn(p,c),strategy:i}),[h,d,b.draggable,b.droppable,y,p,g,c,f,i]);return A.createElement(er.Provider,{value:x},t)}var nr=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return Wn(n,r,i).indexOf(t)},rr=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},ir={duration:200,easing:`ease`},ar=`transform`,or=K.Transition.toString({property:ar,duration:0,easing:`linear`}),sr={roleDescription:`sortable`};function cr(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,A.useState)(null),s=(0,A.useRef)(n);return z(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=Ge(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==s.current&&(s.current=n)},[t,n,r,i]),(0,A.useEffect)(()=>{a&&o(null)},[a]),a}function lr(e){let{animateLayoutChanges:t=rr,attributes:n,disabled:r,data:i,getNewIndex:a=nr,id:o,strategy:s,resizeObserverConfig:c,transition:l=ir}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:g,useDragOverlay:_,strategy:v}=(0,A.useContext)(er),y=ur(r,p),b=u.indexOf(o),x=(0,A.useMemo)(()=>({sortable:{containerId:d,index:b,items:u},...i}),[d,i,b,u]),ee=(0,A.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:S,node:C,isOver:w,setNodeRef:T}=jn({id:o,data:x,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:ee,...c}}),{active:E,activatorEvent:te,activeNodeRect:D,attributes:ne,setNodeRef:re,listeners:O,isDragging:k,over:M,setActivatorNodeRef:N,transform:P}=Dn({id:o,data:x,attributes:{...sr,...n},disabled:y.draggable}),F=j(T,re),I=!!E,L=I&&!m&&Kn(f)&&Kn(g),ie=!_&&k,R=L?(ie&&L?P:null)??(s??v)({rects:h,activeNodeRect:D,activeIndex:f,overIndex:g,index:b}):null,z=Kn(f)&&Kn(g)?a({id:o,items:u,activeIndex:f,overIndex:g}):b,B=E?.id,V=(0,A.useRef)({activeId:B,items:u,newIndex:z,containerId:d}),ae=u!==V.current.items,H=t({active:E,containerId:d,isDragging:k,isSorting:I,id:o,index:b,items:u,newIndex:V.current.newIndex,previousItems:V.current.items,previousContainerId:V.current.containerId,transition:l,wasDragging:V.current.activeId!=null}),U=cr({disabled:!H,index:b,node:C,rect:S});return(0,A.useEffect)(()=>{I&&V.current.newIndex!==z&&(V.current.newIndex=z),d!==V.current.containerId&&(V.current.containerId=d),u!==V.current.items&&(V.current.items=u)},[I,z,d,u]),(0,A.useEffect)(()=>{if(B===V.current.activeId)return;if(B!=null&&V.current.activeId==null){V.current.activeId=B;return}let e=setTimeout(()=>{V.current.activeId=B},50);return()=>clearTimeout(e)},[B]),{active:E,activeIndex:f,attributes:ne,data:x,rect:S,index:b,newIndex:z,items:u,isOver:w,isSorting:I,isDragging:k,listeners:O,node:C,overIndex:g,over:M,setNodeRef:F,setActivatorNodeRef:N,setDroppableNodeRef:T,setDraggableNodeRef:re,transform:U??R,transition:W()};function W(){if(U||ae&&V.current.newIndex===b)return or;if(!(ie&&!G(te)||!l)&&(I||H))return K.Transition.toString({...l,property:ar})}}function ur(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}Z.Down,Z.Right,Z.Up,Z.Left;var dr=[{key:`backlog`,title:`Backlog`,accent:`text-subtle`,alwaysVisible:!0},{key:`in_progress`,title:`In progress`,accent:`text-kobe-orange`,alwaysVisible:!0},{key:`in_review`,title:`In review`,accent:`text-kobe-blue`,alwaysVisible:!0},{key:`done`,title:`Done`,accent:`text-kobe-green`,alwaysVisible:!0},{key:`error`,title:`Error`,accent:`text-kobe-red`,alwaysVisible:!1},{key:`canceled`,title:`Canceled`,accent:`text-muted`,alwaysVisible:!1}],fr=new Set([`done`,`canceled`,`error`]);function pr(e){return!e.archived&&e.kind!==`main`}var mr=1024;function hr(e){if(typeof e.position==`number`&&Number.isFinite(e.position))return e.position;let t=Date.parse(e.createdAt);return Number.isFinite(t)?-t:0}function gr(e,t){if((e.pinned??!1)!==(t.pinned??!1))return e.pinned?-1:1;let n=hr(e)-hr(t);return n===0?t.id.localeCompare(e.id):n}function _r(e,t){if(!e&&!t)return 0;if(!e&&t)return hr(t)-mr;if(e&&!t)return hr(e)+mr;if(!e||!t)return 0;let n=hr(e),r=hr(t),i=n+(r-n)/2;return i>n&&i<r?i:null}function vr(e){return e.map((e,t)=>({taskId:e.id,position:(t+1)*mr}))}function yr(e){let{fullColumn:t,moving:n,visiblePrev:r,visibleNext:i}=e,a=i?t.findIndex(e=>e.id===i.id):-1,o=r?t.findIndex(e=>e.id===r.id):-1,s=a>=0?a:o>=0?o+1:0,c=t.filter(e=>e.pinned).length;s=n.pinned?Math.min(s,c):Math.max(s,c);let l=[...t.slice(0,s),n,...t.slice(s)],u=_r(t[s-1],t[s]);return u!==null&&[...t,{...n,position:u}].sort(gr).findIndex(e=>e.id===n.id)===s?{kind:`single`,position:u}:{kind:`renormalize`,moves:vr(l)}}function br(e){let t=new Map;for(let n of e){if(!pr(n))continue;let e=n.status||`backlog`,r=t.get(e);r?r.push(n):t.set(e,[n])}for(let e of t.values())e.sort(gr);let n=(e,t)=>!fr.has(e)||t.length<=30?{tasks:t,hiddenCount:0}:{tasks:t.slice(0,30),hiddenCount:t.length-30},r=dr.map(e=>({...e,...n(e.key,t.get(e.key)??[])})).filter(e=>e.alwaysVisible||e.tasks.length+e.hiddenCount>0),i=new Set(dr.map(e=>e.key)),a=[...t.keys()].filter(e=>!i.has(e)).sort().map(e=>({key:e,title:e,accent:`text-muted`,alwaysVisible:!1,tasks:t.get(e)??[],hiddenCount:0}));return[...r,...a]}function xr(e){return e.reduce((e,t)=>e+t.tasks.length,0)}function Sr(e,t){return Object.keys(t).length===0?e:e.map(e=>{let n=t[e.id];if(!n)return e;let r=n.status??e.status,i=n.position??e.position;return r===e.status&&i===e.position?e:{...e,status:r,position:i}})}function Cr(e,t){let n=Object.entries(e);if(n.length===0)return e;let r=new Map(t.map(e=>[e.id,e])),i={},a=!1;for(let[e,t]of n){let n=r.get(e);if(!n){a=!0;continue}let o={};if(t.status!==void 0&&n.status!==t.status&&(o.status=t.status),t.position!==void 0&&n.position!==t.position&&(o.position=t.position),o.status===void 0&&o.position===void 0){a=!0;continue}(o.status!==t.status||o.position!==t.position)&&(a=!0),i[e]=o}return a?i:e}function wr(e){return dr.some(t=>t.key===e)}function Tr(e){let t=e.replace(/\/+$/,``);return t.split(`/`).pop()||t}function Er(e){let t=new Map;for(let n of e)pr(n)&&t.set(n.repo,(t.get(n.repo)??0)+1);let n=[...t.keys()],r=e=>{let t=Tr(e);return n.some(n=>n!==e&&Tr(n)===t)?e.replace(/\/+$/,``).split(`/`).slice(-2).join(`/`):t};return n.map(e=>({repo:e,label:r(e),count:t.get(e)??0})).sort((e,t)=>e.label.localeCompare(t.label))}function Dr(e,t){return e.filter(e=>e.a===t||e.b===t)}function Or(e,t){let n=Dr(e,t);return n.length===0?null:{level:n.some(e=>e.level===`conflict`)?`conflict`:`overlap`,count:n.length}}var kr=[`var(--color-kobe-orange)`,`var(--color-kobe-blue)`,`var(--color-kobe-violet)`,`var(--color-kobe-yellow)`,`var(--color-kobe-green)`,`var(--color-kobe-red)`];function Ar(e){return kr[e%kr.length]}var Q={query:``,repo:null,overrides:{}},jr=new Set;function Mr(e){Q={...Q,...e};for(let e of jr)e()}function Nr(e){return jr.add(e),()=>{jr.delete(e)}}function Pr(){return Q}function Fr(){return(0,A.useSyncExternalStore)(Nr,Pr,Pr)}function Ir(e){e!==Q.query&&Mr({query:e})}function Lr(e){e!==Q.repo&&Mr({repo:e})}function Rr(e,t){Mr({overrides:{...Q.overrides,[e]:{...Q.overrides[e],status:t}}})}function zr(e,t){Mr({overrides:{...Q.overrides,[e]:{...Q.overrides[e],position:t}}})}function Br(e){let t={...Q.overrides};for(let n of e)t[n.taskId]={...t[n.taskId],position:n.position};Mr({overrides:t})}function Vr(e,t,n,r){let i=e[t];if(!i||i[n]!==r)return e;let a={...i};delete a[n];let o={...e};return a.status===void 0&&a.position===void 0?delete o[t]:o[t]=a,o}function Hr(e,t){let n=Vr(Q.overrides,e,`status`,t);n!==Q.overrides&&Mr({overrides:n})}function Ur(e,t){let n=Vr(Q.overrides,e,`position`,t);n!==Q.overrides&&Mr({overrides:n})}function Wr(e){let t=Q.overrides;for(let n of e)t=Vr(t,n.taskId,`position`,n.position);t!==Q.overrides&&Mr({overrides:t})}function Gr(e){let t=Cr(Q.overrides,e);t!==Q.overrides&&Mr({overrides:t})}var $=n(),Kr=(0,A.lazy)(()=>i(()=>import(`./ChatTerminal-DL9kz6iJ.js`).then(e=>({default:e.ChatTerminal})),__vite__mapDeps([0,1,2,3,4,5,6,7])));function qr({task:e,engine:t,onClose:n,onOpenWorkspace:r}){let[i,a]=(0,A.useState)(`engine`),[o]=(0,A.useState)(()=>d(e.id)),s=(0,A.useRef)(null);w(s,!0),(0,A.useEffect)(()=>{let e=e=>{if(e.key!==`Escape`)return;let t=e.target;t?.closest(`.xterm`)||t&&(t.tagName===`TEXTAREA`||t.tagName===`INPUT`)||(e.preventDefault(),n())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n]);let c=_(t?.state),l=e=>`border-b-2 px-2 py-1.5 text-[11px] transition-colors ${e?`border-primary text-fg`:`border-transparent text-muted hover:text-fg`}`;return(0,$.jsxs)(`div`,{className:`fixed inset-0 z-40 flex justify-end`,children:[(0,$.jsx)(`button`,{type:`button`,"aria-label":`Close peek`,onClick:n,className:`absolute inset-0 cursor-default bg-black/40`}),(0,$.jsxs)(`div`,{ref:s,role:`dialog`,"aria-modal":`true`,"aria-label":`Session peek: ${e.title||e.branch||e.id}`,className:`relative flex h-full w-[640px] max-w-[92vw] flex-col border-l border-line bg-bg shadow-2xl`,children:[(0,$.jsxs)(`header`,{className:`flex h-10 shrink-0 items-center gap-2 border-b border-line bg-surface px-3`,children:[(0,$.jsx)(`span`,{className:`h-1.5 w-1.5 shrink-0 rounded-full ${g(t?.state)}`}),(0,$.jsx)(`span`,{className:`min-w-0 truncate text-[13px] text-fg`,children:e.title||e.branch||e.id}),(0,$.jsx)(`span`,{className:`hidden min-w-0 truncate font-mono text-[11px] text-subtle sm:inline`,children:e.branch}),c&&(0,$.jsx)(`span`,{className:`shrink-0 text-[11px] text-muted`,children:c}),(0,$.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:r,className:`flex items-center gap-1 text-muted transition-colors hover:text-fg`,title:`Open in workspace`,children:[(0,$.jsx)(D,{size:13,strokeWidth:1.8}),(0,$.jsx)(`span`,{className:`text-[11px]`,children:`Workspace`})]}),(0,$.jsx)(`button`,{type:`button`,onClick:n,className:`flex items-center text-muted transition-colors hover:text-fg`,"aria-label":`Close peek`,title:`Close (Esc)`,children:(0,$.jsx)(v,{size:15,strokeWidth:1.8})})]})]}),(0,$.jsxs)(`nav`,{className:`flex shrink-0 items-center gap-1 border-b border-line bg-surface px-2`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>a(`engine`),className:l(i===`engine`),children:`Engine`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>a(`transcript`),className:l(i===`transcript`),children:`Transcript`})]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:i===`engine`?(0,$.jsx)(A.Suspense,{fallback:(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center text-[12px] text-subtle`,children:`Loading terminal…`}),children:(0,$.jsx)(Kr,{tabId:o,taskId:e.id,mode:`engine`},o)}):(0,$.jsx)(T,{worktreePath:e.worktreePath,vendor:e.vendor??`claude`,title:e.title||e.branch})})]})]})}function Jr({pairs:e,titles:t,containerRef:n}){let[r,i]=(0,A.useState)([]);return(0,A.useEffect)(()=>{let r=n.current,a=e.filter(e=>e.level===`conflict`);if(!r||a.length===0){i(e=>e.length===0?e:[]);return}let o=0,s=()=>{let e=r.getBoundingClientRect(),n=[],c=e=>document.querySelector(`[data-yarn-anchor="${window.CSS.escape(e)}"]`)??r.querySelector(`[data-task-id="${window.CSS.escape(e)}"]`);a.forEach((r,i)=>{let a=c(r.a),o=c(r.b);if(!a||!o)return;let s=a.getBoundingClientRect(),l=o.getBoundingClientRect(),u=s.left+s.width/2-e.left,d=s.bottom-4-e.top,f=l.left+l.width/2-e.left,p=l.bottom-4-e.top,m=Math.min(120,Math.abs(f-u)/4+28),h=`M ${u} ${d} Q ${(u+f)/2} ${Math.max(d,p)+m} ${f} ${p}`,g=`${t.get(r.a)??r.a} ⇄ ${t.get(r.b)??r.b}`,_=r.files.slice(0,6).join(`, `);n.push({id:`${r.a}|${r.b}`,d:h,color:Ar(i),tip:`${g}\nconflicts: ${_}${r.files.length>6?`, …`:``}`})}),i(e=>JSON.stringify(e)===JSON.stringify(n)?e:n),o=requestAnimationFrame(s)};return o=requestAnimationFrame(s),()=>cancelAnimationFrame(o)},[e,t,n]),r.length===0?null:(0,$.jsx)(`svg`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-0 z-10 h-full w-full overflow-visible`,children:r.map(e=>(0,$.jsxs)(`g`,{children:[(0,$.jsx)(`path`,{d:e.d,fill:`none`,stroke:e.color,strokeWidth:2,strokeOpacity:.65,strokeLinecap:`round`}),(0,$.jsx)(`path`,{d:e.d,fill:`none`,stroke:`transparent`,strokeWidth:14,style:{pointerEvents:`stroke`},children:(0,$.jsx)(`title`,{children:e.tip})})]},e.id))})}var Yr=dr.filter(e=>e.alwaysVisible),Xr=`after:pointer-events-none after:absolute after:right-0 after:bottom-full after:z-10 after:mb-1 after:hidden after:whitespace-nowrap after:border after:border-line after:bg-menu after:px-1.5 after:py-0.5 after:text-[10px] after:text-fg after:content-[attr(data-tip)] hover:after:block`,Zr=`after:pointer-events-none after:absolute after:left-full after:top-2 after:z-10 after:ml-1 after:hidden after:whitespace-nowrap after:border after:border-line after:bg-menu after:px-1.5 after:py-0.5 after:text-[10px] after:text-fg after:content-[attr(data-tip)] hover:after:block`,Qr=(e,{context:{active:t,collisionRect:n,droppableContainers:r,droppableRects:i}})=>{if(!t||!n||e.code!==`ArrowUp`&&e.code!==`ArrowDown`&&e.code!==`ArrowLeft`&&e.code!==`ArrowRight`)return;e.preventDefault();let a=n.left+n.width/2,o=[];for(let s of r.getEnabled()){if(s.id===t.id)continue;let r=i.get(s.id);if(!r)continue;let c=s.data.current,l=r.left+r.width/2,u=Math.abs(l-a)<n.width/2;if(e.code===`ArrowUp`||e.code===`ArrowDown`){if(!u||c?.type!==`card`)continue;let t=e.code===`ArrowUp`?n.top-r.top:r.top-n.top;t>1&&o.push({left:r.left,top:r.top,score:t})}else{if(u)continue;let t=e.code===`ArrowLeft`?a-l:l-a;if(t<=1)continue;let i=Math.abs(r.top-n.top);o.push({left:r.left,top:r.top,score:t*1e4+i})}}o.sort((e,t)=>e.score-t.score);let s=o[0];return s?{x:s.left,y:s.top}:void 0};function $r({badge:e}){let t=(0,A.useRef)(null),[n,r]=(0,A.useState)(null);return(0,A.useEffect)(()=>{if(!n)return;let e=()=>r(null);return window.addEventListener(`scroll`,e,!0),()=>window.removeEventListener(`scroll`,e,!0)},[n]),(0,$.jsxs)(`span`,{ref:t,onMouseEnter:()=>{let e=t.current?.getBoundingClientRect();e&&r({top:e.bottom+2,right:Math.max(8,window.innerWidth-e.right)})},onMouseLeave:()=>r(null),className:`-my-1.5 relative shrink-0 cursor-help px-1.5 py-1.5 font-mono text-[10px] ${e.level===`conflict`?`text-kobe-red`:`text-kobe-yellow`}`,children:[`⚠`,e.count,n&&(0,k.createPortal)((0,$.jsx)(`div`,{style:{position:`fixed`,top:n.top,right:n.right,maxWidth:380,overflowWrap:`anywhere`},className:`pointer-events-none z-50 whitespace-pre-line border border-line bg-menu px-2 py-1 text-left font-mono text-[10px] text-fg`,children:e.tip}),document.body)]})}function ei({task:e,engine:t,changes:n,badge:r}){let i=_(t?.state),a=p(e.updatedAt||e.createdAt);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`h-1.5 w-1.5 shrink-0 rounded-full ${g(t?.state)}`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[13px] text-fg`,children:e.title||e.branch||e.id}),r&&(0,$.jsx)($r,{badge:r}),(0,$.jsx)(f,{pr:e.prStatus}),e.pinned&&(0,$.jsx)(`span`,{className:`shrink-0 text-[10px] text-subtle`,children:`PIN`}),(0,$.jsx)(h,{counts:n})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] text-subtle`,children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate font-mono`,children:e.branch||e.repo}),(0,$.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:[e.vendor&&(0,$.jsx)(`span`,{className:`font-mono`,children:e.vendor}),i&&(0,$.jsx)(`span`,{className:`text-muted`,children:i}),a&&(0,$.jsx)(`span`,{children:a})]})]})]})}function ti({task:e,columnKey:t,engine:n,changes:r,badge:i,canDrag:a,onMoveTo:o,onReview:s,onCreatePr:c,onOpen:l,onPeek:u}){let{attributes:d,listeners:f,setNodeRef:p,setActivatorNodeRef:m,transform:h,transition:g,isDragging:_}=lr({id:e.id,disabled:!a,data:{type:`card`,columnKey:t}}),{onKeyDown:v,...y}=f??{},b=(0,A.useRef)(0),x=(0,A.useRef)(!1);(0,A.useEffect)(()=>{x.current&&!_&&(b.current=Date.now()),x.current=_},[_]);let ee=()=>{Date.now()-b.current<250||l()};return(0,$.jsxs)(`div`,{ref:p,...y,"data-task-id":e.id,style:{transform:K.Transform.toString(h),transition:g},className:`group/card relative ${_?`opacity-40`:``}`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:ee,className:`flex w-full cursor-pointer flex-col gap-1.5 border border-line bg-surface p-3 pl-6 text-left transition-colors hover:border-primary hover:bg-inset`,children:(0,$.jsx)(ei,{task:e,engine:n,changes:r,badge:i})}),a&&(0,$.jsx)(`button`,{type:`button`,ref:m,...d,...f,"aria-label":`Move ${e.title||e.branch||e.id}`,"data-tip":`Drag to move`,className:`absolute top-0 bottom-0 left-0 flex w-5 cursor-grab items-center justify-center text-subtle opacity-0 transition-opacity hover:text-fg focus-visible:opacity-100 group-hover/card:opacity-100 ${Zr}`,children:(0,$.jsx)(O,{size:12,strokeWidth:1.8})}),(0,$.jsxs)(`div`,{className:`absolute inset-x-0 bottom-0 flex items-center gap-1 border-t border-line bg-surface px-2 py-1 opacity-0 transition-opacity focus-within:opacity-100 group-hover/card:opacity-100`,children:[Yr.map(e=>{let n=e.key===t;return(0,$.jsx)(`button`,{type:`button`,disabled:n||!a,onClick:()=>o(e.key),title:n?`Current column`:`Move to ${e.title}`,className:`px-1 text-[10px] transition-colors ${n?`font-bold ${e.accent}`:`text-subtle hover:text-fg disabled:opacity-40 disabled:hover:text-subtle`}`,children:e.title},e.key)}),(0,$.jsxs)(`div`,{className:`ml-auto flex gap-0.5`,children:[s&&(0,$.jsx)(`button`,{type:`button`,onClick:s,"aria-label":`Send review instruction to ${e.title||e.branch||e.id}`,"data-tip":`Review → done if it passes`,className:`relative flex h-5 w-5 items-center justify-center border border-line bg-surface text-subtle hover:border-primary hover:text-fg ${Xr}`,children:(0,$.jsx)(te,{size:11,strokeWidth:1.8})}),c&&(0,$.jsx)(`button`,{type:`button`,onClick:c,"aria-label":`Open a PR for ${e.title||e.branch||e.id}`,"data-tip":`Open a PR for this branch`,className:`relative flex h-5 w-5 items-center justify-center border border-line bg-surface text-subtle hover:border-primary hover:text-fg ${Xr}`,children:(0,$.jsx)(re,{size:11,strokeWidth:1.8})}),(0,$.jsx)(`button`,{type:`button`,onClick:u,"aria-label":`Peek ${e.title||e.branch||e.id}`,"data-tip":`Peek session`,className:`relative flex h-5 w-5 items-center justify-center border border-line bg-surface text-subtle hover:border-primary hover:text-fg ${Xr}`,children:(0,$.jsx)(ne,{size:11,strokeWidth:1.8})})]})]})]})}function ni({column:e,engineStates:t,worktreeChanges:n,badges:r,canDrag:i,onMoveTo:a,onReview:o,onCreatePr:s,onOpen:c,onPeek:l}){let u=wr(e.key),{setNodeRef:d,isOver:f}=jn({id:e.key,disabled:!u,data:{type:`column`}});return(0,$.jsxs)(`section`,{ref:d,"data-column":e.key,className:`flex h-full w-72 shrink-0 flex-col border border-transparent ${f?`border-line-active bg-inset/40`:``}`,children:[(0,$.jsxs)(`div`,{className:`mb-2 flex items-baseline gap-2`,children:[(0,$.jsx)(`h2`,{className:`text-[11px] font-bold uppercase tracking-[0.12em] ${e.accent}`,children:e.title}),(0,$.jsx)(`span`,{className:`font-mono text-[10px] text-subtle`,children:e.tasks.length+e.hiddenCount})]}),(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto pb-2`,children:[(0,$.jsx)(tr,{items:e.tasks.map(e=>e.id),strategy:Zn,children:e.tasks.length===0?(0,$.jsx)(`div`,{className:`border border-dashed border-line-subtle p-3 text-center text-[11px] text-subtle`,children:`none`}):e.tasks.map(u=>(0,$.jsx)(ti,{task:u,columnKey:e.key,engine:t[u.id],changes:n[u.worktreePath],badge:r.get(u.id),canDrag:i,onMoveTo:e=>a(u,e),onReview:e.key===`in_review`?()=>o(u):void 0,onCreatePr:e.key===`done`&&(!u.prStatus?.lifecycle||u.prStatus.lifecycle===`unknown`)?()=>s(u):void 0,onOpen:()=>c(u.id),onPeek:()=>l(u.id)},u.id))}),e.hiddenCount>0&&(0,$.jsxs)(`div`,{className:`p-2 text-center text-[10px] text-subtle`,children:[`+`,e.hiddenCount,` more — archive cards to thin this column`]})]})]})}function ri(){let{tasks:e,engineStates:t,worktreeChanges:n,conflicts:i,deliver:a,hydrated:c,daemonConnected:f,streamConnected:h}=u(),{query:_,repo:w,overrides:T}=Fr(),te=r(),D=(0,A.useRef)(null),ne=(0,A.useRef)(null),[re,O]=(0,A.useState)(null),[k,j]=(0,A.useState)(null),M=Oe(De(Tt,{activationConstraint:{distance:4}}),De(At,{activationConstraint:{delay:250,tolerance:8}}),De(bt,{coordinateGetter:Qr})),N=f&&h;(0,A.useEffect)(()=>{Gr(e)},[e]),(0,A.useEffect)(()=>{k&&!e.some(e=>e.id===k)&&j(null)},[e,k]),(0,A.useEffect)(()=>{let e=e=>{if(k||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target,n=!!t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.tagName===`SELECT`||t.isContentEditable);e.key===`/`&&!n?(e.preventDefault(),ne.current?.focus()):e.key===`Escape`&&t===ne.current&&_&&(e.preventDefault(),Ir(``))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[_,k]);let P=(0,A.useMemo)(()=>Er(e),[e]),F=w??(P.length===1?P[0]?.repo??null:null),I=(0,A.useMemo)(()=>F?e.find(e=>e.kind===`main`&&e.repo===F&&!e.archived):void 0,[e,F]);(0,A.useEffect)(()=>{w&&!P.some(e=>e.repo===w)&&Lr(null)},[P,w]);let L=(0,A.useMemo)(()=>Sr(e,T).filter(e=>(!w||e.repo===w)&&l(e,_)),[e,T,_,w]),ie=(0,A.useMemo)(()=>br(L),[L]),R=xr(ie),z=re?L.find(e=>e.id===re):void 0,B=(0,A.useMemo)(()=>new Map(e.map(e=>[e.id,e.title||e.branch||e.id])),[e]),V=(0,A.useMemo)(()=>{let e=new Map,t=new Set(i.flatMap(e=>[e.a,e.b]));for(let n of t){let t=Or(i,n);if(!t)continue;let r=i.filter(e=>e.a===n||e.b===n).map(e=>{let t=e.a===n?e.b:e.a;return`${e.level===`conflict`?`CONFLICTS with`:`overlaps`} ${B.get(t)??t}: ${e.files.slice(0,4).join(`, `)}${e.files.length>4?`, …`:``}`}).join(`
7
+ `);e.set(n,{...t,tip:r})}return e},[i,B]),ae=e=>{s(e),m(`task.setActive`,{taskId:e}).catch(()=>{}),te({to:`/task/$taskId`,params:{taskId:e}})},H=(t,n,r,i)=>{let a=T[t.id]?.status??t.status,o=n!==a,s=yr({fullColumn:Sr(e,T).filter(e=>e.id!==t.id&&pr(e)&&(e.status||`backlog`)===n).sort(gr),moving:t,visiblePrev:r,visibleNext:i});o&&Rr(t.id,n),s.kind===`single`?zr(t.id,s.position):Br(s.moves);let c=()=>{s.kind===`single`?Ur(t.id,s.position):Wr(s.moves)},l=()=>{m(`task.reorder`,{moves:s.kind===`single`?[{taskId:t.id,position:s.position}]:s.moves}).catch(e=>{c(),C(`reorder task`,e)})};if(!o){l();return}m(`task.status`,{taskId:t.id,status:n}).then(l).catch(e=>{Hr(t.id,n),c(),C(e instanceof Error&&e.name===`IllegalTransitionError`?`move blocked (${a} → ${n})`:`move task`,e)})},U=e=>{let t=d(e.id);ee().then(n=>E(t,e.id,x(e.id,e.vendor,n.review))).then(({spawned:e})=>{b(`success`,e?`review sent — engine starting, peek to watch`:`review sent to the session`)}).catch(e=>C(`send review`,e))},W=e=>{let t=d(e.id);ee().then(n=>E(t,e.id,S(n.pr))).then(({spawned:e})=>{b(`success`,e?`PR instruction sent — engine starting, peek to watch`:`PR instruction sent to the session`)}).catch(e=>C(`open PR`,e))},oe=(e,t)=>{!N||re||t===(T[e.id]?.status??e.status)||!wr(t)||H(e,t,void 0,ie.find(e=>e.key===t)?.tasks[0])};return(0,$.jsxs)(`div`,{className:`flex h-screen flex-col overflow-hidden bg-bg text-fg`,children:[(0,$.jsxs)(`header`,{className:`flex h-10 shrink-0 items-center gap-3 border-b border-line bg-surface px-3`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:()=>te({to:`/`}),className:`flex items-center gap-1.5 text-muted transition-colors hover:text-fg`,title:`Back to workspace`,children:[(0,$.jsx)(y,{size:15,strokeWidth:1.8}),(0,$.jsx)(`span`,{className:`text-[12px]`,children:`Workspace`})]}),(0,$.jsx)(`span`,{className:`text-[10px] font-bold uppercase tracking-[0.12em] text-fg`,children:`Board`}),(0,$.jsxs)(`label`,{className:`flex h-7 items-center gap-1.5 border border-line bg-bg px-2 text-muted focus-within:border-line-active`,children:[(0,$.jsx)(o,{size:13,strokeWidth:1.8,className:`shrink-0 text-subtle`}),(0,$.jsx)(`input`,{ref:ne,value:_,onChange:e=>Ir(e.target.value),placeholder:`Filter cards ( / )`,className:`w-44 bg-transparent text-[12px] text-fg placeholder:text-subtle focus:outline-none`}),_&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>Ir(``),className:`shrink-0 text-subtle hover:text-fg`,"aria-label":`clear filter`,title:`Clear filter`,children:(0,$.jsx)(v,{size:13,strokeWidth:2})})]}),P.length>=2&&(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 overflow-x-auto`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>Lr(null),className:`shrink-0 border px-1.5 py-0.5 font-mono text-[10px] transition-colors ${w===null?`border-line-active bg-inset text-fg`:`border-line text-subtle hover:text-fg`}`,children:`all`}),P.map(e=>(0,$.jsxs)(`button`,{type:`button`,title:e.repo,onClick:()=>Lr(w===e.repo?null:e.repo),className:`shrink-0 border px-1.5 py-0.5 font-mono text-[10px] transition-colors ${w===e.repo?`border-line-active bg-inset text-fg`:`border-line text-subtle hover:text-fg`}`,children:[e.label,(0,$.jsxs)(`span`,{className:w===e.repo?`text-muted`:`text-subtle`,children:[` `,e.count]})]},e.repo))]}),(0,$.jsxs)(`div`,{className:`ml-auto flex items-center gap-3 font-mono text-[11px] text-subtle`,children:[I&&(0,$.jsxs)(`button`,{type:`button`,onClick:()=>j(I.id),title:a?.source===`note`&&a.taskId===I.id?`Dispatcher — last field note ${p(new Date(a.at).toISOString())||`just now`}`:`Dispatcher — this repo's main session (field-note router)`,className:`flex items-center gap-1.5 border border-line px-1.5 py-0.5 text-[10px] text-subtle transition-colors hover:border-primary hover:text-fg`,children:[(0,$.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full ${g(t[I.id]?.state)}`}),`dispatcher`]}),!N&&c&&(0,$.jsx)(`span`,{className:`text-kobe-yellow`,children:`read-only (offline)`}),(0,$.jsxs)(`span`,{children:[R,` card`,R===1?``:`s`]})]})]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-x-auto overflow-y-hidden p-4`,children:c?R===0&&!_?(0,$.jsx)(`p`,{className:`text-[12px] text-subtle`,children:`No worktree tasks yet. Create one from the workspace.`}):(0,$.jsxs)(Cn,{sensors:M,collisionDetection:Fe,onDragStart:e=>{O(String(e.active.id))},onDragEnd:t=>{O(null);let n=String(t.active.id),r=t.over;if(!r)return;let i=e.find(e=>e.id===n);if(!i)return;let a=r.data.current,o=String(r.id),s=T[n]?.status??i.status,c=a?.type===`card`?a.columnKey??s:o;if(!wr(c))return;let l=ie.find(e=>e.key===c);if(!l)return;let u=l.tasks.filter(e=>e.id!==n),d=u.length;if(a?.type===`card`&&o!==n){let e=u.findIndex(e=>e.id===o);if(e>=0&&(d=e,c===s)){let t=l.tasks.findIndex(e=>e.id===n),r=l.tasks.findIndex(e=>e.id===o);t>=0&&r>t&&(d=e+1)}}else if(o===n)return;let f=c!==s;f&&a?.type!==`card`&&l.hiddenCount>0&&(d=0),!(!f&&l.tasks[d]?.id===n)&&H(i,c,u[d-1],u[d])},onDragCancel:()=>O(null),children:[(0,$.jsxs)(`div`,{ref:D,className:`relative flex h-full min-w-max gap-4`,children:[ie.map(e=>(0,$.jsx)(ni,{column:e,engineStates:t,worktreeChanges:n,badges:V,canDrag:N,onMoveTo:oe,onReview:U,onCreatePr:W,onOpen:ae,onPeek:j},e.key)),(0,$.jsx)(Jr,{pairs:i,titles:B,containerRef:D})]}),(0,$.jsx)(Un,{children:z?(0,$.jsx)(`div`,{"data-yarn-anchor":z.id,className:`flex w-72 flex-col gap-1.5 border border-line-active bg-inset p-3 pl-6 shadow-lg`,children:(0,$.jsx)(ei,{task:z,engine:t[z.id],changes:n[z.worktreePath]})}):null})]}):(0,$.jsx)(`p`,{className:`text-[12px] text-subtle`,children:`Loading…`})}),(()=>{let n=k?e.find(e=>e.id===k):void 0;return n?(0,$.jsx)(qr,{task:n,engine:t[n.id],onClose:()=>j(null),onOpenWorkspace:()=>{j(null),ae(n.id)}},n.id):null})()]})}var ii=ri;export{ii as component};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/terminal-D7PGfbSa.js","assets/react-B8IZ02wI.js"])))=>i.map(i=>d[i]);
2
+ import{i as e,r as t,t as n}from"./react-B8IZ02wI.js";import{a as r,n as i}from"./index-DdSnT7Rv.js";import{t as a}from"./terminal-D7PGfbSa.js";var o=e(n()),s=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),c=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),l=e=>{let t=c(e);return t.charAt(0).toUpperCase()+t.slice(1)},u=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),ee=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0},te={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},ne=(0,o.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:s,...c},l)=>(0,o.createElement)(`svg`,{ref:l,...te,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:u(`lucide`,i),...!a&&!ee(c)&&{"aria-hidden":`true`},...c},[...s.map(([e,t])=>(0,o.createElement)(e,t)),...Array.isArray(a)?a:[a]])),d=(e,t)=>{let n=(0,o.forwardRef)(({className:n,...r},i)=>(0,o.createElement)(ne,{ref:i,iconNode:t,className:u(`lucide-${s(l(e))}`,`lucide-${e}`,n),...r}));return n.displayName=l(e),n},re=d(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),ie=d(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),ae=t({addEmptyTab:()=>me,addTab:()=>fe,clearSelectedTask:()=>de,clearSplitTab:()=>ye,closeTab:()=>_e,configureTab:()=>he,consumePendingPrompt:()=>le,ensureEngineTab:()=>pe,migrateStoredTab:()=>h,openFilePreviewTab:()=>ge,pruneMissingTasks:()=>C,resetLayout:()=>ue,selectTask:()=>x,setActiveTab:()=>w,setPendingPrompt:()=>ce,setSplitTab:()=>ve,useTabsState:()=>be,withTaskTab:()=>m}),oe=`kobe-web.tabs`,f={selectedTaskId:null,tabsByTask:{},activeByTask:{},splitByTask:{}};function p(){return{id:b(),kind:`empty`,title:`New tab`}}function m(e,t){let n=e.tabsByTask[t]??[],r=e.activeByTask[t],i=e.splitByTask[t],a=e;if(i&&(!n.some(e=>e.id===i)||i===r)){let{[t]:n,...r}=e.splitByTask;a={...e,splitByTask:r}}if(n.length>0)return r&&n.some(e=>e.id===r)?a:{...a,activeByTask:{...e.activeByTask,[t]:n[0].id}};let o=p();return{...a,tabsByTask:{...e.tabsByTask,[t]:[o]},activeByTask:{...e.activeByTask,[t]:o.id}}}function h(e){let t=e,n=typeof e?.kind==`string`?e.kind:void 0;if(n===`notes`)return p();let r=n===`chat`?`vendor`:n??`vendor`;return{...t,kind:r}}function se(){try{let e=localStorage.getItem(oe);if(e){let t=JSON.parse(e),n=Object.fromEntries(Object.entries(t.tabsByTask??{}).map(([e,t])=>[e,t.map(h)])),r={selectedTaskId:t.selectedTaskId??null,tabsByTask:n,activeByTask:t.activeByTask??{},splitByTask:t.splitByTask??{}};return r.selectedTaskId?m(r,r.selectedTaskId):r}}catch{}return f}var g=typeof localStorage>`u`?f:se(),_=new Set;function v(e){g=e;try{localStorage.setItem(oe,JSON.stringify(g))}catch{}for(let e of _)e()}var y=0;function b(){try{return crypto.randomUUID()}catch{return y+=1,`tab-${Date.now().toString(36)}-${y}`}}function x(e){v(m({...g,selectedTaskId:e},e))}var S=new Map;function ce(e,t){S.set(e,t)}function le(e){let t=S.get(e);return t===void 0?null:(S.delete(e),t)}function ue(){for(let e of Object.values(g.tabsByTask))for(let t of e)(t.kind===`vendor`||t.kind===`terminal`)&&a(t.id);v({...f})}function C(e){let t=Object.keys(g.tabsByTask).filter(t=>!e.has(t)),n=g.selectedTaskId!==null&&!e.has(g.selectedTaskId);if(t.length===0&&!n)return;for(let e of t)for(let t of g.tabsByTask[e]??[])(t.kind===`vendor`||t.kind===`terminal`)&&a(t.id);let r={...g.tabsByTask},i={...g.activeByTask},o={...g.splitByTask};for(let e of t)delete r[e],delete i[e],delete o[e];v({selectedTaskId:n?null:g.selectedTaskId,tabsByTask:r,activeByTask:i,splitByTask:o})}function de(){v({...g,selectedTaskId:null})}function fe(e){let t=g.tabsByTask[e]??[],n=b(),r={id:n,kind:`vendor`,title:`Vendor ${t.filter(e=>e.kind===`vendor`).length+1}`};return v({...g,tabsByTask:{...g.tabsByTask,[e]:[...t,r]},activeByTask:{...g.activeByTask,[e]:n},splitByTask:g.splitByTask}),n}function pe(e){let t=g.tabsByTask[e]??[],n=t.find(e=>e.kind===`vendor`);if(n)return n.id;let r=b(),i={id:r,kind:`vendor`,title:`Vendor ${t.filter(e=>e.kind===`vendor`).length+1}`};return v({...g,tabsByTask:{...g.tabsByTask,[e]:[...t,i]}}),r}function me(e){let t=g.tabsByTask[e]??[],n=p();return v({...g,tabsByTask:{...g.tabsByTask,[e]:[...t,n]},activeByTask:{...g.activeByTask,[e]:n.id},splitByTask:g.splitByTask}),n.id}function he(e,t,n){let r=g.tabsByTask[e]??[],i=r.map(e=>e.id===t?n===`vendor`?{id:t,kind:n,title:`Vendor ${r.filter(e=>e.kind===`vendor`).length+1}`}:n===`transcript`?{id:t,kind:n,title:`Chat`}:{id:t,kind:n,title:`Terminal ${r.filter(e=>e.kind===`terminal`).length+1}`}:e);v({...g,tabsByTask:{...g.tabsByTask,[e]:i},activeByTask:{...g.activeByTask,[e]:t},splitByTask:g.splitByTask})}function ge(e,t){let n=g.tabsByTask[e]??[],r=n.find(e=>e.kind===`file`&&e.path===t);if(r)return w(e,r.id),r.id;let i=b(),a={id:i,kind:`file`,title:t.split(`/`).at(-1)??t,path:t};return v({...g,tabsByTask:{...g.tabsByTask,[e]:[...n,a]},activeByTask:{...g.activeByTask,[e]:i},splitByTask:g.splitByTask}),i}function _e(e,t){let n=g.tabsByTask[e]??[],r=n.findIndex(e=>e.id===t),i=n.filter(e=>e.id!==t);i.length===0&&(i=[p()]);let a=g.activeByTask[e]===t,o={...g.activeByTask},s={...g.splitByTask};if(a){let t=Math.max(0,Math.min(r,i.length-1));o[e]=i[t].id}(s[e]===t||s[e]===o[e])&&delete s[e],v({...g,tabsByTask:{...g.tabsByTask,[e]:i},activeByTask:o,splitByTask:s})}function w(e,t){let n={...g.splitByTask},r={...g.activeByTask},i=r[e];n[e]===t&&i&&i!==t?n[e]=i:n[e]===t&&delete n[e],r[e]=t,v({...g,activeByTask:r,splitByTask:n})}function ve(e,t){let n=g.tabsByTask[e]??[];if(!n.some(e=>e.id===t))return;let r=g.activeByTask[e],i={...g.activeByTask};if(r===t){let r=n.find(e=>e.id!==t);if(!r)return;i[e]=r.id}v({...g,activeByTask:i,splitByTask:{...g.splitByTask,[e]:t}})}function ye(e){let{[e]:t,...n}=g.splitByTask;v({...g,splitByTask:n})}function be(){return(0,o.useSyncExternalStore)(e=>(_.add(e),()=>_.delete(e)),()=>g,()=>g)}var xe=`claude`,T=`kobe-web.theme`,E=null,D=null,O=Se(),k=null,A=!1,j=new Set;function Se(){try{return localStorage.getItem(T)}catch{return null}}function M(){for(let e of j)e()}function Ce(e,t,n=xe){return e??t??n}function N(){return Ce(O,k)}function P(){A||typeof window>`u`||(A=!0,fetch(`/api/themes`).then(async e=>{if(!e.ok)return;let t=await e.json();t.themes&&(E=t.themes,F(),M())}).catch(()=>{}))}function F(){if(P(),!E)return;let e=N();if(D===e)return;let t=E[e]??E[xe];if(!t)return;D=e;let n=document.documentElement;for(let[e,r]of Object.entries(t))n.style.setProperty(`--color-${e}`,r);M()}function I(e){k=e,F()}function we(e){O=e;try{localStorage.setItem(T,e)}catch{}F(),M()}function Te(){O=null;try{localStorage.removeItem(T)}catch{}D=null,F(),M()}function L(){return{names:E?Object.keys(E):[],palettes:E??{},active:N(),overridden:O!==null}}var R=L();function Ee(){let e=L();return(e.active!==R.active||e.overridden!==R.overridden||e.names.length!==R.names.length)&&(R=e),R}function De(){return P(),(0,o.useSyncExternalStore)(e=>(j.add(e),()=>j.delete(e)),Ee,Ee)}F();function Oe(){return E?E[N()]??null:null}function ke(){let e=Oe();return e?{background:e.bg,foreground:e.fg,cursor:e.primary,cursorAccent:e.bg,selectionBackground:e.menu,black:e.bg,red:e[`kobe-red`],green:e[`kobe-green`],yellow:e[`kobe-yellow`],blue:e[`kobe-blue`],magenta:e[`kobe-violet`],cyan:e[`primary-hover`],white:e.muted,brightBlack:e.subtle,brightRed:e[`kobe-red`],brightGreen:e[`kobe-green`],brightYellow:e[`kobe-yellow`],brightBlue:e[`kobe-blue`],brightMagenta:e[`kobe-violet`],brightCyan:e[`primary-hover`],brightWhite:e.fg}:null}function Ae(e){switch(e){case`running`:return`bg-kobe-orange`;case`waiting_permission`:return`bg-kobe-blue`;case`rate_limited`:return`bg-kobe-yellow`;case`error`:return`bg-kobe-red`;case`idle`:return`bg-kobe-green/60`;default:return`bg-subtle`}}function je(e){switch(e){case`running`:return`running`;case`waiting_permission`:return`needs input`;case`rate_limited`:return`rate limited`;case`error`:return`error`;case`idle`:return`idle`;default:return``}}var Me=`kobe.dispatch.deliveredAt.`;function Ne(e){try{let t=localStorage.getItem(Me+e),n=t?Number.parseInt(t,10):0;return Number.isFinite(n)?n:0}catch{return 0}}function Pe(e,t){try{localStorage.setItem(Me+e,String(t))}catch{}}function Fe(e,t){return e.at>t}async function Ie(e,t){if(!Fe(e,Ne(e.taskId)))return!1;Pe(e.taskId,e.at);let n=t?.ensureTab,r=t?.send;if(!n||!r){let e=await i(()=>Promise.resolve().then(()=>ae),void 0),t=await i(()=>import(`./terminal-D7PGfbSa.js`).then(e=>e.i),__vite__mapDeps([0,1]));n??=e.ensureEngineTab,r??=t.sendPtyText}try{let t=n(e.taskId);return await r(t,e.taskId,e.text),!0}catch(t){return Pe(e.taskId,e.at-1),console.warn(`[dispatch-delivery] failed to deliver into session`,e.taskId,t),!1}}function Le(e){return e===`open`||e===`ready_to_merge`}function Re(e,t){return!e||!t?null:t.lifecycle===`merged`?e.lifecycle===`merged`?null:`merged`:t.lifecycle===`ready_to_merge`&&e.lifecycle!==`ready_to_merge`?`ready_to_merge`:Le(t.lifecycle)?t.checkState===`failing`&&e.checkState!==`failing`?`checks_failing`:t.checkState===`passing`&&e.checkState!==`passing`?`checks_passing`:null:null}function ze(e,t){let n=new Map(e.map(e=>[e.id,e])),r=[];for(let e of t){let t=n.get(e.id);if(!t)continue;let i=Re(t.prStatus,e.prStatus);i&&r.push({taskId:e.id,taskLabel:e.title||e.branch||e.id,kind:i,...e.prStatus?.number===void 0?{}:{number:e.prStatus.number}})}return r}function Be(e){let t=e.number===void 0?`PR`:`PR #${e.number}`;switch(e.kind){case`merged`:return`${t} merged.`;case`ready_to_merge`:return`${t} is ready to merge.`;case`checks_failing`:return`${t} checks failing.`;case`checks_passing`:return`${t} checks passing.`}}var Ve=`kobe-web.notify`,He=null,z=Ue(),B=new Set;function Ue(){try{return localStorage.getItem(Ve)===`1`}catch{return!1}}function We(){for(let e of B)e()}function Ge(e){return e===`waiting_permission`||e===`error`}function Ke(e){return!e.enabled||e.permission!==`granted`||!e.hidden?!1:!Ge(e.prev)&&Ge(e.next)}function qe(e){He=e}function V(){return typeof Notification>`u`?`denied`:Notification.permission}function Je(){return{supported:typeof Notification<`u`,permission:V(),enabled:z&&V()===`granted`}}var H=Je();function Ye(){let e=Je();return(e.supported!==H.supported||e.permission!==H.permission||e.enabled!==H.enabled)&&(H=e),H}async function Xe(e){if(e&&typeof Notification<`u`&&Notification.permission==="default")try{await Notification.requestPermission()}catch{}z=e;try{localStorage.setItem(Ve,e?`1`:`0`)}catch{}We()}function Ze(){return(0,o.useSyncExternalStore)(e=>(B.add(e),()=>B.delete(e)),Ye,Ye)}function Qe(e,t,n,r){let i=typeof document>`u`||document.visibilityState!==`visible`;Ke({prev:n,next:r,enabled:z,permission:V(),hidden:i})&&et(e,t,`Task ${r===`error`?`errored`:`needs your input`}.`,`kobe-task-${e}`)}function $e(e){let t=typeof document>`u`||document.visibilityState!==`visible`;if(!(!z||V()!==`granted`||!t))for(let t of e)et(t.taskId,t.taskLabel,Be(t),`kobe-pr-${t.taskId}`)}function et(e,t,n,r){try{let i=new Notification(`kobe: ${t}`,{body:n,tag:r});i.onclick=()=>{window.focus(),He?.(e),i.close()}}catch{}}async function tt(e,t){let n=new URLSearchParams(t),r=await fetch(`${e}?${n.toString()}`),i=await r.json();if(!r.ok||i.error)throw Error(i.error??`${e} failed (${r.status})`);return i}function nt(e,t){return tt(`/api/history/sessions`,{worktreePath:e,vendor:t})}async function rt(e,t){let{messages:n}=await tt(`/api/history/messages`,{vendor:e,sessionId:t});return n}function it(e){let t=0,n=0,r=0;for(let i of e){let e=i.usage;e&&(t+=e.input_tokens,n+=e.output_tokens,r=e.input_tokens+(e.cache_read_input_tokens??0)+(e.cache_creation_input_tokens??0))}return{inputTokens:t,outputTokens:n,contextTokens:r}}function at(e){return e>=1e6?`${(e/1e6).toFixed(1)}m`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function ot(e){let t=e.replace(/\s+/g,` `).trim();return t.length>120?`${t.slice(0,120).trimEnd()}…`:t}function st(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.role!==`user`)continue;let r=ot(n.blocks.map(e=>e.type===`text`?e.text:``).join(` `));if(r)return r}return null}var ct={sessions:nt,messages:rt},U=new Map,W=new Set,G=null,lt={},K=new Set;function ut(){lt=Object.fromEntries([...U].map(([e,t])=>[e,t.preview]));for(let e of K)e()}async function dt(e,t=ct){if(!(!e.worktreePath||W.has(e.id))){W.add(e.id);try{let n=e.vendor??`claude`,{sessions:r,latestMtime:i}=await t.sessions(e.worktreePath,n),a=U.get(e.id);if(a&&i!==0&&a.mtime===i)return;let o=r.at(-1),s=o?st(await t.messages(n,o)):null;if(G&&!G.has(e.id))return;U.set(e.id,{mtime:i,preview:s}),ut()}catch{}finally{W.delete(e.id)}}}function ft(){return lt}function pt(){return(0,o.useSyncExternalStore)(e=>(K.add(e),()=>K.delete(e)),ft,ft)}function mt(e){G=e;let t=!1;for(let n of U.keys())e.has(n)||(U.delete(n),t=!0);t&&ut()}var q={tasks:[],activeTaskId:null,engineStates:{},update:null,jobs:{},worktreeChanges:{},conflicts:[],deliver:null,uiPrefs:null,hydrated:!1,daemonConnected:!1,streamConnected:!1},J=new Set;function Y(e){q={...q,...e};for(let e of J)e()}function X(e,t){let n=Object.entries(e).filter(([e])=>t.has(e));return n.length===Object.keys(e).length?e:Object.fromEntries(n)}function ht(e,t){return!e&&t===`idle`}function gt(e,t){if(t.phase===`running`)return{...e,[t.taskId]:t};let{[t.taskId]:n,...r}=e;return r}function _t(e){$e(ze(q.tasks,e));let t=new Set(e.map(e=>e.id));Y({tasks:e,engineStates:X(q.engineStates,t),jobs:X(q.jobs,t)}),C(t),mt(t)}function vt(e){switch(e.channel){case`task.snapshot`:_t(e.payload.tasks);break;case`active-task`:Y({activeTaskId:e.payload.taskId});break;case`engine-state`:{let t=q.engineStates[e.payload.taskId]?.state,n=q.tasks.find(t=>t.id===e.payload.taskId);if(ht(n,e.payload.state))break;Qe(e.payload.taskId,n?.title||n?.branch||e.payload.taskId,t,e.payload.state),Y({engineStates:{...q.engineStates,[e.payload.taskId]:e.payload}});break}case`update`:Y({update:e.payload.info});break;case`task.jobs`:Y({jobs:gt(q.jobs,e.payload)});break;case`worktree.changes`:Y({worktreeChanges:e.payload.changes});break;case`task.conflicts`:Y({conflicts:e.payload.pairs});break;case`session.deliver`:Y({deliver:e.payload}),Ie(e.payload);break;case`ui-prefs`:Y({uiPrefs:e.payload}),I(e.payload.theme);break}}var Z=null;function yt(){Z||(Z=new EventSource(`/events`),Z.addEventListener(`open`,()=>Y({streamConnected:!0})),Z.addEventListener(`snapshot`,e=>{let t=JSON.parse(e.data);if(Y({tasks:t.tasks,activeTaskId:t.activeTaskId,engineStates:t.engineStates,update:t.update,jobs:t.jobs??{},worktreeChanges:t.worktreeChanges??{},conflicts:t.conflicts??[],deliver:t.deliver??null,uiPrefs:t.uiPrefs??null,hydrated:!0,daemonConnected:t.connected,streamConnected:!0}),t.uiPrefs&&I(t.uiPrefs.theme),t.connected&&t.deliver&&Ie(t.deliver),t.connected){let e=new Set(t.tasks.map(e=>e.id));C(e),mt(e)}}),Z.addEventListener(`channel`,e=>{vt(JSON.parse(e.data)),q.daemonConnected||Y({daemonConnected:!0})}),Z.addEventListener(`error`,()=>Y({streamConnected:!1})))}function bt(e){return yt(),J.add(e),()=>{J.delete(e)}}function xt(){return q}function St(){return(0,o.useSyncExternalStore)(bt,xt,xt)}async function Ct(e,t){let n=await fetch(`/api/rpc`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({name:e,payload:t})}),r=await n.json();if(!n.ok||r.error){let t=Error(r.error??`rpc ${e} failed (${n.status})`);throw r.name&&(t.name=r.name),t}return r.result}function wt(e){let t=Date.parse(e.updatedAt||e.createdAt);return Number.isFinite(t)?t:0}function Q(e,t){let n=wt(t)-wt(e);return n===0?t.id.localeCompare(e.id):n}function Tt(e,t){let n=e.filter(e=>e.kind===`main`),r=e.filter(e=>e.kind!==`main`&&e.pinned),i=e.filter(e=>e.kind!==`main`&&!e.pinned);return t===`recent`&&(n.sort(Q),r.sort(Q),i.sort(Q)),[...n,...r,...i]}function Et(e,t){return t?[e.title,e.branch,e.repo,e.worktreePath,e.vendor,e.status].filter(Boolean).join(` `).toLowerCase().includes(t.toLowerCase()):!0}function Dt(e,t=Date.now()){if(!e)return``;let n=Math.max(0,Math.round((t-e)/1e3));if(n<60)return`just now`;let r=Math.round(n/60);if(r<60)return`${r}m ago`;let i=Math.round(r/60);return i<24?`${i}h ago`:`${Math.round(i/24)}d ago`}function Ot(e,t=Date.now()){let n=Date.parse(e);if(!Number.isFinite(n))return``;let r=Math.max(0,Math.round((t-n)/1e3));if(r<45)return`now`;let i=Math.round(r/60);if(i<60)return`${i}m`;let a=Math.round(i/60);if(a<24)return`${a}h`;let o=Math.round(a/24);if(o<7)return`${o}d`;let s=Math.round(o/7);if(s<5)return`${s}w`;let c=Math.round(o/30);return c<12?`${c}mo`:`${Math.round(o/365)}y`}function kt(e){let t=e?.lifecycle;if(!e||!t||t===`unknown`)return null;let n=e.checkState,r=t===`merged`?`text-kobe-violet`:t===`closed`||n===`failing`?`text-kobe-red`:n===`passing`?`text-kobe-green`:n===`pending`?`text-kobe-yellow`:`text-kobe-blue`;return{label:e.number?`PR #${e.number}`:`PR`,cls:r,title:`${t}${n&&n!==`none`?` · ${n}`:``}`}}var $=r();function At({counts:e}){return!e||e.added===0&&e.deleted===0?null:(0,$.jsxs)(`span`,{className:`shrink-0 font-mono text-[10px]`,children:[(0,$.jsxs)(`span`,{className:`text-kobe-green`,children:[`+`,e.added]}),` `,(0,$.jsxs)(`span`,{className:`text-kobe-red`,children:[`−`,e.deleted]})]})}function jt({pr:e}){let t=kt(e);return t?(0,$.jsx)(`span`,{className:`shrink-0 font-mono text-[10px] ${t.cls}`,title:t.title,children:t.label}):null}export{le as A,re as B,ke as C,ye as D,de as E,w as F,ce as I,ve as L,ge as M,ue as N,_e as O,x as P,be as R,De as S,fe as T,d as V,Ze as _,Et as a,Te as b,St as c,rt as d,nt as f,qe as g,Xe as h,Dt as i,pe as j,he as k,dt as l,it as m,jt as n,Tt as o,at as p,Ot as r,Ct as s,At as t,pt as u,Ae as v,me as w,we as x,je as y,ie as z};
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Kobe Nerd Font", "SF Mono", "JetBrains Mono", "Fira Code", ui-monospace, Menlo, Monaco, "Cascadia Code", monospace;--color-black:#000;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--container-3xl:48rem;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-relaxed:1.625;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#141413;--color-surface:#1a1917;--color-inset:#2b2a27;--color-menu:#33312e;--color-line:#3a3835;--color-line-subtle:#2b2a27;--color-line-active:#5c5853;--color-fg:#eae7df;--color-muted:#a9a39a;--color-subtle:#6b665f;--color-primary:#cc785c;--color-kobe-orange:#d97757;--color-kobe-green:#9aca86;--color-kobe-blue:#61aaf2;--color-kobe-red:#d47563;--color-kobe-yellow:#e8c96b;--color-kobe-violet:#9b87f5}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-2{inset-block:calc(var(--spacing) * 2)}.top-0{top:calc(var(--spacing) * 0)}.top-8{top:calc(var(--spacing) * 8)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-10{bottom:calc(var(--spacing) * 10)}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-3{margin-inline:calc(var(--spacing) * 3)}.-my-1\.5{margin-block:calc(var(--spacing) * -1.5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[50vh\]{max-height:50vh}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-36{min-height:calc(var(--spacing) * 36)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-3{width:calc(var(--spacing) * 3)}.w-5{width:calc(var(--spacing) * 5)}.w-9{width:calc(var(--spacing) * 9)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-\[28rem\]{width:28rem}.w-\[30rem\]{width:30rem}.w-\[32rem\]{width:32rem}.w-\[34rem\]{width:34rem}.w-\[640px\]{width:640px}.w-\[calc\(50\%-0\.5rem\)\]{width:calc(50% - .5rem)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-44{max-width:calc(var(--spacing) * 44)}.max-w-48{max-width:calc(var(--spacing) * 48)}.max-w-56{max-width:calc(var(--spacing) * 56)}.max-w-\[85vw\]{max-width:85vw}.max-w-\[92vw\]{max-width:92vw}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[1\.4rem\]{min-width:1.4rem}.min-w-max{min-width:max-content}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-kobe-green\/50{border-color:#9aca8680}@supports (color:color-mix(in lab, red, red)){.border-kobe-green\/50{border-color:color-mix(in oklab, var(--color-kobe-green) 50%, transparent)}}.border-kobe-red\/40{border-color:#d4756366}@supports (color:color-mix(in lab, red, red)){.border-kobe-red\/40{border-color:color-mix(in oklab, var(--color-kobe-red) 40%, transparent)}}.border-kobe-red\/50{border-color:#d4756380}@supports (color:color-mix(in lab, red, red)){.border-kobe-red\/50{border-color:color-mix(in oklab, var(--color-kobe-red) 50%, transparent)}}.border-kobe-yellow\/40{border-color:#e8c96b66}@supports (color:color-mix(in lab, red, red)){.border-kobe-yellow\/40{border-color:color-mix(in oklab, var(--color-kobe-yellow) 40%, transparent)}}.border-line{border-color:var(--color-line)}.border-line-active{border-color:var(--color-line-active)}.border-line-subtle{border-color:var(--color-line-subtle)}.border-primary{border-color:var(--color-primary)}.border-primary\/60{border-color:#cc785c99}@supports (color:color-mix(in lab, red, red)){.border-primary\/60{border-color:color-mix(in oklab, var(--color-primary) 60%, transparent)}}.border-transparent{border-color:#0000}.border-r-line{border-right-color:var(--color-line)}.border-b-kobe-blue{border-bottom-color:var(--color-kobe-blue)}.border-b-primary{border-bottom-color:var(--color-primary)}.border-b-transparent{border-bottom-color:#0000}.bg-bg{background-color:var(--color-bg)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-inset{background-color:var(--color-inset)}.bg-inset\/40{background-color:#2b2a2766}@supports (color:color-mix(in lab, red, red)){.bg-inset\/40{background-color:color-mix(in oklab, var(--color-inset) 40%, transparent)}}.bg-kobe-blue{background-color:var(--color-kobe-blue)}.bg-kobe-green{background-color:var(--color-kobe-green)}.bg-kobe-green\/60{background-color:#9aca8699}@supports (color:color-mix(in lab, red, red)){.bg-kobe-green\/60{background-color:color-mix(in oklab, var(--color-kobe-green) 60%, transparent)}}.bg-kobe-orange{background-color:var(--color-kobe-orange)}.bg-kobe-red{background-color:var(--color-kobe-red)}.bg-kobe-red\/10{background-color:#d475631a}@supports (color:color-mix(in lab, red, red)){.bg-kobe-red\/10{background-color:color-mix(in oklab, var(--color-kobe-red) 10%, transparent)}}.bg-kobe-yellow{background-color:var(--color-kobe-yellow)}.bg-kobe-yellow\/10{background-color:#e8c96b1a}@supports (color:color-mix(in lab, red, red)){.bg-kobe-yellow\/10{background-color:color-mix(in oklab, var(--color-kobe-yellow) 10%, transparent)}}.bg-line{background-color:var(--color-line)}.bg-menu{background-color:var(--color-menu)}.bg-primary\/10{background-color:#cc785c1a}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.bg-subtle{background-color:var(--color-subtle)}.bg-surface{background-color:var(--color-surface)}.bg-surface\/50{background-color:#1a191780}@supports (color:color-mix(in lab, red, red)){.bg-surface\/50{background-color:color-mix(in oklab, var(--color-surface) 50%, transparent)}}.bg-transparent{background-color:#0000}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-\[12vh\]{padding-top:12vh}.pb-0{padding-bottom:calc(var(--spacing) * 0)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.leading-\[1\.15rem\]{--tw-leading:1.15rem;line-height:1.15rem}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-words{overflow-wrap:break-word}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-fg{color:var(--color-fg)}.text-fg\/90{color:#eae7dfe6}@supports (color:color-mix(in lab, red, red)){.text-fg\/90{color:color-mix(in oklab, var(--color-fg) 90%, transparent)}}.text-kobe-blue{color:var(--color-kobe-blue)}.text-kobe-green{color:var(--color-kobe-green)}.text-kobe-orange{color:var(--color-kobe-orange)}.text-kobe-red{color:var(--color-kobe-red)}.text-kobe-red\/90{color:#d47563e6}@supports (color:color-mix(in lab, red, red)){.text-kobe-red\/90{color:color-mix(in oklab, var(--color-kobe-red) 90%, transparent)}}.text-kobe-violet{color:var(--color-kobe-violet)}.text-kobe-yellow{color:var(--color-kobe-yellow)}.text-kobe-yellow\/70{color:#e8c96bb3}@supports (color:color-mix(in lab, red, red)){.text-kobe-yellow\/70{color:color-mix(in oklab, var(--color-kobe-yellow) 70%, transparent)}}.text-muted{color:var(--color-muted)}.text-primary{color:var(--color-primary)}.text-subtle{color:var(--color-subtle)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0{opacity:0}.opacity-40{opacity:.4}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:border-primary:is(:where(.group):hover *){border-color:var(--color-primary)}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--color-primary)}.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/card\:opacity-100:is(:where(.group\/card):hover *){opacity:1}}.placeholder\:text-subtle::placeholder{color:var(--color-subtle)}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-2:after{content:var(--tw-content);top:calc(var(--spacing) * 2)}.after\:right-0:after{content:var(--tw-content);right:calc(var(--spacing) * 0)}.after\:bottom-full:after{content:var(--tw-content);bottom:100%}.after\:left-full:after{content:var(--tw-content);left:100%}.after\:z-10:after{content:var(--tw-content);z-index:10}.after\:mb-1:after{content:var(--tw-content);margin-bottom:calc(var(--spacing) * 1)}.after\:ml-1:after{content:var(--tw-content);margin-left:calc(var(--spacing) * 1)}.after\:hidden:after{content:var(--tw-content);display:none}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:border-line:after{content:var(--tw-content);border-color:var(--color-line)}.after\:bg-menu:after{content:var(--tw-content);background-color:var(--color-menu)}.after\:px-1\.5:after{content:var(--tw-content);padding-inline:calc(var(--spacing) * 1.5)}.after\:py-0\.5:after{content:var(--tw-content);padding-block:calc(var(--spacing) * .5)}.after\:text-\[10px\]:after{content:var(--tw-content);font-size:10px}.after\:whitespace-nowrap:after{content:var(--tw-content);white-space:nowrap}.after\:text-fg:after{content:var(--tw-content);color:var(--color-fg)}.after\:content-\[attr\(data-tip\)\]:after{--tw-content:attr(data-tip);content:var(--tw-content)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:border-line-active:focus-within{border-color:var(--color-line-active)}.focus-within\:opacity-100:focus-within{opacity:1}@media (hover:hover){.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:bg-inset:hover{background-color:var(--color-inset)}.hover\:bg-inset\/50:hover{background-color:#2b2a2780}@supports (color:color-mix(in lab, red, red)){.hover\:bg-inset\/50:hover{background-color:color-mix(in oklab, var(--color-inset) 50%, transparent)}}.hover\:bg-kobe-red\/10:hover{background-color:#d475631a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-kobe-red\/10:hover{background-color:color-mix(in oklab, var(--color-kobe-red) 10%, transparent)}}.hover\:bg-kobe-red\/20:hover{background-color:#d4756333}@supports (color:color-mix(in lab, red, red)){.hover\:bg-kobe-red\/20:hover{background-color:color-mix(in oklab, var(--color-kobe-red) 20%, transparent)}}.hover\:bg-primary\/10:hover{background-color:#cc785c1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.hover\:bg-surface:hover{background-color:var(--color-surface)}.hover\:text-fg:hover{color:var(--color-fg)}.hover\:text-kobe-yellow:hover{color:var(--color-kobe-yellow)}.hover\:text-muted:hover{color:var(--color-muted)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:after\:block:hover:after{content:var(--tw-content);display:block}}.focus\:border-line-active:focus{border-color:var(--color-line-active)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:opacity-100:focus-visible{opacity:1}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-60:disabled{opacity:.6}@media (hover:hover){.disabled\:hover\:text-subtle:disabled:hover{color:var(--color-subtle)}}@media (width>=40rem){.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:inline{display:inline}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=64rem){.lg\:flex{display:flex}.lg\:hidden{display:none}}@media (width>=80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}@font-face{font-family:Kobe Nerd Font;src:url(/fonts/JetBrainsMonoNerdFontMono-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:block}*{box-sizing:border-box}html,body,#app{height:100%}body{background:var(--color-bg);color:var(--color-fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:13px}*{scrollbar-width:none}::-webkit-scrollbar{width:0;height:0}::-webkit-scrollbar-thumb{background:0 0}::-webkit-scrollbar-track{background:0 0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}