@kw-yeh/vibeflow 4.11.8 → 4.11.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/web/404/index.html +1 -1
- package/dist/web/404.html +1 -1
- package/dist/web/_next/static/{HQCMjhxsp1uiLn5NAhOEs → bLScLUyqbuPZ2hYp8Nd3L}/_buildManifest.js +1 -1
- package/dist/web/_next/static/chunks/pages/{home-98b83723dc6a8caa.js → home-b6c7635a054e4108.js} +1 -1
- package/dist/web/_next/static/css/{5f3c53d33770cfd3.css → ac1238c212a3d10f.css} +1 -1
- package/dist/web/home/index.html +1 -1
- package/package.json +1 -1
- /package/dist/web/_next/static/{HQCMjhxsp1uiLn5NAhOEs → bLScLUyqbuPZ2hYp8Nd3L}/_ssgManifest.js +0 -0
package/dist/web/404/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><link rel="icon" href="/favicon.ico" sizes="any" data-next-head=""/><link rel="icon" href="/logo.svg" type="image/svg+xml" data-next-head=""/><link rel="apple-touch-icon" href="/apple-touch-icon.png" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><link rel="icon" href="/favicon.ico" sizes="any" data-next-head=""/><link rel="icon" href="/logo.svg" type="image/svg+xml" data-next-head=""/><link rel="apple-touch-icon" href="/apple-touch-icon.png" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="preload" href="/_next/static/css/ac1238c212a3d10f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/ac1238c212a3d10f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-33344f7100190436.js" defer=""></script><script src="/_next/static/chunks/framework-b92a367cf1ad4bf7.js" defer=""></script><script src="/_next/static/chunks/main-ec7fd4c371d06729.js" defer=""></script><script src="/_next/static/chunks/pages/_app-33cd991a71572ffc.js" defer=""></script><script src="/_next/static/chunks/pages/_error-8f65b0f8749f42d2.js" defer=""></script><script src="/_next/static/bLScLUyqbuPZ2hYp8Nd3L/_buildManifest.js" defer=""></script><script src="/_next/static/bLScLUyqbuPZ2hYp8Nd3L/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"bLScLUyqbuPZ2hYp8Nd3L","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
package/dist/web/404.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><link rel="icon" href="/favicon.ico" sizes="any" data-next-head=""/><link rel="icon" href="/logo.svg" type="image/svg+xml" data-next-head=""/><link rel="apple-touch-icon" href="/apple-touch-icon.png" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><link rel="icon" href="/favicon.ico" sizes="any" data-next-head=""/><link rel="icon" href="/logo.svg" type="image/svg+xml" data-next-head=""/><link rel="apple-touch-icon" href="/apple-touch-icon.png" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="preload" href="/_next/static/css/ac1238c212a3d10f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/ac1238c212a3d10f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-33344f7100190436.js" defer=""></script><script src="/_next/static/chunks/framework-b92a367cf1ad4bf7.js" defer=""></script><script src="/_next/static/chunks/main-ec7fd4c371d06729.js" defer=""></script><script src="/_next/static/chunks/pages/_app-33cd991a71572ffc.js" defer=""></script><script src="/_next/static/chunks/pages/_error-8f65b0f8749f42d2.js" defer=""></script><script src="/_next/static/bLScLUyqbuPZ2hYp8Nd3L/_buildManifest.js" defer=""></script><script src="/_next/static/bLScLUyqbuPZ2hYp8Nd3L/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"bLScLUyqbuPZ2hYp8Nd3L","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
package/dist/web/_next/static/{HQCMjhxsp1uiLn5NAhOEs → bLScLUyqbuPZ2hYp8Nd3L}/_buildManifest.js
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:null,bitArray:[]},__routerFilterDynamic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:null,bitArray:[]},"/_error":["static/chunks/pages/_error-8f65b0f8749f42d2.js"],"/home":["static/chunks/6350-9e5cd43f220aab51.js","static/chunks/pages/home-
|
|
1
|
+
self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:null,bitArray:[]},__routerFilterDynamic:{numItems:0,errorRate:1e-4,numBits:0,numHashes:null,bitArray:[]},"/_error":["static/chunks/pages/_error-8f65b0f8749f42d2.js"],"/home":["static/chunks/6350-9e5cd43f220aab51.js","static/chunks/pages/home-b6c7635a054e4108.js"],sortedPages:["/_app","/_error","/home"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
package/dist/web/_next/static/chunks/pages/{home-98b83723dc6a8caa.js → home-b6c7635a054e4108.js}
RENAMED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
ℹ️ 終端已結束(exit code: ${t})`);return}0===t?p.writeln("\r\n✅ Agent 執行完成。"):p.writeln(`\r
|
|
6
6
|
⚠️ 連線中斷或異常結束(exit code: ${t})`),p.writeln("\r\nℹ️ 已切回互動終端,可手動輸入命令。"),G()}),p.attachCustomKeyEventHandler(e=>"Enter"!==e.key||!e.shiftKey||!!e.altKey||!!e.ctrlKey||!!e.metaKey||!!e.isComposing||!!_.current||(e.preventDefault(),e.stopPropagation(),"keydown"===e.type&&(L.current?.(),j.term.input(x,"\x1b\r")),!1)),p.onData(e=>{_.current||(L.current?.(),j.term.input(x,e),y())}),p.onScroll(()=>{let e=p.buffer.active;S(e.viewportY<e.baseY)});let y=()=>{clearTimeout(i),i=setTimeout(()=>{j.term.isScrolledBack(x).then(e=>{o||f.current!==p||z(e)})},150)},k=h.current;k?.addEventListener("wheel",y,{capture:!0,passive:!0}),l=()=>k?.removeEventListener("wheel",y,{capture:!0}),r=new ResizeObserver(()=>{clearTimeout(a),a=setTimeout(()=>{if(!o&&f.current===p)try{let{cols:e,rows:t}=p;if(b(),p.cols===e&&p.rows===t)return;j.term.resize(x,p.cols,p.rows)}catch{}},100)}),h.current&&r.observe(h.current),$.current=!0,V()})(),()=>{o=!0,$.current=!1,t?.(),n?.(),r?.disconnect(),clearTimeout(a),clearTimeout(i),l?.(),e_(x),f.current?.dispose(),f.current=null}},[e,x,V,G]),(0,r.useEffect)(()=>{V()},[i,l,V]);let H=async t=>{if(!_.current&&$.current&&0!==t.length){L.current?.(),v(!0);try{let s=await tk(t),n=await eR({taskId:e,attachments:s});if(n.length>0){let e=n.map(({path:e})=>`'${e.replace(/'/g,"'\\''")}'`).join(" ");eB(x,`${e} `)}}catch(t){let e=t instanceof Error?t.message:String(t);f.current?.writeln(`\r
|
|
7
7
|
⚠️ 附加檔案失敗:${e}`)}finally{v(!1)}}},J=async()=>{f.current?.scrollToBottom(),S(!1),await eF(x),z(!1),f.current?.focus()};return(0,n.jsxs)("div",{onDragEnter:e=>{e.dataTransfer.types.includes("Files")&&(e.preventDefault(),!c&&$.current&&(p.current+=1,b(!0)))},onDragOver:e=>{e.dataTransfer.types.includes("Files")&&(e.preventDefault(),e.dataTransfer.dropEffect=c||!$.current?"none":"copy")},onDragLeave:e=>{e.dataTransfer.types.includes("Files")&&(e.preventDefault(),!c&&$.current&&(p.current=Math.max(0,p.current-1),0===p.current&&b(!1)))},onDrop:e=>{e.preventDefault(),p.current=0,b(!1),!c&&$.current&&H(e.dataTransfer.files)},className:(0,E.cn)("flex min-h-36 w-full flex-1 flex-col overflow-hidden rounded-md border border-border bg-card transition-colors",g&&"border-primary bg-primary/5"),children:[(0,n.jsxs)("div",{className:"flex shrink-0 items-center justify-between border-b border-border bg-muted/50 px-2 py-1",children:[(0,n.jsx)("span",{className:"min-w-0 truncate font-mono text-xs text-muted-foreground",children:a??"(no cwd)"}),j?(0,n.jsx)("span",{className:"shrink-0 px-2 text-xs text-muted-foreground",children:"附加檔案中…"}):c?(0,n.jsx)("span",{className:"shrink-0 px-2 text-xs uppercase tracking-wide text-muted-foreground",children:"唯讀"}):(0,n.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[d&&(0,n.jsxs)(tN,{variant:"ghost",size:"sm",className:"h-6 shrink-0 px-2 text-xs",onClick:()=>void O(),disabled:!a||N||k,title:"捨棄這次執行的程式碼變更與 artifacts 並退回 Backlog,之後按「開始」才會重新啟動 Agent",children:[(0,n.jsx)(tz.A,{className:(0,E.cn)("size-3",N&&"animate-pulse")}),N?"退回中…":"退回 Backlog"]}),u&&(0,n.jsxs)(tN,{variant:"ghost",size:"sm",className:"h-6 shrink-0 px-2 text-xs",onClick:()=>void K(),disabled:!a||k||N,title:"只帶入 Agent 設定與 Artifact 資訊,不傳入任務內容",children:[(0,n.jsx)(tE.A,{className:(0,E.cn)("size-3",k&&"animate-pulse")}),k?"啟動中…":"啟動 Agent"]})]})]}),(0,n.jsxs)("div",{className:"relative min-h-0 w-full flex-1 overflow-hidden bg-background p-1",children:[(0,n.jsx)("div",{ref:h,className:"h-full w-full overflow-hidden"}),(C||A)&&(0,n.jsxs)(tN,{variant:"secondary",size:"sm",className:"absolute bottom-3 right-5 h-7 px-2 text-xs shadow-md",onClick:()=>void J(),children:[(0,n.jsx)(t$.A,{className:"size-3"}),"回到最新"]})]})]})}var tT=s(41487);let tD=0,tB={micro:.12,standard:.16,spatial:.18},t_={enter:[.2,0,0,1],exit:[.4,0,1,1]};function tF(e,t,s,n=tB[e]){return{duration:t?.01:n,ease:t_[s]}}function tL({timing:e,enterDuration:t,initialOpacity:s=0,transform:n,reducedMotion:r}){return{hidden:{opacity:s,...r?{}:n??{}},visible:{opacity:1,...r?{}:{...n?.x===void 0?{}:{x:0},...n?.y===void 0?{}:{y:0},...n?.scale===void 0?{}:{scale:1}},transition:tF(e,r,"enter",t)}}}function tM({timing:e,enterDuration:t,initialOpacity:s,exitTiming:n="micro",exitDuration:r,transform:a,exitTransform:i=a,reducedMotion:l}){return{...tL({timing:e,enterDuration:t,initialOpacity:s,transform:a,reducedMotion:l}),exit:{opacity:0,...l?{}:i??{},transition:tF(n,l,"exit",r)}}}function tG({title:e,children:t,description:s,footer:a,showHeader:i=!1,className:l,contentClassName:o,bodyClassName:u,saving:m=!1,motionVariant:x="dialog",onClose:h}){let f=(0,r.useId)(),p=(0,r.useId)(),g=(0,r.useRef)(null),b=(0,r.useRef)("u">typeof document&&document.activeElement instanceof HTMLElement?document.activeElement:null),j=(0,r.useRef)(h),v=(0,r.useRef)(m),N=(0,tT.tF)(),y=(0,c.I)()??!1,k=i||void 0!==s||void 0!==a||void 0!==u,w="drawer"===x,C=tM({timing:"micro",enterDuration:.14,reducedMotion:y}),S=tM({timing:w?"spatial":"standard",exitTiming:"micro",exitDuration:w?.14:void 0,transform:w?{x:16}:{scale:.98},reducedMotion:y});return(0,r.useEffect)(()=>{j.current=h,v.current=m},[h,m]),(0,r.useEffect)(()=>{let e;return tD+=1,e=!1,()=>{e||(e=!0,tD-=1)}},[]),(0,r.useEffect)(()=>{if(!N)return;g.current?.focus();let e=e=>{if("Escape"!==e.key||v.current)return;let t=document.querySelectorAll('[role="dialog"][aria-modal="true"]');t[t.length-1]===g.current&&j.current()};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e),b.current?.focus()}},[N]),(0,n.jsxs)(d.PY1.div,{initial:"hidden",animate:"visible",exit:"exit",inert:!N,"aria-hidden":!N||void 0,"data-dialog-state":N?"present":"exiting",className:(0,E.cn)("fixed inset-0 z-50 flex items-center justify-center p-4",!N&&"pointer-events-none",l),children:[(0,n.jsx)(d.PY1.div,{variants:C,className:"absolute inset-0 bg-background/80",onClick:m||!N?void 0:h}),(0,n.jsx)(d.PY1.div,{variants:S,ref:g,role:N?"dialog":void 0,"aria-modal":N?"true":void 0,"aria-labelledby":N?f:void 0,"aria-describedby":N&&s?p:void 0,tabIndex:-1,className:(0,E.cn)("relative z-10 w-full rounded-lg border bg-card text-card-foreground shadow-lg outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50",k&&"flex max-h-[min(90vh,760px)] flex-col overflow-hidden",o),children:k?(0,n.jsxs)(n.Fragment,{children:[i&&(0,n.jsxs)("div",{className:"flex shrink-0 items-start justify-between gap-4 border-b border-border/70 px-5 py-4",children:[(0,n.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,n.jsx)("h2",{id:f,className:"truncate text-lg font-semibold tracking-tight",children:e}),s&&(0,n.jsx)("div",{id:p,className:"text-sm leading-5 text-muted-foreground",children:s})]}),(0,n.jsx)(P,{"aria-label":`關閉${e}`,onClick:h,disabled:m,className:"mt-0.5 shrink-0 p-1",children:(0,n.jsx)(tg.A,{className:"size-4"})})]}),!i&&(0,n.jsx)("h2",{id:f,className:"sr-only",children:e}),(0,n.jsx)("div",{className:(0,E.cn)("min-h-0 flex-1 overflow-y-auto px-5 py-4",u),children:t}),a&&(0,n.jsx)("div",{className:"flex shrink-0 items-center justify-between gap-3 border-t border-border/70 bg-muted/20 px-5 py-3",children:a})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("h2",{id:f,className:"sr-only",children:e}),t]})})]})}var tO=s(18921),tK=s(79608);let tV={scale:1,x:0,y:0};function tH(e,t,s){return Math.min(s,Math.max(t,e))}function tJ({src:e,alt:t,className:s}){let a=(0,r.useRef)(null),i=(0,r.useRef)(null),l=(0,r.useRef)(null),[o,c]=(0,r.useState)(tV),[d,u]=(0,r.useState)(!1),m=(0,r.useCallback)((e,t,s)=>{let n=a.current,r=i.current;if(!n||!r)return{x:e,y:t};let l=Math.max(0,(r.offsetWidth*s-n.clientWidth)/2),o=Math.max(0,(r.offsetHeight*s-n.clientHeight)/2);return{x:tH(e,-l,l),y:tH(t,-o,o)}},[]),x=(0,r.useCallback)((e,t=0,s=0)=>{c(n=>{let r=tH(e(n.scale),1,6);return r===n.scale?n:{scale:r,...m(t-(t-n.x)*r/n.scale,s-(s-n.y)*r/n.scale,r)}})},[m]);(0,r.useEffect)(()=>{c(tV)},[e]),(0,r.useEffect)(()=>{let e=a.current;if(!e)return;let t=t=>{t.preventDefault();let s=e.getBoundingClientRect();x(e=>e*Math.exp(-(.0015*t.deltaY)),t.clientX-s.left-s.width/2,t.clientY-s.top-s.height/2)};return e.addEventListener("wheel",t,{passive:!1}),()=>e.removeEventListener("wheel",t)},[x]),(0,r.useEffect)(()=>{let e=()=>c(e=>({...e,...m(e.x,e.y,e.scale)}));return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[m]);let h=o.scale>1,f=e=>{l.current?.pointerId===e.pointerId&&(l.current=null,u(!1))};return(0,n.jsxs)("div",{className:(0,E.cn)("space-y-3",s),children:[(0,n.jsx)("div",{ref:a,onPointerDown:e=>{h&&0===e.button&&(e.currentTarget.setPointerCapture(e.pointerId),l.current={pointerId:e.pointerId,startX:e.clientX,startY:e.clientY,originX:o.x,originY:o.y},u(!0))},onPointerMove:e=>{let t=l.current;if(!t||t.pointerId!==e.pointerId)return;let s=t.originX+(e.clientX-t.startX),n=t.originY+(e.clientY-t.startY);c(e=>({...e,...m(s,n,e.scale)}))},onPointerUp:f,onPointerCancel:f,className:(0,E.cn)("flex h-[min(60vh,520px)] touch-none select-none items-center justify-center overflow-hidden rounded-md bg-muted/20",h&&(d?"cursor-grabbing":"cursor-grab")),children:(0,n.jsx)("img",{ref:i,src:e,alt:t,draggable:!1,className:"max-h-full max-w-full object-contain",style:{transform:`translate(${o.x}px, ${o.y}px) scale(${o.scale})`}})}),(0,n.jsxs)("div",{className:"flex items-center gap-3 px-1",children:[(0,n.jsx)(tO.A,{className:"size-3.5 shrink-0 text-muted-foreground"}),(0,n.jsx)("input",{type:"range",min:1,max:6,step:.05,value:o.scale,onChange:e=>{let t=Number(e.target.value);x(()=>t)},"aria-label":"縮放圖片",className:"h-4 min-w-0 flex-1 cursor-pointer accent-primary outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50"}),(0,n.jsx)(tK.A,{className:"size-3.5 shrink-0 text-muted-foreground"})]}),(0,n.jsx)("p",{className:"px-1 text-xs text-muted-foreground",children:"滑桿或滾輪縮放,放大後可拖曳圖片平移。"})]})}let tY={claude:"Claude Code",codex:"Codex CLI"},tU={codex:["gpt-5-codex","gpt-5"]};function tW(e,t){return e.path===t.path&&e.status===t.status&&e.additions===t.additions&&e.deletions===t.deletions&&e.revision===t.revision}let tq=(0,r.lazy)(()=>s.e(1201).then(s.bind(s,31201)).then(e=>({default:e.default}))),tX={task:"任務",spec:"決策",artifacts:"Artifacts",diff:"Git diff"},tQ=["task","spec","artifacts","diff"],tZ=["task","spec"],t0=["task"],t1={A:"新增",M:"修改",D:"刪除",R:"更名","?":"未追蹤"},t5={image:"截圖",video:"影片",text:"文字",binary:"二進位"},t2="vibeflow:workspace-aside-px",t3="--vf-workspace-aside",t4=!1;function t6(){if(t4)return;t4=!0;let e=Number(window.localStorage.getItem(t2));Number.isFinite(e)&&e>=336&&document.documentElement.style.setProperty(t3,`${e}px`)}function t7(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function t8(e){return("image"===e.kind||"video"===e.kind)&&!e.scratch}function t9({title:e,icon:t,children:s,actions:r,count:a,heading:i}){return(0,n.jsxs)("section",{className:"flex min-h-0 flex-1 flex-col border-b border-border last:border-b-0",children:[(0,n.jsxs)("div",{className:"flex h-10 shrink-0 items-center justify-between gap-2 border-b border-border/70 px-4",children:[i??(0,n.jsxs)("h2",{className:(0,E.cn)(z,"flex min-w-0 items-center gap-2"),children:[t,(0,n.jsx)("span",{className:"truncate",children:e}),void 0!==a&&a>0&&(0,n.jsx)("span",{className:"shrink-0 tabular-nums text-muted-foreground/80",children:a})]}),r]}),(0,n.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto p-4",children:s})]})}let se={MERGED:"bg-primary/15 text-primary",OPEN:"bg-success/15 text-success",CLOSED:"bg-destructive/15 text-destructive"};function st({outcome:e}){let[t,s]=(0,r.useState)(!1),{pr:a,commits:i,files:l}=e;return(0,n.jsxs)("div",{className:"space-y-4",children:[a&&(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsxs)("h3",{className:(0,E.cn)(z,"flex items-center gap-1.5"),children:[(0,n.jsx)(p.A,{className:"size-3.5"}),"Pull Request"]}),(0,n.jsxs)("div",{className:"space-y-2 rounded-md border border-border/70 bg-muted/20 p-2.5 text-sm",children:[(0,n.jsxs)("div",{className:"flex items-start gap-2",children:[(0,n.jsx)("span",{className:(0,E.cn)("shrink-0 rounded-xs px-1.5 py-0.5 text-xs font-medium",se[a.state]??"bg-secondary text-secondary-foreground"),children:a.state}),(0,n.jsx)("span",{className:"min-w-0 flex-1 break-words text-foreground",children:a.title})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>void eE(a.url),className:"flex items-center gap-1.5 rounded-sm text-xs text-muted-foreground outline-none transition-colors motion-reduce:transition-none hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50",children:[(0,n.jsx)(tr.A,{className:"size-3"}),"#",a.number]}),a.body&&(0,n.jsx)("button",{type:"button",onClick:()=>s(e=>!e),className:"rounded-sm text-xs text-muted-foreground outline-none transition-colors motion-reduce:transition-none hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50",children:t?"收合說明":"展開說明"})]}),a.body&&t&&(0,n.jsx)(tj,{source:a.body,compact:!0,className:"bg-transparent p-0"})]})]}),i.length>0&&(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsxs)("h3",{className:(0,E.cn)(z,"flex items-center gap-1.5"),children:[(0,n.jsx)(ta.A,{className:"size-3.5"}),"Commits",(0,n.jsx)("span",{className:"tabular-nums font-normal",children:i.length})]}),(0,n.jsx)("ul",{className:"space-y-1 rounded-md bg-muted/30 p-2.5 text-sm",children:i.map(e=>(0,n.jsxs)("li",{className:"flex items-start gap-2",children:[(0,n.jsx)("code",{className:"shrink-0 font-mono text-xs text-muted-foreground",children:e.sha}),(0,n.jsx)("span",{className:"min-w-0 break-words",children:e.subject})]},e.sha))})]}),l.length>0&&(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsxs)("h3",{className:(0,E.cn)(z,"flex items-center gap-1.5"),children:[(0,n.jsx)(ti.A,{className:"size-3.5"}),"變更檔案",(0,n.jsx)("span",{className:"tabular-nums font-normal",children:l.length}),(0,n.jsxs)("span",{className:"ml-auto font-normal tabular-nums",children:[(0,n.jsxs)("span",{className:"text-success",children:["+",e.additions]}),(0,n.jsxs)("span",{className:"ml-1 text-destructive",children:["−",e.deletions]})]})]}),(0,n.jsx)("ul",{className:"space-y-1 rounded-md bg-muted/30 p-2.5 text-sm",children:l.map(e=>(0,n.jsxs)("li",{className:"flex items-start gap-2",children:[(0,n.jsx)("span",{className:"min-w-0 flex-1 break-all font-mono text-xs",children:e.path}),(e.additions>0||e.deletions>0)&&(0,n.jsxs)("span",{className:"shrink-0 text-xs tabular-nums",children:[(0,n.jsxs)("span",{className:"text-success",children:["+",e.additions]}),(0,n.jsxs)("span",{className:"ml-1 text-destructive",children:["−",e.deletions]})]})]},e.path))}),e.truncated&&(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:["只列出前 ",l.length," 個檔案。"]})]})]})}function ss({task:e,column:t,progress:s}){return(0,n.jsxs)("div",{className:"space-y-4 text-base",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-2 flex flex-wrap items-center gap-1.5",children:(0,n.jsx)("span",{className:"rounded-xs bg-secondary px-1.5 py-0.5 text-xs font-medium text-secondary-foreground",children:"in_progress"===t?"In Progress":"done"===t?"Done":"Backlog"})}),(0,n.jsx)("h3",{className:"break-words text-lg font-semibold tracking-tight text-foreground",children:e.title})]}),"backlog"===t&&e.launchError&&(0,n.jsxs)("p",{className:"rounded-md border border-destructive/40 bg-destructive/10 p-2.5 text-sm",children:["上次開始執行時無法建立分支,卡片已退回 Backlog:",e.launchError,(0,n.jsx)("br",{}),(0,n.jsx)("span",{className:"text-muted-foreground",children:"可以編輯分支名稱或基準分支後再開始。"})]}),e.jevRoute?.status==="routing"&&(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-md bg-muted/30 p-2.5 text-sm text-muted-foreground",role:"status",children:[(0,n.jsx)(y.A,{className:"size-3.5 shrink-0 animate-spin"}),"Jev 路由中:",A(e.jevRoute),"(完成後才會啟動 agent)"]}),e.jevRoute&&"routing"!==e.jevRoute.status&&(0,n.jsxs)("div",{className:"rounded-md bg-muted/30 p-2.5 text-sm text-muted-foreground",children:["Jev:",e.jevRoute.model??"CLI 預設模型",e.jevRoute.plannerModel&&` \xb7 先由 ${e.jevRoute.plannerModel} 規劃`,e.jevRoute.reason&&(0,n.jsxs)("p",{children:["自動選擇未完成:",e.jevRoute.reason]})]}),(0,n.jsxs)("div",{className:"space-y-1.5 rounded-md bg-muted/30 p-2.5 text-sm text-muted-foreground",children:[e.projectName&&(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(g.A,{className:"size-3.5 shrink-0"}),(0,n.jsx)("span",{className:"min-w-0 truncate",children:e.projectName})]}),(0,n.jsxs)("div",{className:"flex items-start gap-2",children:[(0,n.jsx)(N.A,{className:"mt-0.5 size-3.5 shrink-0"}),(0,n.jsxs)("span",{className:"min-w-0 break-all",children:[e.branch,"done"!==t&&!e.worktreePath&&(0,n.jsx)("span",{className:"text-muted-foreground/70",children:"backlog"===t?"(開始執行時建立)":"(建立中…)"})]})]}),e.baseBranch&&(0,n.jsxs)("div",{className:"flex items-start gap-2",children:[(0,n.jsx)(tl.A,{className:"mt-0.5 size-3.5 shrink-0"}),(0,n.jsxs)("span",{className:"min-w-0 break-all",children:["base: ",e.baseBranch]})]})]}),e.description&&(0,n.jsx)(tj,{source:e.description}),"backlog"!==t&&(0,n.jsx)(e5,{progress:"in_progress"===t?s:null,usage:e.usage}),e.outcome&&(0,n.jsx)(st,{outcome:e.outcome})]})}function sn({specs:e}){return(0,n.jsx)("div",{className:"space-y-6",children:e.map(e=>(0,n.jsxs)("section",{className:"space-y-2",children:[(0,n.jsx)("p",{className:"break-all font-mono text-xs text-muted-foreground",children:e.path}),(0,n.jsx)(tj,{source:e.markdown,className:"bg-transparent p-0"}),e.truncated&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"內容過長,僅顯示前段。"}),null!=e.updatedAt&&(0,n.jsxs)("p",{className:"text-xs text-muted-foreground tabular-nums",children:["更新於 ",new Date(e.updatedAt).toLocaleString()]})]},e.path))})}function sr({taskId:e,artifact:t}){let[s,a]=(0,r.useState)(null),[i,l]=(0,r.useState)(!1);(0,r.useEffect)(()=>{let s=!0;return a(null),l(!1),ep(e,t.name).then(e=>{s&&a(e?.dataUrl??null)}).catch(()=>{s&&a(null)}),()=>{s=!1}},[e,t.name,t.modifiedAt]);let o="video"===t.kind;return!s||i?(0,n.jsx)("div",{className:"flex h-24 items-center justify-center rounded-md border border-border/70 bg-card",children:o?(0,n.jsx)(to.A,{className:"size-5 text-muted-foreground"}):(0,n.jsx)(tc.A,{className:"size-5 text-muted-foreground"})}):o?(0,n.jsxs)("div",{className:"relative h-24 w-full overflow-hidden rounded-md border border-border/70 bg-card",children:[(0,n.jsx)("video",{src:s,muted:!0,playsInline:!0,preload:"metadata",onError:()=>l(!0),className:"h-full w-full object-contain"}),(0,n.jsx)("span",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:(0,n.jsx)("span",{className:"flex size-7 items-center justify-center rounded-full bg-background/80 ring-1 ring-border/70",children:(0,n.jsx)(td.A,{className:"size-3.5 fill-current text-foreground"})})})]}):(0,n.jsx)("img",{src:s,alt:t.name,className:"h-24 w-full rounded-md border border-border/70 bg-card object-contain"})}function sa({taskId:e,artifact:t,onClose:s}){var a;let[i,l]=(0,r.useState)(void 0),[o,c]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let s=!0;return l(void 0),c(!1),ep(e,t.name).then(e=>{s&&l(e)}).catch(()=>{s&&l(null)}),()=>{s=!1}},[e,t.name,t.modifiedAt]),(0,n.jsx)(tG,{title:t.name,description:`${t5[t.kind]} \xb7 ${t7(t.size)}${t.scratch?" \xb7 工作暫存":""}`,onClose:s,showHeader:!0,contentClassName:"max-w-5xl",bodyClassName:"p-4",children:void 0===i?(0,n.jsxs)("div",{className:"flex h-40 items-center justify-center gap-2 text-sm text-muted-foreground",children:[(0,n.jsx)(y.A,{className:"size-3.5 animate-spin"}),"讀取中…"]}):null===i?(0,n.jsx)("p",{className:"py-10 text-center text-sm text-muted-foreground",children:"讀不到這個檔案,可能已被刪除。"}):"image"===i.kind&&i.dataUrl?(0,n.jsx)(tJ,{src:i.dataUrl,alt:t.name}):"video"===i.kind&&i.dataUrl?o?(0,n.jsx)("p",{className:"py-10 text-center text-sm text-muted-foreground",children:"這個影片的編碼無法在 app 內播放。用 Artifacts 分頁的「開啟資料夾」以系統播放器開啟。"}):(0,n.jsx)("video",{src:i.dataUrl,controls:!0,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,onError:()=>c(!0),className:"max-h-[70vh] w-full rounded-md bg-black"}):"binary"===i.kind?(0,n.jsxs)("p",{className:"py-10 text-center text-sm text-muted-foreground",children:["無法內嵌預覽的檔案(",t7(t.size),")。用 Artifacts 分頁的「開啟資料夾」以系統播放器或編輯器開啟。"]}):(0,n.jsxs)(n.Fragment,{children:[(a=t.name,/\.(md|markdown|mdx)$/i.test(a))?(0,n.jsx)(tj,{source:i.text??""}):(0,n.jsx)("pre",{className:"whitespace-pre-wrap break-words rounded-md bg-muted/30 p-3 font-mono text-xs",children:i.text}),i.truncated&&(0,n.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:"內容過長,僅顯示開頭 256 KB。"})]})})}function si({taskId:e,artifacts:t,artifactsDir:s}){let[a,i]=(0,r.useState)(null),[o,c]=(0,r.useState)(!1),[d,u]=(0,r.useState)("idle"),[m,x]=(0,r.useState)(null),h=t.filter(t8),f=t.filter(e=>!t8(e)),p=(0,r.useCallback)(()=>{x(null),eg(e).then(e=>x(e||null)).catch(()=>x("開啟失敗"))},[e]),g=(0,r.useCallback)(()=>{s&&navigator.clipboard.writeText(s).then(()=>{u("copied"),window.setTimeout(()=>u("idle"),1600)}).catch(()=>u("error"))},[s]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"mb-3 space-y-2 rounded-md border border-border/70 bg-muted/20 p-2.5",children:[(0,n.jsx)("div",{className:"text-xs font-medium text-muted-foreground",children:"Artifact 資料夾"}),(0,n.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,n.jsx)("code",{className:"min-w-0 flex-1 select-all break-all rounded-xs bg-background px-2 py-1.5 font-mono text-xs text-foreground",title:s??"尚無可用路徑",children:s??"尚無可用路徑"}),(0,n.jsxs)(tN,{variant:"outline",size:"sm",onClick:g,disabled:!s,title:"複製 Artifact 資料夾路徑",className:"shrink-0 text-xs",children:["copied"===d?(0,n.jsx)(w.A,{className:"size-3.5"}):(0,n.jsx)(tu.A,{className:"size-3.5"}),"copied"===d?"已複製":"error"===d?"複製失敗":"複製路徑"]})]})]}),(0,n.jsxs)("div",{className:"mb-2 flex items-center justify-end gap-2",children:[m&&(0,n.jsx)("span",{className:"min-w-0 truncate text-xs text-muted-foreground",title:m,children:m}),(0,n.jsxs)(tN,{variant:"outline",size:"sm",onClick:p,title:s??"任務的 artifacts 目錄",className:"text-xs",children:[(0,n.jsx)(tm.A,{className:"size-3.5"}),"開啟資料夾"]})]}),0===t.length?(0,n.jsxs)("div",{className:"space-y-2 py-8 text-center",children:[(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"還沒有暫存產物。"}),(0,n.jsxs)("p",{className:"text-xs leading-5 text-muted-foreground/80",children:["Agent 會把驗證截圖、錄影與報告寫進上方資料夾,工作暫存放其下的 ",(0,n.jsx)("code",{className:"rounded-xs bg-muted/40 px-1 py-0.5 font-mono",children:"scratch/"}),",完成任務時會一併清除。"]})]}):(0,n.jsxs)("div",{className:"space-y-2",children:[h.length>0?(0,n.jsx)("ul",{className:"grid grid-cols-2 gap-2",children:h.map(t=>(0,n.jsx)("li",{children:(0,n.jsxs)("button",{type:"button",onClick:()=>i(t),title:t.name,className:"w-full rounded-md border border-border/70 bg-muted/20 p-2 text-left outline-none transition-colors motion-reduce:transition-none hover:bg-accent focus-visible:ring-[3px] focus-visible:ring-ring/50",children:[(0,n.jsx)(sr,{taskId:e,artifact:t}),(0,n.jsxs)("div",{className:"mt-1.5 flex items-baseline gap-1.5",children:[(0,n.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs",children:t.name}),(0,n.jsx)("span",{className:"shrink-0 text-xs tabular-nums text-muted-foreground",children:t7(t.size)})]})]})},t.name))}):(0,n.jsx)("p",{className:"py-6 text-center text-sm text-muted-foreground",children:"還沒有驗證截圖或錄影。"}),f.length>0&&(0,n.jsxs)("div",{className:"rounded-md border border-border/70",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>c(e=>!e),"aria-expanded":o,className:"flex w-full items-center gap-1.5 rounded-md px-2 py-1.5 text-xs text-muted-foreground outline-none transition-colors motion-reduce:transition-none hover:bg-accent hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50",children:[(0,n.jsx)(tx.A,{className:(0,E.cn)("size-3.5 shrink-0 transition-transform motion-reduce:transition-none",o&&"rotate-90")}),"其他 ",f.length," 個檔案(報告、script、log)"]}),o&&(0,n.jsx)("ul",{className:"border-t border-border/70",children:f.map(e=>(0,n.jsx)("li",{children:(0,n.jsxs)("button",{type:"button",onClick:()=>i(e),title:e.name,className:"flex w-full items-center gap-2 px-2 py-1 text-left outline-none transition-colors motion-reduce:transition-none hover:bg-accent focus-visible:ring-[3px] focus-visible:ring-ring/50",children:["image"===e.kind?(0,n.jsx)(tc.A,{className:"size-3.5 shrink-0 text-muted-foreground"}):"video"===e.kind?(0,n.jsx)(to.A,{className:"size-3.5 shrink-0 text-muted-foreground"}):(0,n.jsx)(th.A,{className:"size-3.5 shrink-0 text-muted-foreground"}),(0,n.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs",children:e.name}),(0,n.jsxs)("span",{className:"shrink-0 text-xs tabular-nums text-muted-foreground/80",children:[function(e){let t=Math.floor((Date.now()-e)/6e4);if(t<1)return"剛剛";if(t<60)return`${t} 分前`;let s=Math.floor(t/60);return s<24?`${s} 小時前`:`${Math.floor(s/24)} 天前`}(e.modifiedAt)," \xb7 ",t7(e.size)]})]})},e.name))})]})]}),(0,n.jsx)(l.N,{children:a&&(0,n.jsx)(sa,{taskId:e,artifact:a,onClose:()=>i(null)},`artifact-${e}-${a.name}`)})]})}let sl=(0,r.memo)(function({file:e,showHeader:t=!0}){return(0,n.jsxs)("div",{className:(0,E.cn)("overflow-hidden",t&&"rounded-md border border-border/70"),children:[t&&(0,n.jsxs)("div",{className:"flex items-center gap-2 border-b border-border/70 bg-muted/30 px-2 py-1.5",children:[(0,n.jsx)("span",{className:"rounded-xs bg-secondary px-1.5 py-0.5 text-xs font-medium text-secondary-foreground",children:t1[e.status]??e.status}),(0,n.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs",title:e.path,children:e.path}),e.truncated&&(0,n.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground",children:"已截斷"})]}),(0,n.jsx)("div",{className:"min-w-0 max-w-full overflow-x-auto text-xs [&_.diff-content]:whitespace-pre-wrap [&_.diff-content]:break-words [&_pre]:whitespace-pre-wrap [&_pre]:break-words [&_table]:min-w-full [&_table]:table-fixed [&_td]:min-w-0 [&_td]:align-top",children:(0,n.jsx)(r.Suspense,{fallback:null,children:(0,n.jsx)(tq,{oldValue:e.oldValue,newValue:e.newValue,splitView:!1,useDarkTheme:!0,compareMethod:"diffLines",renderContent:e=>(0,n.jsx)("span",{className:"block min-w-0 max-w-full whitespace-pre-wrap break-words",children:e}),styles:{variables:{dark:{diffViewerBackground:"var(--card)",diffViewerColor:"var(--card-foreground)",addedBackground:"rgba(78, 201, 138, 0.15)",addedColor:"var(--foreground)",removedBackground:"rgba(229, 72, 77, 0.15)",removedColor:"var(--foreground)",wordAddedBackground:"rgba(78, 201, 138, 0.32)",wordRemovedBackground:"rgba(229, 72, 77, 0.32)",addedGutterBackground:"rgba(78, 201, 138, 0.20)",removedGutterBackground:"rgba(229, 72, 77, 0.20)",gutterBackground:"var(--muted)",gutterBackgroundDark:"var(--muted)",gutterColor:"var(--muted-foreground)",addedGutterColor:"var(--foreground)",removedGutterColor:"var(--foreground)",highlightBackground:"rgba(76, 155, 245, 0.15)",highlightGutterBackground:"rgba(76, 155, 245, 0.20)",codeFoldGutterBackground:"var(--muted)",codeFoldBackground:"var(--secondary)",codeFoldContentColor:"var(--muted-foreground)",emptyLineBackground:"var(--card)"}},diffContainer:{width:"100%",maxWidth:"100%",overflowX:"visible"},line:{width:"100%"},content:{width:"100%",maxWidth:"100%",overflowX:"visible"},contentText:{display:"block",width:"100%",maxWidth:"100%",whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-word"},lineContent:{display:"block",width:"100%",maxWidth:"100%",whiteSpace:"pre-wrap",overflowWrap:"anywhere",wordBreak:"break-word"},gutter:{maxWidth:"2.5rem",minWidth:"2.5rem",width:"2.5rem",paddingLeft:"0.25rem",paddingRight:"0.25rem",whiteSpace:"nowrap"}}})})})]})});function so({entry:e,file:t,onClose:s}){return(0,n.jsx)(tG,{title:e.path,description:(0,n.jsxs)("span",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{children:t1[e.status]??e.status}),(e.additions>0||e.deletions>0)&&(0,n.jsxs)("span",{className:"font-mono tabular-nums",children:[(0,n.jsxs)("span",{className:"text-success",children:["+",e.additions]}),(0,n.jsxs)("span",{className:"ml-1 text-destructive",children:["−",e.deletions]})]}),t?.truncated&&(0,n.jsx)("span",{children:"\xb7 已截斷"})]}),onClose:s,showHeader:!0,contentClassName:"max-w-6xl",bodyClassName:"p-4",children:void 0===t?(0,n.jsxs)("div",{className:"flex h-40 items-center justify-center gap-2 text-sm text-muted-foreground",children:[(0,n.jsx)(y.A,{className:"size-3.5 animate-spin"}),"讀取內容中…"]}):null===t?(0,n.jsx)("p",{className:"py-10 text-center text-sm text-muted-foreground",children:"讀不到這個檔案的內容。"}):(0,n.jsx)(sl,{file:t,showHeader:!1})})}function sc({diff:e}){return(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)(P,{"aria-label":"重新整理 Git diff",title:"重新整理(含 fetch origin)",className:"p-1",disabled:e.loading,onClick:e.manualRefresh,children:(0,n.jsx)(tf.A,{className:(0,E.cn)("size-3.5",e.loading&&"animate-spin")})}),e.entries.length>0&&(0,n.jsx)(P,{"aria-label":"放大檢視 Git diff",title:"放大檢視(全部展開)",className:"p-1",onClick:e.expand,children:(0,n.jsx)(tp.A,{className:"size-3.5"})})]})}function sd({taskId:e,diff:t}){let{entries:s,contents:r,selectedEntry:a,setSelectedPath:i,loading:o,error:c,expanded:d,fullFiles:u,closeExpanded:m}=t;return(0,n.jsxs)(n.Fragment,{children:[o&&0===s.length?(0,n.jsxs)("div",{className:"flex h-full items-center justify-center gap-2 text-sm text-muted-foreground",children:[(0,n.jsx)(y.A,{className:"size-3.5 animate-spin"}),"讀取 diff 中…"]}):c?(0,n.jsx)("div",{className:"rounded-md border border-destructive/40 bg-destructive/10 p-2 text-sm",children:c}):0===s.length?(0,n.jsx)("p",{className:"py-10 text-center text-sm text-muted-foreground",children:"與基準分支相比沒有變更。"}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("ul",{className:"space-y-1",children:s.map(e=>(0,n.jsx)("li",{children:(0,n.jsxs)("button",{type:"button",onClick:()=>i(e.path),title:`檢視 ${e.path} 的 diff`,className:"flex w-full items-center gap-2 rounded-md border border-border/70 bg-muted/30 px-2 py-1.5 text-left outline-none transition-colors motion-reduce:transition-none hover:bg-accent focus-visible:ring-[3px] focus-visible:ring-ring/50",children:[(0,n.jsx)("span",{className:"shrink-0 rounded-xs bg-secondary px-1.5 py-0.5 text-xs font-medium text-secondary-foreground",children:t1[e.status]??e.status}),(0,n.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs",title:e.path,children:e.path}),(e.additions>0||e.deletions>0)&&(0,n.jsxs)("span",{className:"shrink-0 font-mono text-xs tabular-nums",children:[(0,n.jsxs)("span",{className:"text-success",children:["+",e.additions]}),(0,n.jsxs)("span",{className:"ml-1 text-destructive",children:["−",e.deletions]})]}),(0,n.jsx)(tx.A,{className:"size-3.5 shrink-0 text-muted-foreground"})]})},e.path))}),s.length>=80&&(0,n.jsxs)("p",{className:"mt-2 text-xs text-muted-foreground",children:["變更檔案超過 ",80," 個,僅顯示前 ",80," 個。"]})]}),(0,n.jsx)(l.N,{children:a&&(0,n.jsx)(so,{entry:a,file:a.path in r?r[a.path]:void 0,onClose:()=>i(null)},`diff-${e}-${a.path}`)}),d&&(0,n.jsx)("div",{className:"fixed inset-0 z-50 flex bg-background/95 text-foreground",children:(0,n.jsxs)("div",{className:"flex min-h-0 w-full flex-col",children:[(0,n.jsxs)("div",{className:"flex h-12 shrink-0 items-center justify-between border-b border-border px-5",children:[(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("h2",{className:"text-base font-semibold",children:"Git diff"}),(0,n.jsxs)("p",{className:"text-sm text-muted-foreground",children:[s.length," changed ",1===s.length?"file":"files"]})]}),(0,n.jsx)(P,{"aria-label":"關閉 diff 放大檢視",title:"關閉",onClick:m,children:(0,n.jsx)(tg.A,{className:"size-4"})})]}),(0,n.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto p-5",children:(0,n.jsx)("div",{className:"mx-auto w-full max-w-6xl space-y-4",children:null===u?(0,n.jsxs)("div",{className:"flex items-center justify-center gap-2 py-10 text-sm text-muted-foreground",children:[(0,n.jsx)(y.A,{className:"size-3.5 animate-spin"}),"讀取全部 diff 內容中…"]}):u.map(e=>(0,n.jsx)(sl,{file:e},e.path))})})]})})]})}function su({task:e,column:t,progress:s,launch:a,onStart:i,onReturnToBacklog:l,onLaunchAgent:o,onComplete:c,onEdit:d,onDelete:u,onInteract:h}){let[f,p]=(0,r.useState)(null),[g,b]=(0,r.useState)(!1),[j,v]=(0,r.useState)([]),y=(0,r.useId)(),k=`${y}-panel`,C=e=>`${y}-tab-${e}`,S=e.worktreePath??e.projectPath??null,A="in_progress"!==t||e.worktreePath?null:`正在準備工作環境:從最新的 ${e.baseBranch??"基準分支"} 建立分支 ${e.branch} 與 worktree,有 remote 時會一併推送到 origin。第一次開始執行需要幾秒鐘,完成後 agent 會自動啟動…`,z=function(e,t){let s,n;if(!e||!t)return null;let r=t.replace(/\\/g,"/"),a=(n=(s=e.replace(/\\/g,"/").replace(/\/+$/,"")).lastIndexOf("/"))>=0?s.slice(n+1):s;return`${r}/${a}.artifacts`}(e.worktreePath,e.workspacePath),$=function(e,t){let[s,n]=(0,r.useState)([]),[a,i]=(0,r.useState)({}),[l,o]=(0,r.useState)(null),[c,d]=(0,r.useState)(!1),[u,m]=(0,r.useState)(null),[x,h]=(0,r.useState)(0),[f,p]=(0,r.useState)(!1),[g,b]=(0,r.useState)(null),j=(0,r.useRef)(new Map),v=(0,r.useCallback)(e=>{let t=new Set(e.map(e=>e.path));for(let e of j.current.keys())t.has(e)||j.current.delete(e);n(t=>(function(e,t){if(e.length!==t.length)return t;let s=!1,n=t.map((t,n)=>{let r=e[n];return tW(r,t)?r:(s=!0,t)});return s?n:e})(t,e)),i(t=>{let s;return s=new Set(e.map(e=>e.path)),Object.keys(t).every(e=>s.has(e))?t:Object.fromEntries(Object.entries(t).filter(([e])=>s.has(e)))})},[]),N=s.find(e=>e.path===l)??null;(0,r.useEffect)(()=>{if(!N)return;let t=N.path,s=j.current.get(t);if(t in a&&s&&tW(s,N))return;let n=!0;return eh(e,t).then(e=>{n&&(j.current.set(t,N),i(s=>{var n;return(n=s[t])===e||n&&e&&n.path===e.path&&n.status===e.status&&n.additions===e.additions&&n.deletions===e.deletions&&n.oldValue===e.oldValue&&n.newValue===e.newValue&&n.truncated===e.truncated?s:{...s,[t]:e}}))}).catch(()=>{n&&(j.current.set(t,N),i(e=>null===e[t]?e:{...e,[t]:null}))}),()=>{n=!1}},[e,N,a]),(0,r.useEffect)(()=>{let s;if(!t)return;let n=!0,r=!1,a=async t=>{if(r&&tD>0){n&&(s=setTimeout(()=>void a(!1),3e3));return}r=!0;try{let s=await ex(e,{fetch:t});if(!n)return;v(s),m(null)}catch(e){n&&m(e instanceof Error?e.message:String(e))}finally{n&&(d(!1),s=setTimeout(()=>void a(!1),3e3))}};return d(!0),a(!0),()=>{n=!1,s&&clearTimeout(s)}},[e,t,x,v]),(0,r.useEffect)(()=>{l&&!s.some(e=>e.path===l)&&o(null)},[s,l]),(0,r.useEffect)(()=>{if(!f)return;let t=!0;return em(e).then(e=>{t&&b(e)}).catch(e=>{t&&m(e instanceof Error?e.message:String(e))}),()=>{t=!1}},[f,e]);let y=(0,r.useCallback)(()=>{p(!1),b(null)},[]);return{entries:s,contents:a,selectedEntry:N,setSelectedPath:o,loading:c,error:u,expanded:f,fullFiles:g,expand:(0,r.useCallback)(()=>p(!0),[]),closeExpanded:y,manualRefresh:(0,r.useCallback)(()=>{i({}),j.current.clear(),h(e=>e+1)},[])}}(e.id,"in_progress"===t),I=function(e,t,s){let[n,a]=(0,r.useState)([]);return(0,r.useEffect)(()=>{let n;if(a([]),!t)return;let r=!0,i=!1,l=async()=>{if(i&&tD>0){r&&s&&(n=setTimeout(()=>void l(),3e3));return}i=!0;try{let t=await eb(e);r&&a(t)}catch{}finally{r&&s&&(n=setTimeout(()=>void l(),3e3))}};return l(),()=>{r=!1,n&&clearTimeout(n)}},[e,t,s]),n}(e.id,"backlog"!==t,"in_progress"===t),R=j.filter(t8).length;(0,r.useEffect)(()=>{let s;if("in_progress"!==t)return void v([]);let n=!0,r=!1,a=async()=>{if(r&&tD>0){n&&(s=setTimeout(()=>void a(),3e3));return}r=!0;try{let t=await ef(e.id);n&&v(t)}catch{}finally{n&&(s=setTimeout(()=>void a(),3e3))}};return a(),()=>{n=!1,s&&clearTimeout(s)}},[e.id,t]),(0,r.useEffect)(()=>{if(!g)return;let e=e=>{"Escape"!==e.key||document.querySelector('[role="dialog"][aria-modal="true"]')||b(!1)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[g]);let T="backlog"===t,D=a?.launch,B=a?.nonce??0,_=("done"===t?tZ:"backlog"===t?t0:tQ).filter(e=>"spec"!==e||I.length>0),F="done"===t&&_.includes("spec")?"spec":_[0],L=f&&_.includes(f)?f:F,M=(0,n.jsx)("div",{role:"tablist","aria-label":"任務檢視",className:"flex min-w-0 rounded-md border border-border/70 p-0.5",children:_.map(e=>{let t="artifacts"===e?R:"diff"===e?$.entries.length:0;return(0,n.jsxs)("button",{type:"button",role:"tab",id:C(e),"aria-selected":L===e,"aria-controls":k,onClick:()=>{h?.(),p(e)},className:(0,E.cn)("shrink-0 rounded-sm px-2 py-0.5 text-xs outline-none transition-colors motion-reduce:transition-none focus-visible:ring-[3px] focus-visible:ring-ring/50",L===e?"bg-primary/15 text-primary":"text-muted-foreground hover:text-foreground"),children:[tX[e],t>0&&(0,n.jsx)("span",{className:"ml-1 tabular-nums text-muted-foreground/80",children:t})]},e)})}),G=(0,r.useRef)(null),O=(0,r.useRef)(null),K=(0,r.useRef)(null);(0,r.useLayoutEffect)(t6,[]);let V=(e,t)=>{let s,n=Math.round(Math.max(336,Math.min(e,Math.max(336,(s=G.current?.clientWidth??0)>0?s-320-10:e))));document.documentElement.style.setProperty(t3,`${n}px`),t&&window.localStorage.setItem(t2,String(n))},H=()=>{if(!K.current)return;K.current=null;let e=O.current?.getBoundingClientRect().width??0;e>0&&V(e,!0)},J=e=>{let t=O.current?.getBoundingClientRect().width??0;t<=0||V(t+e,!0)};return(0,n.jsxs)("div",{className:"flex h-full min-w-0 flex-col overflow-hidden bg-background text-foreground",children:[(0,n.jsxs)("header",{className:"flex h-12 shrink-0 items-center gap-3 border-b border-border px-5",children:[(0,n.jsx)("div",{className:"min-w-0 flex-1",children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(N.A,{className:"size-3.5 shrink-0 text-muted-foreground"}),(0,n.jsx)("span",{className:"min-w-0 truncate text-base font-semibold",children:e.title})]})}),T&&(0,n.jsxs)(tN,{size:"sm",variant:"outline",onClick:()=>{h?.(),i(e)},disabled:!S,children:[(0,n.jsx)(td.A,{className:"size-3.5"}),"開始"]}),"in_progress"===t&&(0,n.jsx)(n.Fragment,{children:(0,n.jsxs)(tN,{size:"sm",onClick:()=>{h?.(),c(e)},title:"標記完成後會清理 PTY 與 worktree",children:[(0,n.jsx)(w.A,{className:"size-3.5"}),"完成"]})}),"backlog"===t&&(0,n.jsx)(P,{"aria-label":"編輯任務",title:"編輯任務",onClick:()=>{h?.(),d(e.id)},children:(0,n.jsx)(m.A,{className:"size-4"})}),g?(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)("button",{type:"button",onClick:()=>b(!1),className:"rounded-md px-1.5 py-1 text-sm text-muted-foreground outline-none transition-colors motion-reduce:transition-none hover:bg-accent focus-visible:ring-[3px] focus-visible:ring-ring/50",children:"取消"}),(0,n.jsx)("button",{type:"button",onClick:()=>u(e.id),className:"rounded-md px-1.5 py-1 text-sm text-destructive outline-none transition-colors motion-reduce:transition-none hover:bg-destructive/15 focus-visible:ring-[3px] focus-visible:ring-ring/50",children:"確認刪除"})]}):(0,n.jsx)(P,{"aria-label":"刪除任務",title:"刪除任務(清理 worktree)",tone:"danger",onClick:()=>b(!0),children:(0,n.jsx)(x.A,{className:"size-4"})})]}),"backlog"===t?(0,n.jsx)("main",{className:"flex min-h-0 flex-1 flex-col overflow-hidden bg-card/40",children:(0,n.jsx)(t9,{title:tX.task,children:(0,n.jsx)(ss,{task:e,column:t,progress:s})})}):"done"===t?(0,n.jsx)("main",{className:"flex min-h-0 flex-1 flex-col overflow-hidden bg-card/40",children:(0,n.jsx)(t9,{heading:M,children:(0,n.jsx)("div",{role:"tabpanel",id:k,"aria-labelledby":C(L),className:"h-full",children:"task"===L?(0,n.jsx)(ss,{task:e,column:t,progress:s}):(0,n.jsx)(sn,{specs:I})})})}):(0,n.jsxs)("main",{ref:G,className:"grid min-h-0 flex-1 grid-rows-[minmax(18rem,1fr)_minmax(18rem,45%)] overflow-hidden lg:grid-cols-[minmax(20rem,1fr)_auto_minmax(21rem,min(var(--vf-workspace-aside,24rem),100%_-_20.625rem))] lg:grid-rows-1 xl:grid-cols-[minmax(0,1fr)_auto_minmax(21rem,min(var(--vf-workspace-aside,27rem),100%_-_20.625rem))]",children:[(0,n.jsx)("div",{className:"flex min-h-0 min-w-0 flex-col border-b border-border bg-muted/30 p-3 lg:border-b-0",children:(0,n.jsx)(tR,{taskId:e.id,cwd:S,launchCommand:D,launchNonce:B,provisionNotice:A,readOnly:!1,onReturnToBacklog:"in_progress"===t?()=>l(e):void 0,onLaunchAgent:"in_progress"===t?()=>o(e):void 0,onInteract:h})}),(0,n.jsx)("div",{role:"separator","aria-orientation":"vertical","aria-label":"調整終端機與側邊面板的寬度",tabIndex:0,onPointerDown:e=>{let t=O.current?.getBoundingClientRect().width??0;t<=0||(K.current={x:e.clientX,width:t},e.currentTarget.setPointerCapture(e.pointerId))},onPointerMove:e=>{let t=K.current;t&&V(t.width-(e.clientX-t.x),!1)},onPointerUp:H,onPointerCancel:H,onKeyDown:e=>{"ArrowLeft"===e.key?(e.preventDefault(),J(24)):"ArrowRight"===e.key&&(e.preventDefault(),J(-24))},className:"hidden w-2.5 shrink-0 cursor-col-resize items-center justify-center border-x border-border bg-card outline-none transition-colors motion-reduce:transition-none hover:bg-accent focus-visible:ring-[3px] focus-visible:ring-ring/50 lg:flex",children:(0,n.jsx)("span",{className:"h-12 w-0.5 rounded-full bg-input"})}),(0,n.jsx)("aside",{ref:O,className:"flex min-h-0 min-w-0 flex-col bg-card/40",children:(0,n.jsx)(t9,{heading:M,actions:"diff"===L?(0,n.jsx)(sc,{diff:$}):void 0,children:(0,n.jsx)("div",{role:"tabpanel",id:k,"aria-labelledby":C(L),className:"h-full",children:"task"===L?(0,n.jsx)(ss,{task:e,column:t,progress:s}):"spec"===L?(0,n.jsx)(sn,{specs:I}):"artifacts"===L?(0,n.jsx)(si,{taskId:e.id,artifacts:j,artifactsDir:z}):(0,n.jsx)(sd,{taskId:e.id,diff:$})})})})]})]})}var sm=s(93659),sx=s(9523);let sh="w-full rounded-md border bg-background px-3 py-2 text-base outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 transition-shadow motion-reduce:transition-none";var sf=s(81450);let sp=["low","medium","high","xhigh","max","ultra"],sg=["low","medium","high","xhigh"];function sb(e,t){return t?e?.find(e=>e.id===t):e?.find(e=>e.isDefault)}function sj(e,t){if(0===t.length)return;if(void 0===e||t.includes(e))return e;let s=sp.indexOf(e),n=sp.filter(e=>t.includes(e)),r=n.filter(e=>sp.indexOf(e)<=s);return r.length>0?r[r.length-1]:n[0]}let sv=[{value:"low",label:"快速",description:"適合範圍明確、低風險的小任務。"},{value:"medium",label:"標準",description:"兼顧速度與推理深度,適合一般開發任務。"},{value:"high",label:"深入",description:"適合跨檔案、除錯或需要較多判斷的任務。"},{value:"xhigh",label:"極致",description:"適合高複雜度、長鏈推理或高風險變更。"},{value:"max",label:"最大",description:"最深的推理,適合最困難的問題。"},{value:"ultra",label:"委派",description:"最深推理並自動委派子任務,耗時與用量可能明顯增加。"}],sN="medium";function sy({value:e,onChange:t,levels:s,disabled:r=!1}){let a=sv.filter(e=>s.includes(e.value));if(0===a.length)return(0,n.jsxs)("div",{className:"space-y-2.5 rounded-lg border border-border/50 p-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-base font-medium",children:[(0,n.jsx)(sf.A,{className:"size-4 text-muted-foreground"}),"任務複雜度"]}),(0,n.jsx)("span",{className:"rounded-full bg-muted px-2.5 py-1 text-sm font-medium text-muted-foreground",children:"不適用"})]}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"這個 model 不支援調整推理強度,啟動時不會指定任務複雜度。"})]});let i=sj(e,s)??a[0].value,l=Math.max(0,a.findIndex(e=>e.value===i)),o=a[l];return(0,n.jsxs)("div",{className:"space-y-2.5 rounded-lg border border-border/50 p-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-base font-medium",children:[(0,n.jsx)(sf.A,{className:"size-4 text-muted-foreground"}),"任務複雜度"]}),(0,n.jsxs)("span",{className:"rounded-full bg-primary/10 px-2.5 py-1 text-sm font-medium text-primary",children:[o.label," \xb7 ",o.value]})]}),(0,n.jsx)("input",{type:"range",name:"task-effort",min:0,max:a.length-1,step:1,value:l,disabled:r||1===a.length,"aria-label":"任務複雜度","aria-valuetext":`${o.label} (${o.value})`,onChange:e=>{let s=a[Number(e.target.value)];s&&t(s.value)},className:"h-2 w-full cursor-pointer accent-primary disabled:cursor-not-allowed disabled:opacity-50"}),(0,n.jsx)("div",{className:"grid text-center text-xs text-muted-foreground",style:{gridTemplateColumns:`repeat(${a.length}, minmax(0, 1fr))`},"aria-hidden":"true",children:a.map(e=>(0,n.jsx)("span",{children:e.label},e.value))}),(0,n.jsxs)("p",{className:"text-sm text-muted-foreground",children:[o.description," Claude Code 與 Codex 會在啟動此任務時套用;可選的級距依 model 而定。"]})]})}var sk=s(37614);function sw({value:e,onChange:t,disabled:s=!1}){return(0,n.jsxs)("div",{className:"space-y-2.5 rounded-lg border border-border/50 p-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-base font-medium",children:[(0,n.jsx)(sk.A,{className:"size-4 text-muted-foreground"}),"Auto Mode"]}),(0,n.jsx)("button",{type:"button",role:"switch","aria-checked":e,"aria-label":"Auto Mode",disabled:s,onClick:()=>t(!e),className:"rounded-full p-1 outline-none transition-opacity motion-reduce:transition-none focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50",children:(0,n.jsx)("span",{className:(0,E.cn)("relative inline-block h-4 w-7 shrink-0 rounded-full transition-colors motion-reduce:transition-none",e?"bg-primary":"bg-border"),children:(0,n.jsx)("span",{className:(0,E.cn)("absolute left-0 top-0.5 size-3 rounded-full bg-foreground ring-1 ring-border transition-transform motion-reduce:transform-none motion-reduce:transition-none",e?"translate-x-3.5":"translate-x-0.5")})})})]}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:e?"開啟:Agent 會直接修改檔案、執行指令,不會逐次向你確認。":"關閉:Agent 每次要動作前,都會在終端機裡等你允許。"})]})}var sC=s(28333);function sS(e){let t=e.split(/[/\\]/).filter(Boolean);return t[t.length-1]??e}function sA(e,t){return!!(t&&e.find(e=>e.path===t)?.missing)}function sz({projectPath:e,recentProjects:t,disabled:s,onSelect:a,onBrowse:i}){let l=e?sS(e):null,o=t.filter(t=>!(t.missing&&t.name===l&&t.path!==e));e&&!o.some(t=>t.path===e)&&o.unshift({path:e,name:l??e,lastUsedAt:0,missing:!1});let c=new Map;for(let e of o)c.set(e.name,(c.get(e.name)??0)+1);let d=sA(t,e),[m,x]=(0,r.useState)(""),h=()=>{let e=m.trim();e&&(a(e),x(""))};return(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)("select",{name:"project-folder","aria-label":"專案資料夾",value:e??"",onChange:e=>e.target.value&&a(e.target.value),disabled:s||0===o.length,className:(0,E.cn)(sh,"min-w-0 flex-1",d&&"border-destructive/60"),children:[(0,n.jsx)("option",{value:"",disabled:!0,children:o.length>0?"選擇使用過的專案…":"尚無使用過的專案,請點右側按鈕選取"}),o.map(e=>{let t,s;return(0,n.jsxs)("option",{value:e.path,title:e.path,children:[e.name,(c.get(e.name)??0)>1?` — ${(s=Math.max((t=e.path.replace(/[\\/]+$/,"")).lastIndexOf("/"),t.lastIndexOf("\\")))>0?t.slice(0,s):t}`:"",e.missing?"(路徑遺失)":""]},e.path)})]}),(0,n.jsx)(P,{"aria-label":"從資料夾選擇專案",title:"從資料夾選擇專案",onClick:i,disabled:s,tone:"primary",className:"rounded-md border border-border p-2",children:(0,n.jsx)(tm.A,{className:"size-4"})})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("input",{type:"text",name:"project-path","aria-label":"輸入專案資料夾路徑",placeholder:"或輸入資料夾的絕對路徑,按 Enter 套用",value:m,onChange:e=>x(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),h())},disabled:s,spellCheck:!1,className:(0,E.cn)(sh,"min-w-0 flex-1 font-mono text-sm")}),(0,n.jsx)(P,{"aria-label":"套用輸入的路徑",title:"套用輸入的路徑",onClick:h,disabled:s||""===m.trim(),className:"rounded-md border border-border p-2",children:(0,n.jsx)(sC.A,{className:"size-4"})})]}),e&&!d&&(0,n.jsx)("p",{className:"truncate text-sm text-muted-foreground",title:e,children:e}),d&&(0,n.jsxs)("p",{className:"flex items-start gap-2 rounded-md border border-destructive/40 bg-destructive/10 p-3 text-sm",children:[(0,n.jsx)(u.A,{className:"mt-0.5 size-3.5 shrink-0 text-destructive"}),(0,n.jsxs)("span",{children:["找不到 ",(0,n.jsx)("code",{className:"break-all text-foreground",children:e}),",專案可能已被移動或刪除。請點右側資料夾按鈕重新選取,之後選單會改用新的路徑。"]})]})]})}function sE({show:e,enabled:t,id:s,className:r,children:a}){let i=(0,c.I)()??!1;return e?t?(0,n.jsx)(d.PY1.div,{id:s,initial:"hidden",animate:"visible",variants:tL({timing:"standard",transform:{y:-4},reducedMotion:i}),className:r,children:a}):(0,n.jsx)("div",{id:s,className:r,children:a}):null}function s$({attachment:e,id:t,creating:s,animated:r,onRemove:a}){let i=(0,tT.tF)(),l=(0,c.I)()??!1,o=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(sm.A,{className:"size-3.5 shrink-0 text-primary"}),(0,n.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm",title:e.name,children:e.name}),(0,n.jsx)(P,{"aria-label":`移除附件 ${e.name}`,onClick:()=>a(t),disabled:s,className:"p-1",children:(0,n.jsx)(tg.A,{className:"size-3.5"})})]});return r?(0,n.jsx)(d.PY1.li,{initial:"hidden",animate:"visible",exit:"exit",variants:tM({timing:"micro",transform:{y:4},reducedMotion:l}),inert:!i,"aria-hidden":!i||void 0,className:(0,E.cn)("flex items-center gap-2 rounded-md border border-border/60 bg-muted/30 px-3 py-2",!i&&"pointer-events-none"),children:o}):(0,n.jsx)("li",{className:"flex items-center gap-2 rounded-md border border-border/60 bg-muted/30 px-3 py-2",children:o})}function sP(e){let[t,s]=(0,r.useState)(null);return(0,r.useEffect)(()=>{let t=!1;return eo(e).then(n=>{t||s({agentCli:e,models:n?.models??[]})}).catch(()=>{t||s({agentCli:e,models:[]})}),()=>{t=!0}},[e]),t?.agentCli===e?t.models:null}function sI(e,t,s,n,a){var i;let l=(i=sb(e,function(e){let t,s=e.model?.trim();if(!(!s||tU[(t=e.agentCli)&&t in tY?t:"claude"]?.includes(s)))return s}({agentCli:t,model:s})),i?.efforts??null??sg);return(0,r.useEffect)(()=>{if(null===e)return;let t=sj(n,l);t&&t!==n&&a(t)},[e,l,n,a]),l}let sR="__custom__";function sT({title:e,agents:t,detectTimedOut:s,onRetry:a,agentCli:i,onAgentChange:l,model:o,onModelChange:c,models:d}){let[u,m]=(0,r.useState)(!1);(0,r.useEffect)(()=>{m(!1)},[i]);let x=d??[],h=u?void 0:sb(x,o||void 0)?.description,f=!o||u||x.some(e=>e.id===o)?x:[{id:o,label:o},...x];return(0,n.jsxs)("div",{className:"space-y-3 rounded-lg border border-border/50 p-4",children:[(0,n.jsx)("p",{className:"text-sm font-semibold uppercase tracking-wide text-muted-foreground",children:e}),(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-sm font-medium text-muted-foreground",children:[(0,n.jsx)(tE.A,{className:"size-3"}),"Agent CLI"]}),null===t?s?(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)("p",{className:"text-sm text-destructive",children:"偵測逾時,請確認 Agent CLI 已安裝。"}),(0,n.jsx)("button",{type:"button",onClick:a,className:"rounded-sm text-sm text-primary underline outline-none hover:no-underline focus-visible:ring-[3px] focus-visible:ring-ring/50",children:"重新偵測"})]}):(0,n.jsxs)("p",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[(0,n.jsx)(y.A,{className:"size-3 animate-spin"}),"偵測中…"]}):0===t.length?(0,n.jsx)("p",{className:"rounded-md border border-destructive/40 bg-destructive/10 p-2 text-sm",children:"未偵測到 Agent CLI(claude / codex)。"}):(0,n.jsx)("select",{name:`${e.toLowerCase().replace(/\s+/g,"-")}-agent-cli`,value:i,onChange:e=>l(e.target.value),className:sh,children:t.map(e=>(0,n.jsx)("option",{value:e.id,children:e.name},e.id))})]}),(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsx)("span",{className:"text-sm font-medium text-muted-foreground",children:"Model"}),(0,n.jsxs)("select",{name:`${e.toLowerCase().replace(/\s+/g,"-")}-model`,value:u?sR:o,onChange:e=>{e.target.value===sR?m(!0):(m(!1),c(e.target.value))},className:sh,children:[(0,n.jsx)("option",{value:"",children:"自動選擇(Jev)"}),f.map(e=>(0,n.jsx)("option",{value:e.id,children:e.label},e.id)),(0,n.jsx)("option",{value:sR,children:"自訂…"})]}),null===d&&(0,n.jsxs)("p",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[(0,n.jsx)(y.A,{className:"size-3 animate-spin"}),"讀取 model list…"]}),h&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:h}),!o&&!u&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"只選 Agent CLI 時,Jev 會判斷是否先規劃並選擇執行模型。可到「設定」輸入 Jev API key;未設定或呼叫失敗時使用 CLI 預設模型。"}),u&&(0,n.jsx)("input",{name:`${e.toLowerCase().replace(/\s+/g,"-")}-custom-model`,value:o,onChange:e=>c(e.target.value.trim()),placeholder:"輸入完整 model id,例如 claude-opus-5-5",autoFocus:!0,className:sh})]})]})}function sD({creating:e,error:t,pickFolder:s,loadRecentProjects:a,loadGitInfo:i,initRepository:o,detectAgents:c,onSubmit:d,onClose:u,inline:m=!1,initialProjectPath:x,defaultAutoMode:h=!0,workstationPath:f}){let[p,g]=(0,r.useState)(1),[b,j]=(0,r.useState)(""),[v,C]=(0,r.useState)(""),[S,A]=(0,r.useState)(null),[z,$]=(0,r.useState)([]),[I,R]=(0,r.useState)(null),[T,D]=(0,r.useState)(!1),[B,_]=(0,r.useState)(!1),[F,L]=(0,r.useState)(""),[M,G]=(0,r.useState)(""),[O,K]=(0,r.useState)(null),[V,H]=(0,r.useState)(!1),[J,Y]=(0,r.useState)(0),[U,W]=(0,r.useState)(!1),[q,X]=(0,r.useState)("claude"),[Q,Z]=(0,r.useState)(""),[ee,et]=(0,r.useState)(sN),es=sP(q),en=sI(es,q,Q,ee,et),[er,ea]=(0,r.useState)(h),[ei,el]=(0,r.useState)([]),[eo,ec]=(0,r.useState)(null),[ed,eu]=(0,r.useState)(!1),[em,ex]=(0,r.useState)(!1),eh=(0,r.useId)(),ef=(0,r.useRef)(0),ep=(0,r.useRef)(null),eg=(0,r.useRef)(null);(0,r.useEffect)(()=>{let e=!0;H(!1),K(null);let t=setTimeout(()=>{e&&H(!0)},6e3);return c().then(s=>{e&&(clearTimeout(t),K(s),!s.some(e=>"claude"===e.id)&&s.length>0&&X(s[0].id))}),()=>{e=!1,clearTimeout(t)}},[c,J]),(0,r.useEffect)(()=>{2===p&&ep.current?.focus()},[p]),(0,r.useEffect)(()=>{m&&ep.current?.focus()},[]),(0,r.useEffect)(()=>{let e=!0;return a().then(t=>{e&&$(t)}),()=>{e=!1}},[a]);let eb=sA(z,S),ej=async e=>{A(e),R(null),L(""),D(!0);try{let t=await i(e);R(t),L(t?.defaultBase??"")}finally{D(!1)}},ev=async e=>{if(sA(z,e)){A(e),R(null),L("");return}await ej(e)},eN=async()=>{let e=await s();e&&($(t=>t.map(t=>t.path===e?{...t,missing:!1}:t)),await ej(e))},ey=async()=>{if(S){_(!0);try{let e=await o(S);R(e),L(e?.defaultBase??"")}finally{_(!1)}}};(0,r.useEffect)(()=>{m&&x&&ev(x)},[]);let ek=I?.isRepo??!1,ew=I?.hasRemote??!1,eC=`${f?.trim()||"~/Desktop"}/${S?sS(S):"<專案名>"}`,eS=!!S&&!eb&&ek&&!T&&!B,eA=b.trim().length>0&&!e&&!em&&(!m||eS),ez=()=>{eA&&S&&d(b.trim(),v.trim(),S,ew&&F||null,M.trim(),q,Q,ee,er,ei.map(({input:e})=>e))},eE=async e=>{ec(null),ex(!0);try{let t=(await tk(e)).map(e=>({id:ef.current++,input:e}));el(e=>[...e,...t])}catch(e){ec(e instanceof Error?e.message:String(e))}finally{ex(!1)}},e$=(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsx)("span",{className:"text-sm font-medium uppercase tracking-wide text-muted-foreground",children:"專案資料夾"}),(0,n.jsx)(sz,{projectPath:S,recentProjects:z,disabled:e||B||T,onSelect:e=>void ev(e),onBrowse:()=>void eN()})]}),(0,n.jsx)(sE,{show:T||B,enabled:m,children:(0,n.jsxs)("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,n.jsx)(y.A,{className:"size-3 animate-spin"}),B?"初始化 Git…":"偵測 Git 狀態中…"]})}),(0,n.jsx)(sE,{show:!!I&&!eb&&!T&&!B&&!ek,enabled:m,children:(0,n.jsxs)("div",{className:"space-y-2 rounded-md border border-destructive/40 bg-destructive/10 p-3",children:[(0,n.jsxs)("p",{className:"text-base",children:["這個資料夾不是 Git repository。請改選一個 Git 專案,或在這裡初始化:會執行",(0,n.jsx)("code",{className:"text-foreground",children:" git init "}),"並建立一個空的初始 commit。"]}),(0,n.jsx)(tN,{size:"sm",variant:"outline",onClick:()=>void ey(),disabled:e,className:"rounded-full",children:"初始化 Git"})]})}),(0,n.jsx)(sE,{show:ek&&ew,enabled:m,children:(0,n.jsxs)("label",{className:"block space-y-1.5",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-sm font-medium text-muted-foreground",children:[(0,n.jsx)(N.A,{className:"size-3"}),"基準分支 (Base Branch)"]}),(0,n.jsx)("select",{name:"base-branch",value:F,onChange:e=>L(e.target.value),className:sh,children:(I?.branches??[]).map(e=>(0,n.jsx)("option",{value:e,children:e},e))})]})}),(0,n.jsx)(sE,{show:ek&&!ew,enabled:m,children:(0,n.jsxs)("p",{className:"text-sm text-muted-foreground",children:["此 repository 沒有 remote,將以目前分支 (",I?.currentBranch??"HEAD",") 為基準建立本地 worktree。"]})}),(0,n.jsx)(sE,{show:ek,enabled:m,children:(0,n.jsxs)("label",{className:"block space-y-1.5",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-sm font-medium text-muted-foreground",children:[(0,n.jsx)(N.A,{className:"size-3"}),"分支名稱 (選填)"]}),(0,n.jsx)("input",{name:"branch",value:M,onChange:e=>G(e.target.value),placeholder:"留空則自動命名,例如 feature/login-fix",className:sh}),(0,n.jsx)("span",{className:"block text-sm text-muted-foreground",children:ew?"開始執行時會建立同名分支;若 remote 已有這個分支,則直接取回並接續上面的工作。":"開始執行時會建立同名分支。"})]})}),(0,n.jsx)(sE,{show:ek,enabled:m,children:(0,n.jsxs)("div",{className:"space-y-1.5 rounded-lg border border-border/50 bg-muted/20 p-4",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-sm font-medium",children:[(0,n.jsx)(sx.A,{className:"size-3.5 text-muted-foreground"}),"卡片開始執行時才會做這些事"]}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"建立卡片只會記下分支名稱,不會建立分支或推到 origin;放在 Backlog 期間都可以再編輯。"}),(0,n.jsxs)("ul",{className:"list-disc space-y-1 pl-5 text-sm text-muted-foreground",children:[(0,n.jsxs)("li",{children:[ew?"從當下最新的 origin 基準分支":"從基準分支",",在"," ",(0,n.jsx)("code",{className:"text-foreground",children:eC})," ","底下建立這張卡專用的 worktree 與分支,你的專案資料夾本身不會被切換。"]}),ew&&(0,n.jsx)("li",{children:"把新分支 push 到 origin;遠端會多出一條分支,有 CI 的話可能被觸發。"}),(0,n.jsxs)("li",{children:["把被 git 忽略的檔案(例如 ",(0,n.jsx)("code",{className:"text-foreground",children:".env"}),")複製一份進 worktree,相依套件資料夾則在背景複製,好讓新 worktree 能直接跑起來。"]}),(0,n.jsxs)("li",{children:["把 VibeFlow 的執行期檔案寫進"," ",(0,n.jsx)("code",{className:"text-foreground",children:".git/info/exclude"}),",不會動到專案的 .gitignore。"]})]})]})})]}),eP=(0,n.jsxs)("div",{className:"rounded-lg border border-border/50",children:[(0,n.jsxs)("button",{type:"button","aria-expanded":U,"aria-controls":eh,onClick:()=>W(e=>!e),className:"flex w-full items-center justify-between px-4 py-3 text-left text-base font-medium transition-colors motion-reduce:transition-none outline-none hover:bg-accent/40 focus-visible:ring-[3px] focus-visible:ring-ring/50",children:[(0,n.jsx)("span",{children:"Advanced"}),(0,n.jsx)(k.A,{className:(0,E.cn)("size-4 text-muted-foreground transition-transform motion-reduce:transform-none motion-reduce:transition-none",U&&"rotate-180")})]}),(0,n.jsx)(sE,{show:U,enabled:m,id:eh,className:"space-y-4 border-t border-border/50 p-4",children:(0,n.jsx)(sT,{title:"Agent",agents:O,detectTimedOut:V,onRetry:()=>Y(e=>e+1),agentCli:q,onAgentChange:e=>{X(e),Z("")},model:Q,onModelChange:Z,models:es})})]}),eI=(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)("span",{className:"text-base font-medium",children:"附件(選填)"}),(0,n.jsxs)("button",{type:"button",disabled:e||em,onClick:()=>eg.current?.click(),onDragEnter:t=>{t.preventDefault(),e||em||eu(!0)},onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect="copy"},onDragLeave:()=>eu(!1),onDrop:t=>{t.preventDefault(),eu(!1),e||em||!(t.dataTransfer.files.length>0)||eE(t.dataTransfer.files)},className:(0,E.cn)("flex w-full flex-col items-center gap-2 rounded-lg border-2 border-dashed border-border py-5 text-muted-foreground outline-none transition-colors motion-reduce:transition-none hover:border-primary/50 hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50",ed&&"border-primary/70 bg-primary/5 text-foreground"),children:[(0,n.jsx)(sm.A,{className:"size-5"}),(0,n.jsx)("span",{className:"text-sm",children:"拖放檔案到這裡,或點擊選擇檔案"})]}),(0,n.jsx)("input",{ref:eg,type:"file",multiple:!0,disabled:e||em,className:"hidden",onChange:e=>{e.target.files&&eE(e.target.files),e.target.value=""}}),em&&(0,n.jsxs)("p",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[(0,n.jsx)(y.A,{className:"size-3 animate-spin"}),"讀取附件中…"]}),(0,n.jsx)("ul",{className:"space-y-1.5",children:(0,n.jsx)(l.N,{initial:!1,children:ei.map(({id:t,input:s})=>(0,n.jsx)(s$,{attachment:s,id:t,creating:e,animated:m,onRemove:e=>el(t=>t.filter(t=>t.id!==e))},t))})}),eo&&(0,n.jsx)("p",{className:"text-sm text-destructive",children:eo})]});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold tracking-tight",children:"新增任務"}),u&&(0,n.jsx)(P,{"aria-label":"關閉新增任務",onClick:u,disabled:e,className:"p-1",children:(0,n.jsx)(tg.A,{className:"size-4"})})]}),!m&&(0,n.jsxs)("div",{className:"mb-5 flex items-center gap-2",children:[(0,n.jsx)("div",{className:(0,E.cn)("flex size-7 shrink-0 items-center justify-center rounded-full text-sm font-bold transition-colors",1===p?"bg-primary text-primary-foreground":"bg-primary/20 text-primary"),children:p>1?(0,n.jsx)(w.A,{className:"size-3.5",strokeWidth:3}):"1"}),(0,n.jsx)("span",{className:(0,E.cn)("text-base tracking-[-0.224px]",1===p?"font-medium text-foreground":"text-muted-foreground"),children:"專案設定"}),(0,n.jsx)("div",{className:(0,E.cn)("h-0.5 flex-1 transition-colors",p>1?"bg-primary/60":"bg-border")}),(0,n.jsx)("div",{className:(0,E.cn)("flex size-7 shrink-0 items-center justify-center rounded-full text-sm font-bold transition-colors",2===p?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground"),children:"2"}),(0,n.jsx)("span",{className:(0,E.cn)("text-base tracking-[-0.224px]",2===p?"font-medium text-foreground":"text-muted-foreground"),children:"任務內容"})]}),m&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("label",{className:"mb-5 block space-y-1.5",children:[(0,n.jsx)("span",{className:"text-base font-medium",children:"任務標題"}),(0,n.jsx)("input",{ref:ep,name:"task-title",autoComplete:"off",value:b,onChange:e=>j(e.target.value),placeholder:"例如:實作登入頁面",className:(0,E.cn)(sh,"text-lg")})]}),(0,n.jsxs)("div",{className:"grid grid-cols-1 gap-5 xl:grid-cols-2",children:[(0,n.jsxs)("div",{className:"space-y-4",children:[e$,eI]}),(0,n.jsxs)("div",{className:"flex h-full flex-col gap-4",children:[(0,n.jsxs)("label",{className:"flex min-h-0 flex-1 flex-col gap-1.5",children:[(0,n.jsx)("span",{className:"text-base font-medium",children:"詳細描述(選填)"}),(0,n.jsx)("textarea",{name:"task-description",autoComplete:"off",value:v,onChange:e=>C(e.target.value),rows:12,placeholder:"描述這個任務的目標、需求或背景脈絡…",className:(0,E.cn)(sh,"mb-2 min-h-64 flex-1 resize-y")})]}),(0,n.jsx)(sy,{value:ee,onChange:et,levels:en,disabled:e}),(0,n.jsx)(sw,{value:er,onChange:ea,disabled:e}),t&&(0,n.jsx)("p",{className:"rounded-md border border-destructive/40 bg-destructive/10 p-3 text-base",children:t})]})]}),(0,n.jsx)("div",{className:"mt-5",children:eP})]}),!m&&(0,n.jsxs)("div",{children:[1===p&&(0,n.jsx)("div",{className:"space-y-4",children:e$}),2===p&&(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("label",{className:"block space-y-1.5",children:[(0,n.jsx)("span",{className:"text-base font-medium",children:"任務標題"}),(0,n.jsx)("input",{ref:ep,name:"task-title",autoComplete:"off",value:b,onChange:e=>j(e.target.value),placeholder:"例如:實作登入頁面",className:sh})]}),(0,n.jsxs)("label",{className:"block space-y-1.5",children:[(0,n.jsx)("span",{className:"text-base font-medium",children:"詳細描述(選填)"}),(0,n.jsx)("textarea",{value:v,name:"task-description",autoComplete:"off",onChange:e=>C(e.target.value),rows:4,placeholder:"描述這個任務的目標、需求或背景脈絡…",className:(0,E.cn)(sh,"resize-y")})]}),(0,n.jsx)(sy,{value:ee,onChange:et,levels:en,disabled:e}),(0,n.jsx)(sw,{value:er,onChange:ea,disabled:e}),eI,eP,t&&(0,n.jsx)("p",{className:"rounded-md border border-destructive/40 bg-destructive/10 p-3 text-base",children:t})]})]}),m?(0,n.jsxs)("div",{className:"mt-6 space-y-2 pb-10",children:[!eS&&b.trim().length>0&&(0,n.jsx)("p",{className:"text-right text-sm text-muted-foreground",children:"請先在左側選擇專案資料夾"}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[u&&(0,n.jsx)(tN,{variant:"ghost",size:"sm",onClick:u,disabled:e,className:"rounded-full",children:"取消"}),(0,n.jsxs)(tN,{size:"sm",onClick:ez,disabled:!eA,className:(0,E.cn)("rounded-full px-5 active:scale-95 transition-transform motion-reduce:transform-none motion-reduce:transition-none",e&&"opacity-80"),children:[e&&(0,n.jsx)(y.A,{className:"animate-spin"}),e?"建立任務中…":"建立任務"]})]})]}):1===p?(0,n.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[u&&(0,n.jsx)(tN,{variant:"ghost",size:"sm",onClick:u,disabled:e,className:"rounded-full",children:"取消"}),(0,n.jsx)(tN,{size:"sm",onClick:()=>g(2),disabled:!eS,className:"rounded-full px-5",children:"下一步 →"})]}):(0,n.jsxs)("div",{className:"mt-5 flex items-center justify-between",children:[(0,n.jsx)(tN,{variant:"ghost",size:"sm",onClick:()=>g(1),disabled:e,className:"rounded-full",children:"← 上一步"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[u&&(0,n.jsx)(tN,{variant:"ghost",size:"sm",onClick:u,disabled:e,className:"rounded-full",children:"取消"}),(0,n.jsxs)(tN,{size:"sm",onClick:ez,disabled:!eA,className:(0,E.cn)("rounded-full px-5 active:scale-95 transition-transform motion-reduce:transform-none motion-reduce:transition-none",e&&"opacity-80"),children:[e&&(0,n.jsx)(y.A,{className:"animate-spin"}),e?"建立任務中…":"建立任務"]})]})]})]})}let sB="vibeflow:board-split-px";function s_(){let e=Number(window.localStorage.getItem(sB));return Number.isFinite(e)&&e>=180?e:null}function sF({active:e,children:t}){let s=(0,o.E)(),a=(0,c.I)()??!1,i=tL({timing:"standard",initialOpacity:.96,transform:{x:4},reducedMotion:a});return(0,r.useEffect)(()=>{s.stop(),s.set("hidden"),e&&s.start("visible")},[e,s,a]),(0,n.jsx)(d.PY1.div,{initial:"hidden",animate:s,variants:i,inert:!e,"aria-hidden":!e||void 0,className:(0,E.cn)("h-full",!e&&"hidden pointer-events-none"),children:t})}function sL({board:e,onBoardChange:t,onEditTask:s,onTaskDone:a,onDeleteTask:i,onOpenTaskTerminal:o,taskTerminals:m,onShowTaskTerminal:x,autoMode:h,workstationPath:f,progress:p,selectedTaskId:g,onSelectTask:b,onNewTask:j,tabBar:v,onTaskInteract:N,openTabIds:y,initialProjectPath:k,newTaskNonce:w,view:C,onViewChange:S,githubView:A,taskLinks:z,creating:$,createError:P,pickFolder:I,loadRecentProjects:R,loadGitInfo:T,initRepository:D,detectAgents:B,onCreateTask:_}){let[F,L]=(0,r.useState)(new Set),[M,G]=(0,r.useState)({}),O=(0,r.useRef)(M);O.current=M;let K=tL({timing:"standard",initialOpacity:.96,transform:{x:4},reducedMotion:(0,c.I)()??!1}),V=e=>L(t=>t.has(e)?t:new Set(t).add(e)),[H,J]=(0,r.useState)(null),[Y,U]=(0,r.useState)(null),W=async(e,t={})=>{V(e.id),G(s=>({...s,[e.id]:{launch:t,nonce:(s[e.id]?.nonce??0)+1}}))};(0,r.useEffect)(()=>{if(!g||(V(g),M[g]))return;let t=e.in_progress.find(e=>e.id===g);if(!t||null==t.launchedAt||!t.worktreePath)return;let s=!1;return eL(t.id).then(e=>{s||!e||O.current[t.id]||W(t,{resume:!0})}),()=>{s=!0}},[g]);let q=s=>{let n={...s,launchedAt:Date.now()};t({backlog:e.backlog.filter(e=>e.id!==s.id),in_progress:[n,...e.in_progress],done:e.done}),W(n)},X=e=>new Promise((t,s)=>{U({task:e,settle:n=>{(U(null),n)?Q(e).then(()=>t(!0),s):t(!1)}})}),Q=async e=>{let s=await eu(e.id);if(!s)throw Error("未連線到 VibeFlow core");let n=s.state.board;t({backlog:[s.task,...n.backlog.filter(t=>t.id!==e.id)],in_progress:n.in_progress.filter(t=>t.id!==e.id),done:n.done.filter(t=>t.id!==e.id)})},Z=async e=>{await W(e,{includeTaskPrompt:!1})},ee=e=>J(e),et=(0,r.useRef)(null),es=(0,r.useRef)(null),[en,er]=(0,r.useState)(s_);(0,r.useLayoutEffect)(()=>{if(null!==en)return;let e=et.current?.clientHeight??0;e>0&&er(Math.max(180,e-260))},[en]);let ea=e=>{let t=et.current?.clientHeight??0;return Math.max(180,Math.min(e,Math.max(180,t>0?t-260:e)))},ei=()=>{es.current&&null!==en&&(es.current=null,window.localStorage.setItem(sB,String(en)))},el=e=>{if(null===en)return;let t=ea(en+e);er(t),window.localStorage.setItem(sB,String(t))};return(0,n.jsxs)("div",{ref:et,className:"flex h-full flex-col overflow-hidden bg-background text-foreground",children:[(0,n.jsx)("div",{style:"github"===C||null===en?void 0:{height:en},className:(0,E.cn)("min-h-0 overflow-hidden border-b border-border","github"===C||null===en?"flex-1":"shrink-0"),children:"github"===C?A:(0,n.jsx)(tn,{board:e,progress:p,selectedTaskId:g??null,onSelectTask:b,onEditTask:s,onDeleteTask:i,onOpenTaskTerminal:o,taskTerminals:m,onShowTaskTerminal:x,onNewTask:j,view:C,onViewChange:S,taskLinks:z})}),(0,n.jsx)("div",{role:"separator","aria-orientation":"horizontal","aria-label":"調整看板與工作區的高度",tabIndex:0,onPointerDown:e=>{null!==en&&(es.current={y:e.clientY,height:en},e.currentTarget.setPointerCapture(e.pointerId))},onPointerMove:e=>{let t=es.current;t&&er(ea(t.height+(e.clientY-t.y)))},onPointerUp:ei,onPointerCancel:ei,onKeyDown:e=>{"ArrowUp"===e.key?(e.preventDefault(),el(-24)):"ArrowDown"===e.key&&(e.preventDefault(),el(24))},className:(0,E.cn)("flex h-2.5 shrink-0 cursor-row-resize items-center justify-center border-y border-border bg-card outline-none transition-colors motion-reduce:transition-none hover:bg-accent focus-visible:ring-[3px] focus-visible:ring-ring/50","github"===C&&"hidden"),children:(0,n.jsx)("span",{className:"h-0.5 w-12 rounded-full bg-input"})}),(0,n.jsxs)("div",{className:(0,E.cn)("flex min-h-0 flex-1 flex-col overflow-hidden","github"===C&&"hidden"),children:[v,(0,n.jsx)("main",{className:"min-h-0 flex-1",children:(()=>{let t=[...e.in_progress.map(e=>({task:e,column:"in_progress"})),...e.backlog.map(e=>({task:e,column:"backlog"})),...e.done.map(e=>({task:e,column:"done"}))],r=g?t.find(({task:e})=>e.id===g):null,a=new Set(y),l=new Set;for(let e of F){let s=t.find(({task:t})=>t.id===e);s&&(a.has(e)||"in_progress"===s.column)&&l.add(e)}return r&&l.add(r.task.id),(0,n.jsxs)(n.Fragment,{children:[Array.from(l).map(e=>{let r=t.find(({task:t})=>t.id===e);if(!r)return null;let a=e===g;return(0,n.jsx)(sF,{active:a,children:(0,n.jsx)(su,{task:r.task,column:r.column,progress:p[r.task.id]??null,launch:M[e],onStart:q,onReturnToBacklog:X,onLaunchAgent:Z,onComplete:ee,onEdit:s,onDelete:i,onInteract:N?()=>N(e):void 0})},e)}),!r&&(0,n.jsx)(d.PY1.div,{initial:"hidden",animate:"visible",variants:K,className:"flex h-full overflow-y-auto p-8",children:(0,n.jsx)("div",{className:"mx-auto w-full max-w-5xl pb-8",children:(0,n.jsx)(sD,{inline:!0,initialProjectPath:k,creating:$,error:P,pickFolder:I,loadRecentProjects:R,loadGitInfo:T,initRepository:D,detectAgents:B,defaultAutoMode:h,workstationPath:f,onSubmit:_},`${k??"new"}:${w}`)})})]})})()})]}),(0,n.jsx)(l.N,{children:H&&(0,n.jsx)(tG,{title:"完成任務",onClose:()=>J(null),contentClassName:"max-w-md rounded-lg p-5",children:(0,n.jsxs)("div",{className:"space-y-5",children:[(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)("span",{className:"mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-full bg-destructive/15 text-destructive",children:(0,n.jsx)(u.A,{className:"size-5"})}),(0,n.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,n.jsxs)("h2",{className:"text-lg font-semibold tracking-tight",children:["完成「",H.title,"」?"]}),(0,n.jsxs)("p",{className:"text-base leading-6 text-muted-foreground",children:["這會刪除這張卡的 worktree(尚未 commit 的變更會一起消失)、本地分支",H.branch?`「${H.branch}」`:"","與 artifacts, 並把專案切回",H.baseBranch?`「${H.baseBranch}」`:"基準分支","後更新。此操作無法復原,請先確認要保留的變更都已經 commit 或 push。"]})]})]}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)(tN,{variant:"ghost",size:"sm",className:"rounded-full",onClick:()=>J(null),children:"取消"}),(0,n.jsx)(tN,{variant:"destructive",size:"sm",className:"rounded-full active:scale-95 motion-reduce:transform-none",onClick:()=>{var s;let n;H&&(J(null),s="done",(n={backlog:e.backlog.filter(e=>e.id!==H.id),in_progress:e.in_progress.filter(e=>e.id!==H.id),done:e.done.filter(e=>e.id!==H.id)})[s]=[H,...n[s]],t(n),a(H.id))},children:"完成並清理"})]})]})},"confirm-done-dialog")}),(0,n.jsx)(l.N,{children:Y&&(0,n.jsx)(tG,{title:"退回 Backlog",onClose:()=>Y.settle(!1),contentClassName:"max-w-md rounded-lg p-5",children:(0,n.jsxs)("div",{className:"space-y-5",children:[(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)("span",{className:"mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-full bg-destructive/15 text-destructive",children:(0,n.jsx)(u.A,{className:"size-5"})}),(0,n.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,n.jsxs)("h2",{className:"text-lg font-semibold tracking-tight",children:["把「",Y.task.title,"」退回 Backlog?"]}),(0,n.jsxs)("p",{className:"text-base leading-6 text-muted-foreground",children:["這會停止 Agent,並把 worktree 還原到",Y.task.baseBranch?`「${Y.task.baseBranch}」`:"基準分支","——這張卡在本地的 commit 與未 commit 變更都會消失,artifacts 也會一併刪除。遠端分支不會被改動。此操作無法復原。"]})]})]}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)(tN,{variant:"ghost",size:"sm",className:"rounded-full",onClick:()=>Y.settle(!1),children:"取消"}),(0,n.jsx)(tN,{variant:"destructive",size:"sm",className:"rounded-full active:scale-95 motion-reduce:transform-none",onClick:()=>Y.settle(!0),children:"清除並退回"})]})]})},"confirm-return-dialog")})]})}function sM({sessionKey:e,projectPath:t,displayPath:a,taskId:i}){let l=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let n,r,a,o,c=!1,d=null,u=!1;return(async()=>{let[{Terminal:m},{FitAddon:x},{WebLinksAddon:h}]=await Promise.all([s.e(3779).then(s.bind(s,15167)),s.e(5695).then(s.bind(s,95695)),s.e(4847).then(s.bind(s,54847))]);if(c||!l.current)return;let f=new m({fontSize:12,fontFamily:'Menlo, Monaco, "Courier New", monospace',cursorBlink:!0,theme:{background:"#191919",foreground:"#e6e6e6",cursor:"#4c9bf5"},linkHandler:{activate:(e,t)=>tC(t),hover:(e,t)=>tS(f,t),leave:()=>tA(f)}});d=f;let p=new x;f.loadAddon(p),f.loadAddon(new h((e,t)=>tC(t),{hover:(e,t)=>tS(f,t),leave:()=>tA(f)})),f.open(l.current);let g=()=>{if(!l.current||0===l.current.clientWidth||0===l.current.clientHeight)return;p.fit();let e=f.element?.querySelector(".xterm-screen"),t=f.element?.querySelector(".xterm-viewport");if(e&&t){let s=tw(f.cols,e.getBoundingClientRect().width,t.clientWidth);s!==f.cols&&f.resize(s,f.rows)}};if(await document.fonts.ready,await new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(e))),c)return;g();let b=window.vibeflow;if(!b)return f.writeln("⚠️ 未連線到 VibeFlow core,無法開啟終端。");n=b.term.onData(({sessionKey:t,data:s})=>{t===e&&f.write(s)}),r=b.term.onExit(({sessionKey:t,exitCode:s,intentional:n})=>{t!==e||n||f.writeln(`\r
|
|
8
|
-
ℹ️ 終端已結束(exit code: ${s})`)});try{let s=await eD({sessionKey:e,...i?{taskId:i}:{projectPath:t},cols:f.cols,rows:f.rows});if(!s)throw Error("未連線到 VibeFlow core");if(u=!0,c)return void e_(e);s.scrollback&&f.write(s.scrollback),f.onData(t=>eB(e,t)),f.focus()}catch(e){c||f.writeln(`⚠️ 無法開啟終端:${e instanceof Error?e.message:String(e)}`)}a=new ResizeObserver(()=>{clearTimeout(o),o=setTimeout(()=>{var t,s;if(c)return;let n=f.cols,r=f.rows;g(),(n!==f.cols||r!==f.rows)&&(t=f.cols,s=f.rows,T()?.term.resize(e,t,s))},100)}),l.current&&a.observe(l.current)})(),()=>{c=!0,n?.(),r?.(),a?.disconnect(),clearTimeout(o),u&&e_(e),d?.dispose()}},[e,t,i]),(0,n.jsx)("div",{ref:l,className:"min-h-0 min-w-0 flex-1 overflow-hidden p-2","aria-label":`終端機:${a??t}`})}function sG({view:e,onViewChange:t,terminals:s,taskWorktreePaths:a,focusedSessionKey:i,recentProjects:l,onCreate:o,onRename:c,onClose:d,onBrowse:u}){let[m,x]=(0,r.useState)(!1),[h,f]=(0,r.useState)(null),p=(0,r.useRef)(new Map);return(0,r.useEffect)(()=>{if("terminals"!==e||!i)return;let t=p.current.get(i);t?.scrollIntoView({block:"center"}),t?.focus({preventScroll:!0})},[i,e]),(0,n.jsxs)("div",{className:"flex h-full min-h-0 flex-col bg-background",children:[(0,n.jsxs)("div",{className:"flex h-12 shrink-0 items-center justify-between gap-3 border-b border-border px-5",children:[(0,n.jsx)(R,{value:e,onChange:t}),(0,n.jsxs)(tN,{size:"sm","aria-label":"新增 Terminal",onClick:()=>x(!0),children:[(0,n.jsx)(C.A,{className:"size-4"}),(0,n.jsx)("span",{className:"hidden sm:inline",children:"新增 Terminal"})]})]}),0===s.length?(0,n.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 text-center text-muted-foreground",children:[(0,n.jsx)("p",{children:"尚未開啟 Terminal"}),(0,n.jsx)("p",{className:"text-sm",children:"選擇專案或資料夾,即可在該目錄開啟獨立終端機。"})]}):(0,n.jsx)("div",{className:"grid min-h-0 flex-1 grid-cols-1 auto-rows-[minmax(320px,1fr)] gap-4 overflow-y-auto p-4 lg:grid-cols-2",children:s.map(e=>{let t=e.taskId?a[e.taskId]??e.projectPath:e.projectPath;return(0,n.jsxs)("section",{ref:t=>{t?p.current.set(e.sessionKey,t):p.current.delete(e.sessionKey)},tabIndex:-1,"aria-label":`Terminal:${e.title}`,className:(0,E.cn)("flex min-h-[320px] min-w-0 flex-col overflow-hidden rounded-md border bg-card outline-none",i===e.sessionKey?"border-primary ring-2 ring-primary/30":"border-border"),children:[(0,n.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-3 py-2",children:[(0,n.jsx)("input",{"aria-label":`編輯 Terminal 標題:${e.title}`,title:"點擊編輯標題",value:e.title,onChange:t=>c(e.sessionKey,t.target.value),onBlur:()=>{e.title.trim()||c(e.sessionKey,sS(e.projectPath))},className:"min-w-0 flex-1 rounded-sm bg-transparent px-1 text-sm font-medium outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50"}),(0,n.jsx)(P,{"aria-label":`關閉 Terminal:${e.title}`,title:"關閉並釋放 Terminal",onClick:()=>d(e.sessionKey),className:"size-7 shrink-0",children:(0,n.jsx)(tg.A,{className:"size-4"})})]}),(0,n.jsx)("div",{className:"truncate border-b border-border px-3 py-1 font-mono text-xs text-muted-foreground",title:t,children:t}),(0,n.jsx)(sM,{sessionKey:e.sessionKey,projectPath:e.projectPath,displayPath:t,taskId:e.taskId})]},e.sessionKey)})}),m&&(0,n.jsx)(tG,{title:"新增 Terminal",onClose:()=>x(!1),contentClassName:"max-w-lg rounded-lg p-5",children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:"選擇專案或資料夾"}),(0,n.jsx)(sz,{projectPath:h,recentProjects:l,disabled:!1,onSelect:f,onBrowse:()=>{u().then(e=>{e&&f(e)})}}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)(tN,{variant:"ghost",size:"sm",onClick:()=>x(!1),children:"取消"}),(0,n.jsx)(tN,{size:"sm",disabled:!h||sA(l,h),onClick:()=>{h&&(o(h),f(null),x(!1))},children:"開啟 Terminal"})]})]})})]})}function sO({task:e,detectAgents:t,pickFolder:s,loadRecentProjects:a,loadGitInfo:i,saving:o,error:c,defaultAutoMode:d=!0,onSubmit:u,onClose:m}){let[x,h]=(0,r.useState)(""),[f,p]=(0,r.useState)(""),[g,b]=(0,r.useState)("claude"),[j,v]=(0,r.useState)(""),[w,C]=(0,r.useState)(sN),S=sP(g),A=sI(S,g,j,w,C),[z,$]=(0,r.useState)(!0),[P,I]=(0,r.useState)(null),[R,T]=(0,r.useState)(""),[D,B]=(0,r.useState)(""),[_,F]=(0,r.useState)(null),[L,M]=(0,r.useState)(!1),[G,O]=(0,r.useState)(!1),[K,V]=(0,r.useState)([]),[H,J]=(0,r.useState)(null),[Y,U]=(0,r.useState)(!1),[W,q]=(0,r.useState)(0),[X,Q]=(0,r.useState)(!0),[Z,ee]=(0,r.useState)(!1),et=(0,r.useRef)(null),es=e??et.current;if((0,r.useEffect)(()=>{e&&(et.current=e)},[e]),(0,r.useEffect)(()=>{e&&(h(e.title),p(e.description??""),b(e.agentCli??"claude"),v(e.model??""),C(e.effort??sN),$(e.autoMode??d),I(e.projectPath??null),T(e.baseBranch??""),B(e.branch),F(null),M(!1),O(!1),ee(!1))},[e,d]),(0,r.useEffect)(()=>{if(!e)return;let t=!0;return a().then(e=>{t&&V(e)}),()=>{t=!1}},[e,a]),(0,r.useEffect)(()=>{if(!e?.projectPath)return;let t=!0;return M(!0),i(e.projectPath).then(e=>{t&&F(e)}).finally(()=>{t&&M(!1)}),()=>{t=!1}},[e,i]),(0,r.useEffect)(()=>{if(!e)return;let s=!0;U(!1),J(null);let n=setTimeout(()=>{s&&U(!0)},6e3);return t().then(e=>{s&&(clearTimeout(n),J(e))}),()=>{s=!1,clearTimeout(n)}},[e,t,W]),!es)return null;let en=!!es.worktreePath,er=x!==es.title||f!==(es.description??"")||g!==(es.agentCli??"claude")||j!==(es.model??"")||w!==(es.effort??sN)||z!==(es.autoMode??d)||G||R!==(es.baseBranch??"")||D.trim()!==es.branch,ea=()=>{o||(er?ee(!0):m())},ei=sA(K,P),el=async(e,t=!1)=>{if(I(e),O(e!==es.projectPath),F(null),!(!t&&sA(K,e))){M(!0);try{let t=await i(e);F(t),T(t?.defaultBase??"")}finally{M(!1)}}},eo=async()=>{let e=await s();e&&(V(t=>t.map(t=>t.path===e?{...t,missing:!1}:t)),await el(e,!0))},ec=_?.isRepo??!0,ed=_?.hasRemote??!1,eu=G||R!==(es.baseBranch??"")||""!==D.trim()&&D.trim()!==es.branch,em=x.trim().length>0&&!o&&!L&&(!G||ec&&!ei);return(0,n.jsx)(l.N,{children:e&&(0,n.jsxs)(tG,{title:"編輯任務",description:"更新任務內容與 agent 設定。",saving:o,onClose:ea,showHeader:!0,contentClassName:"max-w-2xl",footer:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(tN,{variant:"ghost",size:"sm",onClick:ea,disabled:o,children:"取消"}),(0,n.jsxs)(tN,{size:"sm",onClick:()=>{em&&u({title:x.trim(),description:f.trim(),agentCli:g,model:j,effort:w,autoMode:z,...P?{projectPath:P,baseBranch:R||null}:{},branch:D.trim()})},disabled:!em,className:(0,E.cn)(o&&"opacity-80"),children:[o&&(0,n.jsx)(y.A,{className:"animate-spin"}),o?"儲存中…":"儲存變更"]})]})]}),children:[Z&&(0,n.jsxs)("div",{className:"mb-4 flex items-center justify-between rounded-md border border-warning/40 bg-warning/10 px-3 py-2 text-base",children:[(0,n.jsx)("span",{className:"text-warning",children:"有未儲存的變更,確定要離開?"}),(0,n.jsxs)("div",{className:"flex gap-1.5",children:[(0,n.jsx)("button",{type:"button",onClick:()=>ee(!1),className:"rounded-md px-2 py-0.5 text-sm text-muted-foreground outline-none transition-colors motion-reduce:transition-none hover:bg-accent focus-visible:ring-[3px] focus-visible:ring-ring/50",children:"繼續編輯"}),(0,n.jsx)("button",{type:"button",onClick:m,className:"rounded-md px-2 py-0.5 text-sm text-destructive outline-none transition-colors motion-reduce:transition-none hover:bg-destructive/15 focus-visible:ring-[3px] focus-visible:ring-ring/50",children:"放棄離開"})]})]}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("label",{className:"block space-y-1.5",children:[(0,n.jsx)("span",{className:"text-base font-medium",children:"任務標題"}),(0,n.jsx)("input",{autoFocus:!0,name:"edit-task-title",autoComplete:"off",value:x,onChange:e=>h(e.target.value),placeholder:"例如:實作登入頁面",className:sh})]}),(0,n.jsxs)("label",{className:"block space-y-1.5",children:[(0,n.jsx)("span",{className:"text-base font-medium",children:"詳細描述(選填)"}),(0,n.jsx)("textarea",{name:"edit-task-description",autoComplete:"off",value:f,onChange:e=>p(e.target.value),rows:4,placeholder:"描述這個任務的目標、需求或背景脈絡…",className:(0,E.cn)(sh,"resize-y")})]}),(0,n.jsx)(sy,{value:w,onChange:C,levels:A,disabled:o}),(0,n.jsx)(sw,{value:z,onChange:$,disabled:o}),(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-sm font-medium uppercase tracking-wide text-muted-foreground",children:[(0,n.jsx)(tm.A,{className:"size-3"}),"專案資料夾"]}),(0,n.jsx)(sz,{projectPath:P,recentProjects:K,disabled:o||L,onSelect:e=>void el(e),onBrowse:()=>void eo()}),L&&(0,n.jsxs)("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,n.jsx)(y.A,{className:"size-3 animate-spin"}),"偵測 Git 狀態中…"]}),G&&!ei&&!L&&!ec&&(0,n.jsx)("p",{className:"rounded-md border border-destructive/40 bg-destructive/10 p-2 text-sm",children:"這個資料夾不是 Git repository,請改選一個 Git 專案。"})]}),ec&&ed&&(0,n.jsxs)("label",{className:"block space-y-1.5",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-sm font-medium text-muted-foreground",children:[(0,n.jsx)(N.A,{className:"size-3"}),"基準分支 (Base Branch)"]}),(0,n.jsxs)("select",{name:"edit-base-branch",value:R,onChange:e=>T(e.target.value),disabled:o||L,className:sh,children:[R&&!(_?.branches??[]).includes(R)&&(0,n.jsx)("option",{value:R,children:R}),(_?.branches??[]).map(e=>(0,n.jsx)("option",{value:e,children:e},e))]})]}),(0,n.jsxs)("label",{className:"block space-y-1.5",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-sm font-medium text-muted-foreground",children:[(0,n.jsx)(N.A,{className:"size-3"}),"分支名稱"]}),(0,n.jsx)("input",{name:"edit-branch",autoComplete:"off",value:D,onChange:e=>B(e.target.value),placeholder:"例如 feature/login-fix",disabled:o,className:sh}),(0,n.jsx)("span",{className:"block text-sm text-muted-foreground",children:"分支會在卡片開始執行時才建立並推到 origin。"})]}),en&&eu&&(0,n.jsx)("p",{className:"rounded-md border border-warning/40 bg-warning/10 p-2 text-sm text-warning",children:"這張卡已經有 worktree。儲存後會移除它與本地分支,下次開始執行時再重新建立; worktree 有未完成的變更時無法儲存。origin 上已推送的分支不會被刪除。"}),(0,n.jsxs)("div",{className:"rounded-lg border border-border/50",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>Q(e=>!e),className:"flex w-full items-center justify-between px-4 py-3 text-left text-base font-medium transition-colors outline-none hover:bg-accent/40 focus-visible:ring-[3px] focus-visible:ring-ring/50",children:[(0,n.jsx)("span",{children:"Advanced"}),(0,n.jsx)(k.A,{className:(0,E.cn)("size-4 text-muted-foreground transition-transform motion-reduce:transform-none motion-reduce:transition-none",X&&"rotate-180")})]}),X&&(0,n.jsx)("div",{className:"space-y-4 border-t border-border/50 p-4",children:(0,n.jsx)(sT,{title:"Agent",agents:H,detectTimedOut:Y,onRetry:()=>q(e=>e+1),agentCli:g,onAgentChange:e=>{b(e),v("")},model:j,onModelChange:v,models:S})})]}),c&&(0,n.jsx)("p",{className:"rounded-md border border-destructive/40 bg-destructive/10 p-2 text-base",children:c})]})]},es.id)})}var sK=s(1896),sV=s(69758),sH=s(87617),sJ=s(80802),sY=s(21684),sU=s(37156),sW=s(43812);let sq=[{id:"skill",label:"Skills",hint:"兩個 agent 都會載入。import 需選擇含 SKILL.md 的目錄。"},{id:"prompt",label:"Prompts",hint:"啟用的內容會併入啟動時的 system prompt,排在 Settings 的 System Prompt 之前。"},{id:"script",label:"Scripts",hint:"路徑與用途會寫進 prompt,由 agent 自行決定要不要執行。"}],sX={skill:sY.A,prompt:th.A,script:b.A};function sQ(e,t){return"skill"!==e?"":`---
|
|
8
|
+
ℹ️ 終端已結束(exit code: ${s})`)});try{let s=await eD({sessionKey:e,...i?{taskId:i}:{projectPath:t},cols:f.cols,rows:f.rows});if(!s)throw Error("未連線到 VibeFlow core");if(u=!0,c)return void e_(e);s.scrollback&&f.write(s.scrollback),f.onData(t=>eB(e,t)),f.focus()}catch(e){c||f.writeln(`⚠️ 無法開啟終端:${e instanceof Error?e.message:String(e)}`)}a=new ResizeObserver(()=>{clearTimeout(o),o=setTimeout(()=>{var t,s;if(c)return;let n=f.cols,r=f.rows;g(),(n!==f.cols||r!==f.rows)&&(t=f.cols,s=f.rows,T()?.term.resize(e,t,s))},100)}),l.current&&a.observe(l.current)})(),()=>{c=!0,n?.(),r?.(),a?.disconnect(),clearTimeout(o),u&&e_(e),d?.dispose()}},[e,t,i]),(0,n.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden p-2",children:(0,n.jsx)("div",{ref:l,className:"h-full w-full overflow-hidden","aria-label":`終端機:${a??t}`})})}function sG({view:e,onViewChange:t,terminals:s,taskWorktreePaths:a,focusedSessionKey:i,recentProjects:l,onCreate:o,onRename:c,onClose:d,onBrowse:u}){let[m,x]=(0,r.useState)(!1),[h,f]=(0,r.useState)(null),p=(0,r.useRef)(new Map);return(0,r.useEffect)(()=>{if("terminals"!==e||!i)return;let t=p.current.get(i);t?.scrollIntoView({block:"center"}),t?.focus({preventScroll:!0})},[i,e]),(0,n.jsxs)("div",{className:"flex h-full min-h-0 flex-col bg-background",children:[(0,n.jsxs)("div",{className:"flex h-12 shrink-0 items-center justify-between gap-3 border-b border-border px-5",children:[(0,n.jsx)(R,{value:e,onChange:t}),(0,n.jsxs)(tN,{size:"sm","aria-label":"新增 Terminal",onClick:()=>x(!0),children:[(0,n.jsx)(C.A,{className:"size-4"}),(0,n.jsx)("span",{className:"hidden sm:inline",children:"新增 Terminal"})]})]}),0===s.length?(0,n.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-3 text-center text-muted-foreground",children:[(0,n.jsx)("p",{children:"尚未開啟 Terminal"}),(0,n.jsx)("p",{className:"text-sm",children:"選擇專案或資料夾,即可在該目錄開啟獨立終端機。"})]}):(0,n.jsx)("div",{className:"grid min-h-0 w-full max-w-[1084px] flex-1 auto-rows-[360px] grid-cols-[repeat(auto-fill,minmax(min(100%,340px),1fr))] content-start gap-4 overflow-y-auto p-4",children:s.map(e=>{let t=e.taskId?a[e.taskId]??e.projectPath:e.projectPath;return(0,n.jsxs)("section",{ref:t=>{t?p.current.set(e.sessionKey,t):p.current.delete(e.sessionKey)},tabIndex:-1,"aria-label":`Terminal:${e.title}`,className:(0,E.cn)("flex h-[360px] w-full max-w-[340px] min-w-0 flex-col overflow-hidden rounded-md border bg-card outline-none",i===e.sessionKey?"border-primary ring-2 ring-primary/30":"border-border"),children:[(0,n.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-3 py-2",children:[(0,n.jsx)("input",{"aria-label":`編輯 Terminal 標題:${e.title}`,title:"點擊編輯標題",value:e.title,onChange:t=>c(e.sessionKey,t.target.value),onBlur:()=>{e.title.trim()||c(e.sessionKey,sS(e.projectPath))},className:"min-w-0 flex-1 rounded-sm bg-transparent px-1 text-sm font-medium outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50"}),(0,n.jsx)(P,{"aria-label":`關閉 Terminal:${e.title}`,title:"關閉並釋放 Terminal",onClick:()=>d(e.sessionKey),className:"size-7 shrink-0",children:(0,n.jsx)(tg.A,{className:"size-4"})})]}),(0,n.jsx)("div",{className:"truncate border-b border-border px-3 py-1 font-mono text-xs text-muted-foreground",title:t,children:t}),(0,n.jsx)(sM,{sessionKey:e.sessionKey,projectPath:e.projectPath,displayPath:t,taskId:e.taskId})]},e.sessionKey)})}),m&&(0,n.jsx)(tG,{title:"新增 Terminal",onClose:()=>x(!1),contentClassName:"max-w-lg rounded-lg p-5",children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:"選擇專案或資料夾"}),(0,n.jsx)(sz,{projectPath:h,recentProjects:l,disabled:!1,onSelect:f,onBrowse:()=>{u().then(e=>{e&&f(e)})}}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)(tN,{variant:"ghost",size:"sm",onClick:()=>x(!1),children:"取消"}),(0,n.jsx)(tN,{size:"sm",disabled:!h||sA(l,h),onClick:()=>{h&&(o(h),f(null),x(!1))},children:"開啟 Terminal"})]})]})})]})}function sO({task:e,detectAgents:t,pickFolder:s,loadRecentProjects:a,loadGitInfo:i,saving:o,error:c,defaultAutoMode:d=!0,onSubmit:u,onClose:m}){let[x,h]=(0,r.useState)(""),[f,p]=(0,r.useState)(""),[g,b]=(0,r.useState)("claude"),[j,v]=(0,r.useState)(""),[w,C]=(0,r.useState)(sN),S=sP(g),A=sI(S,g,j,w,C),[z,$]=(0,r.useState)(!0),[P,I]=(0,r.useState)(null),[R,T]=(0,r.useState)(""),[D,B]=(0,r.useState)(""),[_,F]=(0,r.useState)(null),[L,M]=(0,r.useState)(!1),[G,O]=(0,r.useState)(!1),[K,V]=(0,r.useState)([]),[H,J]=(0,r.useState)(null),[Y,U]=(0,r.useState)(!1),[W,q]=(0,r.useState)(0),[X,Q]=(0,r.useState)(!0),[Z,ee]=(0,r.useState)(!1),et=(0,r.useRef)(null),es=e??et.current;if((0,r.useEffect)(()=>{e&&(et.current=e)},[e]),(0,r.useEffect)(()=>{e&&(h(e.title),p(e.description??""),b(e.agentCli??"claude"),v(e.model??""),C(e.effort??sN),$(e.autoMode??d),I(e.projectPath??null),T(e.baseBranch??""),B(e.branch),F(null),M(!1),O(!1),ee(!1))},[e,d]),(0,r.useEffect)(()=>{if(!e)return;let t=!0;return a().then(e=>{t&&V(e)}),()=>{t=!1}},[e,a]),(0,r.useEffect)(()=>{if(!e?.projectPath)return;let t=!0;return M(!0),i(e.projectPath).then(e=>{t&&F(e)}).finally(()=>{t&&M(!1)}),()=>{t=!1}},[e,i]),(0,r.useEffect)(()=>{if(!e)return;let s=!0;U(!1),J(null);let n=setTimeout(()=>{s&&U(!0)},6e3);return t().then(e=>{s&&(clearTimeout(n),J(e))}),()=>{s=!1,clearTimeout(n)}},[e,t,W]),!es)return null;let en=!!es.worktreePath,er=x!==es.title||f!==(es.description??"")||g!==(es.agentCli??"claude")||j!==(es.model??"")||w!==(es.effort??sN)||z!==(es.autoMode??d)||G||R!==(es.baseBranch??"")||D.trim()!==es.branch,ea=()=>{o||(er?ee(!0):m())},ei=sA(K,P),el=async(e,t=!1)=>{if(I(e),O(e!==es.projectPath),F(null),!(!t&&sA(K,e))){M(!0);try{let t=await i(e);F(t),T(t?.defaultBase??"")}finally{M(!1)}}},eo=async()=>{let e=await s();e&&(V(t=>t.map(t=>t.path===e?{...t,missing:!1}:t)),await el(e,!0))},ec=_?.isRepo??!0,ed=_?.hasRemote??!1,eu=G||R!==(es.baseBranch??"")||""!==D.trim()&&D.trim()!==es.branch,em=x.trim().length>0&&!o&&!L&&(!G||ec&&!ei);return(0,n.jsx)(l.N,{children:e&&(0,n.jsxs)(tG,{title:"編輯任務",description:"更新任務內容與 agent 設定。",saving:o,onClose:ea,showHeader:!0,contentClassName:"max-w-2xl",footer:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(tN,{variant:"ghost",size:"sm",onClick:ea,disabled:o,children:"取消"}),(0,n.jsxs)(tN,{size:"sm",onClick:()=>{em&&u({title:x.trim(),description:f.trim(),agentCli:g,model:j,effort:w,autoMode:z,...P?{projectPath:P,baseBranch:R||null}:{},branch:D.trim()})},disabled:!em,className:(0,E.cn)(o&&"opacity-80"),children:[o&&(0,n.jsx)(y.A,{className:"animate-spin"}),o?"儲存中…":"儲存變更"]})]})]}),children:[Z&&(0,n.jsxs)("div",{className:"mb-4 flex items-center justify-between rounded-md border border-warning/40 bg-warning/10 px-3 py-2 text-base",children:[(0,n.jsx)("span",{className:"text-warning",children:"有未儲存的變更,確定要離開?"}),(0,n.jsxs)("div",{className:"flex gap-1.5",children:[(0,n.jsx)("button",{type:"button",onClick:()=>ee(!1),className:"rounded-md px-2 py-0.5 text-sm text-muted-foreground outline-none transition-colors motion-reduce:transition-none hover:bg-accent focus-visible:ring-[3px] focus-visible:ring-ring/50",children:"繼續編輯"}),(0,n.jsx)("button",{type:"button",onClick:m,className:"rounded-md px-2 py-0.5 text-sm text-destructive outline-none transition-colors motion-reduce:transition-none hover:bg-destructive/15 focus-visible:ring-[3px] focus-visible:ring-ring/50",children:"放棄離開"})]})]}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("label",{className:"block space-y-1.5",children:[(0,n.jsx)("span",{className:"text-base font-medium",children:"任務標題"}),(0,n.jsx)("input",{autoFocus:!0,name:"edit-task-title",autoComplete:"off",value:x,onChange:e=>h(e.target.value),placeholder:"例如:實作登入頁面",className:sh})]}),(0,n.jsxs)("label",{className:"block space-y-1.5",children:[(0,n.jsx)("span",{className:"text-base font-medium",children:"詳細描述(選填)"}),(0,n.jsx)("textarea",{name:"edit-task-description",autoComplete:"off",value:f,onChange:e=>p(e.target.value),rows:4,placeholder:"描述這個任務的目標、需求或背景脈絡…",className:(0,E.cn)(sh,"resize-y")})]}),(0,n.jsx)(sy,{value:w,onChange:C,levels:A,disabled:o}),(0,n.jsx)(sw,{value:z,onChange:$,disabled:o}),(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-sm font-medium uppercase tracking-wide text-muted-foreground",children:[(0,n.jsx)(tm.A,{className:"size-3"}),"專案資料夾"]}),(0,n.jsx)(sz,{projectPath:P,recentProjects:K,disabled:o||L,onSelect:e=>void el(e),onBrowse:()=>void eo()}),L&&(0,n.jsxs)("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,n.jsx)(y.A,{className:"size-3 animate-spin"}),"偵測 Git 狀態中…"]}),G&&!ei&&!L&&!ec&&(0,n.jsx)("p",{className:"rounded-md border border-destructive/40 bg-destructive/10 p-2 text-sm",children:"這個資料夾不是 Git repository,請改選一個 Git 專案。"})]}),ec&&ed&&(0,n.jsxs)("label",{className:"block space-y-1.5",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-sm font-medium text-muted-foreground",children:[(0,n.jsx)(N.A,{className:"size-3"}),"基準分支 (Base Branch)"]}),(0,n.jsxs)("select",{name:"edit-base-branch",value:R,onChange:e=>T(e.target.value),disabled:o||L,className:sh,children:[R&&!(_?.branches??[]).includes(R)&&(0,n.jsx)("option",{value:R,children:R}),(_?.branches??[]).map(e=>(0,n.jsx)("option",{value:e,children:e},e))]})]}),(0,n.jsxs)("label",{className:"block space-y-1.5",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-sm font-medium text-muted-foreground",children:[(0,n.jsx)(N.A,{className:"size-3"}),"分支名稱"]}),(0,n.jsx)("input",{name:"edit-branch",autoComplete:"off",value:D,onChange:e=>B(e.target.value),placeholder:"例如 feature/login-fix",disabled:o,className:sh}),(0,n.jsx)("span",{className:"block text-sm text-muted-foreground",children:"分支會在卡片開始執行時才建立並推到 origin。"})]}),en&&eu&&(0,n.jsx)("p",{className:"rounded-md border border-warning/40 bg-warning/10 p-2 text-sm text-warning",children:"這張卡已經有 worktree。儲存後會移除它與本地分支,下次開始執行時再重新建立; worktree 有未完成的變更時無法儲存。origin 上已推送的分支不會被刪除。"}),(0,n.jsxs)("div",{className:"rounded-lg border border-border/50",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>Q(e=>!e),className:"flex w-full items-center justify-between px-4 py-3 text-left text-base font-medium transition-colors outline-none hover:bg-accent/40 focus-visible:ring-[3px] focus-visible:ring-ring/50",children:[(0,n.jsx)("span",{children:"Advanced"}),(0,n.jsx)(k.A,{className:(0,E.cn)("size-4 text-muted-foreground transition-transform motion-reduce:transform-none motion-reduce:transition-none",X&&"rotate-180")})]}),X&&(0,n.jsx)("div",{className:"space-y-4 border-t border-border/50 p-4",children:(0,n.jsx)(sT,{title:"Agent",agents:H,detectTimedOut:Y,onRetry:()=>q(e=>e+1),agentCli:g,onAgentChange:e=>{b(e),v("")},model:j,onModelChange:v,models:S})})]}),c&&(0,n.jsx)("p",{className:"rounded-md border border-destructive/40 bg-destructive/10 p-2 text-base",children:c})]})]},es.id)})}var sK=s(1896),sV=s(69758),sH=s(87617),sJ=s(80802),sY=s(21684),sU=s(37156),sW=s(43812);let sq=[{id:"skill",label:"Skills",hint:"兩個 agent 都會載入。import 需選擇含 SKILL.md 的目錄。"},{id:"prompt",label:"Prompts",hint:"啟用的內容會併入啟動時的 system prompt,排在 Settings 的 System Prompt 之前。"},{id:"script",label:"Scripts",hint:"路徑與用途會寫進 prompt,由 agent 自行決定要不要執行。"}],sX={skill:sY.A,prompt:th.A,script:b.A};function sQ(e,t){return"skill"!==e?"":`---
|
|
9
9
|
name: ${t}
|
|
10
10
|
description:
|
|
11
11
|
---
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#FFF;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm .xterm-cursor-pointer,.xterm.xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:rgba(0,0,0,0);transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;max-width:100%;display:inline-block;position:relative}.ReactCrop *,.ReactCrop :after,.ReactCrop :before{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{max-width:100%;max-height:inherit;display:block}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px);position:absolute;inset:0}.ReactCrop__crop-selection{cursor:move;position:absolute;top:0;left:0;transform:translate(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";border:1px solid var(--rc-border-color);opacity:.3;position:absolute;inset:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){color:#fff;background-image:linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(#fff 50%,#444 0),linear-gradient(#fff 50%,#444 0);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;animation:marching-ants 1s linear infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{content:"";background-color:#fff6;display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6667%}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6667%}.ReactCrop__drag-handle{width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color);position:absolute}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;top:0;left:0;transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;top:0;left:50%;transform:translate(-50%,-50%)}.ReactCrop .ord-ne{cursor:ne-resize;top:0}.ReactCrop .ord-e,.ReactCrop .ord-ne{right:0;transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%}.ReactCrop .ord-se{cursor:se-resize;bottom:0;right:0;transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;left:50%}.ReactCrop .ord-s,.ReactCrop .ord-sw{bottom:0;transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;left:0}.ReactCrop .ord-w{cursor:w-resize;top:50%;left:0;transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{width:100%;height:var(--rc-drag-bar-size);top:0;left:0;transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{width:var(--rc-drag-bar-size);height:100%;top:0;right:0;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{width:100%;height:var(--rc-drag-bar-size);bottom:0;left:0;transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{width:var(--rc-drag-bar-size);height:100%;top:0;left:0;transform:translate(-50%)}.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w,.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle{display:none}@media (pointer:coarse){.ReactCrop .ord-e,.ReactCrop .ord-n,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}
|
|
2
|
-
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-outline-style:solid;--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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:host,:root{--font-sans:var(--font-sans);--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-snug:1.375;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) 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-background:var(--background);--color-foreground:var(--foreground);--color-border:var(--border);--color-ring:var(--ring)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--color-border);outline-color:var(--color-ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--color-ring) 50%,transparent)}}*{-webkit-tap-highlight-color:transparent}html{overflow:hidden}body,html{background-color:var(--color-background)}body{color:var(--color-foreground);color-scheme:dark;touch-action:manipulation;font-family:var(--font-sans)}[role=button]:not([aria-disabled=true]),button:not(:disabled),summary{cursor:pointer}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{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-0{inset-block:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-0\.5{top:calc(var(--spacing) * .5)}.top-8{top:calc(var(--spacing) * 8)}.right-4{right:calc(var(--spacing) * 4)}.right-5{right:calc(var(--spacing) * 5)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:calc(var(--spacing) * 1)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.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-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-24{height:calc(var(--spacing) * 24)}.h-40{height:calc(var(--spacing) * 40)}.h-48{height:calc(var(--spacing) * 48)}.h-\[200px\]{height:200px}.h-\[min\(60vh\,520px\)\]{height:min(60vh,520px)}.h-full{height:100%}.h-screen{height:100vh}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[min\(90vh\,760px\)\]{max-height:min(90vh,760px)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-32{min-height:calc(var(--spacing) * 32)}.min-h-36{min-height:calc(var(--spacing) * 36)}.min-h-64{min-height:calc(var(--spacing) * 64)}.min-h-\[320px\]{min-height:320px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0\.5{width:calc(var(--spacing) * .5)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-12{width:calc(var(--spacing) * 12)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-80{width:calc(var(--spacing) * 80)}.w-\[200px\]{width:200px}.w-\[min\(300px\,calc\(100vw-5\.5rem\)\)\]{width:min(300px,100vw - 5.5rem)}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-52{max-width:calc(var(--spacing) * 52)}.max-w-56{max-width:calc(var(--spacing) * 56)}.max-w-\[45\%\]{max-width:45%}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-48{min-width:calc(var(--spacing) * 48)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.translate-x-0\.5{--tw-translate-x:calc(var(--spacing) * .5)}.translate-x-0\.5,.translate-x-3\.5{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-3\.5{--tw-translate-x:calc(var(--spacing) * 3.5)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.touch-none{touch-action:none}.resize{resize:both}.resize-y{resize:vertical}.list-disc{list-style-type:disc}.auto-rows-\[minmax\(320px\,1fr\)\]{grid-auto-rows:minmax(320px,1fr)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[64px_minmax\(0\,1fr\)\]{grid-template-columns:64px minmax(0,1fr)}.grid-cols-\[90px_minmax\(0\,1fr\)\]{grid-template-columns:90px minmax(0,1fr)}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[repeat\(auto-fill\,minmax\(min\(100\%\,300px\)\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.grid-rows-\[minmax\(18rem\,1fr\)_minmax\(18rem\,45\%\)\]{grid-template-rows:minmax(18rem,1fr) minmax(18rem,45%)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.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)}.gap-5{gap:calc(var(--spacing) * 5)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}: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-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * 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)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}:where(.-space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -1) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -1) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-clip{overflow-x:clip}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:1.125rem}.rounded-md{border-radius:.6875rem}.rounded-sm{border-radius:.5rem}.rounded-xs{border-radius:.3125rem}.rounded-r-md{border-top-right-radius:.6875rem;border-bottom-right-radius:.6875rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.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-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border) 50%,transparent)}}.border-border\/60{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,var(--border) 60%,transparent)}}.border-border\/70{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,var(--border) 70%,transparent)}}.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/30{border-color:color-mix(in oklab,var(--destructive) 30%,transparent)}}.border-destructive\/40{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/40{border-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}.border-destructive\/60{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/60{border-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}.border-input{border-color:var(--input)}.border-muted-foreground\/50{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\/50{border-color:color-mix(in oklab,var(--muted-foreground) 50%,transparent)}}.border-primary,.border-primary\/70{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/70{border-color:color-mix(in oklab,var(--primary) 70%,transparent)}}.border-transparent{border-color:#0000}.border-warning\/40{border-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.border-warning\/40{border-color:color-mix(in oklab,var(--warning) 40%,transparent)}}.bg-\[\#111827\]{background-color:#111827}.bg-accent{background-color:var(--accent)}.bg-background,.bg-background\/70{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/70{background-color:color-mix(in oklab,var(--background) 70%,transparent)}}.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background) 80%,transparent)}}.bg-background\/95{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/95{background-color:color-mix(in oklab,var(--background) 95%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-border{background-color:var(--border)}.bg-card,.bg-card\/40{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/40{background-color:color-mix(in oklab,var(--card) 40%,transparent)}}.bg-card\/60{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/60{background-color:color-mix(in oklab,var(--card) 60%,transparent)}}.bg-destructive,.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}.bg-destructive\/15{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/15{background-color:color-mix(in oklab,var(--destructive) 15%,transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-input{background-color:var(--input)}.bg-muted{background-color:var(--muted)}.bg-muted-foreground,.bg-muted-foreground\/50{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/50{background-color:color-mix(in oklab,var(--muted-foreground) 50%,transparent)}}.bg-muted-foreground\/60{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/60{background-color:color-mix(in oklab,var(--muted-foreground) 60%,transparent)}}.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/20{background-color:color-mix(in oklab,var(--muted) 20%,transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted) 30%,transparent)}}.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,var(--muted) 40%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/5{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--primary) 5%,transparent)}}.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary) 10%,transparent)}}.bg-primary\/15{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/15{background-color:color-mix(in oklab,var(--primary) 15%,transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary) 20%,transparent)}}.bg-primary\/60{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/60{background-color:color-mix(in oklab,var(--primary) 60%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-success,.bg-success\/15{background-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/15{background-color:color-mix(in oklab,var(--success) 15%,transparent)}}.bg-transparent{background-color:#0000}.bg-warning,.bg-warning\/10{background-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/10{background-color:color-mix(in oklab,var(--warning) 10%,transparent)}}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-8{padding:calc(var(--spacing) * 8)}.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-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.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-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[15px\]{font-size:15px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.224px\]{--tw-tracking:-.224px;letter-spacing:-.224px}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-muted-foreground,.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--muted-foreground) 60%,transparent)}}.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground) 70%,transparent)}}.text-muted-foreground\/80{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/80{color:color-mix(in oklab,var(--muted-foreground) 80%,transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.accent-primary{accent-color:var(--primary)}.opacity-0{opacity:0}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-\[0_0_0_2px\]{--tw-shadow:0 0 0 2px var(--tw-shadow-color,currentcolor)}.shadow-\[0_0_0_2px\],.shadow-lg{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)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.ring-1,.shadow-md{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.shadow-primary\/20{--tw-shadow-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--primary) 20%,transparent) var(--tw-shadow-alpha),transparent)}}.ring-border,.ring-border\/70{--tw-ring-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.ring-border\/70{--tw-ring-color:color-mix(in oklab,var(--border) 70%,transparent)}}.ring-primary\/30{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.ring-primary\/30{--tw-ring-color:color-mix(in oklab,var(--primary) 30%,transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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-\[width\]{transition-property:width;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))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:hidden:is(:where(.group):hover *){display:none}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-focus-visible\:block:is(:where(.group):focus-visible *){display:block}.group-focus-visible\:hidden:is(:where(.group):focus-visible *){display:none}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:ring-\[3px\]:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:color-mix(in oklab,var(--ring) 50%,transparent)}}@media (hover:hover){.hover\:border-input:hover{border-color:var(--input)}.hover\:border-primary\/50:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab,var(--primary) 50%,transparent)}}.hover\:bg-accent:hover,.hover\:bg-accent\/40:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/40:hover{background-color:color-mix(in oklab,var(--accent) 40%,transparent)}}.hover\:bg-destructive\/15:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/15:hover{background-color:color-mix(in oklab,var(--destructive) 15%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-primary:hover{color:var(--primary)}.hover\:no-underline:hover{text-decoration-line:none}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring) 50%,transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:active\:scale-100:disabled:active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}@media (prefers-reduced-motion:reduce){.motion-reduce\:transform-none{transform:none}.motion-reduce\:animate-none{animation:none}.motion-reduce\:transition-none{transition-property:none}}@media (min-width:40rem){.sm\:inline{display:inline}}@media (min-width:64rem){.lg\:flex{display:flex}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(20rem\,1fr\)_auto_minmax\(21rem\,min\(var\(--vf-workspace-aside\,24rem\)\,100\%_-_20\.625rem\)\)\]{grid-template-columns:minmax(20rem,1fr) auto minmax(21rem,min(var(--vf-workspace-aside,24rem),100% - 20.625rem))}.lg\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.lg\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@media (min-width:80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1fr\)_auto_minmax\(21rem\,min\(var\(--vf-workspace-aside\,27rem\)\,100\%_-_20\.625rem\)\)\]{grid-template-columns:minmax(0,1fr) auto minmax(21rem,min(var(--vf-workspace-aside,27rem),100% - 20.625rem))}}.\[\&_\.diff-content\]\:break-words .diff-content{overflow-wrap:break-word}.\[\&_\.diff-content\]\:whitespace-pre-wrap .diff-content{white-space:pre-wrap}.\[\&_pre\]\:break-words pre{overflow-wrap:break-word}.\[\&_pre\]\:whitespace-pre-wrap pre{white-space:pre-wrap}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:max-w-full svg{max-width:100%}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_table\]\:min-w-full table{min-width:100%}.\[\&_table\]\:table-fixed table{table-layout:fixed}.\[\&_td\]\:min-w-0 td{min-width:calc(var(--spacing) * 0)}.\[\&_td\]\:align-top td{vertical-align:top}}:root{--radius:.6875rem;--background:#191919;--foreground:#ededed;--card:#212121;--card-foreground:#ededed;--popover:#262626;--popover-foreground:#ededed;--primary:#4c9bf5;--primary-foreground:#10151b;--secondary:#262626;--secondary-foreground:#ededed;--muted:#262626;--muted-foreground:#a1a1a1;--accent:#2d2d2d;--accent-foreground:#ededed;--destructive:#d43a3f;--destructive-foreground:#fff;--warning:#e2b341;--success:#4ec98a;--border:#ffffff17;--input:#ffffff24;--ring:#4c9bf5;--font-sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.prose{--tw-prose-body:var(--muted-foreground);--tw-prose-headings:var(--foreground);--tw-prose-lead:var(--muted-foreground);--tw-prose-links:var(--primary);--tw-prose-bold:var(--foreground);--tw-prose-counters:var(--muted-foreground);--tw-prose-bullets:var(--muted-foreground);--tw-prose-hr:var(--border);--tw-prose-quotes:var(--muted-foreground);--tw-prose-quote-borders:var(--border);--tw-prose-captions:var(--muted-foreground);--tw-prose-code:var(--foreground);--tw-prose-pre-code:var(--foreground);--tw-prose-pre-bg:var(--background);--tw-prose-th-borders:var(--input);--tw-prose-td-borders:var(--border)}.prose-xs{font-size:.75rem;line-height:1.55}.prose ul.contains-task-list{padding-left:0;list-style:none}.prose li.task-list-item{padding-left:0}.prose li.task-list-item::marker{content:none}.prose li.task-list-item input[type=checkbox]{accent-color:var(--primary);vertical-align:baseline;margin-right:.4em}.prose li.task-list-item:has(input[type=checkbox]:checked){color:var(--muted-foreground);text-decoration:line-through}.prose table{width:max-content;max-width:100%;display:block;overflow-x:auto}.prose td,.prose th{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.45em .65em}.prose thead th{color:var(--foreground);background:#242424;font-weight:600}.prose tbody tr:nth-child(2n){background:#ffffff06}.prose img{max-width:100%;height:auto}.prose .footnotes{border-top:1px solid var(--border);margin-top:1.5em;font-size:.9em}.hljs-comment,.hljs-quote{color:#7f7f7f;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-literal,.hljs-meta .hljs-keyword,.hljs-section,.hljs-selector-tag{color:var(--primary)}.hljs-addition,.hljs-attr,.hljs-attr-value,.hljs-regexp,.hljs-string{color:var(--success)}.hljs-built_in,.hljs-class .hljs-title,.hljs-number,.hljs-params,.hljs-type{color:var(--warning)}.hljs-attribute,.hljs-bullet,.hljs-name,.hljs-symbol,.hljs-template-variable,.hljs-title,.hljs-variable{color:#9bd0ff}.hljs-deletion{color:var(--destructive)}.hljs-meta{color:var(--muted-foreground)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:600}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value: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-space-x-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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}
|
|
2
|
+
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-outline-style:solid;--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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:host,:root{--font-sans:var(--font-sans);--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-snug:1.375;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) 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-background:var(--background);--color-foreground:var(--foreground);--color-border:var(--border);--color-ring:var(--ring)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--color-border);outline-color:var(--color-ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--color-ring) 50%,transparent)}}*{-webkit-tap-highlight-color:transparent}html{overflow:hidden}body,html{background-color:var(--color-background)}body{color:var(--color-foreground);color-scheme:dark;touch-action:manipulation;font-family:var(--font-sans)}[role=button]:not([aria-disabled=true]),button:not(:disabled),summary{cursor:pointer}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{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-0{inset-block:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-0\.5{top:calc(var(--spacing) * .5)}.top-8{top:calc(var(--spacing) * 8)}.right-4{right:calc(var(--spacing) * 4)}.right-5{right:calc(var(--spacing) * 5)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:calc(var(--spacing) * 1)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.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-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-24{height:calc(var(--spacing) * 24)}.h-40{height:calc(var(--spacing) * 40)}.h-48{height:calc(var(--spacing) * 48)}.h-\[200px\]{height:200px}.h-\[360px\]{height:360px}.h-\[min\(60vh\,520px\)\]{height:min(60vh,520px)}.h-full{height:100%}.h-screen{height:100vh}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[70vh\]{max-height:70vh}.max-h-\[min\(90vh\,760px\)\]{max-height:min(90vh,760px)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-32{min-height:calc(var(--spacing) * 32)}.min-h-36{min-height:calc(var(--spacing) * 36)}.min-h-64{min-height:calc(var(--spacing) * 64)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0\.5{width:calc(var(--spacing) * .5)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-12{width:calc(var(--spacing) * 12)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-80{width:calc(var(--spacing) * 80)}.w-\[200px\]{width:200px}.w-\[min\(300px\,calc\(100vw-5\.5rem\)\)\]{width:min(300px,100vw - 5.5rem)}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-52{max-width:calc(var(--spacing) * 52)}.max-w-56{max-width:calc(var(--spacing) * 56)}.max-w-\[45\%\]{max-width:45%}.max-w-\[340px\]{max-width:340px}.max-w-\[1084px\]{max-width:1084px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-48{min-width:calc(var(--spacing) * 48)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.translate-x-0\.5{--tw-translate-x:calc(var(--spacing) * .5)}.translate-x-0\.5,.translate-x-3\.5{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-3\.5{--tw-translate-x:calc(var(--spacing) * 3.5)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.touch-none{touch-action:none}.resize{resize:both}.resize-y{resize:vertical}.list-disc{list-style-type:disc}.auto-rows-\[360px\]{grid-auto-rows:360px}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[64px_minmax\(0\,1fr\)\]{grid-template-columns:64px minmax(0,1fr)}.grid-cols-\[90px_minmax\(0\,1fr\)\]{grid-template-columns:90px minmax(0,1fr)}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[repeat\(auto-fill\,minmax\(min\(100\%\,300px\)\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(min\(100\%\,340px\)\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.grid-rows-\[minmax\(18rem\,1fr\)_minmax\(18rem\,45\%\)\]{grid-template-rows:minmax(18rem,1fr) minmax(18rem,45%)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.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)}.gap-5{gap:calc(var(--spacing) * 5)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}: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-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * 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)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}:where(.-space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -1) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -1) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-clip{overflow-x:clip}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:1.125rem}.rounded-md{border-radius:.6875rem}.rounded-sm{border-radius:.5rem}.rounded-xs{border-radius:.3125rem}.rounded-r-md{border-top-right-radius:.6875rem;border-bottom-right-radius:.6875rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.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-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border) 50%,transparent)}}.border-border\/60{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,var(--border) 60%,transparent)}}.border-border\/70{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,var(--border) 70%,transparent)}}.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/30{border-color:color-mix(in oklab,var(--destructive) 30%,transparent)}}.border-destructive\/40{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/40{border-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}.border-destructive\/60{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/60{border-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}.border-input{border-color:var(--input)}.border-muted-foreground\/50{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\/50{border-color:color-mix(in oklab,var(--muted-foreground) 50%,transparent)}}.border-primary,.border-primary\/70{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/70{border-color:color-mix(in oklab,var(--primary) 70%,transparent)}}.border-transparent{border-color:#0000}.border-warning\/40{border-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.border-warning\/40{border-color:color-mix(in oklab,var(--warning) 40%,transparent)}}.bg-\[\#111827\]{background-color:#111827}.bg-accent{background-color:var(--accent)}.bg-background,.bg-background\/70{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/70{background-color:color-mix(in oklab,var(--background) 70%,transparent)}}.bg-background\/80{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/80{background-color:color-mix(in oklab,var(--background) 80%,transparent)}}.bg-background\/95{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/95{background-color:color-mix(in oklab,var(--background) 95%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-border{background-color:var(--border)}.bg-card,.bg-card\/40{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/40{background-color:color-mix(in oklab,var(--card) 40%,transparent)}}.bg-card\/60{background-color:var(--card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/60{background-color:color-mix(in oklab,var(--card) 60%,transparent)}}.bg-destructive,.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}.bg-destructive\/15{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/15{background-color:color-mix(in oklab,var(--destructive) 15%,transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-input{background-color:var(--input)}.bg-muted{background-color:var(--muted)}.bg-muted-foreground,.bg-muted-foreground\/50{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/50{background-color:color-mix(in oklab,var(--muted-foreground) 50%,transparent)}}.bg-muted-foreground\/60{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/60{background-color:color-mix(in oklab,var(--muted-foreground) 60%,transparent)}}.bg-muted\/20{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/20{background-color:color-mix(in oklab,var(--muted) 20%,transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--muted) 30%,transparent)}}.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,var(--muted) 40%,transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/5{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--primary) 5%,transparent)}}.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary) 10%,transparent)}}.bg-primary\/15{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/15{background-color:color-mix(in oklab,var(--primary) 15%,transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary) 20%,transparent)}}.bg-primary\/60{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/60{background-color:color-mix(in oklab,var(--primary) 60%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-success,.bg-success\/15{background-color:var(--success)}@supports (color:color-mix(in lab,red,red)){.bg-success\/15{background-color:color-mix(in oklab,var(--success) 15%,transparent)}}.bg-transparent{background-color:#0000}.bg-warning,.bg-warning\/10{background-color:var(--warning)}@supports (color:color-mix(in lab,red,red)){.bg-warning\/10{background-color:color-mix(in oklab,var(--warning) 10%,transparent)}}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-8{padding:calc(var(--spacing) * 8)}.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-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.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-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[15px\]{font-size:15px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.224px\]{--tw-tracking:-.224px;letter-spacing:-.224px}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-muted-foreground,.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--muted-foreground) 60%,transparent)}}.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground) 70%,transparent)}}.text-muted-foreground\/80{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/80{color:color-mix(in oklab,var(--muted-foreground) 80%,transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.accent-primary{accent-color:var(--primary)}.opacity-0{opacity:0}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow-\[0_0_0_2px\]{--tw-shadow:0 0 0 2px var(--tw-shadow-color,currentcolor)}.shadow-\[0_0_0_2px\],.shadow-lg{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)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.ring-1,.shadow-md{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.shadow-primary\/20{--tw-shadow-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--primary) 20%,transparent) var(--tw-shadow-alpha),transparent)}}.ring-border,.ring-border\/70{--tw-ring-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.ring-border\/70{--tw-ring-color:color-mix(in oklab,var(--border) 70%,transparent)}}.ring-primary\/30{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.ring-primary\/30{--tw-ring-color:color-mix(in oklab,var(--primary) 30%,transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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-\[width\]{transition-property:width;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))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:hidden:is(:where(.group):hover *){display:none}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-focus-visible\:block:is(:where(.group):focus-visible *){display:block}.group-focus-visible\:hidden:is(:where(.group):focus-visible *){display:none}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:ring-\[3px\]:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-within\:ring-ring\/50:focus-within{--tw-ring-color:color-mix(in oklab,var(--ring) 50%,transparent)}}@media (hover:hover){.hover\:border-input:hover{border-color:var(--input)}.hover\:border-primary\/50:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/50:hover{border-color:color-mix(in oklab,var(--primary) 50%,transparent)}}.hover\:bg-accent:hover,.hover\:bg-accent\/40:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/40:hover{background-color:color-mix(in oklab,var(--accent) 40%,transparent)}}.hover\:bg-destructive\/15:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/15:hover{background-color:color-mix(in oklab,var(--destructive) 15%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-primary:hover{color:var(--primary)}.hover\:no-underline:hover{text-decoration-line:none}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring) 50%,transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:active\:scale-100:disabled:active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}@media (prefers-reduced-motion:reduce){.motion-reduce\:transform-none{transform:none}.motion-reduce\:animate-none{animation:none}.motion-reduce\:transition-none{transition-property:none}}@media (min-width:40rem){.sm\:inline{display:inline}}@media (min-width:64rem){.lg\:flex{display:flex}.lg\:grid-cols-\[minmax\(20rem\,1fr\)_auto_minmax\(21rem\,min\(var\(--vf-workspace-aside\,24rem\)\,100\%_-_20\.625rem\)\)\]{grid-template-columns:minmax(20rem,1fr) auto minmax(21rem,min(var(--vf-workspace-aside,24rem),100% - 20.625rem))}.lg\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.lg\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@media (min-width:80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1fr\)_auto_minmax\(21rem\,min\(var\(--vf-workspace-aside\,27rem\)\,100\%_-_20\.625rem\)\)\]{grid-template-columns:minmax(0,1fr) auto minmax(21rem,min(var(--vf-workspace-aside,27rem),100% - 20.625rem))}}.\[\&_\.diff-content\]\:break-words .diff-content{overflow-wrap:break-word}.\[\&_\.diff-content\]\:whitespace-pre-wrap .diff-content{white-space:pre-wrap}.\[\&_pre\]\:break-words pre{overflow-wrap:break-word}.\[\&_pre\]\:whitespace-pre-wrap pre{white-space:pre-wrap}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:max-w-full svg{max-width:100%}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_table\]\:min-w-full table{min-width:100%}.\[\&_table\]\:table-fixed table{table-layout:fixed}.\[\&_td\]\:min-w-0 td{min-width:calc(var(--spacing) * 0)}.\[\&_td\]\:align-top td{vertical-align:top}}:root{--radius:.6875rem;--background:#191919;--foreground:#ededed;--card:#212121;--card-foreground:#ededed;--popover:#262626;--popover-foreground:#ededed;--primary:#4c9bf5;--primary-foreground:#10151b;--secondary:#262626;--secondary-foreground:#ededed;--muted:#262626;--muted-foreground:#a1a1a1;--accent:#2d2d2d;--accent-foreground:#ededed;--destructive:#d43a3f;--destructive-foreground:#fff;--warning:#e2b341;--success:#4ec98a;--border:#ffffff17;--input:#ffffff24;--ring:#4c9bf5;--font-sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.prose{--tw-prose-body:var(--muted-foreground);--tw-prose-headings:var(--foreground);--tw-prose-lead:var(--muted-foreground);--tw-prose-links:var(--primary);--tw-prose-bold:var(--foreground);--tw-prose-counters:var(--muted-foreground);--tw-prose-bullets:var(--muted-foreground);--tw-prose-hr:var(--border);--tw-prose-quotes:var(--muted-foreground);--tw-prose-quote-borders:var(--border);--tw-prose-captions:var(--muted-foreground);--tw-prose-code:var(--foreground);--tw-prose-pre-code:var(--foreground);--tw-prose-pre-bg:var(--background);--tw-prose-th-borders:var(--input);--tw-prose-td-borders:var(--border)}.prose-xs{font-size:.75rem;line-height:1.55}.prose ul.contains-task-list{padding-left:0;list-style:none}.prose li.task-list-item{padding-left:0}.prose li.task-list-item::marker{content:none}.prose li.task-list-item input[type=checkbox]{accent-color:var(--primary);vertical-align:baseline;margin-right:.4em}.prose li.task-list-item:has(input[type=checkbox]:checked){color:var(--muted-foreground);text-decoration:line-through}.prose table{width:max-content;max-width:100%;display:block;overflow-x:auto}.prose td,.prose th{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.45em .65em}.prose thead th{color:var(--foreground);background:#242424;font-weight:600}.prose tbody tr:nth-child(2n){background:#ffffff06}.prose img{max-width:100%;height:auto}.prose .footnotes{border-top:1px solid var(--border);margin-top:1.5em;font-size:.9em}.hljs-comment,.hljs-quote{color:#7f7f7f;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-literal,.hljs-meta .hljs-keyword,.hljs-section,.hljs-selector-tag{color:var(--primary)}.hljs-addition,.hljs-attr,.hljs-attr-value,.hljs-regexp,.hljs-string{color:var(--success)}.hljs-built_in,.hljs-class .hljs-title,.hljs-number,.hljs-params,.hljs-type{color:var(--warning)}.hljs-attribute,.hljs-bullet,.hljs-name,.hljs-symbol,.hljs-template-variable,.hljs-title,.hljs-variable{color:#9bd0ff}.hljs-deletion{color:var(--destructive)}.hljs-meta{color:var(--muted-foreground)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:600}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value: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-space-x-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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}
|
package/dist/web/home/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><link rel="icon" href="/favicon.ico" sizes="any" data-next-head=""/><link rel="icon" href="/logo.svg" type="image/svg+xml" data-next-head=""/><link rel="apple-touch-icon" href="/apple-touch-icon.png" data-next-head=""/><title data-next-head="">VibeFlow</title><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><link rel="icon" href="/favicon.ico" sizes="any" data-next-head=""/><link rel="icon" href="/logo.svg" type="image/svg+xml" data-next-head=""/><link rel="apple-touch-icon" href="/apple-touch-icon.png" data-next-head=""/><title data-next-head="">VibeFlow</title><link rel="preload" href="/_next/static/css/ac1238c212a3d10f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/ac1238c212a3d10f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-33344f7100190436.js" defer=""></script><script src="/_next/static/chunks/framework-b92a367cf1ad4bf7.js" defer=""></script><script src="/_next/static/chunks/main-ec7fd4c371d06729.js" defer=""></script><script src="/_next/static/chunks/pages/_app-33cd991a71572ffc.js" defer=""></script><script src="/_next/static/chunks/6350-9e5cd43f220aab51.js" defer=""></script><script src="/_next/static/chunks/pages/home-b6c7635a054e4108.js" defer=""></script><script src="/_next/static/bLScLUyqbuPZ2hYp8Nd3L/_buildManifest.js" defer=""></script><script src="/_next/static/bLScLUyqbuPZ2hYp8Nd3L/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div class="bg-background text-foreground"><div class="flex min-h-screen items-center justify-center bg-background text-base text-muted-foreground">載入中…</div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/home","query":{},"buildId":"bLScLUyqbuPZ2hYp8Nd3L","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
package/package.json
CHANGED
/package/dist/web/_next/static/{HQCMjhxsp1uiLn5NAhOEs → bLScLUyqbuPZ2hYp8Nd3L}/_ssgManifest.js
RENAMED
|
File without changes
|