orbital-command 1.0.1 → 1.1.1

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.
Files changed (62) hide show
  1. package/README.md +1 -1
  2. package/bin/commands/launch.js +0 -1
  3. package/bin/lib/helpers.js +1 -31
  4. package/bin/orbital.js +34 -32
  5. package/dist/assets/Landing-B6q9U0Vd.js +11 -0
  6. package/dist/assets/{PrimitivesConfig-DThSipFy.js → PrimitivesConfig-TlFvypvg.js} +9 -14
  7. package/dist/assets/{QualityGates-B4kxM5UU.js → QualityGates-D8uvclW4.js} +1 -1
  8. package/dist/assets/SessionTimeline-QUaJw6Aa.js +1 -0
  9. package/dist/assets/Settings-CAEnAZAk.js +12 -0
  10. package/dist/assets/{SourceControl-BMNIz7Lt.js → SourceControl-DPeSBaMV.js} +7 -12
  11. package/dist/assets/{WorkflowVisualizer-CxuSBOYu.js → WorkflowVisualizer-DHrIjx6W.js} +1 -1
  12. package/dist/assets/{arrow-down-DVPp6_qp.js → arrow-down-DnfKgF33.js} +1 -1
  13. package/dist/assets/{bot-NFaJBDn_.js → bot-DUPnHZfM.js} +1 -1
  14. package/dist/assets/{circle-x-IsFCkBZu.js → circle-x-B4nA79je.js} +1 -1
  15. package/dist/assets/{file-text-J1cebZXF.js → file-text-PnzRO4pO.js} +1 -1
  16. package/dist/assets/{globe-WzeyHsUc.js → globe-CIX_GBr0.js} +1 -1
  17. package/dist/assets/index-B-B-tTjw.css +1 -0
  18. package/dist/assets/index-DQVAzHMu.js +354 -0
  19. package/dist/assets/{key-CKR8JJSj.js → key-DpAZM-3d.js} +1 -1
  20. package/dist/assets/{minus-CHBsJyjp.js → minus-CJlpKNUB.js} +1 -1
  21. package/dist/assets/{radio-xqZaR-Uk.js → radio-DhynLcSx.js} +1 -1
  22. package/dist/assets/{rocket-D_xvvNG6.js → rocket-DnuQh3sF.js} +1 -1
  23. package/dist/assets/{shield-TdB1yv_a.js → shield-DLMQmvFQ.js} +1 -1
  24. package/dist/assets/{ui-BmsSg9jU.js → ui-QhrRH5wk.js} +6 -6
  25. package/dist/assets/{useSocketListener-0L5yiN5i.js → useSocketListener-DPrExNDV.js} +1 -1
  26. package/dist/assets/{useWorkflowEditor-CqeRWVQX.js → useWorkflowEditor-BxN7phfr.js} +2 -2
  27. package/dist/assets/{workflow-constants-Rw-GmgHZ.js → workflow-constants-ZcCN11vm.js} +1 -1
  28. package/dist/assets/{zap-C9wqYMpl.js → zap-eJ3z8HRI.js} +1 -1
  29. package/dist/index.html +3 -3
  30. package/dist/server/server/index.js +9 -10
  31. package/dist/server/server/launch.js +0 -3
  32. package/dist/server/server/routes/sync-routes.js +175 -0
  33. package/dist/server/server/services/telemetry-service.js +143 -0
  34. package/dist/server/server/wizard/detect.js +0 -79
  35. package/dist/server/server/wizard/index.js +43 -113
  36. package/dist/server/server/wizard/phases/setup-wizard.js +4 -34
  37. package/dist/server/server/wizard/types.js +3 -25
  38. package/dist/server/shared/workflow-presets.js +22 -0
  39. package/package.json +1 -1
  40. package/server/index.ts +7 -14
  41. package/server/launch.ts +0 -3
  42. package/server/routes/sync-routes.ts +205 -0
  43. package/server/wizard/detect.ts +1 -81
  44. package/server/wizard/index.ts +45 -146
  45. package/server/wizard/phases/setup-wizard.ts +7 -38
  46. package/server/wizard/types.ts +4 -45
  47. package/shared/workflow-presets.ts +28 -0
  48. package/templates/hooks/block-push.sh +16 -2
  49. package/templates/hooks/git-commit-guard.sh +3 -2
  50. package/dist/assets/Landing-CfQdHR0N.js +0 -11
  51. package/dist/assets/SessionTimeline-Bz1iZnmg.js +0 -1
  52. package/dist/assets/Settings-DLcZwbCT.js +0 -12
  53. package/dist/assets/index-BdJ57EhC.css +0 -1
  54. package/dist/assets/index-o4ScMAuR.js +0 -349
  55. package/dist/server/server/wizard/phases/confirm.js +0 -39
  56. package/dist/server/server/wizard/phases/project-setup.js +0 -90
  57. package/dist/server/server/wizard/phases/welcome.js +0 -32
  58. package/dist/server/server/wizard/phases/workflow-setup.js +0 -22
  59. package/server/wizard/phases/confirm.ts +0 -45
  60. package/server/wizard/phases/project-setup.ts +0 -106
  61. package/server/wizard/phases/welcome.ts +0 -39
  62. package/server/wizard/phases/workflow-setup.ts +0 -28
@@ -1,11 +0,0 @@
1
- import{j as e}from"./ui-BmsSg9jU.js";import{a as c}from"./vendor-Bqt8AJn2.js";import{c as ee,aX as j,aY as O,aZ as te,a_ as Ne,a$ as we,b0 as ne,b1 as ke,b2 as Se,b3 as se,b4 as Ee,b5 as ze,b6 as W,b7 as V,b8 as Le,b9 as N,ba as ie,bb as G,bc as Ce,bd as I,be as u,G as T,bf as Ie,f as ae,J as re,C as Y,bg as le,S as oe,aV as ce,U as Ae,L as de,E as Me}from"./index-o4ScMAuR.js";import{Z as ue}from"./zap-C9wqYMpl.js";import{B as me}from"./bot-NFaJBDn_.js";import{R as H}from"./rocket-D_xvvNG6.js";import{R as he}from"./radio-xqZaR-Uk.js";import"./charts-LGLb8hyU.js";/**
2
- * @license lucide-react v0.577.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const Re=[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]],fe=ee("command",Re);/**
7
- * @license lucide-react v0.577.0 - ISC
8
- *
9
- * This source code is licensed under the ISC license.
10
- * See the LICENSE file in the root directory of this source tree.
11
- */const Te=[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]],ge=ee("cpu",Te);function xe(t,n){let a;const s=()=>{const{currentTime:i}=n,l=(i===null?0:i.value)/100;a!==l&&t(l),a=l};return j.update(s,!0),()=>O(s)}const z=new WeakMap;let p;function Fe(t,n){if(n){const{inlineSize:a,blockSize:s}=n[0];return{width:a,height:s}}else return t instanceof SVGElement&&"getBBox"in t?t.getBBox():{width:t.offsetWidth,height:t.offsetHeight}}function Oe({target:t,contentRect:n,borderBoxSize:a}){var s;(s=z.get(t))===null||s===void 0||s.forEach(i=>{i({target:t,contentSize:n,get size(){return Fe(t,a)}})})}function We(t){t.forEach(Oe)}function Ve(){typeof ResizeObserver>"u"||(p=new ResizeObserver(We))}function He(t,n){p||Ve();const a=te(t);return a.forEach(s=>{let i=z.get(s);i||(i=new Set,z.set(s,i)),i.add(n),p==null||p.observe(s)}),()=>{a.forEach(s=>{const i=z.get(s);i==null||i.delete(n),i!=null&&i.size||p==null||p.unobserve(s)})}}const L=new Set;let w;function Be(){w=()=>{const t={width:window.innerWidth,height:window.innerHeight},n={target:window,size:t,contentSize:t};L.forEach(a=>a(n))},window.addEventListener("resize",w)}function Pe(t){return L.add(t),w||Be(),()=>{L.delete(t),!L.size&&w&&(w=void 0)}}function De(t,n){return typeof t=="function"?Pe(t):He(t,n)}const _e=50,$=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0}),Ge=()=>({time:0,x:$(),y:$()}),Ye={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function q(t,n,a,s){const i=a[n],{length:r,position:l}=Ye[n],o=i.current,m=a.time;i.current=t[`scroll${l}`],i.scrollLength=t[`scroll${r}`]-t[`client${r}`],i.offset.length=0,i.offset[0]=0,i.offset[1]=i.scrollLength,i.progress=Ne(0,i.scrollLength,i.current);const d=s-m;i.velocity=d>_e?0:we(i.current-o,d)}function $e(t,n,a){q(t,"x",n,a),q(t,"y",n,a),n.time=a}function qe(t,n){const a={x:0,y:0};let s=t;for(;s&&s!==n;)if(s instanceof HTMLElement)a.x+=s.offsetLeft,a.y+=s.offsetTop,s=s.offsetParent;else if(s.tagName==="svg"){const i=s.getBoundingClientRect();s=s.parentElement;const r=s.getBoundingClientRect();a.x+=i.left-r.left,a.y+=i.top-r.top}else if(s instanceof SVGGraphicsElement){const{x:i,y:r}=s.getBBox();a.x+=i,a.y+=r;let l=null,o=s.parentNode;for(;!l;)o.tagName==="svg"&&(l=o),o=s.parentNode;s=l}else break;return a}const F={start:0,center:.5,end:1};function X(t,n,a=0){let s=0;if(t in F&&(t=F[t]),typeof t=="string"){const i=parseFloat(t);t.endsWith("px")?s=i:t.endsWith("%")?t=i/100:t.endsWith("vw")?s=i/100*document.documentElement.clientWidth:t.endsWith("vh")?s=i/100*document.documentElement.clientHeight:t=i}return typeof t=="number"&&(s=n*t),a+s}const Xe=[0,0];function Ze(t,n,a,s){let i=Array.isArray(t)?t:Xe,r=0,l=0;return typeof t=="number"?i=[t,t]:typeof t=="string"&&(t=t.trim(),t.includes(" ")?i=t.split(" "):i=[t,F[t]?t:"0"]),r=X(i[0],a,s),l=X(i[1],n),r-l}const Ue={All:[[0,0],[1,1]]},Je={x:0,y:0};function Ke(t){return"getBBox"in t&&t.tagName!=="svg"?t.getBBox():{width:t.clientWidth,height:t.clientHeight}}function Qe(t,n,a){const{offset:s=Ue.All}=a,{target:i=t,axis:r="y"}=a,l=r==="y"?"height":"width",o=i!==t?qe(i,t):Je,m=i===t?{width:t.scrollWidth,height:t.scrollHeight}:Ke(i),d={width:t.clientWidth,height:t.clientHeight};n[r].offset.length=0;let h=!n[r].interpolate;const x=s.length;for(let f=0;f<x;f++){const _=Ze(s[f],d[l],m[l],o[r]);!h&&_!==n[r].interpolatorOffsets[f]&&(h=!0),n[r].offset[f]=_}h&&(n[r].interpolate=ne(n[r].offset,ke(s),{clamp:!1}),n[r].interpolatorOffsets=[...n[r].offset]),n[r].progress=Se(0,1,n[r].interpolate(n[r].current))}function et(t,n=t,a){if(a.x.targetOffset=0,a.y.targetOffset=0,n!==t){let s=n;for(;s&&s!==t;)a.x.targetOffset+=s.offsetLeft,a.y.targetOffset+=s.offsetTop,s=s.offsetParent}a.x.targetLength=n===t?n.scrollWidth:n.clientWidth,a.y.targetLength=n===t?n.scrollHeight:n.clientHeight,a.x.containerLength=t.clientWidth,a.y.containerLength=t.clientHeight}function tt(t,n,a,s={}){return{measure:()=>et(t,s.target,a),update:i=>{$e(t,a,i),(s.offset||s.target)&&Qe(t,a,s)},notify:()=>n(a)}}const v=new WeakMap,Z=new WeakMap,A=new WeakMap,U=t=>t===document.documentElement?window:t;function B(t,{container:n=document.documentElement,...a}={}){let s=A.get(n);s||(s=new Set,A.set(n,s));const i=Ge(),r=tt(n,t,i,a);if(s.add(r),!v.has(n)){const o=()=>{for(const f of s)f.measure()},m=()=>{for(const f of s)f.update(se.timestamp)},d=()=>{for(const f of s)f.notify()},h=()=>{j.read(o,!1,!0),j.read(m,!1,!0),j.update(d,!1,!0)};v.set(n,h);const x=U(n);window.addEventListener("resize",h,{passive:!0}),n!==document.documentElement&&Z.set(n,De(n,h)),x.addEventListener("scroll",h,{passive:!0})}const l=v.get(n);return j.read(l,!1,!0),()=>{var o;O(l);const m=A.get(n);if(!m||(m.delete(r),m.size))return;const d=v.get(n);v.delete(n),d&&(U(n).removeEventListener("scroll",d),(o=Z.get(n))===null||o===void 0||o(),window.removeEventListener("resize",d))}}function nt({source:t,container:n,axis:a="y"}){t&&(n=t);const s={value:0},i=B(r=>{s.value=r[a].progress*100},{container:n,axis:a});return{currentTime:s,cancel:i}}const M=new Map;function pe({source:t,container:n=document.documentElement,axis:a="y"}={}){t&&(n=t),M.has(n)||M.set(n,{});const s=M.get(n);return s[a]||(s[a]=ze()?new ScrollTimeline({source:n,axis:a}):nt({source:n,axis:a})),s[a]}function st(t){return t.length===2}function je(t){return t&&(t.target||t.offset)}function it(t,n){return st(t)||je(n)?B(a=>{t(a[n.axis].progress,a)},n):xe(t,pe(n))}function at(t,n){if(t.flatten(),je(n))return t.pause(),B(a=>{t.time=t.duration*a[n.axis].progress},n);{const a=pe(n);return t.attachTimeline?t.attachTimeline(a,s=>(s.pause(),xe(i=>{s.time=s.duration*i},a))):Ee}}function rt(t,{axis:n="y",...a}={}){const s={axis:n,...a};return typeof t=="function"?it(t,s):at(t,s)}function J(t,n){Le(!!(!n||n.current))}const lt=()=>({scrollX:N(0),scrollY:N(0),scrollXProgress:N(0),scrollYProgress:N(0)});function P({container:t,target:n,layoutEffect:a=!0,...s}={}){const i=W(lt);return(a?V:c.useEffect)(()=>(J("target",n),J("container",t),rt((l,{x:o,y:m})=>{i.scrollX.set(o.current),i.scrollXProgress.set(o.progress),i.scrollY.set(m.current),i.scrollYProgress.set(m.progress)},{...s,container:(t==null?void 0:t.current)||void 0,target:(n==null?void 0:n.current)||void 0})),[t,n,JSON.stringify(s.offset)]),i}function ye(t){const n=W(()=>N(t)),{isStatic:a}=c.useContext(ie);if(a){const[,s]=c.useState(t);c.useEffect(()=>n.on("change",s),[])}return n}function be(t,n){const a=ye(n()),s=()=>a.set(n());return s(),V(()=>{const i=()=>j.preRender(s,!1,!0),r=t.map(l=>l.on("change",i));return()=>{r.forEach(l=>l()),O(s)}}),a}function K(t){return typeof t=="number"?t:parseFloat(t)}function ot(t,n={}){const{isStatic:a}=c.useContext(ie),s=c.useRef(null),i=ye(G(t)?K(t.get()):t),r=c.useRef(i.get()),l=c.useRef(()=>{}),o=()=>{const d=s.current;d&&d.time===0&&d.sample(se.delta),m(),s.current=Ce({keyframes:[i.get(),r.current],velocity:i.getVelocity(),type:"spring",restDelta:.001,restSpeed:.01,...n,onUpdate:l.current})},m=()=>{s.current&&s.current.stop()};return c.useInsertionEffect(()=>i.attach((d,h)=>a?h(d):(r.current=d,l.current=h,j.update(o),i.get()),m),[JSON.stringify(n)]),V(()=>{if(G(t))return t.on("change",d=>i.set(K(d)))},[i]),i}const ct=t=>t&&typeof t=="object"&&t.mix,dt=t=>ct(t)?t.mix:void 0;function ut(...t){const n=!Array.isArray(t[0]),a=n?0:-1,s=t[0+a],i=t[1+a],r=t[2+a],l=t[3+a],o=ne(i,r,{mixer:dt(r[0]),...l});return n?o(s):o}function mt(t){I.current=[],t();const n=be(I.current,t);return I.current=void 0,n}function C(t,n,a,s){if(typeof t=="function")return mt(t);const i=typeof n=="function"?n:ut(n,a,s);return Array.isArray(t)?Q(t,i):Q([t],([r])=>i(r))}function Q(t,n){const a=W(()=>[]);return be(t,()=>{a.length=0;const s=t.length;for(let i=0;i<s;i++)a[i]=t[i].get();return n(a)})}const ht={some:0,all:1};function ft(t,n,{root:a,margin:s,amount:i="some"}={}){const r=te(t),l=new WeakMap,o=d=>{d.forEach(h=>{const x=l.get(h.target);if(h.isIntersecting!==!!x)if(h.isIntersecting){const f=n(h);typeof f=="function"?l.set(h.target,f):m.unobserve(h.target)}else typeof x=="function"&&(x(h),l.delete(h.target))})},m=new IntersectionObserver(o,{root:a,rootMargin:s,threshold:typeof i=="number"?i:ht[i]});return r.forEach(d=>m.observe(d)),()=>m.disconnect()}function ve(t,{root:n,margin:a,amount:s,once:i=!1}={}){const[r,l]=c.useState(!1);return c.useEffect(()=>{if(!t.current||i&&r)return;const o=()=>(l(!0),i?void 0:()=>l(!1)),m={root:n&&n.current||void 0,margin:a,amount:s};return ft(t.current,o,m)},[n,t,a,i,s]),r}const y=[.25,.46,.45,.94];function D(t,n=1500){const a=ve(t,{once:!0,amount:"some"}),[s,i]=c.useState(!1);return c.useEffect(()=>{const r=setTimeout(()=>i(!0),n);return()=>clearTimeout(r)},[n]),a||s}function g({children:t,delay:n=0,className:a=""}){const s=c.useRef(null),i=D(s);return e.jsx(u.div,{ref:s,initial:{opacity:0,y:48},animate:i?{opacity:1,y:0}:{},transition:{duration:.8,delay:n,ease:y},className:a,children:t})}function gt({children:t,delay:n=0,className:a=""}){const s=c.useRef(null),i=D(s);return e.jsx(u.div,{ref:s,initial:{opacity:0,scale:.85},animate:i?{opacity:1,scale:1}:{},transition:{duration:.7,delay:n,ease:y},className:a,children:t})}function k({children:t,delay:n=0,direction:a="left",className:s=""}){const i=c.useRef(null),r=D(i),l=a==="left"?-80:80;return e.jsx(u.div,{ref:i,initial:{opacity:0,x:l},animate:r?{opacity:1,x:0}:{},transition:{duration:.8,delay:n,ease:y},className:s,children:t})}function xt({text:t,className:n=""}){const a=t.split(" ");return e.jsx("span",{className:n,children:a.map((s,i)=>e.jsxs(c.Fragment,{children:[e.jsx(u.span,{initial:{opacity:0,y:40,filter:"blur(8px)"},animate:{opacity:1,y:0,filter:"blur(0px)"},transition:{duration:.6,delay:.15+i*.12,ease:y},className:"inline-block",children:s})," "]},i))})}function pt(){return e.jsxs("div",{className:"landing-orbital-rings",children:[e.jsxs(u.div,{className:"landing-ring landing-ring-1",animate:{rotate:360},transition:{duration:30,repeat:1/0,ease:"linear"},children:[e.jsx("div",{className:"landing-ring-dot",style:{top:"0%",left:"50%"}}),e.jsx("div",{className:"landing-ring-dot",style:{bottom:"0%",left:"50%"}})]}),e.jsx(u.div,{className:"landing-ring landing-ring-2",animate:{rotate:-360},transition:{duration:45,repeat:1/0,ease:"linear"},children:e.jsx("div",{className:"landing-ring-dot landing-ring-dot-pink",style:{top:"50%",right:"0%"}})}),e.jsxs(u.div,{className:"landing-ring landing-ring-3",animate:{rotate:360},transition:{duration:60,repeat:1/0,ease:"linear"},children:[e.jsx("div",{className:"landing-ring-dot landing-ring-dot-green",style:{top:"10%",left:"15%"}}),e.jsx("div",{className:"landing-ring-dot",style:{bottom:"15%",right:"10%"}})]}),e.jsx("div",{className:"landing-center-glow"})]})}const jt=Array.from({length:30},(t,n)=>({id:n,x:Math.random()*100,y:Math.random()*100,size:1+Math.random()*2,duration:15+Math.random()*25,delay:Math.random()*10}));function yt(){return e.jsx("div",{className:"absolute inset-0 overflow-hidden pointer-events-none",children:jt.map(t=>e.jsx(u.div,{className:"absolute rounded-full",style:{left:`${t.x}%`,top:`${t.y}%`,width:t.size,height:t.size,background:t.id%3===0?"rgba(0, 188, 212, 0.5)":t.id%3===1?"rgba(233, 30, 99, 0.4)":"rgba(255, 255, 255, 0.2)"},animate:{y:[-20,20,-20],x:[-10,10,-10],opacity:[.2,.7,.2]},transition:{duration:t.duration,delay:t.delay,repeat:1/0,ease:"easeInOut"}},t.id))})}function bt({value:t,suffix:n=""}){const[a,s]=c.useState(0);return c.useEffect(()=>{if(t===0)return;const i=setTimeout(()=>{const l=performance.now();function o(m){const d=m-l,h=Math.min(d/1500,1),x=1-Math.pow(1-h,3);s(Math.round(x*t)),h<1&&requestAnimationFrame(o)}requestAnimationFrame(o)},800);return()=>clearTimeout(i)},[t]),e.jsxs("span",{children:[a,n]})}function vt(){const{scrollYProgress:t}=P(),n=ot(t,{stiffness:100,damping:30});return e.jsx(u.div,{className:"fixed top-0 left-0 right-0 h-[2px] z-50 origin-left",style:{scaleX:n,background:"linear-gradient(90deg, #00bcd4, #e91e63, #00bcd4)"}})}function Nt(){const[t,n]=c.useState(!1);return c.useEffect(()=>{const a=()=>n(window.scrollY>50);return window.addEventListener("scroll",a,{passive:!0}),()=>window.removeEventListener("scroll",a)},[]),e.jsx(u.nav,{className:`fixed top-0 left-0 right-0 z-40 transition-all duration-500 ${t?"landing-nav-scrolled":"landing-nav-transparent"}`,initial:{y:-80},animate:{y:0},transition:{duration:.6,ease:y},children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6 h-16 flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"landing-nav-logo",children:e.jsx(fe,{size:20,className:"text-[#00bcd4]"})}),e.jsx("span",{className:"text-base font-semibold tracking-tight text-white",children:"Orbital Command"})]}),e.jsxs("div",{className:"hidden md:flex items-center gap-8",children:[e.jsx("a",{href:"#features",className:"text-sm text-white/60 hover:text-white transition-colors",children:"Features"}),e.jsx("a",{href:"#how-it-works",className:"text-sm text-white/60 hover:text-white transition-colors",children:"How It Works"}),e.jsx("a",{href:"#architecture",className:"text-sm text-white/60 hover:text-white transition-colors",children:"Architecture"}),e.jsxs("a",{href:"https://github.com/SakaraLabs/orbital-command",target:"_blank",rel:"noopener noreferrer",className:"landing-nav-cta",children:[e.jsx(T,{size:14}),"GitHub"]})]})]})})}function wt(){const t=c.useRef(null),{scrollYProgress:n}=P({target:t,offset:["start start","end start"]}),a=C(n,[0,1],[0,200]),s=C(n,[0,.6],[1,0]),i=C(n,[0,1],[0,100]);return e.jsxs(e.Fragment,{children:[e.jsxs("section",{ref:t,className:"landing-hero",children:[e.jsx("div",{className:"landing-hero-orb landing-hero-orb-1"}),e.jsx("div",{className:"landing-hero-orb landing-hero-orb-2"}),e.jsx("div",{className:"landing-hero-orb landing-hero-orb-3"}),e.jsxs(u.div,{className:"landing-hero-content",style:{y:a,opacity:s},children:[e.jsxs(u.div,{className:"landing-badge",initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},transition:{duration:.5,delay:.1},children:[e.jsx(Ie,{size:14,className:"text-[#00bcd4]"}),e.jsx("span",{children:"Mission control for Claude Code"})]}),e.jsxs("h1",{className:"landing-headline",children:[e.jsx(xt,{text:"Command your"}),e.jsx("br",{}),e.jsx(u.span,{className:"landing-headline-gradient",initial:{opacity:0,y:40},animate:{opacity:1,y:0},transition:{duration:.7,delay:.5,ease:y},children:"AI fleet."})]}),e.jsxs(u.p,{className:"landing-subtitle",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.7,delay:.8},children:["Real-time project management dashboard for Claude Code.",e.jsx("br",{className:"hidden sm:block"}),"Kanban boards, sprint orchestration, quality gates, and deploy pipelines",e.jsx("br",{className:"hidden sm:block"}),"— all driven by a file-based event bus."]}),e.jsxs(u.div,{className:"landing-cta-row",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.7,delay:1},children:[e.jsxs("a",{href:"https://github.com/SakaraLabs/orbital-command",target:"_blank",rel:"noopener noreferrer",className:"landing-cta-primary group",children:[e.jsx(ae,{size:18}),"Get Started",e.jsx(re,{size:16,className:"ml-1 transition-transform group-hover:translate-x-1"})]}),e.jsxs("a",{href:"#features",className:"landing-cta-secondary",children:["See Features",e.jsx(Y,{size:16})]})]}),e.jsx(u.div,{className:"landing-install",initial:{opacity:0},animate:{opacity:1},transition:{duration:.6,delay:1.3},children:e.jsx("code",{children:"npm install orbital-command"})})]}),e.jsx(u.div,{className:"landing-hero-visual",initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},transition:{duration:1.2,delay:.5,ease:y},style:{y:i},children:e.jsx(pt,{})}),e.jsx(u.div,{className:"landing-scroll-indicator",animate:{y:[0,8,0]},transition:{duration:2,repeat:1/0,ease:"easeInOut"},children:e.jsx(Y,{size:20,className:"text-white/30"})})]}),e.jsx("section",{className:"landing-stats",children:e.jsx("div",{className:"landing-stats-inner",children:[{value:7,suffix:"",label:"Dashboard Views"},{value:100,suffix:"%",label:"File-Based"},{value:0,suffix:"",label:"Lock-in",staticText:"0"},{label:"Real-time Sync",staticText:"RT"}].map((r,l)=>e.jsxs("div",{className:"contents",children:[l>0&&e.jsx("div",{className:"landing-stat-divider"}),e.jsxs("div",{className:"landing-stat",children:[e.jsx("span",{className:"landing-stat-value",children:r.staticText??e.jsx(bt,{value:r.value,suffix:r.suffix})}),e.jsx("span",{className:"landing-stat-label",children:r.label})]})]},r.label))})})]})}const kt={cyan:{glow:"rgba(0,188,212,0.15)",border:"rgba(0,188,212,0.3)",text:"#00bcd4"},pink:{glow:"rgba(233,30,99,0.15)",border:"rgba(233,30,99,0.3)",text:"#e91e63"},green:{glow:"rgba(0,230,118,0.15)",border:"rgba(0,230,118,0.3)",text:"#00e676"},amber:{glow:"rgba(255,171,0,0.15)",border:"rgba(255,171,0,0.3)",text:"#ffab00"},purple:{glow:"rgba(117,109,158,0.2)",border:"rgba(117,109,158,0.4)",text:"#9c8fd4"}};function b({icon:t,title:n,description:a,color:s,delay:i=0}){const r=kt[s];return e.jsx(g,{delay:i,children:e.jsxs(u.div,{className:"landing-feature-card group",whileHover:{y:-8,transition:{duration:.3}},children:[e.jsx("div",{className:"landing-feature-icon-wrap",style:{background:r.glow,borderColor:r.border},children:e.jsx(t,{size:24,style:{color:r.text}})}),e.jsx("h3",{className:"landing-feature-title",children:n}),e.jsx("p",{className:"landing-feature-desc",children:a}),e.jsx("div",{className:"landing-feature-glow",style:{background:`radial-gradient(ellipse at center, ${r.glow}, transparent 70%)`}})]})})}function St(){return e.jsx("section",{id:"features",className:"landing-section",children:e.jsxs("div",{className:"landing-section-inner",children:[e.jsx(g,{children:e.jsx("p",{className:"landing-section-tag",children:"Features"})}),e.jsx(g,{delay:.1,children:e.jsxs("h2",{className:"landing-section-title",children:["Everything you need to",e.jsx("br",{})," ",e.jsx("span",{className:"landing-gradient-text",children:"orchestrate AI agents."})]})}),e.jsx(g,{delay:.2,children:e.jsx("p",{className:"landing-section-desc",children:"A complete mission control system that turns Claude Code sessions into observable, manageable workflows with real-time feedback."})}),e.jsxs("div",{className:"landing-features-grid",children:[e.jsx(b,{icon:le,title:"Visual Kanban",description:"Drag-and-drop scope cards across workflow columns. Real-time status updates as Claude agents work through tasks.",color:"cyan",delay:0}),e.jsx(b,{icon:ue,title:"Sprint Orchestration",description:"Batch scopes into sprints with automatic sequencing, dependency resolution, and parallel execution across agents.",color:"pink",delay:.08}),e.jsx(b,{icon:oe,title:"Quality Gates",description:"Enforce standards with configurable gates — typecheck, lint, test, build. Auto-block deployments that fail checks.",color:"green",delay:.16}),e.jsx(b,{icon:ce,title:"Workflow DAG Editor",description:"Visual directed acyclic graph editor for custom workflows. Define columns, transitions, hooks, and inference rules.",color:"purple",delay:.08}),e.jsx(b,{icon:me,title:"Agent Feed",description:"Live stream of all Claude Code events across every session. Filter by agent, scope, or event type. Full audit trail.",color:"amber",delay:.16}),e.jsx(b,{icon:H,title:"Deploy Pipeline",description:"Multi-stage deployment visualization from dev to staging to production. Rollback controls and promotion gates.",color:"cyan",delay:.24})]})]})})}const S=({color:t,children:n})=>e.jsx("span",{style:{color:t},children:n}),E=[{elements:e.jsx(e.Fragment,{children:"$ orbital"}),delay:400},{elements:e.jsx(e.Fragment,{children:" Scaffolding hooks, skills, and agents..."}),delay:800},{elements:e.jsx(e.Fragment,{children:" Writing .claude/hooks/on-scope-change.sh"}),delay:200},{elements:e.jsx(e.Fragment,{children:" Writing .claude/hooks/on-quality-gate.sh"}),delay:200},{elements:e.jsx(e.Fragment,{children:" Creating orbital.config.json"}),delay:300},{elements:e.jsxs(e.Fragment,{children:[" ",e.jsx(S,{color:"#00e676",children:"✓"})," Orbital Command initialized"]}),delay:600},{elements:e.jsx(e.Fragment,{children:" "}),delay:300},{elements:e.jsx(e.Fragment,{children:" Launching dashboard..."}),delay:500},{elements:e.jsx(e.Fragment,{children:" Server running on http://localhost:4444"}),delay:400},{elements:e.jsx(e.Fragment,{children:" Client running on http://localhost:4445"}),delay:200},{elements:e.jsxs(e.Fragment,{children:[" ",e.jsx(S,{color:"#00bcd4",children:"◉"})," Watching scopes/ for changes..."]}),delay:300},{elements:e.jsxs(e.Fragment,{children:[" ",e.jsx(S,{color:"#00bcd4",children:"◉"})," Watching .claude/orbital-events/ for events..."]}),delay:200},{elements:e.jsxs(e.Fragment,{children:[" ",e.jsx(S,{color:"#00e676",children:"✓"})," Dashboard ready — mission control is live"]}),delay:0}];function Et(){const t=c.useRef(null),n=ve(t,{once:!0,amount:.1}),[a,s]=c.useState(0);return c.useEffect(()=>{if(!n)return;let i,r=0;function l(){r>=E.length||(s(r+1),r++,r<E.length&&(i=setTimeout(l,E[r].delay)))}return i=setTimeout(l,600),()=>clearTimeout(i)},[n]),e.jsxs("div",{ref:t,className:"landing-terminal",children:[e.jsxs("div",{className:"landing-terminal-header",children:[e.jsx("div",{className:"landing-terminal-dot landing-terminal-dot-red"}),e.jsx("div",{className:"landing-terminal-dot landing-terminal-dot-yellow"}),e.jsx("div",{className:"landing-terminal-dot landing-terminal-dot-green"}),e.jsx("span",{className:"landing-terminal-title",children:"orbital-command"})]}),e.jsxs("div",{className:"landing-terminal-body",children:[E.slice(0,a).map((i,r)=>e.jsx(u.div,{initial:{opacity:0,x:-8},animate:{opacity:1,x:0},transition:{duration:.3},className:"landing-terminal-line",children:i.elements},r)),e.jsx(u.span,{className:"landing-terminal-cursor",animate:{opacity:[1,0,1]},transition:{duration:1,repeat:1/0},children:"▌"})]})]})}const zt=[{label:"Kanban Board",gradient:"from-cyan-500/20 to-blue-500/20",icon:le},{label:"Quality Gates",gradient:"from-green-500/20 to-emerald-500/20",icon:oe},{label:"Workflow DAG",gradient:"from-purple-500/20 to-pink-500/20",icon:ce},{label:"Agent Feed",gradient:"from-pink-500/20 to-red-500/20",icon:me},{label:"Sprint View",gradient:"from-amber-500/20 to-orange-500/20",icon:ue},{label:"Deploy Pipeline",gradient:"from-cyan-500/20 to-teal-500/20",icon:H}];function Lt(){const t=c.useRef(null),{scrollYProgress:n}=P({target:t,offset:["start end","end start"]}),a=C(n,[0,1],["5%","-15%"]);return e.jsxs("section",{className:"landing-section-full",children:[e.jsxs(g,{className:"text-center mb-12",children:[e.jsx("p",{className:"landing-section-tag",children:"Dashboard"}),e.jsxs("h2",{className:"landing-section-title",children:["Six views. ",e.jsx("span",{className:"landing-gradient-text",children:"One command center."})]})]}),e.jsx("div",{ref:t,className:"overflow-hidden py-8",children:e.jsx(u.div,{className:"flex gap-6 px-8",style:{x:a},children:zt.map(s=>e.jsxs(u.div,{className:`landing-showcase-card bg-gradient-to-br ${s.gradient}`,whileHover:{scale:1.03},transition:{duration:.3},children:[e.jsx(s.icon,{size:48,className:"text-white/30 mb-4"}),e.jsx("span",{className:"text-lg font-medium text-white/80",children:s.label})]},s.label))})})]})}function R({number:t,title:n,description:a,icon:s,delay:i}){return e.jsxs(g,{delay:i,className:"landing-step",children:[e.jsx("div",{className:"landing-step-number",children:t}),e.jsx("div",{className:"landing-step-icon",children:e.jsx(s,{size:28})}),e.jsx("h3",{className:"text-lg font-semibold text-white mt-4 mb-2",children:n}),e.jsx("p",{className:"text-sm text-white/50 leading-relaxed",children:a})]})}const Ct=[{label:"Frontend",sub:"React + Vite + Tailwind",color:"#00bcd4",icon:Me},{label:"Real-time",sub:"Socket.io Push",color:"#e91e63",icon:he},{label:"API",sub:"Express REST",color:"#ffab00",icon:de},{label:"Engine",sub:"Workflow + Events",color:"#00e676",icon:ge}];function It(){return e.jsx("div",{className:"landing-arch-stack",children:Ct.map(t=>e.jsxs(u.div,{className:"landing-arch-layer",whileHover:{x:8,transition:{duration:.2}},style:{borderLeftColor:t.color},children:[e.jsx("div",{className:"landing-arch-icon",style:{color:t.color},children:e.jsx(t.icon,{size:20})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-semibold text-white",children:t.label}),e.jsx("div",{className:"text-xs text-white/40",children:t.sub})]})]},t.label))})}function Ht(){return e.jsxs("div",{className:"landing-root",children:[e.jsx(vt,{}),e.jsx(Nt,{}),e.jsx(yt,{}),e.jsx(wt,{}),e.jsx(St,{}),e.jsx(Lt,{}),e.jsx("section",{id:"how-it-works",className:"landing-section",children:e.jsxs("div",{className:"landing-section-inner",children:[e.jsx(g,{children:e.jsx("p",{className:"landing-section-tag",children:"How It Works"})}),e.jsx(g,{delay:.1,children:e.jsxs("h2",{className:"landing-section-title",children:["Three steps to",e.jsx("br",{})," ",e.jsx("span",{className:"landing-gradient-text",children:"mission control."})]})}),e.jsxs("div",{className:"landing-steps-grid",children:[e.jsx(R,{number:"01",title:"Initialize",description:"Run orbital in your project. The setup wizard scaffolds hooks, skills, agents, and config into your .claude/ directory. Zero lock-in — everything is plain files.",icon:ae,delay:0}),e.jsx(R,{number:"02",title:"Define Scopes",description:"Write markdown files with YAML frontmatter in scopes/. Each scope is a task card — title, status, category, priority, assignee. Claude reads and updates them.",icon:T,delay:.15}),e.jsx(R,{number:"03",title:"Launch",description:"Select Launch from the hub menu and open the dashboard. Watch your AI fleet in real-time as Claude agents pick up scopes, emit events, and progress through your workflow.",icon:H,delay:.3})]})]})}),e.jsx("section",{className:"landing-section",children:e.jsx("div",{className:"landing-section-inner",children:e.jsxs("div",{className:"landing-split",children:[e.jsxs(k,{direction:"left",className:"flex-1 min-w-0",children:[e.jsx("p",{className:"landing-section-tag",children:"Developer Experience"}),e.jsxs("h2",{className:"landing-section-title text-left",children:["Get running in",e.jsx("br",{})," ",e.jsx("span",{className:"landing-gradient-text",children:"under a minute."})]}),e.jsx("p",{className:"landing-section-desc text-left mt-4",children:"One command to scaffold. One command to launch. File-based architecture means everything is inspectable, versionable, and customizable."}),e.jsxs("div",{className:"landing-dx-features",children:[e.jsxs("div",{className:"landing-dx-item",children:[e.jsx(Ae,{size:16,className:"text-[#00bcd4]"}),e.jsx("span",{children:"Zero-config setup"})]}),e.jsxs("div",{className:"landing-dx-item",children:[e.jsx(de,{size:16,className:"text-[#e91e63]"}),e.jsx("span",{children:"File-based event bus"})]}),e.jsxs("div",{className:"landing-dx-item",children:[e.jsx(he,{size:16,className:"text-[#00e676]"}),e.jsx("span",{children:"Real-time Socket.io sync"})]}),e.jsxs("div",{className:"landing-dx-item",children:[e.jsx(ge,{size:16,className:"text-[#ffab00]"}),e.jsx("span",{children:"SQLite persistence"})]})]})]}),e.jsx(k,{direction:"right",className:"flex-1 min-w-0",children:e.jsx(Et,{})})]})})}),e.jsx("section",{id:"architecture",className:"landing-section",children:e.jsx("div",{className:"landing-section-inner",children:e.jsxs("div",{className:"landing-split",children:[e.jsxs(k,{direction:"left",className:"flex-1 min-w-0",children:[e.jsx("p",{className:"landing-section-tag",children:"Architecture"}),e.jsxs("h2",{className:"landing-section-title text-left",children:["Built on",e.jsx("br",{})," ",e.jsx("span",{className:"landing-gradient-text",children:"open primitives."})]}),e.jsx("p",{className:"landing-section-desc text-left mt-4",children:"Markdown files are tasks. JSON files are events. The workflow engine is pure TypeScript with zero I/O. Everything is observable and hackable."})]}),e.jsx(k,{direction:"right",className:"flex-1 min-w-0",children:e.jsx(It,{})})]})})}),e.jsxs("section",{className:"landing-final-cta",children:[e.jsx("div",{className:"landing-final-cta-bg"}),e.jsxs("div",{className:"relative z-10 max-w-3xl mx-auto text-center px-6",children:[e.jsx(gt,{children:e.jsxs("h2",{className:"landing-final-headline",children:["Ready for",e.jsx("br",{})," ",e.jsx("span",{className:"landing-gradient-text",children:"liftoff?"})]})}),e.jsx(g,{delay:.2,children:e.jsx("p",{className:"text-lg text-white/50 mb-10 leading-relaxed",children:"Install Orbital Command and take control of your AI-powered development workflow. Open source. Zero lock-in. Fully extensible."})}),e.jsx(g,{delay:.4,children:e.jsxs("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4",children:[e.jsxs("a",{href:"https://github.com/SakaraLabs/orbital-command",target:"_blank",rel:"noopener noreferrer",className:"landing-cta-primary group text-base px-8 py-4",children:[e.jsx(T,{size:18}),"View on GitHub",e.jsx(re,{size:16,className:"ml-1 transition-transform group-hover:translate-x-1"})]}),e.jsx("div",{className:"landing-install",children:e.jsx("code",{children:"npm install orbital-command"})})]})})]})]}),e.jsx("footer",{className:"landing-footer",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-6 flex flex-col sm:flex-row items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(fe,{size:16,className:"text-[#00bcd4]"}),e.jsx("span",{className:"text-sm text-white/40",children:"Orbital Command"})]}),e.jsxs("div",{className:"flex items-center gap-6",children:[e.jsx("a",{href:"https://github.com/SakaraLabs/orbital-command",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-white/30 hover:text-white/60 transition-colors",children:"GitHub"}),e.jsx("span",{className:"text-xs text-white/20",children:"MIT License"})]})]})})]})}export{Ht as Landing,Ht as default};
@@ -1 +0,0 @@
1
- import{j as e}from"./ui-BmsSg9jU.js";import{a as d}from"./vendor-Bqt8AJn2.js";import{q,ai as J,s as B,w as K,U as D,B as y,g as F,a as T,a9 as b,aj as E,ak as U,a7 as V,h as W,f as Q}from"./index-o4ScMAuR.js";import{F as X}from"./file-text-J1cebZXF.js";import"./charts-LGLb8hyU.js";const Y={createScope:"Created",reviewScope:"Reviewed",implementScope:"Implemented",verifyScope:"Verified",reviewGate:"Review Gate",fixReview:"Fix Review",commit:"Committed",pushToMain:"Pushed to Main",pushToDev:"Pushed to Dev",pushToStaging:"PR to Staging",pushToProduction:"PR to Production"};function z(s){return Y[s]??s}function ie(){const{activeProjectId:s,getApiBase:t}=q(),[n,o]=d.useState([]),[c,x]=d.useState(!0),[a,m]=d.useState(null),[r,j]=d.useState(null),[w,u]=d.useState(!1),[S,h]=d.useState(!1),v=d.useRef(),[R,_]=d.useState({}),{neonGlass:G}=J(),M=d.useCallback(async()=>{try{const l=await fetch("/api/orbital/aggregate/sessions");if(!l.ok)return;const p=await l.json(),g={};for(const A of p)A.project_id&&(g[A.project_id]=(g[A.project_id]??0)+1);_(g)}catch{}},[]);d.useEffect(()=>{M()},[M]);const k=d.useCallback(async()=>{try{const l=s?`${t(s)}/sessions`:"/api/orbital/aggregate/sessions",p=await fetch(l);p.ok&&o(await p.json())}catch{}finally{x(!1)}},[s,t]);d.useEffect(()=>{k()},[k]),d.useEffect(()=>{const l=()=>{k(),M()};return B.on("session:updated",l),()=>{B.off("session:updated",l)}},[k,M]);const f=n,$=d.useCallback(async l=>{m(l),j(null),u(!0);try{const p=t(l.project_id??s),g=await fetch(`${p}/sessions/${l.id}/content`);g.ok&&j(await g.json())}catch{}finally{u(!1)}},[t]);d.useEffect(()=>{a&&!f.some(l=>l.id===a.id)&&(m(null),j(null))},[f,a]),d.useEffect(()=>{!a&&f.length>0&&$(f[0])},[f,a,$]);const H=d.useCallback(async()=>{const l=r==null?void 0:r.claude_session_id;if(!(!a||!l)){h(!0);try{const p=t(a.project_id??s);await fetch(`${p}/sessions/${a.id}/resume`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({claude_session_id:l})})}catch{}finally{v.current=setTimeout(()=>h(!1),2e3)}}},[a,r,t]);d.useEffect(()=>()=>{clearTimeout(v.current)},[]);const O=!c&&f.length>0;return e.jsxs("div",{className:"flex flex-1 min-h-0 flex-col",children:[e.jsx(K,{countOverrides:R}),e.jsxs("div",{className:"mb-4 flex items-center gap-3",children:[e.jsx(D,{className:"h-4 w-4 text-primary"}),e.jsx("h1",{className:"text-xl font-light",children:"Sessions"}),!c&&e.jsxs(y,{variant:"secondary",children:[f.length," sessions"]})]}),e.jsxs("div",{className:"flex flex-1 gap-0 overflow-hidden rounded-lg border border-border/50",children:[e.jsx("div",{className:"w-[40%] border-r border-border/50 overflow-hidden",children:c?e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx("div",{className:"h-6 w-6 animate-spin rounded-full border-2 border-primary border-t-transparent"})}):O?e.jsx(F,{className:"h-full",children:e.jsxs("div",{className:"relative p-3",children:[e.jsx("div",{className:"absolute left-6 top-[29px] bottom-3 w-px bg-border"}),e.jsx("div",{className:"space-y-1",children:f.map(l=>e.jsx(Z,{session:l,isSelected:(a==null?void 0:a.id)===l.id,neonGlass:G,onClick:()=>$(l)},l.id))})]})}):e.jsx("div",{className:"flex h-full items-center justify-center p-4",children:e.jsxs("div",{className:"text-center",children:[e.jsx(D,{className:"mx-auto mb-3 h-8 w-8 text-muted-foreground/30"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"No session history yet."})]})})}),e.jsx("div",{className:"w-[60%] overflow-hidden",children:a?e.jsx(ee,{session:a,detail:r,loading:w,resuming:S,onResume:H}):e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsxs("div",{className:"text-center",children:[e.jsx(D,{className:"mx-auto mb-3 h-8 w-8 text-muted-foreground/30"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:c?"":O?"Select a session to view details":""})]})})})]})]})}function Z({session:s,isSelected:t,neonGlass:n,onClick:o}){var m;const c=s.scope_ids,x=Array.isArray(s.discoveries)?s.discoveries:[],a=Array.isArray(s.next_steps)?s.next_steps:[];return e.jsxs("div",{className:"relative pl-8 cursor-pointer",onClick:o,children:[e.jsx("div",{className:T("absolute left-[8px] top-3 h-2.5 w-2.5 rounded-full border-2",t?"border-primary bg-primary":"border-muted-foreground/40 bg-background",n&&"timeline-dot-glow glow-blue")}),e.jsxs("div",{className:T("rounded-md px-3 py-2 transition-colors",t?"bg-primary/10 border border-primary/30":"hover:bg-muted/50"),children:[e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[s.started_at&&e.jsx("span",{className:"text-xxs text-muted-foreground",children:b(new Date(s.started_at),"MMM d")}),c.slice(0,3).map(r=>e.jsx(y,{variant:"outline",className:"font-mono text-xxs px-1 py-0",children:E(r)},r)),c.length>3&&e.jsxs("span",{className:"text-xxs text-muted-foreground",children:["+",c.length-3]}),(m=s.actions)==null?void 0:m.slice(0,2).map(r=>e.jsx(y,{variant:"secondary",className:"text-xxs px-1 py-0 font-light",children:z(r)},r))]}),e.jsx("p",{className:T("mt-0.5 text-xs font-normal truncate",t?"text-foreground":"text-foreground/80"),children:s.summary?P(s.summary,80):"Untitled Session"}),e.jsxs("div",{className:"mt-1 flex items-center gap-3 text-xxs text-muted-foreground",children:[x.length>0&&e.jsxs("span",{className:"text-bid-green",children:[x.length," completed"]}),a.length>0&&e.jsxs("span",{className:"text-accent-blue",children:[a.length," next"]})]})]})]})}function ee({session:s,detail:t,loading:n,resuming:o,onResume:c}){var S;const x=s.scope_ids,a=Array.isArray(s.discoveries)?s.discoveries:[],m=Array.isArray(s.next_steps)?s.next_steps:[],r=(t==null?void 0:t.meta)??null,j=!!(t!=null&&t.claude_session_id),w=(r==null?void 0:r.summary)??s.summary??null,u=[];return x.length>0&&u.push(["Scopes",x.map(h=>E(h)).join(", ")]),((S=s.actions)==null?void 0:S.length)>0&&u.push(["Actions",s.actions.map(z).join(", ")]),s.summary&&u.push(["Summary",P(s.summary,200)]),u.push(["Started",s.started_at?b(new Date(s.started_at),"MMM d, h:mm a"):"—"]),u.push(["Ended",s.ended_at?b(new Date(s.ended_at),"MMM d, h:mm a"):"—"]),r!=null&&r.branch&&r.branch!=="unknown"&&u.push(["Branch",r.branch,"font-mono text-xxs"]),r&&r.fileSize>0&&u.push(["File size",te(r.fileSize)]),r&&u.push(["Plan",r.slug,"text-muted-foreground",`/api/orbital/open-file?path=scopes/${r.slug}.md`]),s.handoff_file&&u.push(["Handoff",s.handoff_file,"font-mono text-xxs"]),t!=null&&t.claude_session_id&&u.push(["Session ID",t.claude_session_id,"font-mono text-xxs text-muted-foreground"]),e.jsxs("div",{className:"flex h-full flex-col",children:[e.jsxs("div",{className:"px-5 pt-4 pb-3",children:[e.jsxs("div",{className:"text-xxs text-muted-foreground",children:[s.started_at&&b(new Date(s.started_at),"MMM d, yyyy — h:mm a"),x.length>0&&x.slice(0,4).map(h=>e.jsx("span",{className:"ml-1.5",children:e.jsx(y,{variant:"outline",className:"font-mono text-xxs",children:E(h)})},h)),x.length>4&&e.jsxs("span",{className:"ml-1 text-xxs",children:["+",x.length-4]})]}),e.jsx("h2",{className:"mt-1 text-sm font-light",children:w?P(w,120):"Untitled Session"})]}),e.jsx(U,{}),e.jsx(F,{className:"flex-1",children:e.jsx("div",{className:"px-5 py-4",children:n?e.jsx("div",{className:"flex h-20 items-center justify-center",children:e.jsx("div",{className:"h-5 w-5 animate-spin rounded-full border-2 border-primary border-t-transparent"})}):e.jsxs(e.Fragment,{children:[e.jsxs("table",{className:"w-full table-fixed text-xs",children:[e.jsxs("colgroup",{children:[e.jsx("col",{className:"w-28"}),e.jsx("col",{})]}),e.jsx("tbody",{className:"[&_td]:border-b [&_td]:border-border/30 [&_td]:py-2 [&_td]:align-top [&_td:first-child]:pr-3 [&_td:first-child]:text-muted-foreground [&_td:first-child]:whitespace-nowrap [&_td:last-child]:break-all",children:u.map(([h,v,R,_])=>e.jsxs("tr",{children:[e.jsx("td",{children:h}),e.jsx("td",{className:R,children:_?e.jsxs("button",{onClick:()=>{fetch(_,{method:"POST"})},className:"inline-flex items-center gap-1.5 hover:text-accent-blue transition-colors",title:"Open file",children:[v,e.jsx(V,{className:"h-3 w-3 opacity-50"})]}):v})]},h))})]}),e.jsx(I,{title:"Completed",items:a,color:"text-bid-green"}),e.jsx(I,{title:"Next Steps",items:m,color:"text-accent-blue"}),(t==null?void 0:t.stats)&&e.jsx(se,{stats:t.stats}),s.handoff_file&&e.jsxs("div",{className:"mt-4 flex items-center gap-1.5 text-xxs text-muted-foreground/60",children:[e.jsx(X,{className:"h-3 w-3"}),e.jsx("span",{className:"truncate",children:s.handoff_file})]})]})})}),!n&&e.jsxs("div",{className:"border-t border-border/50 px-5 py-3",children:[e.jsxs(W,{className:"w-full",disabled:!j||o,onClick:c,title:j?"Open in iTerm":"No Claude Code session found",children:[e.jsx(Q,{className:"mr-2 h-4 w-4"}),o?"Opening iTerm...":"Resume Session"]}),!j&&e.jsx("p",{className:"mt-1.5 text-center text-xxs text-muted-foreground",children:"No matching Claude Code session found"})]})]})}function se({stats:s}){const{user:t,assistant:n,system:o,timing:c}=s,x=Object.entries(n.toolsUsed).sort((a,m)=>m[1]-a[1]);return e.jsxs("div",{className:"mt-5 space-y-4",children:[e.jsx(U,{}),e.jsxs(N,{title:"Timing",children:[c.durationMs>0&&e.jsx(i,{label:"Duration",value:L(c.durationMs)}),c.firstTimestamp&&e.jsx(i,{label:"First event",value:b(new Date(c.firstTimestamp),"MMM d, h:mm:ss a")}),c.lastTimestamp&&e.jsx(i,{label:"Last event",value:b(new Date(c.lastTimestamp),"MMM d, h:mm:ss a")})]}),e.jsxs(N,{title:"User",children:[e.jsx(i,{label:"Messages",value:`${t.totalMessages-t.metaMessages-t.toolResults} direct, ${t.metaMessages} meta, ${t.toolResults} tool results`}),t.commands.length>0&&e.jsx(i,{label:"Commands",value:t.commands.join(", "),cls:"font-mono"}),t.permissionModes.length>0&&e.jsx(i,{label:"Permission modes",value:t.permissionModes.join(", ")}),t.version&&e.jsx(i,{label:"Claude Code version",value:t.version,cls:"font-mono"}),t.cwd&&e.jsx(i,{label:"Working directory",value:t.cwd,cls:"font-mono text-xxs"})]}),e.jsxs(N,{title:"Assistant",children:[e.jsx(i,{label:"Responses",value:String(n.totalMessages)}),n.models.length>0&&e.jsx(i,{label:"Models",value:n.models.join(", "),cls:"font-mono"}),e.jsx(i,{label:"Input tokens",value:C(n.totalInputTokens)}),e.jsx(i,{label:"Output tokens",value:C(n.totalOutputTokens)}),n.totalCacheReadTokens>0&&e.jsx(i,{label:"Cache read tokens",value:C(n.totalCacheReadTokens)}),n.totalCacheCreationTokens>0&&e.jsx(i,{label:"Cache creation tokens",value:C(n.totalCacheCreationTokens)}),x.length>0&&e.jsxs("tr",{children:[e.jsx("td",{className:"pr-3 text-muted-foreground whitespace-nowrap align-top",children:"Tools used"}),e.jsx("td",{children:e.jsx("div",{className:"flex flex-wrap gap-1",children:x.map(([a,m])=>e.jsxs(y,{variant:"outline",className:"font-mono text-xxs px-1.5 py-0",children:[a," ",e.jsx("span",{className:"ml-1 text-muted-foreground",children:m})]},a))})})]})]}),o.totalMessages>0&&e.jsxs(N,{title:"System",children:[e.jsx(i,{label:"Events",value:String(o.totalMessages)}),o.subtypes.length>0&&e.jsx(i,{label:"Subtypes",value:o.subtypes.join(", ")}),o.stopReasons.length>0&&e.jsx(i,{label:"Stop reasons",value:o.stopReasons.join(", ")}),o.totalDurationMs>0&&e.jsx(i,{label:"Total processing",value:L(o.totalDurationMs)}),o.hookCount>0&&e.jsx(i,{label:"Hooks fired",value:`${o.hookCount}${o.hookErrors>0?` (${o.hookErrors} errors)`:""}`})]}),e.jsx(N,{title:"Raw Counts",children:Object.entries(s.typeCounts).sort((a,m)=>m[1]-a[1]).map(([a,m])=>e.jsx(i,{label:a,value:String(m)},a))})]})}function N({title:s,children:t}){return e.jsxs("div",{children:[e.jsx("h4",{className:"mb-2 text-xxs font-medium uppercase tracking-wider text-foreground",children:s}),e.jsxs("table",{className:"w-full table-fixed text-xs",children:[e.jsxs("colgroup",{children:[e.jsx("col",{className:"w-40"}),e.jsx("col",{})]}),e.jsx("tbody",{className:"[&_td]:border-b [&_td]:border-border/20 [&_td]:py-1.5 [&_td]:align-top [&_td:first-child]:pr-3 [&_td:first-child]:text-muted-foreground [&_td:first-child]:whitespace-nowrap",children:t})]})]})}function i({label:s,value:t,cls:n}){return e.jsxs("tr",{children:[e.jsx("td",{children:s}),e.jsx("td",{className:n,children:t})]})}function I({title:s,items:t,color:n}){return t.length===0?null:e.jsxs("div",{className:"mt-5",children:[e.jsx("h4",{className:"mb-2 text-xxs font-medium uppercase tracking-wider text-foreground",children:s}),e.jsx("ul",{className:"space-y-1.5",children:t.map(o=>e.jsxs("li",{className:"flex items-start gap-2 text-xs",children:[e.jsx("span",{className:T("mt-0.5",n),children:"•"}),e.jsx("span",{children:o})]},o))})]})}function P(s,t){return s.length>t?s.slice(0,t)+"...":s}function te(s){return s<1024?`${s} B`:s<1024*1024?`${(s/1024).toFixed(1)} KB`:`${(s/(1024*1024)).toFixed(1)} MB`}function L(s){if(s<1e3)return`${s}ms`;const t=Math.floor(s/1e3);if(t<60)return`${t}s`;const n=Math.floor(t/60),o=t%60;if(n<60)return`${n}m ${o}s`;const c=Math.floor(n/60),x=n%60;return`${c}h ${x}m`}function C(s){return s.toLocaleString()}export{ie as SessionTimeline};
@@ -1,12 +0,0 @@
1
- import{j as e}from"./ui-BmsSg9jU.js";import{a as c}from"./vendor-Bqt8AJn2.js";import{c as Se,q as Te,V as he,s as ye,C as Pe,b as $e,R as M,h as O,al as H,B as xe,a as v,a1 as pe,a3 as fe,a4 as ge,a5 as je,ak as w,am as G,J as Ae,an as be,a6 as Ee,S as Ue,ao as _e,F as we,ap as Ie,aq as Be,T as ze,ar as Ve,a8 as He,E as Je,as as Ge,d as We,at as Ke,au as Le,av as Ye,aw as qe,P as V,X as De,ax as Oe,ay as ke,az as Xe,aA as Qe,aB as Ze,g as et}from"./index-o4ScMAuR.js";import{M as J}from"./minus-CHBsJyjp.js";import"./charts-LGLb8hyU.js";/**
2
- * @license lucide-react v0.577.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const tt=[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]],Me=Se("archive",tt);/**
7
- * @license lucide-react v0.577.0 - ISC
8
- *
9
- * This source code is licensed under the ISC license.
10
- * See the LICENSE file in the root directory of this source tree.
11
- */const st=[["path",{d:"M21 4v16",key:"7j8fe9"}],["path",{d:"M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",key:"zs4d6"}]],at=Se("skip-forward",st);function nt(){const{getApiBase:t}=Te(),[r,s]=c.useState(null),[o,n]=c.useState(null),[a,i]=c.useState([]),[h,u]=c.useState(null),[d,j]=c.useState(null),[y,x]=c.useState(null),[l,g]=c.useState(null),[m,S]=c.useState(null),[f,T]=c.useState(null),[U,W]=c.useState(null),[Z,ee]=c.useState(!0),[_,b]=c.useState(null),E=c.useCallback(async()=>{try{const p=await fetch("/api/orbital/aggregate/manifest/status");if(p.ok){const N=await p.json();s(N)}}catch{}finally{ee(!1)}},[]),C=c.useCallback(async p=>{try{const N=await fetch(`${t(p)}/manifest/files`);if(N.ok){const F=await N.json();i(F.data??[])}}catch{}},[t]);c.useEffect(()=>{E()},[E]),he(()=>{E(),o&&C(o)}),c.useEffect(()=>{const p=()=>{E(),o&&C(o)};return ye.on("manifest:changed",p),()=>{ye.off("manifest:changed",p)}},[E,C,o]);const te=c.useCallback(p=>{if(o===p){n(null),i([]);return}n(p),i([]),C(p)},[o,C]),se=c.useCallback(()=>{n(null),i([])},[]),K=c.useCallback(async()=>{b("update-all");try{await fetch("/api/orbital/aggregate/manifest/update-all",{method:"POST",headers:{"Content-Type":"application/json"}}),await E()}catch{}finally{b(null)}},[E]),L=c.useCallback(async p=>{b(`preview:${p}`);try{const N=await fetch(`${t(p)}/manifest/update`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dryRun:!0})});if(N.ok){const F=await N.json();j(F.data),x(p)}}catch{}finally{b(null)}},[t]),ae=c.useCallback(async p=>{b(`update:${p}`);try{(await fetch(`${t(p)}/manifest/update`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dryRun:!1})})).ok&&(j(null),x(null),await E())}catch{}finally{b(null)}},[t,E]),I=c.useCallback(async p=>{b(`init:${p}`);try{await fetch(`${t(p)}/manifest/init`,{method:"POST",headers:{"Content-Type":"application/json"}}),await E()}catch{}finally{b(null)}},[t,E]),ne=c.useCallback(async p=>{b(`validate:${p}`);try{const N=await fetch(`${t(p)}/manifest/validate`);if(N.ok){const F=await N.json();u(F.data)}}catch{}finally{b(null)}},[t]),re=c.useCallback(async(p,N,F)=>{b(`pin:${N}`);try{await fetch(`${t(p)}/manifest/pin`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({file:N,reason:F})})}catch{}finally{b(null)}},[t]),Y=c.useCallback(async(p,N)=>{b(`unpin:${N}`);try{await fetch(`${t(p)}/manifest/unpin`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({file:N})})}catch{}finally{b(null)}},[t]),q=c.useCallback(async(p,N)=>{b(`reset:${N}`);try{await fetch(`${t(p)}/manifest/reset`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({file:N})})}catch{}finally{b(null)}},[t]),X=c.useCallback(async(p,N)=>{b(`revert:${N}`);try{await fetch(`${t(p)}/manifest/revert`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({file:N})})}catch{}finally{b(null)}},[t]),Q=c.useCallback(async(p,N,F)=>{var Ne;b(`diff:${N}`),S(N),T(F??null),W(p);try{const ve=await fetch(`${t(p)}/manifest/diff?file=${encodeURIComponent(N)}`);if(ve.ok){const Re=await ve.json();g(((Ne=Re.data)==null?void 0:Ne.diff)??null)}}catch{}finally{b(null)}},[t]),k=c.useCallback(()=>{g(null),S(null),T(null),W(null)},[]),P=c.useCallback(()=>{j(null),x(null)},[]),le=c.useCallback(()=>u(null),[]);return{summary:r,loading:Z,actionLoading:_,expandedProjectId:o,projectFiles:a,validation:h,updatePreview:d,updatePreviewProjectId:y,diffContent:l,diffFile:m,diffFileStatus:f,diffProjectId:U,expandProject:te,collapseProject:se,fetchSummary:E,updateAll:K,previewProjectUpdate:L,applyProjectUpdate:ae,clearUpdatePreview:P,initProject:I,validateProject:ne,clearValidation:le,pinFile:re,unpinFile:Y,resetFile:q,revertFile:X,getDiff:Q,clearDiff:k}}function rt({files:t,actionLoading:r,onPin:s,onUnpin:o,onReset:n,onRevert:a,onDiff:i}){const h=t.filter(l=>l.status==="missing"),u=t.filter(l=>l.status==="outdated"),d=t.filter(l=>l.status==="modified"),j=t.filter(l=>l.status==="pinned"),y=t.filter(l=>l.status==="synced"),x=t.filter(l=>l.status==="user-owned");return t.length===0?e.jsx("div",{className:"text-xs text-muted-foreground/40 py-2 pl-4",children:"No tracked files."}):e.jsxs("div",{className:"pl-4 pb-2",children:[e.jsx(B,{title:`Missing (${h.length})`,description:"expected but not found on disk",files:h,defaultOpen:!0,renderRow:l=>e.jsx(z,{file:l,children:e.jsx(D,{label:"Restore",variant:"cyan",onClick:()=>n(l.path),loading:r===`reset:${l.path}`})},l.path)}),e.jsx(B,{title:`Outdated (${u.length})`,description:"newer template version available",files:u,defaultOpen:!1,renderRow:l=>e.jsxs(z,{file:l,children:[e.jsx(D,{label:"View changes",onClick:()=>i(l.path,l.status),loading:r===`diff:${l.path}`}),e.jsx(D,{label:"Update",variant:"cyan",onClick:()=>n(l.path),loading:r===`reset:${l.path}`}),l.hasPrev&&e.jsx(D,{label:"Revert",onClick:()=>a(l.path),loading:r===`revert:${l.path}`})]},l.path)}),e.jsx(B,{title:`Modified (${d.length})`,description:"edited by you",files:d,defaultOpen:!1,renderRow:l=>e.jsxs(z,{file:l,children:[e.jsx(D,{label:"View changes",onClick:()=>i(l.path,l.status),loading:r===`diff:${l.path}`}),e.jsx(D,{label:"Reset",onClick:()=>n(l.path),loading:r===`reset:${l.path}`}),e.jsx(D,{label:"Pin",variant:"blue",onClick:()=>s(l.path),loading:r===`pin:${l.path}`}),l.hasPrev&&e.jsx(D,{label:"Revert",onClick:()=>a(l.path),loading:r===`revert:${l.path}`})]},l.path)}),e.jsx(B,{title:`Pinned (${j.length})`,description:"locked from updates",files:j,defaultOpen:!1,renderRow:l=>e.jsxs(z,{file:l,meta:l.pinnedReason?`"${l.pinnedReason}"`:void 0,children:[e.jsx(D,{label:"View changes",onClick:()=>i(l.path,l.status),loading:r===`diff:${l.path}`}),e.jsx(D,{label:"Unpin",onClick:()=>o(l.path),loading:r===`unpin:${l.path}`}),e.jsx(D,{label:"Reset",onClick:()=>n(l.path),loading:r===`reset:${l.path}`}),l.hasPrev&&e.jsx(D,{label:"Revert",onClick:()=>a(l.path),loading:r===`revert:${l.path}`})]},l.path)}),e.jsx(B,{title:`Synced (${y.length})`,description:"matches template",files:y,defaultOpen:!1,renderRow:l=>e.jsx(z,{file:l,children:l.hasPrev&&e.jsx(D,{label:"Revert",onClick:()=>a(l.path),loading:r===`revert:${l.path}`})},l.path)}),e.jsx(B,{title:`User (${x.length})`,description:"your files, not managed",files:x,defaultOpen:!1,renderRow:l=>e.jsx(z,{file:l},l.path)})]})}function B({title:t,description:r,files:s,defaultOpen:o,renderRow:n}){const[a,i]=c.useState(o);return s.length===0?null:e.jsxs("div",{className:"mt-2",children:[e.jsxs("button",{onClick:()=>i(!a),className:"flex items-center gap-1.5 text-xs text-muted-foreground/70 hover:text-muted-foreground transition-colors mb-1",children:[a?e.jsx(Pe,{className:"h-3 w-3"}):e.jsx($e,{className:"h-3 w-3"}),e.jsx("span",{children:t}),e.jsx("span",{className:"text-muted-foreground/40 font-normal",children:r})]}),a&&e.jsx("div",{className:"space-y-1.5 ml-4",children:s.map(n)})]})}function z({file:t,meta:r,children:s}){return e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.jsx("span",{className:"text-xs font-mono text-foreground/70",children:t.path}),r&&e.jsx("span",{className:"text-xs text-muted-foreground/40 italic",children:r}),s]})}function D({label:t,variant:r,onClick:s,loading:o}){const n="rounded border px-1.5 py-0 text-[10px] leading-5 transition-colors disabled:opacity-40",a={cyan:"border-cyan-500/30 bg-cyan-500/10 text-cyan-400 hover:bg-cyan-500/20",blue:"border-blue-500/30 bg-blue-500/10 text-blue-400 hover:bg-blue-500/20",default:"border-border bg-muted text-muted-foreground hover:bg-muted/80 hover:text-foreground"};return e.jsxs("button",{onClick:s,disabled:o,className:`${n} ${a[r??"default"]}`,children:[o?e.jsx(M,{className:"h-3 w-3 animate-spin inline mr-1"}):null,t]})}function lt({project:t,expanded:r,files:s,actionLoading:o,onToggle:n,onUpdate:a,onInit:i,onPin:h,onUnpin:u,onReset:d,onRevert:j,onDiff:y}){const{projectId:x,projectName:l,projectColor:g,status:m,manifest:S}=t;if(m==="no-manifest")return e.jsx("div",{className:"py-1.5",children:e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx("span",{className:"h-2 w-2 rounded-full shrink-0",style:{backgroundColor:`hsl(${g})`}}),e.jsx("span",{className:"text-sm text-foreground truncate",children:l}),e.jsx("span",{className:"text-xs text-muted-foreground/40",children:"No manifest"})]}),e.jsxs(O,{size:"sm",variant:"outline",onClick:i,disabled:o===`init:${x}`,className:"h-6 px-2 text-xs border-[rgba(0,188,212,0.3)] text-cyan-400 hover:bg-cyan-500/10",children:[o===`init:${x}`?e.jsx(M,{className:"h-3 w-3 mr-1 animate-spin"}):e.jsx(H,{className:"h-3 w-3 mr-1"}),"Initialize"]})]})});if(m==="error")return e.jsx("div",{className:"py-1.5",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"h-2 w-2 rounded-full shrink-0 opacity-40",style:{backgroundColor:`hsl(${g})`}}),e.jsx("span",{className:"text-sm text-foreground/50 truncate",children:l}),e.jsx("span",{className:"text-xs text-red-400/60",children:"Offline"})]})});const f=S,T=f.files.outdated>0||f.files.missing>0||f.needsUpdate;return e.jsxs("div",{className:"py-1.5",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1 cursor-pointer hover:opacity-80 transition-opacity",onClick:n,children:[e.jsx("span",{className:"h-2 w-2 rounded-full shrink-0",style:{backgroundColor:`hsl(${g})`}}),e.jsx("span",{className:"text-sm text-foreground truncate w-[80px] sm:w-[140px] shrink-0",children:l}),e.jsxs(xe,{variant:"outline",className:v("text-[10px] px-1.5 py-0 shrink-0",f.needsUpdate?"border-amber-500/30 text-amber-400 bg-amber-500/10":"border-green-500/30 text-green-400 bg-green-500/10"),children:["v",f.installedVersion]}),f.needsUpdate&&e.jsxs("span",{className:"text-[10px] text-amber-400/60 shrink-0",children:["→ v",f.packageVersion]}),e.jsxs("span",{className:"hidden md:flex items-center text-xs shrink-0 tabular-nums",children:[e.jsxs("span",{className:v("w-[80px] text-center",f.files.missing>0?"text-red-400":"text-red-400/25"),children:[f.files.missing," missing"]}),e.jsxs("span",{className:v("w-[80px] text-center",f.files.outdated>0?"text-amber-400":"text-amber-400/25"),children:[f.files.outdated," outdated"]}),e.jsxs("span",{className:v("w-[80px] text-center",f.files.modified>0?"text-orange-400":"text-orange-400/25"),children:[f.files.modified," modified"]}),e.jsxs("span",{className:v("w-[80px] text-center",f.files.pinned>0?"text-blue-400":"text-blue-400/25"),children:[f.files.pinned," pinned"]}),e.jsxs("span",{className:v("w-[80px] text-center",f.files.synced>0?"text-green-400/50":"text-green-400/20"),children:[f.files.synced," synced"]}),e.jsxs("span",{className:v("w-[80px] text-center",f.files.userOwned>0?"text-muted-foreground/40":"text-muted-foreground/20"),children:[f.files.userOwned," user"]})]})]}),e.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[e.jsxs(O,{size:"sm",variant:"outline",onClick:T?a:void 0,disabled:!T||o===`preview:${x}`||o===`update:${x}`,className:v("h-6 px-2 text-xs w-auto sm:w-[130px] justify-center",T?"border-[rgba(0,188,212,0.3)] text-cyan-400 hover:bg-cyan-500/10":"border-green-500/30 text-green-400/60"),children:[o===`preview:${x}`||o===`update:${x}`?e.jsx(M,{className:"h-3 w-3 mr-1 animate-spin"}):e.jsx(H,{className:"h-3 w-3 mr-1"}),T?"Update Project":"Up to Date"]}),e.jsx("button",{onClick:n,className:"flex items-center justify-center h-6 w-6 rounded text-muted-foreground/40 hover:text-muted-foreground hover:bg-white/5 transition-colors",children:r?e.jsx(Pe,{className:"h-3.5 w-3.5"}):e.jsx($e,{className:"h-3.5 w-3.5"})})]})]}),r&&e.jsx(rt,{files:s,actionLoading:o,onPin:h,onUnpin:u,onReset:d,onRevert:j,onDiff:y})]})}function it({updatePreview:t,projectName:r,updatePreviewProjectId:s,actionLoading:o,onApply:n,onClose:a}){return e.jsx(pe,{open:t!==null,onOpenChange:i=>{i||a()},children:e.jsxs(fe,{className:"max-w-md p-0 max-h-[80vh] overflow-hidden grid grid-rows-[auto_auto_1fr_auto_auto]",children:[e.jsxs(ge,{className:"px-5 pt-4 pb-3 pr-10",children:[e.jsxs(je,{className:"text-sm",children:["Update ",r]}),e.jsx("span",{className:"text-xs text-muted-foreground/60",children:"Review what will happen before applying"})]}),e.jsx(w,{}),t&&!t.isEmpty&&e.jsxs("div",{className:"px-5 py-4 space-y-3 overflow-auto min-h-0",children:[(t.toUpdate.length>0||t.toAdd.length>0)&&e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(G,{className:"h-4 w-4 text-cyan-400 mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsxs("div",{className:"text-sm text-foreground",children:[t.toUpdate.length+t.toAdd.length," file",t.toUpdate.length+t.toAdd.length!==1?"s":""," will be updated"]}),e.jsx("div",{className:"text-xs text-muted-foreground/60 mt-0.5",children:"Synced and outdated files replaced with the latest template version"}),e.jsxs("div",{className:"mt-1.5 space-y-0.5",children:[t.toUpdate.map(i=>e.jsx("div",{className:"text-xs font-mono text-cyan-400/70",children:i},i)),t.toAdd.map(i=>e.jsxs("div",{className:"text-xs font-mono text-green-400/70",children:[i," ",e.jsx("span",{className:"text-muted-foreground/40",children:"(new)"})]},i))]})]})]}),t.toRename.length>0&&e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Ae,{className:"h-4 w-4 text-purple-400 mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsxs("div",{className:"text-sm text-foreground",children:[t.toRename.length," file",t.toRename.length!==1?"s":""," will be renamed"]}),e.jsx("div",{className:"mt-1.5 space-y-0.5",children:t.toRename.map(i=>e.jsxs("div",{className:"text-xs font-mono text-purple-400/70",children:[i.from," → ",i.to]},i.from))})]})]}),t.toRemove.length>0&&e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(J,{className:"h-4 w-4 text-red-400 mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsxs("div",{className:"text-sm text-foreground",children:[t.toRemove.length," file",t.toRemove.length!==1?"s":""," will be removed"]}),e.jsx("div",{className:"text-xs text-muted-foreground/60 mt-0.5",children:"No longer part of the template"}),e.jsx("div",{className:"mt-1.5 space-y-0.5",children:t.toRemove.map(i=>e.jsx("div",{className:"text-xs font-mono text-red-400/70",children:i},i))})]})]}),t.toSkip.length>0&&e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(at,{className:"h-4 w-4 text-muted-foreground/50 mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsxs("div",{className:"text-sm text-foreground/70",children:[t.toSkip.length," file",t.toSkip.length!==1?"s":""," will be skipped"]}),e.jsx("div",{className:"text-xs text-muted-foreground/60 mt-0.5",children:"Modified or pinned files are never overwritten"}),e.jsx("div",{className:"mt-1.5 space-y-0.5",children:t.toSkip.map(i=>e.jsxs("div",{className:"text-xs font-mono text-muted-foreground/40",children:[i.file," ",e.jsxs("span",{className:"text-muted-foreground/30",children:["(",i.reason,")"]})]},i.file))})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Me,{className:"h-4 w-4 text-muted-foreground/40 mt-0.5 shrink-0"}),e.jsx("div",{className:"text-xs text-muted-foreground/50",children:"Previous versions will be backed up and can be reverted"})]})]}),t&&t.isEmpty&&e.jsx("div",{className:"px-5 py-8 text-center text-sm text-muted-foreground",children:"Everything is up to date. No changes needed."}),e.jsx(w,{}),e.jsxs("div",{className:"px-5 py-3 flex justify-end gap-2",children:[e.jsx(be,{asChild:!0,children:e.jsx(O,{variant:"ghost",size:"sm",children:"Cancel"})}),t&&!t.isEmpty&&s&&e.jsxs(O,{size:"sm",onClick:()=>n(s),disabled:o===`update:${s}`,className:"bg-cyan-600 hover:bg-cyan-700 text-white",children:[o===`update:${s}`&&e.jsx(M,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}),"Update Project"]})]})]})})}function ot({open:t,onOpenChange:r,summary:s,actionLoading:o,onUpdateAll:n}){return e.jsx(pe,{open:t,onOpenChange:r,children:e.jsxs(fe,{className:"max-w-md p-0 max-h-[80vh] overflow-hidden grid grid-rows-[auto_auto_1fr_auto_auto]",children:[e.jsxs(ge,{className:"px-5 pt-4 pb-3 pr-10",children:[e.jsx(je,{className:"text-sm",children:"Update All Projects"}),e.jsx(Ee,{className:"text-xs text-muted-foreground/60",children:"Review what will happen across all projects"})]}),e.jsx(w,{}),e.jsxs("div",{className:"px-5 py-4 space-y-3 overflow-auto min-h-0",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(G,{className:"h-4 w-4 text-cyan-400 mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsxs("div",{className:"text-sm text-foreground",children:[s.totalOutdated+s.totalMissing," file",s.totalOutdated+s.totalMissing!==1?"s":""," to sync across ",s.projectsOutdated||s.projects.filter(a=>a.manifest&&(a.manifest.files.outdated>0||a.manifest.files.missing>0)).length," project",s.projects.filter(a=>a.manifest&&(a.manifest.files.outdated>0||a.manifest.files.missing>0)).length!==1?"s":""]}),e.jsx("div",{className:"text-xs text-muted-foreground/60 mt-0.5",children:"Synced and outdated files will be replaced with the latest template version"})]})]}),(s.totalModified>0||s.totalPinned>0)&&e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Ue,{className:"h-4 w-4 text-green-400/60 mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsxs("div",{className:"text-sm text-foreground/70",children:[s.totalModified+s.totalPinned," file",s.totalModified+s.totalPinned!==1?"s":""," will not be touched"]}),e.jsxs("div",{className:"text-xs text-muted-foreground/60 mt-0.5",children:[s.totalModified>0&&e.jsxs(e.Fragment,{children:[s.totalModified," modified"]}),s.totalModified>0&&s.totalPinned>0&&" and ",s.totalPinned>0&&e.jsxs(e.Fragment,{children:[s.totalPinned," pinned"]})," ","file",s.totalModified+s.totalPinned!==1?"s":""," are never overwritten"]})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Me,{className:"h-4 w-4 text-muted-foreground/40 mt-0.5 shrink-0"}),e.jsx("div",{className:"text-xs text-muted-foreground/50",children:"Previous versions will be backed up and can be reverted"})]})]}),e.jsx(w,{}),e.jsxs("div",{className:"px-5 py-3 flex justify-end gap-2",children:[e.jsx(be,{asChild:!0,children:e.jsx(O,{variant:"ghost",size:"sm",children:"Cancel"})}),e.jsxs(O,{size:"sm",onClick:()=>{r(!1),n()},disabled:o==="update-all",className:"bg-cyan-600 hover:bg-cyan-700 text-white",children:[o==="update-all"&&e.jsx(M,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}),"Update All Projects"]})]})]})})}function ct(t){const r=t.split(`
12
- `),s=[];let o=0,n=0;for(const a of r){const i=a.match(/^@@\s+-(\d+)(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@(.*)/);if(i){o=parseInt(i[1],10),n=parseInt(i[2],10),s.push({type:"hunk",content:a});continue}if(a.startsWith("diff ")||a.startsWith("index ")||a.startsWith("--- ")||a.startsWith("+++ ")){s.push({type:"meta",content:a});continue}if(a.startsWith("-"))s.push({type:"remove",content:a.slice(1),oldNum:o}),o++;else if(a.startsWith("+"))s.push({type:"add",content:a.slice(1),newNum:n}),n++;else{const h=a.startsWith(" ")?a.slice(1):a;s.push({type:"context",content:h,oldNum:o,newNum:n}),o++,n++}}return s}function dt({diff:t}){const r=ct(t),s=r.reduce((n,a)=>Math.max(n,a.oldNum??0,a.newNum??0),0),o=String(s).length;return e.jsx("div",{className:"text-[11px] font-mono leading-[1.6] pb-1",children:r.map((n,a)=>{if(n.type==="meta")return null;if(n.type==="hunk")return e.jsx("div",{className:"px-3 py-1.5 mt-1 first:mt-0 text-cyan-400/60 bg-cyan-500/5 border-y border-cyan-500/10 select-none",children:n.content},a);const i=n.oldNum!=null?String(n.oldNum).padStart(o):"".padStart(o),h=n.newNum!=null?String(n.newNum).padStart(o):"".padStart(o),u=v("flex",n.type==="add"&&"bg-green-500/10",n.type==="remove"&&"bg-red-500/10"),d=v("select-none border-r border-border/40 px-2 text-right shrink-0",n.type==="add"&&"text-green-400/40",n.type==="remove"&&"text-red-400/40",n.type==="context"&&"text-muted-foreground/25"),j=v("px-3 whitespace-pre-wrap break-all flex-1 min-w-0",n.type==="add"&&"text-green-400",n.type==="remove"&&"text-red-400",n.type==="context"&&"text-foreground/50"),y=n.type==="add"?"+":n.type==="remove"?"-":" ";return e.jsxs("div",{className:u,children:[e.jsx("span",{className:d,children:i}),e.jsx("span",{className:d,children:h}),e.jsx("span",{className:v("w-4 text-center shrink-0 select-none",n.type==="add"&&"text-green-400/60",n.type==="remove"&&"text-red-400/60",n.type==="context"&&"text-transparent"),children:y}),e.jsx("span",{className:j,children:n.content||" "})]},a)})})}function xt({diffFile:t,diffContent:r,diffFileStatus:s,diffProjectId:o,actionLoading:n,onResetFile:a,onClearDiff:i}){return e.jsx(pe,{open:t!==null,onOpenChange:h=>{h||i()},children:e.jsxs(fe,{className:"max-w-2xl p-0 max-h-[80vh] overflow-hidden grid grid-rows-[auto_auto_auto_1fr_auto_auto]",children:[e.jsxs(ge,{className:"px-5 pt-4 pb-3 pr-10",children:[e.jsx(je,{className:"text-sm font-mono",children:t}),e.jsx(Ee,{className:"text-xs text-muted-foreground/60",children:"Template → Your file"})]}),e.jsx(w,{}),e.jsxs("div",{className:"px-5 py-2 text-xs text-muted-foreground/50",children:[e.jsx("span",{className:"text-red-400/70",children:"−"})," template version",e.jsx("span",{className:"mx-2",children:"·"}),e.jsx("span",{className:"text-green-400/70",children:"+"})," your local file"]}),e.jsx("div",{className:"overflow-auto min-h-0",children:r?e.jsx(dt,{diff:r}):e.jsxs("div",{className:"flex items-center justify-center py-8 text-muted-foreground text-sm",children:[e.jsx(M,{className:"h-4 w-4 mr-2 animate-spin"}),"Loading diff..."]})}),e.jsx(w,{}),e.jsxs("div",{className:"px-5 py-3 flex justify-end gap-2",children:[e.jsx(be,{asChild:!0,children:e.jsx(O,{variant:"ghost",size:"sm",children:"Close"})}),s==="outdated"&&o&&e.jsxs(O,{size:"sm",onClick:()=>{a(o,t),i()},disabled:n===`reset:${t}`,className:"bg-cyan-600 hover:bg-cyan-700 text-white",children:[n===`reset:${t}`&&e.jsx(M,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}),"Update to latest"]}),s==="modified"&&o&&e.jsxs(O,{size:"sm",onClick:()=>{a(o,t),i()},disabled:n===`reset:${t}`,variant:"outline",children:[n===`reset:${t}`&&e.jsx(M,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}),"Reset to template"]})]})]})})}function mt(){var Q;const{summary:t,loading:r,actionLoading:s,expandedProjectId:o,projectFiles:n,updatePreview:a,updatePreviewProjectId:i,diffContent:h,diffFile:u,diffFileStatus:d,diffProjectId:j,expandProject:y,updateAll:x,previewProjectUpdate:l,applyProjectUpdate:g,clearUpdatePreview:m,initProject:S,pinFile:f,unpinFile:T,resetFile:U,revertFile:W,getDiff:Z,clearDiff:ee}=nt(),{version:_,updateAvailable:b,behindCount:E,updateStage:C,updateError:te,checkForUpdate:se,performUpdate:K}=_e(),L=c.useRef(C);L.current=C;const ae=c.useCallback(async()=>{await K(),L.current!=="error"&&await x()},[K,x]),I=C==="pulling"||C==="installing",ne=C==="checking"||C==="checked",[re,Y]=c.useState(!1);if(r)return e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground text-sm",children:[e.jsx(M,{className:"h-4 w-4 animate-spin"}),"Loading configuration status..."]});if(!t||t.total===0)return e.jsx("div",{className:"text-sm text-muted-foreground/60",children:"No projects registered."});const q=t.projects.length>0&&t.projects.every(k=>{var P;return k.status==="ok"&&!((P=k.manifest)!=null&&P.needsUpdate)})&&t.noManifest===0&&t.totalOutdated===0&&t.totalMissing===0&&t.totalModified===0&&t.totalPinned===0,X=t.projects.filter(k=>{var P;return k.status==="ok"&&((P=k.manifest)==null?void 0:P.needsUpdate)}).length;return e.jsxs(e.Fragment,{children:[_&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mb-2 flex items-baseline gap-3",children:[e.jsx("span",{className:"text-xs font-medium uppercase tracking-wider text-muted-foreground/70",children:"Package"}),e.jsx("span",{className:"text-[11px] text-muted-foreground/40",children:"Globally installed Orbital Command version"})]}),e.jsxs("div",{className:"flex items-center justify-between gap-3 mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(H,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.jsx("span",{className:"text-sm text-foreground",children:"Orbital Command"}),e.jsxs(xe,{variant:"outline",className:v("text-[10px] px-1.5 py-0",b?"border-emerald-500/30 text-emerald-400 bg-emerald-500/10":"border-green-500/30 text-green-400 bg-green-500/10"),children:["v",_.version]}),b&&e.jsxs("span",{className:"text-xs text-emerald-400/70",children:[E," update",E!==1?"s":""," available"]}),C==="checked"&&!b&&e.jsx("span",{className:"text-xs text-green-400",children:"Up to date"}),C==="done"&&e.jsx("span",{className:"text-xs text-green-400",children:"Updated — restart server to apply"}),C==="error"&&e.jsx("span",{className:"text-xs text-red-400 truncate",children:te}),I&&e.jsxs("span",{className:"text-xs text-muted-foreground flex items-center gap-1",children:[e.jsx(M,{className:"h-3 w-3 animate-spin"}),C==="pulling"?"Pulling...":"Installing..."]})]}),e.jsxs("div",{className:"flex gap-1.5 shrink-0",children:[e.jsxs(O,{size:"sm",variant:"ghost",onClick:se,disabled:I||ne,className:"h-7 px-2 text-xs",children:[C==="checked"&&!b?e.jsx(we,{className:"h-3 w-3 mr-1 text-green-400"}):e.jsx(Ie,{className:v("h-3 w-3 mr-1",C==="checking"&&"animate-spin")}),C==="checked"&&!b?"Latest":"Check"]}),b&&C!=="done"&&e.jsxs(O,{size:"sm",variant:"outline",onClick:ae,disabled:I,className:"h-7 px-2.5 text-xs border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10",children:[I?e.jsx(M,{className:"h-3 w-3 mr-1 animate-spin"}):e.jsx(Be,{className:"h-3 w-3 mr-1"}),"Update"]})]})]}),e.jsx(w,{className:"mb-4"})]}),e.jsxs("div",{className:"mb-2 flex items-baseline gap-3",children:[e.jsx("span",{className:"text-xs font-medium uppercase tracking-wider text-muted-foreground/70",children:"Project Sync"}),e.jsx("span",{className:"text-[11px] text-muted-foreground/40",children:"Sync templates and config to your installed version"})]}),e.jsxs("div",{className:"flex items-center gap-2 mb-3 pl-3",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[q?e.jsx(we,{className:"h-2 w-2 text-green-400 shrink-0"}):e.jsx(ze,{className:"h-2 w-2 text-amber-400 shrink-0"}),e.jsx("span",{className:"text-sm text-foreground truncate w-[80px] sm:w-[140px] shrink-0",children:"All Projects"}),_&&e.jsxs(xe,{variant:"outline",className:"text-[10px] px-1.5 py-0 shrink-0 border-green-500/30 text-green-400 bg-green-500/10",children:["v",_.version]}),e.jsxs("span",{className:"hidden md:flex items-center text-xs shrink-0 tabular-nums",children:[e.jsxs("span",{className:v("w-[80px] text-center",t.totalMissing>0?"text-red-400":"text-red-400/25"),children:[t.totalMissing," missing"]}),e.jsxs("span",{className:v("w-[80px] text-center",t.totalOutdated>0?"text-amber-400":"text-amber-400/25"),children:[t.totalOutdated," outdated"]}),e.jsxs("span",{className:v("w-[80px] text-center",t.totalModified>0?"text-orange-400":"text-orange-400/25"),children:[t.totalModified," modified"]}),e.jsxs("span",{className:v("w-[80px] text-center",t.totalPinned>0?"text-blue-400":"text-blue-400/25"),children:[t.totalPinned," pinned"]}),e.jsxs("span",{className:v("w-[80px] text-center",t.totalSynced>0?"text-green-400/50":"text-green-400/20"),children:[t.totalSynced," synced"]}),e.jsxs("span",{className:v("w-[80px] text-center",t.totalUserOwned>0?"text-muted-foreground/40":"text-muted-foreground/20"),children:[t.totalUserOwned," user"]})]})]}),e.jsx("div",{className:"flex items-center gap-1.5 shrink-0",children:q?e.jsxs(O,{size:"sm",variant:"outline",disabled:!0,className:"h-6 px-2 text-xs w-auto sm:w-[130px] justify-center border-green-500/30 text-green-400/60",children:[e.jsx(H,{className:"h-3 w-3 mr-1"}),"Up to Date"]}):e.jsxs(O,{size:"sm",variant:"outline",onClick:()=>Y(!0),disabled:s==="update-all",className:"h-6 px-2 text-xs w-auto sm:w-[130px] justify-center border-[rgba(0,188,212,0.3)] text-cyan-400 hover:bg-cyan-500/10",children:[s==="update-all"?e.jsx(M,{className:"h-3 w-3 mr-1 animate-spin"}):e.jsx(H,{className:"h-3 w-3 mr-1"}),X>0?`Update ${X}/${t.projects.length}`:"Update All"]})})]}),e.jsx(w,{className:"mb-2"}),e.jsx("div",{className:"space-y-0.5 pl-3",children:t.projects.map(k=>e.jsx(lt,{project:k,expanded:o===k.projectId,files:o===k.projectId?n:[],actionLoading:s,onToggle:()=>y(k.projectId),onUpdate:()=>l(k.projectId),onInit:()=>S(k.projectId),onPin:P=>f(k.projectId,P),onUnpin:P=>T(k.projectId,P),onReset:P=>U(k.projectId,P),onRevert:P=>W(k.projectId,P),onDiff:(P,le)=>Z(k.projectId,P,le)},k.projectId))}),e.jsx(it,{updatePreview:a,projectName:(Q=t.projects.find(k=>k.projectId===i))==null?void 0:Q.projectName,updatePreviewProjectId:i,actionLoading:s,onApply:g,onClose:m}),e.jsx(ot,{open:re,onOpenChange:Y,summary:t,actionLoading:s,onUpdateAll:x}),e.jsx(xt,{diffFile:u,diffContent:h,diffFileStatus:d,diffProjectId:j,actionLoading:s,onResetFile:U,onClearDiff:ee})]})}function ut(){return e.jsxs("section",{className:"card-glass settings-panel rounded-xl p-5",children:[e.jsx("h2",{className:"text-sm font-medium uppercase tracking-wider text-primary mb-5",children:"Configuration"}),e.jsx(mt,{})]})}function ht(){const{projects:t}=Te(),[r,s]=c.useState(!1),[o,n]=c.useState(null),[a,i]=c.useState(null),[h,u]=c.useState(null),[d,j]=c.useState(null),y=c.useRef(null);async function x(m,S){i(m),u(null);try{const f=await fetch(`/api/orbital/projects/${m}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(S)});if(!f.ok){const T=await f.json().catch(()=>({}));u(T.error??`Failed to update project (HTTP ${f.status})`)}}catch{u("Failed to update project")}finally{i(null)}}async function l(m){i(m),u(null);try{const S=await fetch(`/api/orbital/projects/${m}`,{method:"DELETE"});if(!S.ok){const f=await S.json().catch(()=>({}));u(f.error??`Failed to remove project (HTTP ${S.status})`)}}catch{u("Failed to remove project")}finally{i(null),j(null)}}async function g(m){if(!m||m.length===0)return;const f=m[0].webkitRelativePath.split("/")[0];n(null),s(!0);try{const T=await fetch("/api/orbital/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:f})});if(!T.ok){const U=await T.json().catch(()=>({}));throw new Error(U.error??`HTTP ${T.status}`)}}catch(T){n(T instanceof Error?T.message:"Failed to add project")}finally{s(!1),y.current&&(y.current.value="")}}return e.jsxs("section",{className:"card-glass settings-panel rounded-xl p-5",children:[e.jsx("h2",{className:"text-sm font-medium uppercase tracking-wider text-primary mb-5",children:"Projects"}),e.jsxs("div",{className:"space-y-2",children:[t.map(m=>e.jsx(pt,{project:m,updating:a===m.id,confirmDelete:d===m.id,onUpdate:S=>x(m.id,S),onDeleteRequest:()=>j(m.id),onDeleteConfirm:()=>l(m.id),onDeleteCancel:()=>j(null)},m.id)),e.jsxs("div",{onClick:()=>{var m;return!r&&((m=y.current)==null?void 0:m.click())},className:v("flex items-center gap-3 rounded border border-dashed border-white/[0.08] px-3 py-2","text-muted-foreground hover:text-foreground hover:border-primary/30 hover:bg-white/[0.03]","transition-colors cursor-pointer",r&&"opacity-50 pointer-events-none"),children:[e.jsx(Ve,{className:"h-3.5 w-3.5 shrink-0"}),e.jsx("span",{className:"text-xs",children:r?"Adding...":"Add Project"})]}),e.jsx("input",{ref:y,type:"file",webkitdirectory:"",className:"hidden",onChange:m=>g(m.target.files)}),(o||h)&&e.jsx("p",{className:"text-[11px] text-destructive",children:o||h})]})]})}function pt({project:t,updating:r,confirmDelete:s,onUpdate:o,onDeleteRequest:n,onDeleteConfirm:a,onDeleteCancel:i}){const[h,u]=c.useState(!1),[d,j]=c.useState(t.name),y=c.useRef(null);c.useEffect(()=>{var m;h&&((m=y.current)==null||m.focus())},[h]),c.useEffect(()=>{h||j(t.name)},[t.name,h]);const x=d.trim()!==""&&d.trim()!==t.name,l=c.useCallback(()=>{u(!1);const m=d.trim();m&&m!==t.name?o({name:m}):j(t.name)},[d,t.name,o]),g=t.status==="active"?"bg-green-400":t.status==="error"?"bg-red-400":"bg-muted-foreground/40";return e.jsxs("div",{className:v("flex flex-col sm:flex-row sm:items-center gap-2 sm:gap-3 rounded border border-white/[0.08] px-3 py-2","transition-colors hover:border-[rgba(var(--neon-cyan),0.2)]",!t.enabled&&"opacity-50"),children:[e.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0",children:[e.jsx(ft,{value:t.color,onChange:m=>o({color:m}),disabled:r}),e.jsxs("div",{className:"flex-1 min-w-0",children:[h?e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("input",{ref:y,value:d,onChange:m=>j(m.target.value),onBlur:()=>{j(t.name),u(!1)},onKeyDown:m=>{m.key==="Enter"&&l(),m.key==="Escape"&&(j(t.name),u(!1))},className:"flex-1 min-w-0 bg-transparent text-xs font-medium outline-none border-b border-primary/50 pb-0.5"}),x&&e.jsx("button",{onMouseDown:m=>{m.preventDefault(),l()},className:"shrink-0 text-primary hover:text-primary/80 transition-colors",title:"Save name",children:e.jsx(He,{className:"h-3.5 w-3.5"})})]}):e.jsx("div",{className:"text-xs font-medium truncate cursor-text hover:text-primary transition-colors",onClick:()=>u(!0),title:"Click to rename",children:t.name}),e.jsx("div",{className:"text-[10px] text-muted-foreground/60 font-mono truncate",children:t.path})]}),e.jsx("span",{className:v("h-1.5 w-1.5 rounded-full shrink-0",g),title:t.status})]}),e.jsx("div",{className:"flex items-center gap-2 shrink-0 self-end sm:self-auto",children:s?e.jsxs("div",{className:"flex items-center gap-1.5 text-[10px]",children:[e.jsx("span",{className:"text-destructive",children:"Remove?"}),e.jsx("button",{onClick:a,disabled:r,className:"text-destructive hover:text-destructive/80 font-medium transition-colors disabled:opacity-50",children:"Yes"}),e.jsx("button",{onClick:i,className:"text-muted-foreground hover:text-foreground transition-colors",children:"No"})]}):e.jsxs(e.Fragment,{children:[e.jsx("button",{onClick:()=>o({enabled:!t.enabled}),disabled:r,className:"shrink-0 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50",title:t.enabled?"Disable project":"Enable project",children:t.enabled?e.jsx(Je,{className:"h-3.5 w-3.5"}):e.jsx(Ge,{className:"h-3.5 w-3.5"})}),e.jsx("button",{onClick:n,disabled:r,className:"shrink-0 text-muted-foreground/50 hover:text-destructive transition-colors disabled:opacity-50",title:"Remove project",children:e.jsx(We,{className:"h-3.5 w-3.5"})})]})})]})}function ft({value:t,onChange:r,disabled:s}){return e.jsxs(Ke,{children:[e.jsx(Le,{asChild:!0,children:e.jsx("button",{disabled:s,className:"h-5 w-5 rounded-full border border-white/20 shrink-0 transition-shadow hover:shadow-[0_0_8px_currentColor] disabled:opacity-50",style:{backgroundColor:`hsl(${t})`},title:"Change color"})}),e.jsx(Ye,{side:"bottom",align:"start",className:"w-auto p-2",children:e.jsx("div",{className:"grid grid-cols-5 gap-2",children:qe.map(o=>e.jsx("button",{onClick:()=>r(o),className:v("h-6 w-6 rounded-full border-2 transition-transform hover:scale-110",o===t?"border-white shadow-[0_0_8px_hsl(var(--primary))]":"border-transparent hover:border-white/40"),style:{backgroundColor:`hsl(${o})`}},o))})})]})}function A({checked:t,onCheckedChange:r,disabled:s}){return e.jsx("button",{type:"button",role:"switch","aria-checked":t,disabled:s,onClick:()=>r(!t),className:v("relative inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border transition-colors duration-200",t?"border-[rgba(0,188,212,0.4)] bg-[rgba(0,188,212,0.25)]":"border-[rgba(255,255,255,0.1)] bg-[rgba(255,255,255,0.05)]",s&&"cursor-not-allowed opacity-40"),children:e.jsx("span",{className:v("pointer-events-none block h-3.5 w-3.5 rounded-full transition-all duration-200",t?"translate-x-[18px] bg-[rgb(0,188,212)] shadow-[0_0_8px_rgba(0,188,212,0.5)]":"translate-x-[2px] bg-[rgba(255,255,255,0.4)]")})})}const ie={permissionMode:"bypass",verbose:!0,allowedTools:[],disallowedTools:[],appendSystemPrompt:"",outputFormat:"",noMarkdown:!1,printMode:!1},gt={staleTimeoutMinutes:10,maxBatchSize:20,maxConcurrent:0,envVars:{}},oe="/api/orbital/aggregate/config/dispatch-flags";function jt(){const[t,r]=c.useState(ie),[s,o]=c.useState(!0),[n,a]=c.useState(!1),[i,h]=c.useState(null),u=c.useRef(t);u.current=t;const d=c.useCallback(async()=>{try{const x=await fetch(oe);if(!x.ok)throw new Error(`HTTP ${x.status}`);const{data:l}=await x.json();r(l),h(null)}catch(x){console.warn("[Orbital] Dispatch flags fetch failed:",x),h("Failed to load dispatch settings")}finally{o(!1)}},[]),j=c.useCallback(async x=>{const l={...u.current,...x};r(l),a(!0),h(null);try{const g=await fetch(oe,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(x)});if(!g.ok){const S=await g.json().catch(()=>({}));throw new Error(S.error??`HTTP ${g.status}`)}const{data:m}=await g.json();r(m)}catch(g){console.warn("[Orbital] Dispatch flags update failed:",g),h(g instanceof Error?g.message:"Failed to save"),d()}finally{a(!1)}},[d]),y=c.useCallback(async()=>{r(ie),a(!0),h(null);try{const x=await fetch(oe,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(ie)});if(!x.ok)throw new Error(`HTTP ${x.status}`);const{data:l}=await x.json();r(l)}catch(x){console.warn("[Orbital] Dispatch flags reset failed:",x),h("Failed to reset"),d()}finally{a(!1)}},[d]);return c.useEffect(()=>{d()},[d]),he(d),{flags:t,loading:s,saving:n,error:i,updateFlags:j,resetToDefaults:y}}const R="flex h-7 w-7 items-center justify-center rounded-md border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] text-muted-foreground transition-colors hover:border-[rgba(0,188,212,0.3)] hover:text-foreground disabled:opacity-30 disabled:cursor-not-allowed",Fe="flex items-center gap-1.5 rounded-md border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-3 py-1.5 text-xs text-muted-foreground transition-colors hover:border-[rgba(0,188,212,0.3)] hover:text-foreground disabled:opacity-40",me="h-8 w-full rounded-md border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-2.5 text-sm text-foreground outline-none transition-colors hover:border-[rgba(0,188,212,0.3)] focus:border-[rgba(0,188,212,0.5)] focus:shadow-[0_0_8px_rgba(0,188,212,0.15)] placeholder:text-muted-foreground/40";function ue({value:t,onChange:r,options:s,disabled:o,label:n}){return e.jsx("div",{role:"group","aria-label":n,className:"card-glass inline-flex flex-wrap rounded-md border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.02)] p-0.5",children:s.map(a=>e.jsx("button",{onClick:()=>r(a.value),disabled:o,"aria-pressed":t===a.value,className:`px-2.5 py-1 text-xs rounded-[3px] transition-all duration-150 ${t===a.value?"bg-[rgba(0,188,212,0.2)] text-[rgb(0,188,212)] shadow-[0_0_8px_rgba(0,188,212,0.15)]":"text-muted-foreground hover:text-foreground"} ${o?"opacity-40 cursor-not-allowed":"cursor-pointer"}`,children:a.label},a.value))})}function $({label:t,description:r,children:s}){return e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2 sm:gap-4",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-sm text-foreground",children:t}),e.jsx("div",{className:"text-xs text-muted-foreground/60",children:r})]}),e.jsx("div",{className:"flex-shrink-0",children:s})]})}function Ce({label:t,description:r,value:s,onChange:o,disabled:n}){const[a,i]=c.useState(""),h=()=>{const u=a.trim();u&&!s.includes(u)&&(o([...s,u]),i(""))};return e.jsxs("div",{children:[e.jsxs("div",{className:"mb-2",children:[e.jsx("div",{className:"text-sm text-foreground",children:t}),e.jsx("div",{className:"text-xs text-muted-foreground/60",children:r})]}),e.jsxs("div",{className:"flex gap-2 mb-2",children:[e.jsx("input",{type:"text",value:a,onChange:u=>i(u.target.value),onKeyDown:u=>{u.key==="Enter"&&(u.preventDefault(),h())},disabled:n,placeholder:"Tool name (e.g. Read, Bash)","aria-label":`Add ${t.toLowerCase()}`,className:me}),e.jsx("button",{onClick:h,disabled:n||!a.trim(),"aria-label":`Add tool to ${t.toLowerCase()}`,className:R+" !w-8 !h-8",children:e.jsx(V,{className:"h-3.5 w-3.5"})})]}),s.length>0&&e.jsx("div",{className:"flex flex-wrap gap-1.5",children:s.map(u=>e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-md border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-2 py-0.5 text-xs text-muted-foreground",children:[u,e.jsx("button",{onClick:()=>o(s.filter(d=>d!==u)),disabled:n,"aria-label":`Remove ${u}`,className:"text-muted-foreground/60 hover:text-foreground transition-colors",children:e.jsx(De,{className:"h-3 w-3"})})]},u))})]})}function bt({value:t,onChange:r,disabled:s}){const[o,n]=c.useState(""),[a,i]=c.useState(""),h=Object.entries(t),u=()=>{const d=o.trim();d&&(r({...t,[d]:a}),n(""),i(""))};return e.jsxs("div",{children:[e.jsxs("div",{className:"mb-2",children:[e.jsx("div",{className:"text-sm text-foreground",children:"Environment Variables"}),e.jsx("div",{className:"text-xs text-muted-foreground/60",children:"Custom env vars passed to every dispatched session"})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-2 mb-2",children:[e.jsx("input",{type:"text",value:o,onChange:d=>n(d.target.value),onKeyDown:d=>{d.key==="Enter"&&(d.preventDefault(),u())},disabled:s,placeholder:"KEY","aria-label":"Environment variable name",className:me+" sm:w-1/3"}),e.jsxs("div",{className:"flex gap-2 flex-1",children:[e.jsx("input",{type:"text",value:a,onChange:d=>i(d.target.value),onKeyDown:d=>{d.key==="Enter"&&(d.preventDefault(),u())},disabled:s,placeholder:"value","aria-label":"Environment variable value",className:me+" flex-1"}),e.jsx("button",{onClick:u,disabled:s||!o.trim(),"aria-label":"Add environment variable",className:R+" !w-8 !h-8",children:e.jsx(V,{className:"h-3.5 w-3.5"})})]})]}),h.length>0&&e.jsx("div",{className:"flex flex-col gap-1.5",children:h.map(([d,j])=>e.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1",children:[e.jsx("span",{className:"text-xs font-medium text-foreground",children:d}),e.jsx("span",{className:"text-xs text-muted-foreground/60",children:"="}),e.jsx("span",{className:"text-xs text-muted-foreground flex-1 truncate",children:j}),e.jsx("button",{onClick:()=>{const y={...t};delete y[d],r(y)},disabled:s,"aria-label":`Remove ${d}`,className:"text-muted-foreground/60 hover:text-foreground transition-colors",children:e.jsx(De,{className:"h-3 w-3"})})]},d))})]})}function Nt(){const{flags:t,loading:r,saving:s,error:o,updateFlags:n,resetToDefaults:a}=jt();return e.jsxs("section",{className:`card-glass settings-panel rounded-xl p-5 ${r?"opacity-60":""}`,children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 mb-5",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("h2",{className:"text-sm font-medium uppercase tracking-wider text-primary",children:"Dispatch"}),o&&e.jsx("span",{className:"text-[11px] text-destructive",children:o})]}),e.jsxs("button",{onClick:a,disabled:s||r,className:Fe,children:[e.jsx(G,{className:"h-3 w-3"}),"Reset to defaults"]})]}),e.jsx($,{label:"Permission Mode",description:"How permission prompts are handled in dispatched sessions",children:e.jsx(ue,{label:"Permission Mode",value:t.permissionMode,onChange:i=>n({permissionMode:i}),options:[{value:"bypass",label:"Bypass"},{value:"default",label:"Default"},{value:"plan",label:"Plan"},{value:"acceptEdits",label:"Accept Edits"}],disabled:s})}),e.jsx(w,{className:"my-4"}),e.jsx($,{label:"Verbose Logging",description:"Enable verbose CLI output in dispatched sessions",children:e.jsx(A,{checked:t.verbose,onCheckedChange:i=>n({verbose:i}),disabled:s})}),e.jsx(w,{className:"my-4"}),e.jsx($,{label:"No Markdown",description:"Disable markdown rendering in terminal output",children:e.jsx(A,{checked:t.noMarkdown,onCheckedChange:i=>n({noMarkdown:i}),disabled:s})}),e.jsx(w,{className:"my-4"}),e.jsx($,{label:"Print Mode",description:"Force non-interactive mode for single dispatches",children:e.jsx(A,{checked:t.printMode,onCheckedChange:i=>n({printMode:i}),disabled:s})}),e.jsx(w,{className:"my-4"}),e.jsx($,{label:"Output Format",description:"Output format for non-interactive mode",children:e.jsx(ue,{label:"Output Format",value:t.outputFormat,onChange:i=>n({outputFormat:i}),options:[{value:"",label:"Default"},{value:"text",label:"Text"},{value:"json",label:"JSON"},{value:"stream-json",label:"Stream"}],disabled:s})}),e.jsx(w,{className:"my-4"}),e.jsx(Ce,{label:"Allowed Tools",description:"Whitelist specific tools (leave empty for all)",value:t.allowedTools,onChange:i=>n({allowedTools:i}),disabled:s}),e.jsx(w,{className:"my-4"}),e.jsx(Ce,{label:"Disallowed Tools",description:"Block specific tools from being used",value:t.disallowedTools,onChange:i=>n({disallowedTools:i}),disabled:s}),e.jsx(w,{className:"my-4"}),e.jsxs("div",{children:[e.jsxs("div",{className:"mb-2",children:[e.jsx("div",{className:"text-sm text-foreground",children:"System Prompt"}),e.jsx("div",{className:"text-xs text-muted-foreground/60",children:"Custom instructions appended to every dispatched session"})]}),e.jsx("textarea",{value:t.appendSystemPrompt,onChange:i=>n({appendSystemPrompt:i.target.value}),disabled:s,rows:3,placeholder:"Enter additional instructions...",className:"w-full rounded-md border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-2.5 py-2 text-sm text-foreground outline-none transition-colors hover:border-[rgba(0,188,212,0.3)] focus:border-[rgba(0,188,212,0.5)] focus:shadow-[0_0_8px_rgba(0,188,212,0.15)] placeholder:text-muted-foreground/40 resize-y"})]})]})}const ce={...gt,terminalAdapter:"auto"},de="/api/orbital/aggregate/config/dispatch-settings";function vt(){const[t,r]=c.useState(ce),[s,o]=c.useState(!0),[n,a]=c.useState(!1),[i,h]=c.useState(null),u=c.useRef(t);u.current=t;const d=c.useCallback(async()=>{try{const x=await fetch(de);if(!x.ok)throw new Error(`HTTP ${x.status}`);const{data:l}=await x.json();r(l),h(null)}catch(x){console.warn("[Orbital] Dispatch settings fetch failed:",x),h("Failed to load dispatch operations")}finally{o(!1)}},[]),j=c.useCallback(async x=>{const l={...u.current,...x};r(l),a(!0),h(null);try{const g=await fetch(de,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(x)});if(!g.ok){const S=await g.json().catch(()=>({}));throw new Error(S.error??`HTTP ${g.status}`)}const{data:m}=await g.json();r(m)}catch(g){console.warn("[Orbital] Dispatch settings update failed:",g),h(g instanceof Error?g.message:"Failed to save"),d()}finally{a(!1)}},[d]),y=c.useCallback(async()=>{r(ce),a(!0),h(null);try{const x=await fetch(de,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(ce)});if(!x.ok)throw new Error(`HTTP ${x.status}`);const{data:l}=await x.json();r(l)}catch(x){console.warn("[Orbital] Dispatch settings reset failed:",x),h("Failed to reset"),d()}finally{a(!1)}},[d]);return c.useEffect(()=>{d()},[d]),he(d),{settings:t,loading:s,saving:n,error:i,updateSettings:j,resetToDefaults:y}}function yt(){const{settings:t,loading:r,saving:s,error:o,updateSettings:n,resetToDefaults:a}=vt();return e.jsxs("section",{className:`card-glass settings-panel rounded-xl p-5 ${r?"opacity-60":""}`,children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 mb-5",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("h2",{className:"text-sm font-medium uppercase tracking-wider text-primary",children:"Dispatch: Operations"}),o&&e.jsx("span",{className:"text-[11px] text-destructive",children:o})]}),e.jsxs("button",{onClick:a,disabled:s||r,className:Fe,children:[e.jsx(G,{className:"h-3 w-3"}),"Reset to defaults"]})]}),e.jsx($,{label:"Terminal Adapter",description:"How dispatch windows are opened",children:e.jsx(ue,{label:"Terminal Adapter",value:t.terminalAdapter,onChange:i=>n({terminalAdapter:i}),options:[{value:"auto",label:"Auto"},{value:"iterm2",label:"iTerm2"},{value:"subprocess",label:"Subprocess"},{value:"none",label:"None"}],disabled:s})}),e.jsx(w,{className:"my-4"}),e.jsx($,{label:"Stale Timeout",description:"Minutes before unlinked dispatch is marked abandoned",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:()=>n({staleTimeoutMinutes:Math.max(1,t.staleTimeoutMinutes-1)}),disabled:s||t.staleTimeoutMinutes<=1,className:R,children:e.jsx(J,{className:"h-3.5 w-3.5"})}),e.jsxs("span",{className:"w-12 text-center text-sm tabular-nums",children:[t.staleTimeoutMinutes,"m"]}),e.jsx("button",{onClick:()=>n({staleTimeoutMinutes:t.staleTimeoutMinutes+1}),disabled:s,className:R,children:e.jsx(V,{className:"h-3.5 w-3.5"})})]})}),e.jsx(w,{className:"my-4"}),e.jsx($,{label:"Max Batch Size",description:"Maximum scopes per batch dispatch",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:()=>n({maxBatchSize:Math.max(1,t.maxBatchSize-1)}),disabled:s||t.maxBatchSize<=1,className:R,children:e.jsx(J,{className:"h-3.5 w-3.5"})}),e.jsx("span",{className:"w-12 text-center text-sm tabular-nums",children:t.maxBatchSize}),e.jsx("button",{onClick:()=>n({maxBatchSize:t.maxBatchSize+1}),disabled:s,className:R,children:e.jsx(V,{className:"h-3.5 w-3.5"})})]})}),e.jsx(w,{className:"my-4"}),e.jsx($,{label:"Max Concurrent",description:"Limit simultaneous dispatches, 0 = unlimited",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:()=>n({maxConcurrent:Math.max(0,t.maxConcurrent-1)}),disabled:s||t.maxConcurrent<=0,className:R,children:e.jsx(J,{className:"h-3.5 w-3.5"})}),e.jsx("span",{className:"w-12 text-center text-sm tabular-nums",children:t.maxConcurrent===0?"∞":t.maxConcurrent}),e.jsx("button",{onClick:()=>n({maxConcurrent:t.maxConcurrent+1}),disabled:s,className:R,children:e.jsx(V,{className:"h-3.5 w-3.5"})})]})}),e.jsx(w,{className:"my-4"}),e.jsx(bt,{value:t.envVars,onChange:i=>n({envVars:i}),disabled:s})]})}const wt={monospace:"Monospace","sans-serif":"Sans-Serif",display:"Display"},kt=["monospace","sans-serif","display"];function Ct(){var n;const{settings:t,updateSetting:r}=Oe(),s=()=>{const a=Math.max(.8,Math.round((t.fontScale-.05)*100)/100);r("fontScale",a)},o=()=>{const a=Math.min(1.3,Math.round((t.fontScale+.05)*100)/100);r("fontScale",a)};return e.jsxs("section",{className:"card-glass settings-panel rounded-xl p-5",children:[e.jsx("h2",{className:"text-sm font-medium uppercase tracking-wider text-primary mb-5",children:"Appearance"}),e.jsx($,{label:"Font Family",description:"Typeface used across the dashboard",children:e.jsx("select",{value:t.fontFamily,onChange:a=>r("fontFamily",a.target.value),style:{fontFamily:`'${t.fontFamily}', ${((n=ke.find(a=>a.family===t.fontFamily))==null?void 0:n.category)==="monospace"?"monospace":"sans-serif"}`,backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")`,backgroundRepeat:"no-repeat",backgroundPosition:"right 8px center"},className:"h-8 rounded-md border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-2.5 pr-7 text-sm text-foreground outline-none transition-colors hover:border-[rgba(0,188,212,0.3)] focus:border-[rgba(0,188,212,0.5)] focus:shadow-[0_0_8px_rgba(0,188,212,0.15)] appearance-none cursor-pointer",children:kt.map(a=>e.jsx("optgroup",{label:wt[a],children:ke.filter(i=>i.category===a).map(i=>e.jsxs("option",{value:i.family,children:[i.label,i.family==="Space Grotesk"?" (default)":""]},i.family))},a))})}),e.jsx(w,{className:"my-4"}),e.jsx($,{label:"Font Size",description:"Scale text across the dashboard",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:s,disabled:t.fontScale<=.8,className:"flex h-7 w-7 items-center justify-center rounded-md border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] text-muted-foreground transition-colors hover:border-[rgba(0,188,212,0.3)] hover:text-foreground disabled:opacity-30 disabled:cursor-not-allowed",children:e.jsx(J,{className:"h-3.5 w-3.5"})}),e.jsxs("span",{className:"w-12 text-center text-sm tabular-nums",children:[Math.round(t.fontScale*100),"%"]}),e.jsx("button",{onClick:o,disabled:t.fontScale>=1.3,className:"flex h-7 w-7 items-center justify-center rounded-md border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] text-muted-foreground transition-colors hover:border-[rgba(0,188,212,0.3)] hover:text-foreground disabled:opacity-30 disabled:cursor-not-allowed",children:e.jsx(V,{className:"h-3.5 w-3.5"})})]})}),e.jsx(w,{className:"my-4"}),e.jsx($,{label:"Reduce Motion",description:"Disable animations and transitions",children:e.jsx(A,{checked:t.reduceMotion,onCheckedChange:a=>r("reduceMotion",a)})}),e.jsx(w,{className:"my-4"}),e.jsx($,{label:"Background Effects",description:"Animated orbs and grid overlay",children:e.jsx(A,{checked:t.showBackgroundEffects,onCheckedChange:a=>r("showBackgroundEffects",a)})})]})}function St(){const{settings:t,updateSetting:r}=Oe();return e.jsxs("section",{className:"card-glass settings-panel rounded-xl p-5",children:[e.jsx("h2",{className:"text-sm font-medium uppercase tracking-wider text-primary mb-5",children:"Display"}),e.jsx($,{label:"Status Bar",description:"Scope progress bar at bottom",children:e.jsx(A,{checked:t.showStatusBar,onCheckedChange:s=>r("showStatusBar",s)})}),e.jsx(w,{className:"my-4"}),e.jsx($,{label:"Compact Mode",description:"Reduce spacing for denser layout",children:e.jsx(A,{checked:t.compactMode,onCheckedChange:s=>r("compactMode",s)})})]})}function Ot(){const{restart:t}=Xe();return c.useEffect(()=>{Qe()},[]),e.jsxs("div",{className:"flex flex-1 min-h-0 flex-col -mt-4",children:[e.jsxs("div",{className:"mb-4 flex items-center gap-3",children:[e.jsx(Ze,{className:"h-4 w-4 text-primary"}),e.jsx("h1",{className:"text-xl font-light",children:"Settings"})]}),e.jsx(et,{className:"flex-1",children:e.jsxs("div",{className:"columns-1 lg:columns-2 gap-4 sm:gap-6 pr-1 sm:pr-4 pb-8 [&>*]:mb-4 sm:[&>*]:mb-6 [&>*]:break-inside-avoid",children:[e.jsx("div",{className:"lg:[column-span:all]",children:e.jsx(ut,{})}),e.jsx("div",{className:"lg:[column-span:all]",children:e.jsx(ht,{})}),e.jsx(Nt,{}),e.jsx(yt,{}),e.jsx(Ct,{}),e.jsx(St,{}),e.jsxs("section",{className:"card-glass settings-panel rounded-xl p-5",children:[e.jsx("h2",{className:"text-sm font-medium uppercase tracking-wider text-primary mb-5",children:"Onboarding"}),e.jsx($,{label:"Guided Tour",description:"Interactive walkthrough of all pages",children:e.jsxs("button",{onClick:t,className:"flex items-center gap-1.5 rounded-md border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-3 py-1.5 text-xs text-muted-foreground transition-colors hover:border-[rgba(0,188,212,0.3)] hover:text-foreground",children:[e.jsx(G,{className:"h-3 w-3"}),"Restart tour"]})})]})]})})]})}export{Ot as Settings};
@@ -1 +0,0 @@
1
- *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-family),monospace;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-family),monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 240 25% 3.5%;--foreground: 0 0% 88%;--card: 240 19% 8.6%;--card-foreground: 0 0% 88%;--popover: 240 19% 8.6%;--popover-foreground: 0 0% 88%;--primary: 187 100% 42%;--primary-foreground: 0 0% 0%;--secondary: 240 22% 13%;--secondary-foreground: 0 0% 88%;--muted: 240 22% 13%;--muted-foreground: 0 0% 75%;--accent: 240 22% 13%;--accent-foreground: 0 0% 88%;--destructive: 348 100% 54%;--destructive-foreground: 0 0% 100%;--border: 240 18% 19.5%;--input: 240 18% 19.5%;--ring: 187 100% 42%;--radius: .375rem;--cc-success: 153 100% 39%;--cc-warning: 40 100% 50%;--cc-error: 348 100% 54%;--cc-info: 187 100% 42%;--cc-sidebar: 240 25% 5%;--font-family: "Space Grotesk", sans-serif;--font-scale: 1.1}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-family);font-feature-settings:"rlig" 1,"calt" 1}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media(min-width:1400px){.container{max-width:1400px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-right-1{right:-.25rem}.-right-2\.5{right:-.625rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-24{left:6rem}.left-6{left:1.5rem}.left-\[8px\]{left:8px}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\/2{top:50%}.top-3{top:.75rem}.top-4{top:1rem}.top-\[29px\]{top:29px}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[60\]{z-index:60}.z-\[61\]{z-index:61}.z-\[70\]{z-index:70}.col-span-full{grid-column:1 / -1}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-my-px{margin-top:-1px;margin-bottom:-1px}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-1\.5{margin-top:.375rem;margin-bottom:.375rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-ml-px{margin-left:-1px}.-mr-2{margin-right:-.5rem}.-mt-4{margin-top:-1rem}.-mt-8{margin-top:-2rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-6{margin-left:1.5rem}.ml-\[-1\.25rem\]{margin-left:-1.25rem}.ml-auto{margin-left:auto}.mr-0\.5{margin-right:.125rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.\!h-2\.5{height:.625rem!important}.\!h-8{height:2rem!important}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[280px\]{height:280px}.h-\[2px\]{height:2px}.h-\[80vh\]{height:80vh}.h-\[85vh\]{height:85vh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-0{max-height:0px}.max-h-48{max-height:12rem}.max-h-64{max-height:16rem}.max-h-\[400px\]{max-height:400px}.max-h-\[600px\]{max-height:600px}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:0px}.min-h-\[200px\]{min-height:200px}.min-h-\[28px\]{min-height:28px}.min-h-\[300px\]{min-height:300px}.min-h-\[32px\]{min-height:32px}.min-h-\[40px\]{min-height:40px}.min-h-\[48px\]{min-height:48px}.\!w-2\.5{width:.625rem!important}.\!w-8{width:2rem!important}.w-0{width:0px}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[1px\]{width:1px}.w-\[20\%\]{width:20%}.w-\[35\%\]{width:35%}.w-\[40\%\]{width:40%}.w-\[45\%\]{width:45%}.w-\[520px\]{width:520px}.w-\[60\%\]{width:60%}.w-\[80px\]{width:80px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[100px\]{min-width:100px}.min-w-\[130px\]{min-width:130px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.min-w-\[220px\]{min-width:220px}.min-w-\[280px\]{min-width:280px}.max-w-0{max-width:0px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-7xl{max-width:80rem}.max-w-\[100px\]{max-width:100px}.max-w-\[120px\]{max-width:120px}.max-w-\[150px\]{max-width:150px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[400px\]{max-width:400px}.max-w-\[440px\]{max-width:440px}.max-w-\[60px\]{max-width:60px}.max-w-\[min\(56rem\,calc\(100vw_-_2rem\)\)\]{max-width:min(56rem,calc(100vw - 2rem))}.max-w-\[min\(72rem\,calc\(100vw_-_2rem\)\)\]{max-width:min(72rem,calc(100vw - 2rem))}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-\[35\]{flex:35}.flex-\[65\]{flex:65}.flex-shrink-0,.shrink-0{flex-shrink:0}.basis-2\/5{flex-basis:40%}.table-fixed{table-layout:fixed}.origin-left{transform-origin:left}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[18px\]{--tw-translate-x: 18px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[2px\]{--tw-translate-x: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-1{--tw-rotate: 1deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-2{--tw-rotate: 2deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glowPulse{0%,to{box-shadow:0 0 8px #00bcd440}50%{box-shadow:0 0 18px #00bcd480}}.animate-glow-pulse{animation:glowPulse 2s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.3}}.animate-pulse-dot{animation:pulseDot 2s ease-in-out infinite}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slideUp .3s ease-out}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.columns-1{-moz-columns:1;columns:1}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-\[1fr_auto_1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr auto 1fr}.grid-rows-\[auto_auto_1fr_auto_auto\]{grid-template-rows:auto auto 1fr auto auto}.grid-rows-\[auto_auto_auto_1fr_auto_auto\]{grid-template-rows:auto auto auto 1fr auto auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-px{gap:1px}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(0px * var(--tw-divide-y-reverse))}.self-end{align-self:flex-end}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\[3px\]{border-radius:3px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.375rem}.rounded-md{border-radius:.25rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b-lg{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-r,.rounded-r-md{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.\!border-2{border-width:2px!important}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-none{border-style:none}.\!border-zinc-800{--tw-border-opacity: 1 !important;border-color:rgb(39 39 42 / var(--tw-border-opacity, 1))!important}.border-\[rgba\(0\,188\,212\,0\.3\)\]{border-color:#00bcd44d}.border-\[rgba\(0\,188\,212\,0\.4\)\]{border-color:#00bcd466}.border-\[rgba\(255\,255\,255\,0\.08\)\]{border-color:#ffffff14}.border-\[rgba\(255\,255\,255\,0\.1\)\]{border-color:#ffffff1a}.border-accent-blue{--tw-border-opacity: 1;border-color:rgb(6 182 212 / var(--tw-border-opacity, 1))}.border-accent-blue\/30{border-color:#06b6d44d}.border-accent-blue\/40{border-color:#06b6d466}.border-accent-blue\/50{border-color:#06b6d480}.border-amber-500\/20{border-color:#f59e0b33}.border-amber-500\/30{border-color:#f59e0b4d}.border-amber-500\/40{border-color:#f59e0b66}.border-amber-500\/50{border-color:#f59e0b80}.border-ask-red{--tw-border-opacity: 1;border-color:rgb(255 23 68 / var(--tw-border-opacity, 1))}.border-ask-red\/30{border-color:#ff17444d}.border-ask-red\/40{border-color:#ff174466}.border-ask-red\/60{border-color:#ff174499}.border-bid-green\/40{border-color:#00c85366}.border-blue-500\/30{border-color:#3b82f64d}.border-border{border-color:hsl(var(--border))}.border-border\/20{border-color:hsl(var(--border) / .2)}.border-border\/30{border-color:hsl(var(--border) / .3)}.border-border\/40{border-color:hsl(var(--border) / .4)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-category-bugfix{border-color:var(--category-bugfix, #ff1744)}.border-category-docs{border-color:var(--category-docs, #6B7280)}.border-category-feature{border-color:var(--category-feature, #536dfe)}.border-category-infrastructure{border-color:var(--category-infrastructure, #40c4ff)}.border-category-refactor{border-color:var(--category-refactor, #8B5CF6)}.border-cyan-500\/10{border-color:#06b6d41a}.border-cyan-500\/20{border-color:#06b6d433}.border-cyan-500\/30{border-color:#06b6d44d}.border-cyan-500\/40{border-color:#06b6d466}.border-cyan-500\/60{border-color:#06b6d499}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-emerald-500\/15{border-color:#10b98126}.border-emerald-500\/20{border-color:#10b98133}.border-emerald-500\/25{border-color:#10b98140}.border-emerald-500\/30{border-color:#10b9814d}.border-green-500\/20{border-color:#22c55e33}.border-green-500\/30{border-color:#22c55e4d}.border-green-500\/40{border-color:#22c55e66}.border-indigo-500\/20{border-color:#6366f133}.border-indigo-500\/30{border-color:#6366f14d}.border-inherit{border-color:inherit}.border-muted-foreground{border-color:hsl(var(--muted-foreground))}.border-muted-foreground\/20{border-color:hsl(var(--muted-foreground) / .2)}.border-muted-foreground\/30{border-color:hsl(var(--muted-foreground) / .3)}.border-muted-foreground\/40{border-color:hsl(var(--muted-foreground) / .4)}.border-primary{border-color:hsl(var(--primary))}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-primary\/30{border-color:hsl(var(--primary) / .3)}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-purple-400\/30{border-color:#c084fc4d}.border-purple-500\/20{border-color:#a855f733}.border-purple-500\/30{border-color:#a855f74d}.border-red-500\/20{border-color:#ef444433}.border-red-500\/30{border-color:#ef44444d}.border-red-500\/40{border-color:#ef444466}.border-transparent{border-color:transparent}.border-violet-500\/20{border-color:#8b5cf633}.border-warning-amber{--tw-border-opacity: 1;border-color:rgb(255 171 0 / var(--tw-border-opacity, 1))}.border-warning-amber\/30{border-color:#ffab004d}.border-warning-amber\/40{border-color:#ffab0066}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/20{border-color:#fff3}.border-white\/\[0\.04\]{border-color:#ffffff0a}.border-white\/\[0\.06\]{border-color:#ffffff0f}.border-white\/\[0\.08\]{border-color:#ffffff14}.border-zinc-500\/20{border-color:#71717a33}.border-zinc-500\/30{border-color:#71717a4d}.border-zinc-600{--tw-border-opacity: 1;border-color:rgb(82 82 91 / var(--tw-border-opacity, 1))}.border-zinc-700{--tw-border-opacity: 1;border-color:rgb(63 63 70 / var(--tw-border-opacity, 1))}.border-zinc-800{--tw-border-opacity: 1;border-color:rgb(39 39 42 / var(--tw-border-opacity, 1))}.border-zinc-800\/50{border-color:#27272a80}.border-b-white\/\[0\.08\]{border-bottom-color:#ffffff14}.border-l-primary\/50{border-left-color:hsl(var(--primary) / .5)}.border-l-transparent{border-left-color:transparent}.border-l-warning-amber\/60{border-left-color:#ffab0099}.border-t-transparent{border-top-color:transparent}.\!bg-transparent{background-color:transparent!important}.\!bg-zinc-900{--tw-bg-opacity: 1 !important;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))!important}.bg-\[\#00bcd4\]\/10{background-color:#00bcd41a}.bg-\[\#00bcd4\]\/15{background-color:#00bcd426}.bg-\[\#00c85315\]{background-color:#00c85315}.bg-\[\#00c85322\]{background-color:#00c85322}.bg-\[\#06b6d415\]{background-color:#06b6d415}.bg-\[\#0a0a12\]{--tw-bg-opacity: 1;background-color:rgb(10 10 18 / var(--tw-bg-opacity, 1))}.bg-\[\#0d0d14\]{--tw-bg-opacity: 1;background-color:rgb(13 13 20 / var(--tw-bg-opacity, 1))}.bg-\[\#ff174415\]{background-color:#ff174415}.bg-\[\#ff174422\]{background-color:#ff174422}.bg-\[\#ffab0015\]{background-color:#ffab0015}.bg-\[\#ffab0022\]{background-color:#ffab0022}.bg-\[rgb\(0\,188\,212\)\]{--tw-bg-opacity: 1;background-color:rgb(0 188 212 / var(--tw-bg-opacity, 1))}.bg-\[rgba\(0\,188\,212\,0\.2\)\]{background-color:#00bcd433}.bg-\[rgba\(0\,188\,212\,0\.25\)\]{background-color:#00bcd440}.bg-\[rgba\(255\,255\,255\,0\.02\)\]{background-color:#ffffff05}.bg-\[rgba\(255\,255\,255\,0\.03\)\]{background-color:#ffffff08}.bg-\[rgba\(255\,255\,255\,0\.05\)\]{background-color:#ffffff0d}.bg-\[rgba\(255\,255\,255\,0\.4\)\]{background-color:#fff6}.bg-\[rgba\(var\(--neon-blue\)\,0\.08\)\]{background-color:rgba(var(--neon-blue),.08)}.bg-accent{background-color:hsl(var(--accent))}.bg-accent-blue{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity, 1))}.bg-accent-blue\/10{background-color:#06b6d41a}.bg-accent-blue\/25{background-color:#06b6d440}.bg-accent-blue\/5{background-color:#06b6d40d}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/15{background-color:#f59e0b26}.bg-amber-500\/20{background-color:#f59e0b33}.bg-amber-500\/5{background-color:#f59e0b0d}.bg-ask-red{--tw-bg-opacity: 1;background-color:rgb(255 23 68 / var(--tw-bg-opacity, 1))}.bg-ask-red\/10{background-color:#ff17441a}.bg-ask-red\/5{background-color:#ff17440d}.bg-background{background-color:hsl(var(--background))}.bg-background\/60{background-color:hsl(var(--background) / .6)}.bg-bid-green{--tw-bg-opacity: 1;background-color:rgb(0 200 83 / var(--tw-bg-opacity, 1))}.bg-bid-green\/10{background-color:#00c8531a}.bg-black\/40{background-color:#0006}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-card\/30{background-color:hsl(var(--card) / .3)}.bg-card\/50{background-color:hsl(var(--card) / .5)}.bg-card\/80{background-color:hsl(var(--card) / .8)}.bg-category-bugfix{background-color:var(--category-bugfix, #ff1744)}.bg-category-docs{background-color:var(--category-docs, #6B7280)}.bg-category-feature{background-color:var(--category-feature, #536dfe)}.bg-category-infrastructure{background-color:var(--category-infrastructure, #40c4ff)}.bg-category-refactor{background-color:var(--category-refactor, #8B5CF6)}.bg-cyan-500\/10{background-color:#06b6d41a}.bg-cyan-500\/15{background-color:#06b6d426}.bg-cyan-500\/20{background-color:#06b6d433}.bg-cyan-500\/5{background-color:#06b6d40d}.bg-cyan-600{--tw-bg-opacity: 1;background-color:rgb(8 145 178 / var(--tw-bg-opacity, 1))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/5{background-color:hsl(var(--destructive) / .05)}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/15{background-color:#10b98126}.bg-emerald-500\/20{background-color:#10b98133}.bg-emerald-500\/5{background-color:#10b9810d}.bg-emerald-500\/70{background-color:#10b981b3}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-gray-950{--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity, 1))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/15{background-color:#22c55e26}.bg-green-500\/5{background-color:#22c55e0d}.bg-green-600\/20{background-color:#16a34a33}.bg-indigo-500\/5{background-color:#6366f10d}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/20{background-color:hsl(var(--muted-foreground) / .2)}.bg-muted-foreground\/30{background-color:hsl(var(--muted-foreground) / .3)}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground) / .4)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-pink-500{--tw-bg-opacity: 1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary-foreground{background-color:hsl(var(--primary-foreground))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-primary\/40{background-color:hsl(var(--primary) / .4)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-purple-500\/10{background-color:#a855f71a}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/15{background-color:#ef444426}.bg-red-500\/20{background-color:#ef444433}.bg-red-500\/5{background-color:#ef44440d}.bg-red-600\/80{background-color:#dc2626cc}.bg-secondary{background-color:hsl(var(--secondary))}.bg-surface{--tw-bg-opacity: 1;background-color:rgb(18 18 26 / var(--tw-bg-opacity, 1))}.bg-surface-light{--tw-bg-opacity: 1;background-color:rgb(26 26 40 / var(--tw-bg-opacity, 1))}.bg-surface-light\/20{background-color:#1a1a2833}.bg-surface-light\/40{background-color:#1a1a2866}.bg-surface\/30{background-color:#12121a4d}.bg-surface\/50{background-color:#12121a80}.bg-surface\/95{background-color:#12121af2}.bg-transparent{background-color:transparent}.bg-violet-500\/5{background-color:#8b5cf60d}.bg-warning-amber{--tw-bg-opacity: 1;background-color:rgb(255 171 0 / var(--tw-bg-opacity, 1))}.bg-warning-amber\/10{background-color:#ffab001a}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/\[0\.03\]{background-color:#ffffff08}.bg-white\/\[0\.06\]{background-color:#ffffff0f}.bg-white\/\[0\.08\]{background-color:#ffffff14}.bg-yellow-500\/10{background-color:#eab3081a}.bg-zinc-500\/10{background-color:#71717a1a}.bg-zinc-500\/20{background-color:#71717a33}.bg-zinc-700{--tw-bg-opacity: 1;background-color:rgb(63 63 70 / var(--tw-bg-opacity, 1))}.bg-zinc-800{--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1))}.bg-zinc-800\/50{background-color:#27272a80}.bg-zinc-800\/60{background-color:#27272a99}.bg-zinc-900{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))}.bg-zinc-900\/30{background-color:#18181b4d}.bg-zinc-900\/50{background-color:#18181b80}.bg-zinc-900\/95{background-color:#18181bf2}.bg-zinc-950{--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity, 1))}.bg-zinc-950\/30{background-color:#09090b4d}.bg-zinc-950\/50{background-color:#09090b80}.bg-zinc-950\/70{background-color:#09090bb3}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-amber-500\/20{--tw-gradient-from: rgb(245 158 11 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-500\/20{--tw-gradient-from: rgb(6 182 212 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500\/20{--tw-gradient-from: rgb(34 197 94 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-500\/20{--tw-gradient-from: rgb(236 72 153 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500\/20{--tw-gradient-from: rgb(168 85 247 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-blue-500\/20{--tw-gradient-to: rgb(59 130 246 / .2) var(--tw-gradient-to-position)}.to-emerald-500\/20{--tw-gradient-to: rgb(16 185 129 / .2) var(--tw-gradient-to-position)}.to-orange-500\/20{--tw-gradient-to: rgb(249 115 22 / .2) var(--tw-gradient-to-position)}.to-pink-500\/20{--tw-gradient-to: rgb(236 72 153 / .2) var(--tw-gradient-to-position)}.to-red-500\/20{--tw-gradient-to: rgb(239 68 68 / .2) var(--tw-gradient-to-position)}.to-teal-500\/20{--tw-gradient-to: rgb(20 184 166 / .2) var(--tw-gradient-to-position)}.fill-bid-green{fill:#00c853}.fill-current{fill:currentColor}.fill-warning-amber{fill:#ffab00}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-7{padding-right:1.75rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-12{padding-top:3rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono,.font-sans{font-family:var(--font-family),monospace}.text-2xl{font-size:20px;line-height:26px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:14px;line-height:20px}.text-lg{font-size:16px;line-height:22px}.text-sm{font-size:13px;line-height:19px}.text-xl{font-size:18px;line-height:24px}.text-xs{font-size:12px;line-height:17px}.text-xxs{font-size:11px;line-height:15px}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.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)}.leading-5{line-height:1.25rem}.leading-\[1\.6\]{line-height:1.6}.leading-\[1\.7\]{line-height:1.7}.leading-\[16px\]{line-height:16px}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#00bcd4\]{--tw-text-opacity: 1;color:rgb(0 188 212 / var(--tw-text-opacity, 1))}.text-\[\#00c853\]{--tw-text-opacity: 1;color:rgb(0 200 83 / var(--tw-text-opacity, 1))}.text-\[\#00e676\]{--tw-text-opacity: 1;color:rgb(0 230 118 / var(--tw-text-opacity, 1))}.text-\[\#e91e63\]{--tw-text-opacity: 1;color:rgb(233 30 99 / var(--tw-text-opacity, 1))}.text-\[\#ff1744\]{--tw-text-opacity: 1;color:rgb(255 23 68 / var(--tw-text-opacity, 1))}.text-\[\#ffab00\]{--tw-text-opacity: 1;color:rgb(255 171 0 / var(--tw-text-opacity, 1))}.text-\[rgb\(0\,188\,212\)\]{--tw-text-opacity: 1;color:rgb(0 188 212 / var(--tw-text-opacity, 1))}.text-accent-blue{--tw-text-opacity: 1;color:rgb(6 182 212 / var(--tw-text-opacity, 1))}.text-accent-blue\/90{color:#06b6d4e6}.text-agent-architect{color:var(--agent-architect, #536dfe)}.text-agent-attacker{color:var(--agent-attacker, #ff1744)}.text-agent-chaos{color:var(--agent-chaos, #F97316)}.text-agent-frontend{color:var(--agent-frontend, #EC4899)}.text-agent-rules{color:var(--agent-rules, #6B7280)}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-400\/25{color:#fbbf2440}.text-amber-400\/60{color:#fbbf2499}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-500\/50{color:#f59e0b80}.text-ask-red{--tw-text-opacity: 1;color:rgb(255 23 68 / var(--tw-text-opacity, 1))}.text-bid-green{--tw-text-opacity: 1;color:rgb(0 200 83 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-400\/25{color:#60a5fa40}.text-border{color:hsl(var(--border))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-category-bugfix{color:var(--category-bugfix, #ff1744)}.text-category-docs{color:var(--category-docs, #6B7280)}.text-category-feature{color:var(--category-feature, #536dfe)}.text-category-infrastructure{color:var(--category-infrastructure, #40c4ff)}.text-category-refactor{color:var(--category-refactor, #8B5CF6)}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-cyan-400\/60{color:#22d3ee99}.text-cyan-400\/70{color:#22d3eeb3}.text-cyan-500{--tw-text-opacity: 1;color:rgb(6 182 212 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-400\/70{color:#34d399b3}.text-emerald-400\/80{color:#34d399cc}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-foreground\/60{color:hsl(var(--foreground) / .6)}.text-foreground\/70{color:hsl(var(--foreground) / .7)}.text-foreground\/80{color:hsl(var(--foreground) / .8)}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-400\/20{color:#4ade8033}.text-green-400\/40{color:#4ade8066}.text-green-400\/50{color:#4ade8080}.text-green-400\/60{color:#4ade8099}.text-green-400\/70{color:#4ade80b3}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity, 1))}.text-info-cyan{--tw-text-opacity: 1;color:rgb(64 196 255 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/20{color:hsl(var(--muted-foreground) / .2)}.text-muted-foreground\/25{color:hsl(var(--muted-foreground) / .25)}.text-muted-foreground\/30{color:hsl(var(--muted-foreground) / .3)}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-muted-foreground\/80{color:hsl(var(--muted-foreground) / .8)}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-orange-400\/25{color:#fb923c40}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/70{color:hsl(var(--primary) / .7)}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-purple-400\/70{color:#c084fcb3}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-400\/25{color:#f8717140}.text-red-400\/40{color:#f8717166}.text-red-400\/60{color:#f8717199}.text-red-400\/70{color:#f87171b3}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-transparent{color:transparent}.text-violet-400{--tw-text-opacity: 1;color:rgb(167 139 250 / var(--tw-text-opacity, 1))}.text-warning-amber{--tw-text-opacity: 1;color:rgb(255 171 0 / var(--tw-text-opacity, 1))}.text-warning-amber\/70{color:#ffab00b3}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/20{color:#fff3}.text-white\/30{color:#ffffff4d}.text-white\/40{color:#fff6}.text-white\/50{color:#ffffff80}.text-white\/60{color:#fff9}.text-white\/80{color:#fffc}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-zinc-100{--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.text-zinc-200{--tw-text-opacity: 1;color:rgb(228 228 231 / var(--tw-text-opacity, 1))}.text-zinc-300{--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity, 1))}.text-zinc-400{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.text-zinc-500{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.text-zinc-600{--tw-text-opacity: 1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}.text-zinc-700{--tw-text-opacity: 1;color:rgb(63 63 70 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.accent-primary{accent-color:hsl(var(--primary))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_6px_currentColor\]{--tw-shadow: 0 0 6px currentColor;--tw-shadow-colored: 0 0 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_hsl\(var\(--primary\)\)\]{--tw-shadow: 0 0 8px hsl(var(--primary));--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(0\,188\,212\,0\.15\)\]{--tw-shadow: 0 0 8px rgba(0,188,212,.15);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(0\,188\,212\,0\.5\)\]{--tw-shadow: 0 0 8px rgba(0,188,212,.5);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/40{--tw-shadow-color: rgb(0 0 0 / .4);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-accent-blue\/40{--tw-ring-color: rgb(6 182 212 / .4)}.ring-border{--tw-ring-color: hsl(var(--border))}.ring-cyan-500\/30{--tw-ring-color: rgb(6 182 212 / .3)}.ring-green-500\/60{--tw-ring-color: rgb(34 197 94 / .6)}.ring-red-500\/50{--tw-ring-color: rgb(239 68 68 / .5)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur{--tw-blur: blur(8px);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)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));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)}.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)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.\!transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[colors\,opacity\]{transition-property:colors,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in,.fade-in-0{--tw-enter-opacity: 0}.zoom-in-75{--tw-enter-scale: .75}.zoom-in-95{--tw-enter-scale: .95}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.\[color\:\#000\]{color:#000}.\[writing-mode\:vertical-lr\]{writing-mode:vertical-lr}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}*{scrollbar-width:thin;scrollbar-color:transparent transparent}*:hover{scrollbar-color:#2a2a3a transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:transparent;border-radius:3px;-webkit-transition:background .3s;transition:background .3s}*:hover::-webkit-scrollbar-thumb{background:#2a2a3a}*:hover::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground))}[data-theme=neon-glass]{--neon-cyan: 0, 188, 212;--neon-pink: 233, 30, 99;--neon-blue: 0, 188, 212;--neon-green: 0, 230, 118;--neon-red: 233, 30, 99;--neon-amber: 255, 171, 0;--neon-purple: 117, 109, 158}[data-theme=neon-glass] body{background:#050510}[data-theme=neon-glass] .neon-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}[data-theme=neon-glass] .neon-bg:before{content:"";position:absolute;width:900px;height:900px;top:-350px;left:10%;background:rgba(var(--neon-cyan),.12);border-radius:50%;filter:blur(120px);animation:orb-drift-1 25s ease-in-out infinite alternate}[data-theme=neon-glass] .neon-bg:after{content:"";position:absolute;width:800px;height:800px;bottom:-300px;right:-50px;background:rgba(var(--neon-pink),.1);border-radius:50%;filter:blur(120px);animation:orb-drift-2 30s ease-in-out infinite alternate}@keyframes orb-drift-1{0%{transform:translateY(0)}to{transform:translateY(30px)}}@keyframes orb-drift-2{0%{transform:translateY(0)}to{transform:translateY(-25px)}}[data-theme=neon-glass] .neon-grid-canvas{position:absolute;top:0;right:0;bottom:0;left:0}[data-radix-scroll-area-viewport]>div{display:block!important}[data-theme=neon-glass] .card-glass{backdrop-filter:blur(4px) saturate(1.2);-webkit-backdrop-filter:blur(4px) saturate(1.2);background:transparent!important;transition:border-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease;box-shadow:inset 0 1px #ffffff0f,0 8px 32px #0000001a}[data-theme=neon-glass] .card-glass:not(.scope-card){border:1px solid rgba(255,255,255,.08)!important}[data-theme=neon-glass] .card-glass.scope-card{border-top-color:#ffffff14;border-right-color:#ffffff14;border-bottom-color:#ffffff14}[data-theme=neon-glass] .card-glass:hover{backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:inset 0 1px #ffffff14,0 8px 32px #0006,0 8px 8px -4px rgba(var(--neon-cyan),.12),0 12px 50px -8px rgba(var(--neon-pink),.12)}[data-theme=neon-glass] .card-glass:not(.scope-card):not(.settings-panel):hover{border-color:rgba(var(--neon-cyan),.2)!important;box-shadow:0 0 4px rgba(var(--neon-cyan),.2),0 0 8px rgba(var(--neon-cyan),.1)}[data-theme=neon-glass] .card-glass.scope-card:hover{border-top-color:rgba(var(--neon-cyan),.3);border-right-color:rgba(var(--neon-cyan),.3);border-bottom-color:rgba(var(--neon-cyan),.3)}[data-theme=neon-glass] .card-glass-heavy{backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);background:transparent!important;border:1px solid rgba(var(--neon-cyan),.3)!important;box-shadow:inset 0 1px #ffffff14,0 8px 32px #0006,0 8px 8px -4px rgba(var(--neon-cyan),.12),0 12px 50px -8px rgba(var(--neon-pink),.12)}[data-theme=neon-glass] .card-glass.settings-panel{border:1px solid rgba(var(--neon-cyan),.25)!important}[data-theme=neon-glass] .card-glass.settings-panel:hover{border-color:rgba(var(--neon-cyan),.4)!important;box-shadow:inset 0 1px #ffffff14,0 0 20px -4px rgba(var(--neon-cyan),.15),0 0 40px -8px rgba(var(--neon-cyan),.08)}[data-theme=neon-glass] .sidebar-glass{backdrop-filter:blur(32px) saturate(1.6);-webkit-backdrop-filter:blur(32px) saturate(1.6);background:#08081873!important;border-right:1px solid rgba(var(--neon-blue),.12)!important;box-shadow:inset 0 0 40px rgba(var(--neon-cyan),.03),inset -1px 0 #ffffff0f,inset 0 1px #ffffff0a,4px 0 40px #00000080;position:relative;z-index:10}[data-theme=neon-glass] .sidebar-glass:after{content:"";position:absolute;top:0;right:-1px;bottom:0;width:1px;background:linear-gradient(180deg,transparent 0%,rgba(var(--neon-cyan),.7) 20%,rgba(var(--neon-pink),.5) 60%,rgba(var(--neon-cyan),.3) 85%,transparent 100%);box-shadow:0 0 12px rgba(var(--neon-cyan),.4),0 0 4px rgba(var(--neon-pink),.2)}[data-theme=neon-glass] .card-glass.neon-border-blue{backdrop-filter:none;-webkit-backdrop-filter:none}[data-theme=neon-glass] .column-header{backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4)}[data-theme=neon-glass] .neon-border-blue{border:1px solid transparent!important;background-image:linear-gradient(#0a0a1e8c,#0a0a1e8c),linear-gradient(135deg,rgba(var(--neon-cyan),.5),rgba(var(--neon-pink),.35),rgba(var(--neon-cyan),.2));background-origin:border-box;background-clip:padding-box,border-box}[data-theme=neon-glass] .neon-border-status{border:1px solid transparent!important;background-image:linear-gradient(#0a0a1e8c,#0a0a1e8c),linear-gradient(135deg,rgba(var(--neon-green),.4),rgba(var(--neon-cyan),.3));background-origin:border-box;background-clip:padding-box,border-box}[data-theme=neon-glass] .glow-blue{box-shadow:none}[data-theme=neon-glass] .glow-blue:hover{box-shadow:0 6px 20px -4px rgba(var(--neon-blue),.35)}[data-theme=neon-glass] .glow-green{box-shadow:none}[data-theme=neon-glass] .glow-green:hover{box-shadow:0 6px 20px -4px rgba(var(--neon-green),.35)}[data-theme=neon-glass] .glow-red{box-shadow:none}[data-theme=neon-glass] .glow-red:hover{box-shadow:0 6px 20px -4px rgba(var(--neon-red),.35)}[data-theme=neon-glass] .glow-amber{box-shadow:none}[data-theme=neon-glass] .glow-amber:hover{box-shadow:0 6px 20px -4px rgba(var(--neon-amber),.35)}[data-theme=neon-glass] .glow-purple{box-shadow:none}[data-theme=neon-glass] .glow-purple:hover{box-shadow:0 6px 20px -4px rgba(var(--neon-purple),.35)}[data-theme=neon-glass] .glow-blue-sm{box-shadow:none}[data-theme=neon-glass] .glow-blue-sm:hover{box-shadow:0 4px 12px -2px rgba(var(--neon-blue),.2)}[data-theme=neon-glass] .glow-blue-lg{box-shadow:0 8px 30px -4px rgba(var(--neon-blue),.3)}[data-theme=neon-glass] .glow-green-sm{box-shadow:none}[data-theme=neon-glass] .glow-green-sm:hover{box-shadow:0 4px 12px -2px rgba(var(--neon-green),.2)}[data-theme=neon-glass] .glow-green-lg{box-shadow:0 8px 30px -4px rgba(var(--neon-green),.3)}[data-theme=neon-glass] .glow-red-sm{box-shadow:none}[data-theme=neon-glass] .glow-red-sm:hover{box-shadow:0 4px 12px -2px rgba(var(--neon-red),.2)}[data-theme=neon-glass] .glow-red-lg{box-shadow:0 8px 30px -4px rgba(var(--neon-red),.3)}[data-theme=neon-glass] .animate-glow-pulse{animation:neon-glow-pulse 2s ease-in-out infinite}[data-theme=neon-glass] .animate-breathe{animation:neon-breathe 3s ease-in-out infinite}@keyframes neon-glow-pulse{0%,to{box-shadow:0 0 12px rgba(var(--neon-blue),.4);filter:drop-shadow(0 0 6px rgba(var(--neon-blue),.4))}50%{box-shadow:0 0 30px rgba(var(--neon-blue),.7);filter:drop-shadow(0 0 12px rgba(var(--neon-blue),.6))}}@keyframes neon-breathe{0%,to{box-shadow:0 0 20px rgba(var(--neon-green),.3)}50%{box-shadow:0 0 40px rgba(var(--neon-green),.55)}}[data-theme=neon-glass] .scope-card-critical{border-left:2px solid rgba(var(--neon-red),.6)!important;box-shadow:none}[data-theme=neon-glass] .scope-card-critical:hover{box-shadow:-4px 4px 18px -4px rgba(var(--neon-red),.3)}[data-theme=neon-glass] .scope-card-high{border-left:2px solid rgba(var(--neon-amber),.6)!important;box-shadow:none}[data-theme=neon-glass] .scope-card-high:hover{box-shadow:-4px 4px 18px -4px rgba(var(--neon-amber),.3)}[data-theme=neon-glass] .scope-card-medium{border-left:2px solid rgba(var(--neon-blue),.4)!important;box-shadow:none}[data-theme=neon-glass] .scope-card-medium:hover{box-shadow:-4px 4px 18px -4px rgba(var(--neon-blue),.25)}.section-markdown.section-markdown{font-size:11px;line-height:1.6}.section-markdown h1{font-size:13px}.section-markdown h2{font-size:12px}.section-markdown h3,.section-markdown h4,.section-markdown table{font-size:11px}.scope-card[style*=--project-color]{position:relative;overflow:hidden}.scope-card-dispatched[style*=--project-color]{overflow:visible}.scope-card[style*=--project-color]:after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--project-color)}[data-theme=neon-glass] .scope-card[style*=--project-color]{box-shadow:inset 5px 0 8px -5px var(--project-color)}[data-theme=neon-glass] .scope-card{transition:transform .2s ease,box-shadow .25s ease}[data-theme=neon-glass] .scope-card:hover{transform:translateY(-1px)}[data-theme=neon-glass] .scope-card.card-glass{backdrop-filter:blur(4px) saturate(1.2);-webkit-backdrop-filter:blur(4px) saturate(1.2)}[data-theme=neon-glass] [role=dialog] .card-glass,[data-theme=neon-glass] [role=dialog] .card-glass:hover{backdrop-filter:none;-webkit-backdrop-filter:none}[data-theme=neon-glass] .scope-card-ghost{border:1px dashed rgba(168,85,247,.35)!important;border-left:2px dashed rgba(168,85,247,.5)!important;background:#a855f708!important;position:relative;overflow:hidden}[data-theme=neon-glass] .scope-card-ghost:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(168,85,247,.05) 0%,transparent 50%,rgba(0,188,212,.03) 100%);pointer-events:none}[data-theme=neon-glass] .scope-card-ghost:hover{border-color:#a855f78c!important;box-shadow:0 4px 20px #a855f726;opacity:1!important}@keyframes ghost-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ghost-shimmer{background-image:linear-gradient(90deg,transparent 0%,rgba(168,85,247,.06) 50%,transparent 100%);background-size:200% 100%;animation:ghost-shimmer 3s ease-in-out infinite}[data-theme=neon-glass] .scope-cat-feature,[data-theme=neon-glass] .scope-cat-feature:hover{border-left-color:#536dfe!important}[data-theme=neon-glass] .scope-cat-bugfix,[data-theme=neon-glass] .scope-cat-bugfix:hover{border-left-color:#ff1744!important}[data-theme=neon-glass] .scope-cat-refactor,[data-theme=neon-glass] .scope-cat-refactor:hover{border-left-color:#8b5cf6!important}[data-theme=neon-glass] .scope-cat-infrastructure,[data-theme=neon-glass] .scope-cat-infrastructure:hover{border-left-color:#40c4ff!important}[data-theme=neon-glass] .scope-cat-docs,[data-theme=neon-glass] .scope-cat-docs:hover{border-left-color:#6b7280!important}[data-theme=neon-glass] .scope-cat-feature:hover{box-shadow:inset 12px 0 16px -10px #536dfe4d,0 8px 8px -4px rgba(var(--neon-cyan),.12)}[data-theme=neon-glass] .scope-cat-bugfix:hover{box-shadow:inset 12px 0 16px -10px #ff17444d,0 8px 8px -4px rgba(var(--neon-cyan),.12)}[data-theme=neon-glass] .scope-cat-refactor:hover{box-shadow:inset 12px 0 16px -10px #8b5cf64d,0 8px 8px -4px rgba(var(--neon-cyan),.12)}[data-theme=neon-glass] .scope-cat-infrastructure:hover{box-shadow:inset 12px 0 16px -10px #40c4ff4d,0 8px 8px -4px rgba(var(--neon-cyan),.12)}[data-theme=neon-glass] .scope-cat-docs:hover{box-shadow:inset 12px 0 16px -10px #6b72804d,0 8px 8px -4px rgba(var(--neon-cyan),.12)}.scope-card-dispatched{position:relative;overflow:visible}.dispatch-border-overlay{position:absolute;top:-1.5px;right:-1.5px;bottom:-1.5px;left:-1.5px;border-radius:inherit;padding:1.5px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}.dispatch-pulse{animation:dispatch-pulse 2s ease-in-out infinite}@keyframes dispatch-pulse{0%,to{opacity:1}50%{opacity:.4}}.scope-card-abandoned{border:1.5px dashed rgba(245,158,11,.5)!important}.scope-card-abandoned:hover{border-color:#f59e0bb3!important}[data-theme=neon-glass] .scope-card-abandoned{border:1.5px dashed rgba(var(--neon-amber),.45)!important;box-shadow:0 0 8px rgba(var(--neon-amber),.08)}[data-theme=neon-glass] .scope-card-abandoned:hover{border-color:rgba(var(--neon-amber),.65)!important;box-shadow:0 4px 16px rgba(var(--neon-amber),.12)}.batch-group-dispatched{position:relative;overflow:visible}.batch-group-dispatched:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;padding:2px;background:conic-gradient(from var(--dispatch-angle, 0deg),transparent 0%,rgba(255,171,0,.7) 10%,rgba(255,171,0,.3) 20%,transparent 30%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}[data-theme=neon-glass] .batch-group-dispatched:before{padding:2px;background:conic-gradient(from var(--dispatch-angle, 0deg),transparent 0%,rgba(var(--neon-amber),.9) 8%,rgba(var(--neon-amber),.5) 16%,rgba(var(--neon-cyan),.15) 24%,transparent 32%)}[data-theme=neon-glass] .effort-ghost{background:transparent!important;border-color:rgba(var(--neon-cyan),.25)!important;color:rgba(var(--neon-cyan),.7)!important;box-shadow:none!important}[data-theme=neon-glass] .glass-pill{background:rgba(var(--neon-blue),.08)!important;border:1px solid rgba(var(--neon-blue),.2)!important}.filter-popover-glass,[data-theme=neon-glass] .filter-popover-glass{backdrop-filter:blur(4px) saturate(1.2);-webkit-backdrop-filter:blur(4px) saturate(1.2);background:transparent!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:inset 0 1px #ffffff0f,0 8px 32px #0000001a}[data-theme=neon-glass] [role=dialog],[data-theme=neon-glass] [role=dialog]:hover{backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:inset 0 1px #ffffff14,0 8px 32px #0006,0 8px 8px -4px rgba(var(--neon-cyan),.12),0 12px 50px -8px rgba(var(--neon-pink),.12)}[data-theme=neon-glass] .dialog-overlay-glass{backdrop-filter:blur(4px) saturate(1.2);-webkit-backdrop-filter:blur(4px) saturate(1.2);background:#0000004d!important}[data-theme=neon-glass] .project-tab-bar{backdrop-filter:blur(4px) saturate(1.2);-webkit-backdrop-filter:blur(4px) saturate(1.2);background:transparent!important;border:1px solid rgba(255,255,255,.08)!important;transition:border-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease;box-shadow:inset 0 1px #ffffff0f,0 8px 32px #0000001a}[data-theme=neon-glass] .project-tab-bar:hover{backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-color:rgba(var(--neon-cyan),.3)!important;box-shadow:inset 0 1px #ffffff14,0 8px 32px #0006,0 8px 8px -4px rgba(var(--neon-cyan),.12),0 12px 50px -8px rgba(var(--neon-pink),.12)}[data-theme=neon-glass] [role=tablist] [data-state=active]{box-shadow:0 2px 15px rgba(var(--neon-blue),.4);background:rgba(var(--neon-blue),.12)!important;border-bottom:1px solid rgba(var(--neon-blue),.5)}[data-theme=neon-glass] .gate-glow-pass{filter:drop-shadow(0 0 8px rgba(var(--neon-green),.7)) drop-shadow(0 0 3px rgba(var(--neon-green),.5))}[data-theme=neon-glass] .gate-glow-fail{filter:drop-shadow(0 0 8px rgba(var(--neon-red),.7)) drop-shadow(0 0 3px rgba(var(--neon-red),.5))}.nav-item-square{border:1px solid transparent;transition:background-color .5s ease,border-color .5s ease,box-shadow .5s ease}[data-theme=neon-glass] .nav-item-square:not(.nav-icon-active-glow):hover{background:rgba(var(--neon-cyan),.06);border-color:rgba(var(--neon-cyan),.15);box-shadow:0 0 14px rgba(var(--neon-cyan),.12)}[data-theme=neon-glass] .nav-icon-active-glow{background:rgba(var(--neon-cyan),.08)!important;border:1px solid rgba(var(--neon-cyan),.35)!important;box-shadow:0 0 20px rgba(var(--neon-cyan),.25),0 0 6px rgba(var(--neon-cyan),.15),inset 0 0 12px rgba(var(--neon-cyan),.06);animation:nav-active-breathe 3s ease-in-out infinite}@keyframes nav-active-breathe{0%,to{box-shadow:0 0 20px rgba(var(--neon-cyan),.25),0 0 6px rgba(var(--neon-cyan),.15),inset 0 0 12px rgba(var(--neon-cyan),.06)}50%{box-shadow:0 0 28px rgba(var(--neon-cyan),.35),0 0 10px rgba(var(--neon-cyan),.25),inset 0 0 16px rgba(var(--neon-cyan),.1)}}.nav-icon-active-glow .nav-item-label{max-height:12px;margin-top:4px;opacity:1}[data-theme=neon-glass] .nav-item-label{text-shadow:0 0 8px rgba(var(--neon-cyan),.5)}[data-theme=neon-glass] .agent-glow-attacker,[data-theme=neon-glass] .agent-glow-chaos,[data-theme=neon-glass] .agent-glow-frontend,[data-theme=neon-glass] .agent-glow-architect,[data-theme=neon-glass] .agent-glow-devops,[data-theme=neon-glass] .agent-glow-rules{box-shadow:none}[data-theme=neon-glass] .agent-glow-attacker:hover{box-shadow:0 0 14px rgba(var(--neon-red),.35)}[data-theme=neon-glass] .agent-glow-chaos:hover{box-shadow:0 0 14px #f9731659}[data-theme=neon-glass] .agent-glow-frontend:hover{box-shadow:0 0 14px rgba(var(--neon-pink),.35)}[data-theme=neon-glass] .agent-glow-architect:hover{box-shadow:0 0 14px rgba(var(--neon-blue),.35)}[data-theme=neon-glass] .agent-glow-devops:hover{box-shadow:0 0 14px rgba(var(--neon-cyan),.35)}[data-theme=neon-glass] .agent-glow-rules:hover{box-shadow:0 0 10px #6b728040}[data-theme=neon-glass] .pipeline-healthy{box-shadow:none;border-color:rgba(var(--neon-green),.25)!important}[data-theme=neon-glass] .pipeline-healthy:hover{box-shadow:0 0 20px rgba(var(--neon-green),.25)}[data-theme=neon-glass] .pipeline-deploying{box-shadow:none;border-color:rgba(var(--neon-blue),.25)!important}[data-theme=neon-glass] .pipeline-deploying:hover{box-shadow:0 0 20px rgba(var(--neon-blue),.25)}[data-theme=neon-glass] .pipeline-failed{box-shadow:none;border-color:rgba(var(--neon-red),.25)!important}[data-theme=neon-glass] .pipeline-failed:hover{box-shadow:0 0 20px rgba(var(--neon-red),.25)}[data-theme=neon-glass] .timeline-dot-glow{box-shadow:0 0 15px rgba(var(--neon-blue),.6),0 0 5px rgba(var(--neon-blue),.4)}[data-theme=neon-glass] .neon-text-blue{color:rgb(var(--neon-blue));text-shadow:0 0 12px rgba(var(--neon-blue),.6),0 0 40px rgba(var(--neon-blue),.25)}[data-theme=neon-glass] .sidebar-glass [role=separator],[data-theme=neon-glass] .sidebar-glass hr{border-color:rgba(var(--neon-blue),.12)!important;box-shadow:0 0 10px rgba(var(--neon-blue),.06)}[data-theme=neon-glass] .logo-neon{background:linear-gradient(135deg,rgb(var(--neon-cyan)),rgb(var(--neon-pink)))!important;box-shadow:0 0 25px rgba(var(--neon-cyan),.6),0 0 10px rgba(var(--neon-pink),.4);border:none!important;transition:box-shadow .3s ease}[data-theme=neon-glass] .logo-neon:hover{box-shadow:0 0 35px rgba(var(--neon-cyan),.8),0 0 15px rgba(var(--neon-pink),.5),0 0 60px rgba(var(--neon-cyan),.2)}.version-pulse-dot{animation:version-pulse 2s ease-in-out infinite}@keyframes version-pulse{0%,to{opacity:1;box-shadow:0 0 4px #34d39966}50%{opacity:.5;box-shadow:0 0 8px #34d399b3}}[data-theme=neon-glass] .version-badge{text-shadow:0 0 6px rgba(var(--neon-cyan),.3)}[data-theme=neon-glass] .version-badge:hover{border-color:rgba(var(--neon-cyan),.2)!important;background:rgba(var(--neon-cyan),.04)}[data-theme=neon-glass] .version-pulse-dot{box-shadow:0 0 6px rgba(var(--neon-green),.6)}[data-theme=neon-glass] .connection-glow{animation:neon-connection-pulse 2s ease-in-out infinite}@keyframes neon-connection-pulse{0%,to{filter:drop-shadow(0 0 5px rgba(var(--neon-green),.6))}50%{filter:drop-shadow(0 0 14px rgba(var(--neon-green),1))}}[data-theme=neon-glass] .toggle-neon-active{text-shadow:0 0 10px rgba(var(--neon-cyan),.7)}[data-theme=neon-glass] .toggle-neon-active svg{filter:drop-shadow(0 0 6px rgba(var(--neon-cyan),.5)) drop-shadow(0 0 12px rgba(var(--neon-pink),.3))}[data-theme=neon-glass] *{scrollbar-color:transparent transparent}[data-theme=neon-glass] *:hover{scrollbar-color:rgba(var(--neon-blue),.25) transparent}[data-theme=neon-glass] ::-webkit-scrollbar-track{background:transparent}[data-theme=neon-glass] ::-webkit-scrollbar-thumb{background:transparent;border-radius:3px}[data-theme=neon-glass] *:hover::-webkit-scrollbar-thumb{background:rgba(var(--neon-blue),.25)}[data-theme=neon-glass] *:hover::-webkit-scrollbar-thumb:hover{background:rgba(var(--neon-blue),.4)}.swim-lane-header{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-bottom:1px solid rgba(255,255,255,.04)}.swim-cell{transition:background-color .15s ease,border-color .15s ease}.swim-cell:hover{background:#ffffff04}[data-theme=neon-glass] .swim-lane-header{backdrop-filter:blur(8px) saturate(1.2);-webkit-backdrop-filter:blur(8px) saturate(1.2);border-bottom-color:rgba(var(--neon-cyan),.08)}[data-theme=neon-glass] .swim-lane-label{text-shadow:0 0 8px rgba(var(--neon-cyan),.3)}[data-theme=neon-glass] .swim-cell{border-color:rgba(var(--neon-cyan),.06)}[data-theme=neon-glass] .swim-cell:hover{background:rgba(var(--neon-cyan),.03);border-color:rgba(var(--neon-cyan),.12)}[data-theme=neon-glass] .ticker-glass{backdrop-filter:blur(4px) saturate(1.2);-webkit-backdrop-filter:blur(4px) saturate(1.2);background:transparent!important;border-top:1px solid rgba(255,255,255,.08)!important;box-shadow:inset 0 1px #ffffff0f,0 -8px 32px #0000001a}[data-reduce-motion=true] *,[data-reduce-motion=true] *:before,[data-reduce-motion=true] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}[data-compact=true] .card-glass{padding:.5rem}[data-compact=true] .p-4{padding:.625rem}[data-compact=true] .gap-3{gap:.375rem}[data-compact=true] .gap-4{gap:.5rem}[data-compact=true] .py-2{padding-top:.25rem;padding-bottom:.25rem}@keyframes selection-glow-in{0%{box-shadow:0 0 0 transparent}to{box-shadow:0 0 6px var(--glow-color)}}@keyframes selection-glow-pulse{0%,to{box-shadow:0 0 8px var(--glow-color),0 0 16px var(--glow-color-wide, var(--glow-color))}50%{box-shadow:0 0 18px var(--glow-color),0 0 36px var(--glow-color),0 0 52px var(--glow-color-wide, var(--glow-color))}}.glow-selected{animation:selection-glow-in .4s ease-out forwards}.glow-selected-pulse{animation:selection-glow-in .4s ease-out,selection-glow-pulse .8s ease-in-out .4s infinite}.landing-root{min-height:100vh;background:#050510;color:#e0e0e0;font-family:Space Grotesk,sans-serif;overflow-x:hidden;position:relative}.landing-nav-transparent{background:transparent}.landing-nav-scrolled{background:#050510d9;backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border-bottom:1px solid rgba(0,188,212,.1);box-shadow:0 4px 30px #0006}.landing-nav-logo{width:36px;height:36px;border-radius:10px;background:#00bcd41a;border:1px solid rgba(0,188,212,.2);display:flex;align-items:center;justify-content:center}.landing-nav-cta{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:8px;font-size:13px;font-weight:500;color:#fff;background:#00bcd41a;border:1px solid rgba(0,188,212,.25);transition:all .3s ease}.landing-nav-cta:hover{background:#00bcd433;border-color:#00bcd480;box-shadow:0 0 20px #00bcd426}.landing-hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:120px 24px 80px;overflow:hidden}.landing-hero-orb{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none}.landing-hero-orb-1{width:800px;height:800px;top:-300px;left:-200px;background:#00bcd41f;animation:landing-orb-float 20s ease-in-out infinite alternate}.landing-hero-orb-2{width:600px;height:600px;bottom:-200px;right:-100px;background:#e91e631a;animation:landing-orb-float 25s ease-in-out infinite alternate-reverse}.landing-hero-orb-3{width:400px;height:400px;top:30%;right:10%;background:#756d9e14;animation:landing-orb-float 30s ease-in-out infinite alternate}@keyframes landing-orb-float{0%{transform:translate(0) scale(1)}50%{transform:translate(30px,-20px) scale(1.05)}to{transform:translate(-20px,30px) scale(.95)}}.landing-hero-content{position:relative;z-index:2;text-align:center;max-width:800px}.landing-hero-visual{position:absolute;z-index:1;width:700px;height:700px;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.4;pointer-events:none}.landing-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:100px;font-size:13px;color:#ffffffb3;background:#00bcd414;border:1px solid rgba(0,188,212,.2);margin-bottom:32px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-headline{font-size:clamp(48px,8vw,88px);font-weight:700;line-height:1.05;letter-spacing:-.03em;color:#fff;margin-bottom:24px}.landing-headline-gradient{background:linear-gradient(135deg,#4dd0e1,#f48fb1,#4dd0e1);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:landing-gradient-shift 6s ease-in-out infinite;display:inline-block}.landing-gradient-text{background:linear-gradient(135deg,#4dd0e1,#f48fb1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes landing-gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.landing-subtitle{font-size:clamp(16px,2vw,20px);color:#fff9;line-height:1.6;margin-bottom:40px;max-width:600px;margin-left:auto;margin-right:auto}.landing-cta-row{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:32px}.landing-cta-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:12px;font-size:15px;font-weight:600;color:#fff;background:linear-gradient(135deg,#00bcd433,#e91e6326);border:1px solid rgba(0,188,212,.35);transition:all .4s ease;position:relative;overflow:hidden}.landing-cta-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#00bcd44d,#e91e6333);opacity:0;transition:opacity .4s ease}.landing-cta-primary:hover:before{opacity:1}.landing-cta-primary:hover{border-color:#00bcd499;box-shadow:0 0 30px #00bcd433,0 0 60px #e91e631a;transform:translateY(-2px)}.landing-cta-primary>*{position:relative;z-index:1}.landing-cta-secondary{display:inline-flex;align-items:center;gap:6px;padding:12px 24px;border-radius:12px;font-size:15px;font-weight:500;color:#fff9;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.landing-cta-secondary:hover{color:#fff;border-color:#ffffff40;background:#ffffff0d}.landing-install{display:inline-flex;align-items:center;padding:10px 24px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);font-family:JetBrains Mono,monospace;font-size:14px;color:#ffffff80;letter-spacing:-.02em}.landing-scroll-indicator{position:absolute;bottom:32px;left:50%;transform:translate(-50%);z-index:5}.landing-orbital-rings{position:relative;width:100%;height:100%}.landing-ring{position:absolute;border-radius:50%;border:1px solid}.landing-ring-1{width:80%;height:80%;top:10%;left:10%;border-color:#00bcd426}.landing-ring-2{width:60%;height:60%;top:20%;left:20%;border-color:#e91e631f}.landing-ring-3{width:100%;height:100%;top:0;left:0;border-color:#756d9e14}.landing-ring-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:#00bcd4;box-shadow:0 0 10px #00bcd499,0 0 30px #00bcd44d;transform:translate(-50%,-50%)}.landing-ring-dot-pink{background:#e91e63;box-shadow:0 0 10px #e91e6399,0 0 30px #e91e634d}.landing-ring-dot-green{background:#00e676;box-shadow:0 0 10px #00e67699,0 0 30px #00e6764d}.landing-center-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(0,188,212,.3) 0%,rgba(233,30,99,.1) 50%,transparent 70%);filter:blur(30px);animation:landing-center-pulse 4s ease-in-out infinite}@keyframes landing-center-pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.3);opacity:1}}.landing-stats{position:relative;z-index:5;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);background:#0a0a1999;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.landing-stats-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:40px;padding:32px 24px}.landing-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.landing-stat-value{font-size:32px;font-weight:700;color:#fff;letter-spacing:-.02em}.landing-stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#ffffff59}.landing-stat-divider{width:1px;height:40px;background:linear-gradient(180deg,transparent,rgba(0,188,212,.3),transparent)}.landing-section{padding:80px 24px;position:relative;z-index:5}.landing-section-full{padding:80px 0;position:relative;z-index:5}.landing-section-inner{max-width:1100px;margin:0 auto}.landing-section-tag{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:#00bcd4;margin-bottom:16px;text-align:center}.landing-section-title{font-size:clamp(32px,5vw,52px);font-weight:700;line-height:1.1;letter-spacing:-.03em;color:#fff;margin-bottom:20px;text-align:center}.landing-section-desc{font-size:clamp(15px,1.8vw,18px);color:#ffffff8c;line-height:1.7;max-width:600px;margin:0 auto 60px;text-align:center}.landing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:60px}.landing-feature-card{position:relative;padding:32px;border-radius:16px;background:#0f0f1ecc;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden;transition:border-color .4s ease,box-shadow .4s ease,background .4s ease}.landing-feature-card:hover{border-color:#00bcd44d;background:#0f0f23e6;box-shadow:0 8px 40px #0006,0 0 40px #00bcd414}.landing-feature-icon-wrap{width:48px;height:48px;border-radius:12px;border:1px solid;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.landing-feature-title{font-size:18px;font-weight:600;color:#fff;margin-bottom:8px}.landing-feature-desc{font-size:14px;color:#ffffff8c;line-height:1.6}.landing-feature-glow{position:absolute;bottom:-60px;left:50%;transform:translate(-50%);width:200%;height:120px;opacity:0;transition:opacity .4s ease;pointer-events:none}.landing-feature-card:hover .landing-feature-glow{opacity:1}.landing-showcase-card{flex-shrink:0;width:280px;height:200px;border-radius:16px;border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:default}.landing-steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;margin-top:60px}.landing-step{text-align:center;padding:32px 24px}.landing-step-number{font-size:48px;font-weight:800;letter-spacing:-.04em;background:linear-gradient(135deg,#00bcd44d,#e91e6333);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:16px}.landing-step-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#00bcd41a;border:1px solid rgba(0,188,212,.2);color:#00bcd4}.landing-split{display:flex;align-items:center;gap:60px}@media(max-width:768px){.landing-split{flex-direction:column;gap:40px}}.landing-terminal{border-radius:12px;overflow:hidden;background:#0a0a14;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 60px #00000080,0 0 40px #00bcd40d}.landing-terminal-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.06)}.landing-terminal-dot{width:12px;height:12px;border-radius:50%}.landing-terminal-dot-red{background:#ff5f57}.landing-terminal-dot-yellow{background:#ffbd2e}.landing-terminal-dot-green{background:#28c840}.landing-terminal-title{margin-left:8px;font-size:12px;color:#ffffff4d;font-family:JetBrains Mono,monospace}.landing-terminal-body{padding:20px;min-height:300px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.7}.landing-terminal-line{color:#fff9;white-space:pre}.landing-terminal-cursor{color:#00bcd4;font-size:16px}.landing-dx-features{display:flex;flex-direction:column;gap:12px;margin-top:32px}.landing-dx-item{display:flex;align-items:center;gap:10px;font-size:14px;color:#fff9}.landing-arch-stack{display:flex;flex-direction:column;gap:16px}.landing-arch-layer{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-left:3px solid;transition:all .3s ease}.landing-arch-layer:hover{background:#ffffff0d}.landing-arch-icon{width:40px;height:40px;border-radius:10px;background:#ffffff0a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.landing-final-cta{position:relative;padding:160px 24px;overflow:hidden}.landing-final-cta-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 50%,rgba(0,188,212,.08) 0%,transparent 60%),radial-gradient(ellipse at 70% 50%,rgba(233,30,99,.06) 0%,transparent 60%);pointer-events:none}.landing-final-headline{font-size:clamp(40px,6vw,72px);font-weight:700;line-height:1.05;letter-spacing:-.03em;color:#fff;margin-bottom:24px}.landing-footer{padding:32px 0;border-top:1px solid rgba(255,255,255,.06);position:relative;z-index:5}@media(max-width:640px){.landing-stats-inner{flex-wrap:wrap;gap:24px}.landing-stat-divider{display:none}.landing-features-grid,.landing-steps-grid{grid-template-columns:1fr}.landing-hero-visual{width:400px;height:400px}}.marker\:text-muted-foreground *::marker{color:hsl(var(--muted-foreground))}.marker\:text-muted-foreground::marker{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground\/40::-moz-placeholder{color:hsl(var(--muted-foreground) / .4)}.placeholder\:text-muted-foreground\/40::placeholder{color:hsl(var(--muted-foreground) / .4)}.placeholder\:text-muted-foreground\/50::-moz-placeholder{color:hsl(var(--muted-foreground) / .5)}.placeholder\:text-muted-foreground\/50::placeholder{color:hsl(var(--muted-foreground) / .5)}.placeholder\:text-muted-foreground\/60::-moz-placeholder{color:hsl(var(--muted-foreground) / .6)}.placeholder\:text-muted-foreground\/60::placeholder{color:hsl(var(--muted-foreground) / .6)}.placeholder\:text-zinc-600::-moz-placeholder{--tw-text-opacity: 1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}.placeholder\:text-zinc-600::placeholder{--tw-text-opacity: 1;color:rgb(82 82 91 / var(--tw-text-opacity, 1))}.placeholder\:text-zinc-700::-moz-placeholder{--tw-text-opacity: 1;color:rgb(63 63 70 / var(--tw-text-opacity, 1))}.placeholder\:text-zinc-700::placeholder{--tw-text-opacity: 1;color:rgb(63 63 70 / var(--tw-text-opacity, 1))}.first\:mt-0:first-child{margin-top:0}.last\:border-0:last-child{border-width:0px}.last\:border-b-0:last-child{border-bottom-width:0px}.even\:bg-surface\/30:nth-child(2n){background-color:#12121a4d}.focus-within\:border-accent-blue\/50:focus-within{border-color:#06b6d480}.focus-within\:border-white\/20:focus-within{border-color:#fff3}.focus-within\:border-zinc-500:focus-within{--tw-border-opacity: 1;border-color:rgb(113 113 122 / var(--tw-border-opacity, 1))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[rgba\(0\,188\,212\,0\.3\)\]:hover{border-color:#00bcd44d}.hover\:border-\[rgba\(var\(--neon-cyan\)\,0\.2\)\]:hover{border-color:rgba(var(--neon-cyan),.2)}.hover\:border-cyan-500\/40:hover{border-color:#06b6d466}.hover\:border-muted-foreground\/40:hover{border-color:hsl(var(--muted-foreground) / .4)}.hover\:border-primary\/20:hover{border-color:hsl(var(--primary) / .2)}.hover\:border-primary\/30:hover{border-color:hsl(var(--primary) / .3)}.hover\:border-purple-500\/50:hover{border-color:#a855f780}.hover\:border-white\/40:hover{border-color:#fff6}.hover\:border-zinc-600:hover{--tw-border-opacity: 1;border-color:rgb(82 82 91 / var(--tw-border-opacity, 1))}.hover\:border-zinc-700:hover{--tw-border-opacity: 1;border-color:rgb(63 63 70 / var(--tw-border-opacity, 1))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-amber-500\/20:hover{background-color:#f59e0b33}.hover\:bg-amber-500\/30:hover{background-color:#f59e0b4d}.hover\:bg-ask-red\/20:hover{background-color:#ff174433}.hover\:bg-blue-500\/20:hover{background-color:#3b82f633}.hover\:bg-border:hover{background-color:hsl(var(--border))}.hover\:bg-cyan-500:hover{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity, 1))}.hover\:bg-cyan-500\/10:hover{background-color:#06b6d41a}.hover\:bg-cyan-500\/20:hover{background-color:#06b6d433}.hover\:bg-cyan-700:hover{--tw-bg-opacity: 1;background-color:rgb(14 116 144 / var(--tw-bg-opacity, 1))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-emerald-500:hover{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-500\/10:hover{background-color:#10b9811a}.hover\:bg-emerald-500\/20:hover{background-color:#10b98133}.hover\:bg-green-600\/30:hover{background-color:#16a34a4d}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/20:hover{background-color:hsl(var(--muted) / .2)}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted) / .3)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted) / .8)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-purple-500\/10:hover{background-color:#a855f71a}.hover\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:bg-red-500\/20:hover{background-color:#ef444433}.hover\:bg-red-500\/30:hover{background-color:#ef44444d}.hover\:bg-secondary\/60:hover{background-color:hsl(var(--secondary) / .6)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-surface-light:hover{--tw-bg-opacity: 1;background-color:rgb(26 26 40 / var(--tw-bg-opacity, 1))}.hover\:bg-surface-light\/30:hover{background-color:#1a1a284d}.hover\:bg-surface-light\/50:hover{background-color:#1a1a2880}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-white\/\[0\.02\]:hover{background-color:#ffffff05}.hover\:bg-white\/\[0\.03\]:hover{background-color:#ffffff08}.hover\:bg-white\/\[0\.04\]:hover{background-color:#ffffff0a}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}.hover\:bg-zinc-700:hover{--tw-bg-opacity: 1;background-color:rgb(63 63 70 / var(--tw-bg-opacity, 1))}.hover\:bg-zinc-800:hover{--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1))}.hover\:bg-zinc-900\/50:hover{background-color:#18181b80}.hover\:bg-zinc-900\/70:hover{background-color:#18181bb3}.hover\:text-\[\#FFFFFF\]:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:text-accent-blue:hover{--tw-text-opacity: 1;color:rgb(6 182 212 / var(--tw-text-opacity, 1))}.hover\:text-accent-blue\/80:hover{color:#06b6d4cc}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-amber-400:hover{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.hover\:text-ask-red:hover{--tw-text-opacity: 1;color:rgb(255 23 68 / var(--tw-text-opacity, 1))}.hover\:text-cyan-400:hover{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-destructive\/80:hover{color:hsl(var(--destructive) / .8)}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-green-300:hover{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary\/70:hover{color:hsl(var(--primary) / .7)}.hover\:text-primary\/80:hover{color:hsl(var(--primary) / .8)}.hover\:text-red-200:hover{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:text-white\/60:hover{color:#fff9}.hover\:text-zinc-100:hover{--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity, 1))}.hover\:text-zinc-200:hover{--tw-text-opacity: 1;color:rgb(228 228 231 / var(--tw-text-opacity, 1))}.hover\:text-zinc-300:hover{--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity, 1))}.hover\:text-zinc-500:hover{--tw-text-opacity: 1;color:rgb(113 113 122 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-\[0_0_8px_currentColor\]:hover{--tw-shadow: 0 0 8px currentColor;--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:brightness-125:hover{--tw-brightness: brightness(1.25);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)}.focus\:border-\[rgba\(0\,188\,212\,0\.5\)\]:focus{border-color:#00bcd480}.focus\:border-accent-blue\/50:focus{border-color:#06b6d480}.focus\:border-zinc-500:focus{--tw-border-opacity: 1;border-color:rgb(113 113 122 / var(--tw-border-opacity, 1))}.focus\:border-zinc-600:focus{--tw-border-opacity: 1;border-color:rgb(82 82 91 / var(--tw-border-opacity, 1))}.focus\:shadow-\[0_0_8px_rgba\(0\,188\,212\,0\.15\)\]:focus{--tw-shadow: 0 0 8px rgba(0,188,212,.15);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-cyan-500\/50:focus{--tw-ring-color: rgb(6 182 212 / .5)}.focus\:ring-primary\/50:focus{--tw-ring-color: hsl(var(--primary) / .5)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-0:focus{--tw-ring-offset-width: 0px}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:mt-1{margin-top:.25rem}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:max-h-3{max-height:.75rem}.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/scope-card:hover .group-hover\/scope-card\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.data-\[state\=active\]\:bg-surface-light[data-state=active]{--tw-bg-opacity: 1;background-color:rgb(26 26 40 / var(--tw-bg-opacity, 1))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}@media(min-width:640px){.sm\:block{display:block}.sm\:w-1\/3{width:33.333333%}.sm\:w-\[130px\]{width:130px}.sm\:w-\[140px\]{width:140px}.sm\:max-w-\[480px\]{max-width:480px}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-6{gap:1.5rem}.sm\:self-auto{align-self:auto}.sm\:pr-4{padding-right:1rem}.sm\:text-left{text-align:left}}@media(min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-56{width:14rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:gap-1{gap:.25rem}}@media(min-width:1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:columns-2{-moz-columns:2;columns:2}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:\[column-span\:all\]{-moz-column-span:all;column-span:all}}.\[\&\>\*\]\:mb-4>*{margin-bottom:1rem}.\[\&\>\*\]\:break-inside-avoid>*{-moz-column-break-inside:avoid;break-inside:avoid}@media(min-width:640px){.sm\:\[\&\>\*\]\:mb-6>*{margin-bottom:1.5rem}}.\[\&\>button\:hover\]\:\!bg-zinc-800>button:hover{--tw-bg-opacity: 1 !important;background-color:rgb(39 39 42 / var(--tw-bg-opacity, 1))!important}.\[\&\>button\]\:\!border-zinc-800>button{--tw-border-opacity: 1 !important;border-color:rgb(39 39 42 / var(--tw-border-opacity, 1))!important}.\[\&\>button\]\:\!bg-zinc-900>button{--tw-bg-opacity: 1 !important;background-color:rgb(24 24 27 / var(--tw-bg-opacity, 1))!important}.\[\&\>button\]\:\!fill-zinc-400>button{fill:#a1a1aa!important}.\[\&_td\:first-child\]\:whitespace-nowrap td:first-child{white-space:nowrap}.\[\&_td\:first-child\]\:pr-3 td:first-child{padding-right:.75rem}.\[\&_td\:first-child\]\:text-muted-foreground td:first-child{color:hsl(var(--muted-foreground))}.\[\&_td\:last-child\]\:break-all td:last-child{word-break:break-all}.\[\&_td\]\:border-b td{border-bottom-width:1px}.\[\&_td\]\:border-border\/20 td{border-color:hsl(var(--border) / .2)}.\[\&_td\]\:border-border\/30 td{border-color:hsl(var(--border) / .3)}.\[\&_td\]\:py-1\.5 td{padding-top:.375rem;padding-bottom:.375rem}.\[\&_td\]\:py-2 td{padding-top:.5rem;padding-bottom:.5rem}.\[\&_td\]\:align-top td{vertical-align:top}