@akasecurity/cli 0.9.11 → 0.9.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +4334 -2752
- package/extension/background.js +1 -1
- package/extension/bridge.js +1 -0
- package/extension/content.js +1 -1
- package/extension/manifest.json +24 -1
- package/extension/popup.html +9 -0
- package/extension/popup.js +1 -1
- package/extension/tap.js +1 -0
- package/native-host/host.js +2320 -837
- package/native-host/scan-worker.js +441 -30
- package/native-host/sync.js +578 -92
- package/package.json +7 -7
- package/web-ui/web-ui/.next/BUILD_ID +1 -1
- package/web-ui/web-ui/.next/app-build-manifest.json +84 -84
- package/web-ui/web-ui/.next/app-path-routes-manifest.json +7 -7
- package/web-ui/web-ui/.next/build-manifest.json +2 -2
- package/web-ui/web-ui/.next/prerender-manifest.json +18 -18
- package/web-ui/web-ui/.next/server/app/(app)/activity/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/activity/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/data-shares/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/data-shares/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/data-shares/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/detections/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/detections/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/detections/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/[id]/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/new/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/page.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/exceptions/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/findings/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/findings/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/findings/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/inventory/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/inventory/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/inventory/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/policies/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/policies/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/policies/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/scan/page.js +3 -3
- package/web-ui/web-ui/.next/server/app/(app)/scan/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/scan/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/security/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/security/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/settings/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/settings/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/updates/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/updates/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/updates/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/vault/page.js +2 -2
- package/web-ui/web-ui/.next/server/app/(app)/vault/page.js.nft.json +1 -1
- package/web-ui/web-ui/.next/server/app/(app)/vault/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app/_not-found.html +1 -1
- package/web-ui/web-ui/.next/server/app/_not-found.rsc +2 -2
- package/web-ui/web-ui/.next/server/app/index.html +1 -1
- package/web-ui/web-ui/.next/server/app/index.rsc +2 -2
- package/web-ui/web-ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/app-paths-manifest.json +7 -7
- package/web-ui/web-ui/.next/server/chunks/121.js +1 -0
- package/web-ui/web-ui/.next/server/chunks/130.js +1026 -0
- package/web-ui/web-ui/.next/server/chunks/290.js +6 -0
- package/web-ui/web-ui/.next/server/chunks/3.js +1017 -0
- package/web-ui/web-ui/.next/server/chunks/300.js +1 -0
- package/web-ui/web-ui/.next/server/chunks/475.js +1 -1
- package/web-ui/web-ui/.next/server/chunks/589.js +1 -1
- package/web-ui/web-ui/.next/server/chunks/662.js +1 -0
- package/web-ui/web-ui/.next/server/chunks/70.js +1 -0
- package/web-ui/web-ui/.next/server/chunks/935.js +1 -1
- package/web-ui/web-ui/.next/server/functions-config-manifest.json +5 -5
- package/web-ui/web-ui/.next/server/middleware-manifest.json +5 -5
- package/web-ui/web-ui/.next/server/pages/404.html +1 -1
- package/web-ui/web-ui/.next/server/pages/500.html +1 -1
- package/web-ui/web-ui/.next/server/server-reference-manifest.js +1 -1
- package/web-ui/web-ui/.next/server/server-reference-manifest.json +1 -1
- package/web-ui/web-ui/.next/static/chunks/421-cc967c01935826d1.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/{526-026c69b926a17dbb.js → 526-f0156de7831566b3.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/activity/page-41fba0354cc950be.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/data-shares/page-d2e03c3ab61af01a.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/page-566036afcc87e4c9.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/{error-dead9507fc349f26.js → error-4baae46bcee63009.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/page-73dbcf0078b82ec4.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/new/{page-0695d0006518b2cb.js → page-8051503193da1baf.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-32c8a853bc8b5d34.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/findings/page-dc8fadb56d6d1e77.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/page-9b49ef42350ea7bd.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/{layout-dc7ae7664dcdc3c5.js → layout-f5f361f817f90ac9.js} +1 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/policies/page-01b303adf3c8ee56.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-8db3b62245c333a3.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/security/page-7a4ba61626e0d130.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/settings/page-0930b49f6ab951bc.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/updates/page-9b04f3441a1a3f96.js +1 -0
- package/web-ui/web-ui/.next/static/chunks/app/(app)/vault/{page-f37ab8e1edc67663.js → page-911a76e75f5a1419.js} +1 -1
- package/web-ui/web-ui/.next/static/css/298a651f6af38209.css +2 -0
- package/web-ui/web-ui/dist/scan-worker.js +441 -30
- package/web-ui/web-ui/.next/server/chunks/471.js +0 -950
- package/web-ui/web-ui/.next/server/chunks/7.js +0 -1
- package/web-ui/web-ui/.next/server/chunks/739.js +0 -1
- package/web-ui/web-ui/.next/server/chunks/766.js +0 -6
- package/web-ui/web-ui/.next/server/chunks/851.js +0 -1
- package/web-ui/web-ui/.next/server/chunks/905.js +0 -959
- package/web-ui/web-ui/.next/static/chunks/907-2ba9428e7818b656.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/activity/page-c5a55618d187c906.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/data-shares/page-b1c76b8c00e1ae2a.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/detections/page-159167b47a005b33.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/[id]/page-5e872a82af85ef64.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/exceptions/page-adec99f2f4bbc180.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/findings/page-d013384d2ddb3036.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/inventory/page-42c1b48a01fdecb0.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/policies/page-9b6d7cc4ce9fb33e.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/scan/page-f3ee9ecde06df153.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/security/page-24a003c709776317.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/settings/page-4ea49ce2e765fffb.js +0 -1
- package/web-ui/web-ui/.next/static/chunks/app/(app)/updates/page-6c7b94b070de8986.js +0 -1
- package/web-ui/web-ui/.next/static/css/c6954dd65f2115e6.css +0 -2
- /package/web-ui/web-ui/.next/static/{osEmGZG6yEV-XkQlklt-B → pkVZ1_T311YNkJgZOLTx5}/_buildManifest.js +0 -0
- /package/web-ui/web-ui/.next/static/{osEmGZG6yEV-XkQlklt-B → pkVZ1_T311YNkJgZOLTx5}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[942],{4104:(e,r,n)=>{"use strict";n.d(r,{PoliciesClient:()=>d});var s=n(2703),i=n(9421),o=n(347),t=n(4120),l=n(4929);function d(e){let{items:r,detail:n,selectedId:d}=e,m=(0,t.usePathname)(),{isPending:h,push:v}=(0,l.n)();return(0,s.jsxs)("div",{"aria-busy":h,className:(0,o.cn)("grid min-h-128 flex-1 grid-cols-1 gap-4 transition-shadow duration-150 lg:min-h-0 lg:grid-cols-[320px_1fr] lg:grid-rows-1",h&&"rounded-lg ring-2 ring-primary/70 ring-inset"),children:[(0,s.jsx)(i.m$d,{items:r,activeId:d,onSelect:e=>{v("".concat(m,"?id=").concat(encodeURIComponent(e)))}}),(0,s.jsx)(o.Zp,{className:"flex flex-col overflow-y-auto shadow-sm",children:n?(0,s.jsx)(i.LKE,{policy:n}):(0,s.jsx)("div",{className:"grid flex-1 place-items-center p-6 text-center text-sm text-text-3",children:"Select a policy to view its detail."})})]})}},4120:(e,r,n)=>{"use strict";var s=n(1688);n.o(s,"usePathname")&&n.d(r,{usePathname:function(){return s.usePathname}}),n.o(s,"useRouter")&&n.d(r,{useRouter:function(){return s.useRouter}}),n.o(s,"useSearchParams")&&n.d(r,{useSearchParams:function(){return s.useSearchParams}})},4929:(e,r,n)=>{"use strict";n.d(r,{NavigationTransitionProvider:()=>l,n:()=>d,p:()=>m});var s=n(2703),i=n(4120),o=n(6807);let t=(0,o.createContext)(null);function l(e){let{children:r}=e,n=(0,i.useRouter)(),[l,d]=(0,o.useTransition)(),m=(0,o.useCallback)(e=>{d(()=>{n.push(e)})},[n]),h=(0,o.useCallback)(e=>{d(()=>{n.replace(e)})},[n]),v=(0,o.useMemo)(()=>({isPending:l,push:m,replace:h}),[l,m,h]);return(0,s.jsx)(t.Provider,{value:v,children:r})}function d(){let e=(0,o.useContext)(t);if(null===e)throw Error("useNavigationTransition must be used within NavigationTransitionProvider");return e}function m(){let{isPending:e}=d(),[r,n]=(0,o.useState)(!1);return((0,o.useEffect)(()=>{if(!e)return;let r=setTimeout(()=>{n(!0)},150);return()=>{clearTimeout(r),n(!1)}},[e]),e&&r)?(0,s.jsx)("div",{role:"progressbar","aria-label":"Loading",className:"pointer-events-none absolute inset-x-0 top-0 z-50 h-0.5 overflow-hidden",children:(0,s.jsx)("div",{className:"h-full w-full origin-left animate-nav-progress bg-primary-solid"})}):null}},5649:(e,r,n)=>{Promise.resolve().then(n.bind(n,985)),Promise.resolve().then(n.bind(n,9191)),Promise.resolve().then(n.bind(n,6751)),Promise.resolve().then(n.bind(n,8788)),Promise.resolve().then(n.bind(n,7314)),Promise.resolve().then(n.bind(n,7888)),Promise.resolve().then(n.bind(n,3329)),Promise.resolve().then(n.bind(n,1486)),Promise.resolve().then(n.bind(n,6274)),Promise.resolve().then(n.bind(n,6742)),Promise.resolve().then(n.bind(n,3649)),Promise.resolve().then(n.bind(n,1941)),Promise.resolve().then(n.bind(n,7089)),Promise.resolve().then(n.bind(n,2728)),Promise.resolve().then(n.bind(n,5296)),Promise.resolve().then(n.bind(n,8928)),Promise.resolve().then(n.bind(n,3868)),Promise.resolve().then(n.bind(n,7308)),Promise.resolve().then(n.bind(n,8515)),Promise.resolve().then(n.bind(n,980)),Promise.resolve().then(n.bind(n,919)),Promise.resolve().then(n.bind(n,207)),Promise.resolve().then(n.bind(n,2071)),Promise.resolve().then(n.bind(n,4621)),Promise.resolve().then(n.bind(n,4411)),Promise.resolve().then(n.bind(n,7195)),Promise.resolve().then(n.bind(n,9732)),Promise.resolve().then(n.bind(n,2909)),Promise.resolve().then(n.bind(n,1561)),Promise.resolve().then(n.bind(n,907)),Promise.resolve().then(n.bind(n,447)),Promise.resolve().then(n.bind(n,4409)),Promise.resolve().then(n.bind(n,3183)),Promise.resolve().then(n.bind(n,4564)),Promise.resolve().then(n.bind(n,4330)),Promise.resolve().then(n.bind(n,8048)),Promise.resolve().then(n.bind(n,4157)),Promise.resolve().then(n.bind(n,1468)),Promise.resolve().then(n.bind(n,4420)),Promise.resolve().then(n.bind(n,2792)),Promise.resolve().then(n.bind(n,8929)),Promise.resolve().then(n.bind(n,332)),Promise.resolve().then(n.bind(n,2023)),Promise.resolve().then(n.bind(n,6913)),Promise.resolve().then(n.bind(n,1142)),Promise.resolve().then(n.bind(n,4584)),Promise.resolve().then(n.bind(n,1639)),Promise.resolve().then(n.bind(n,3749)),Promise.resolve().then(n.bind(n,6574)),Promise.resolve().then(n.bind(n,176)),Promise.resolve().then(n.bind(n,3517)),Promise.resolve().then(n.bind(n,9103)),Promise.resolve().then(n.bind(n,7881)),Promise.resolve().then(n.bind(n,3169)),Promise.resolve().then(n.bind(n,7692)),Promise.resolve().then(n.bind(n,9520)),Promise.resolve().then(n.bind(n,4104))}},e=>{e.O(0,[288,526,421,548,563,358],()=>e(e.s=5649)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[69],{2090:(e,s,n)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),!function(e,s){for(var n in s)Object.defineProperty(e,n,{enumerable:!0,get:s[n]})}(s,{callServer:function(){return t.callServer},createServerReference:function(){return i.createServerReference},findSourceMapURL:function(){return r.findSourceMapURL}});let t=n(6813),r=n(9205),i=n(641)},3348:(e,s,n)=>{Promise.resolve().then(n.bind(n,985)),Promise.resolve().then(n.bind(n,9191)),Promise.resolve().then(n.bind(n,6751)),Promise.resolve().then(n.bind(n,8788)),Promise.resolve().then(n.bind(n,7314)),Promise.resolve().then(n.bind(n,7888)),Promise.resolve().then(n.bind(n,3329)),Promise.resolve().then(n.bind(n,1486)),Promise.resolve().then(n.bind(n,6274)),Promise.resolve().then(n.bind(n,6742)),Promise.resolve().then(n.bind(n,3649)),Promise.resolve().then(n.bind(n,1941)),Promise.resolve().then(n.bind(n,7089)),Promise.resolve().then(n.bind(n,2728)),Promise.resolve().then(n.bind(n,5296)),Promise.resolve().then(n.bind(n,8928)),Promise.resolve().then(n.bind(n,3868)),Promise.resolve().then(n.bind(n,7308)),Promise.resolve().then(n.bind(n,8515)),Promise.resolve().then(n.bind(n,980)),Promise.resolve().then(n.bind(n,919)),Promise.resolve().then(n.bind(n,207)),Promise.resolve().then(n.bind(n,2071)),Promise.resolve().then(n.bind(n,4621)),Promise.resolve().then(n.bind(n,4411)),Promise.resolve().then(n.bind(n,7195)),Promise.resolve().then(n.bind(n,9732)),Promise.resolve().then(n.bind(n,2909)),Promise.resolve().then(n.bind(n,1561)),Promise.resolve().then(n.bind(n,907)),Promise.resolve().then(n.bind(n,447)),Promise.resolve().then(n.bind(n,4409)),Promise.resolve().then(n.bind(n,3183)),Promise.resolve().then(n.bind(n,4564)),Promise.resolve().then(n.bind(n,4330)),Promise.resolve().then(n.bind(n,8048)),Promise.resolve().then(n.bind(n,4157)),Promise.resolve().then(n.bind(n,1468)),Promise.resolve().then(n.bind(n,4420)),Promise.resolve().then(n.bind(n,2792)),Promise.resolve().then(n.bind(n,8929)),Promise.resolve().then(n.bind(n,332)),Promise.resolve().then(n.bind(n,2023)),Promise.resolve().then(n.bind(n,6913)),Promise.resolve().then(n.bind(n,1142)),Promise.resolve().then(n.bind(n,4584)),Promise.resolve().then(n.bind(n,1639)),Promise.resolve().then(n.bind(n,3749)),Promise.resolve().then(n.bind(n,6574)),Promise.resolve().then(n.bind(n,176)),Promise.resolve().then(n.bind(n,3517)),Promise.resolve().then(n.bind(n,9103)),Promise.resolve().then(n.bind(n,7881)),Promise.resolve().then(n.bind(n,3169)),Promise.resolve().then(n.bind(n,7692)),Promise.resolve().then(n.bind(n,9520)),Promise.resolve().then(n.bind(n,7813))},7813:(e,s,n)=>{"use strict";n.d(s,{ScanClient:()=>x});var t=n(2703),r=n(347),i=n(7399),l=n.n(i),o=n(6807),a=n(2090);let d=(0,a.createServerReference)("60832ec6b3ec901b363f662b1e1040fd8be0774b18",a.callServer,void 0,a.findSourceMapURL,"runScan");var c=n(9421);let m=(0,a.createServerReference)("401f981aa44dfd9e5e18ea6c087564daf252b3d191",a.callServer,void 0,a.findSourceMapURL,"listDirectory");function h(e){let{onSelect:s}=e,[n,i]=(0,o.useState)(!1),[l,a]=(0,o.useState)(!1),[d,h]=(0,o.useState)(null),[x,v]=(0,o.useState)([]),[b,u]=(0,o.useState)(null),[p,f]=(0,o.useState)([]),[g,P]=(0,o.useState)(!1),[j,N]=(0,o.useState)(null),S=()=>{a(!1),h(null),v([]),u(null),f([]),N(null)},y=()=>{i(!1),S()},k=e=>{P(!0),N(null),m(e).then(e=>{var s,n;if(!e.ok||!e.path||!e.entries||!e.crumbs)return void N(null!=(s=e.error)?s:"Could not list directory.");h(e.path),v(e.crumbs),u(null!=(n=e.parent)?n:null),f(e.entries)}).catch(()=>{N("Could not list directory.")}).finally(()=>{P(!1)})};return(0,t.jsxs)(r.AM,{open:n,onOpenChange:e=>{i(e),e||S()},children:[(0,t.jsx)(r.Wv,{asChild:!0,children:(0,t.jsx)(r.$n,{variant:"outline",tone:"neutral",size:"sm",children:"Browse…"})}),(0,t.jsxs)(r.hl,{align:"end",className:"w-96 p-4",children:[(0,t.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-label font-semibold uppercase tracking-wider text-text-3",children:l?"Choose a folder":"Browse your filesystem"}),(0,t.jsx)("button",{type:"button","aria-label":"Close",onClick:y,className:"rounded p-1 text-text-3 hover:text-text",children:(0,t.jsx)(c.mD3,{name:"x",className:"size-3.5"})})]}),l?(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-1 text-xs",children:[b&&(0,t.jsx)(r.$n,{variant:"ghost",size:"icon",className:"size-6",title:"Up one level",onClick:()=>{k(b)},children:(0,t.jsx)(c.mD3,{name:"arrow-up",className:"size-3.5"})}),x.map((e,s)=>{let n=s===x.length-1;return(0,t.jsxs)(o.Fragment,{children:[s>0&&(0,t.jsx)(c.mD3,{name:"chevron-right",className:"size-3 text-text-3"}),(0,t.jsx)("button",{type:"button",onClick:()=>{k(e.path)},className:n?"cursor-default font-mono font-bold text-text":"font-mono text-text-2 hover:text-text",children:e.name})]},e.path)})]}),(0,t.jsxs)("div",{className:"max-h-64 overflow-y-auto rounded-lg border border-border",children:[g&&(0,t.jsx)("div",{className:"p-3 text-xs text-text-3",children:"Loading…"}),!g&&j&&(0,t.jsx)("div",{className:"p-3 text-xs text-sev-critical-ink",children:j}),!g&&!j&&p.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>{k(e.path)},className:"flex w-full items-center gap-2 px-3 py-2 text-left text-sm hover:bg-surface-2",children:[(0,t.jsx)(c.mD3,{name:"folder",className:"size-4 shrink-0 text-primary"}),(0,t.jsx)("span",{className:"truncate text-text",title:e.name,children:e.name})]},e.path)),!g&&!j&&0===p.length&&(0,t.jsx)("div",{className:"p-3 text-xs text-text-3",children:"No subfolders."})]}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(r.$n,{variant:"solid",tone:"primary",size:"sm",disabled:!d,onClick:()=>{d&&s(d),y()},children:"Select this folder"})})]}):(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)("p",{className:"text-xs text-text-3",children:"AKA will list folder names on your machine, starting from your home directory. Nothing is read or scanned until you click Scan."}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(r.$n,{variant:"ghost",tone:"neutral",size:"sm",onClick:y,children:"Cancel"}),(0,t.jsx)(r.$n,{variant:"solid",tone:"primary",size:"sm",onClick:()=>{a(!0),k(void 0)},children:"Allow"})]})]})]})]})}function x(e){var s;let{enabledRuleCount:n,attachedTo:i}=e,[a,c]=(0,o.useState)(""),[m,x]=(0,o.useState)(!0),[v,b]=(0,o.useState)(null),[u,p]=(0,o.useTransition)(),f=null!=(s=null==v?void 0:v.forwardLine)?s:null,g=()=>{p(async()=>{b(await d(a,{forward:m}))})};return(0,t.jsx)("div",{className:"flex max-w-3xl flex-col gap-4",children:(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-5",children:[(0,t.jsx)("div",{className:"mb-1.5 text-label font-semibold uppercase tracking-wider text-text-3",children:"File or directory to scan"}),(0,t.jsxs)("p",{className:"mb-3 text-xs text-text-3",children:["Walked recursively (node_modules, dotdirs, build output and files over 1 MB are skipped). The raw match never lands on disk — findings store only a masked preview and the event keeps a redacted copy. ",String(n)," rule",1===n?"":"s"," enabled."]}),null!==i&&(0,t.jsxs)("div",{className:"mb-3 rounded-lg border border-border bg-surface-2 px-3 py-2 text-xs text-text-2",children:[(0,t.jsxs)("p",{children:["This machine is attached to ",i,". The Data Shares register this scan records — destinations and call sites, never source text — is sent there."]}),(0,t.jsxs)("label",{className:"mt-1.5 flex items-center gap-2",children:[(0,t.jsx)("input",{type:"checkbox",checked:m,onChange:e=>{x(e.target.checked)}}),(0,t.jsxs)("span",{children:["Send the Data Shares register to ",i]})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(r.pd,{value:a,onChange:e=>{c(e.target.value)},onKeyDown:e=>{"Enter"!==e.key||u||g()},placeholder:"/path/to/project",className:"font-mono"}),(0,t.jsx)(r.$n,{variant:"solid",tone:"primary",size:"sm",disabled:u,onClick:g,children:u?"Scanning…":"Scan"}),(0,t.jsx)(h,{onSelect:e=>{c(e)}})]}),v&&!v.ok&&(0,t.jsx)("p",{className:"mt-3 text-xs text-sev-critical-ink",children:v.error}),(null==v?void 0:v.ok)&&(0,t.jsxs)("div",{className:"mt-3 rounded-lg border border-ok-fill bg-ok-fill px-3 py-2 text-xs text-text",children:["Scanned ",String(v.scanned)," file",1===v.scanned?"":"s"," \xb7"," ",String(v.findings)," finding",1===v.findings?"":"s"," recorded."," ",void 0!==v.findings&&v.findings>0&&(0,t.jsx)(l(),{href:"/findings",className:"font-semibold text-primary underline",children:"View findings"})]}),(null==v?void 0:v.droppedRules)&&(0,t.jsx)("p",{className:"mt-2 text-xs text-sev-medium-ink",children:v.droppedRules}),(null==v?void 0:v.egress)&&(0,t.jsxs)("p",{className:"mt-2 text-xs text-text-2",children:["Data shares: ",String(v.egress.destinations)," destination",1===v.egress.destinations?"":"s"," \xb7 ",String(v.egress.endpoints)," ","endpoint",1===v.egress.endpoints?"":"s"," \xb7 ",String(v.egress.callSites)," ","call site",1===v.egress.callSites?"":"s"," recorded",v.egress.truncated?" (capped)":"","."," ",(0,t.jsx)(l(),{href:"/data-shares",className:"font-semibold text-primary underline",children:"View data shares"})]}),f&&(0,t.jsx)("p",{className:"mt-1 text-xs ".concat("warning"===f.tone?"text-sev-medium-ink":"text-text-2"),children:f.text})]})})}}},e=>{e.O(0,[288,526,399,421,548,563,358],()=>e(e.s=3348)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[746],{3357:(e,n,r)=>{"use strict";r.d(n,{RangeSelect:()=>d});var i=r(2703),s=r(9421),t=r(347),o=r(4120),l=r(4929);function d(e){let{value:n}=e,r=(0,o.usePathname)(),d=(0,o.useSearchParams)(),{isPending:a,push:h}=(0,l.n)();return(0,i.jsx)("span",{className:(0,t.cn)("inline-block rounded-md transition-shadow duration-150",a&&"ring-2 ring-primary/70"),children:(0,i.jsx)(s.$nP,{value:n,onChange:e=>{let n=new URLSearchParams(d.toString());n.set("range",e),h("".concat(r,"?").concat(n.toString()))}})})}},4120:(e,n,r)=>{"use strict";var i=r(1688);r.o(i,"usePathname")&&r.d(n,{usePathname:function(){return i.usePathname}}),r.o(i,"useRouter")&&r.d(n,{useRouter:function(){return i.useRouter}}),r.o(i,"useSearchParams")&&r.d(n,{useSearchParams:function(){return i.useSearchParams}})},4929:(e,n,r)=>{"use strict";r.d(n,{NavigationTransitionProvider:()=>l,n:()=>d,p:()=>a});var i=r(2703),s=r(4120),t=r(6807);let o=(0,t.createContext)(null);function l(e){let{children:n}=e,r=(0,s.useRouter)(),[l,d]=(0,t.useTransition)(),a=(0,t.useCallback)(e=>{d(()=>{r.push(e)})},[r]),h=(0,t.useCallback)(e=>{d(()=>{r.replace(e)})},[r]),m=(0,t.useMemo)(()=>({isPending:l,push:a,replace:h}),[l,a,h]);return(0,i.jsx)(o.Provider,{value:m,children:n})}function d(){let e=(0,t.useContext)(o);if(null===e)throw Error("useNavigationTransition must be used within NavigationTransitionProvider");return e}function a(){let{isPending:e}=d(),[n,r]=(0,t.useState)(!1);return((0,t.useEffect)(()=>{if(!e)return;let n=setTimeout(()=>{r(!0)},150);return()=>{clearTimeout(n),r(!1)}},[e]),e&&n)?(0,i.jsx)("div",{role:"progressbar","aria-label":"Loading",className:"pointer-events-none absolute inset-x-0 top-0 z-50 h-0.5 overflow-hidden",children:(0,i.jsx)("div",{className:"h-full w-full origin-left animate-nav-progress bg-primary-solid"})}):null}},5577:(e,n,r)=>{"use strict";r.d(n,{WidgetNavigation:()=>t});var i=r(2703),s=r(4929);function t(e){let{children:n}=e,{push:r}=(0,s.n)();return(0,i.jsx)("div",{onClick:e=>{if(e.defaultPrevented||0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let n=e.target,i=n instanceof Element?n.closest("a"):null;if(!i)return;let s=i.getAttribute("href");if(!(null==s?void 0:s.startsWith("/"))||new URL(s,window.location.href).origin!==window.location.origin||i.hasAttribute("download"))return;let t=i.getAttribute("target");t&&"_self"!==t||(e.preventDefault(),r(s))},children:n})}},7239:(e,n,r)=>{"use strict";r.d(n,{RecommendedActionsCard:()=>l});var i=r(2703),s=r(9421),t=r(6807);let o=()=>void 0;function l(e){let{items:n,viewAllHref:r}=e,[l,d]=(0,t.useState)(new Set);return(0,i.jsx)(s.sJz,{items:n.filter(e=>!l.has(e.id)),isLoading:!1,error:null,viewAllHref:r,applyAction:o,dismissAction:e=>{d(n=>new Set([...n,e]))},isMutating:!1,mutationError:null})}},9170:(e,n,r)=>{Promise.resolve().then(r.bind(r,985)),Promise.resolve().then(r.bind(r,9191)),Promise.resolve().then(r.bind(r,6751)),Promise.resolve().then(r.bind(r,8788)),Promise.resolve().then(r.bind(r,7314)),Promise.resolve().then(r.bind(r,7888)),Promise.resolve().then(r.bind(r,3329)),Promise.resolve().then(r.bind(r,1486)),Promise.resolve().then(r.bind(r,6274)),Promise.resolve().then(r.bind(r,6742)),Promise.resolve().then(r.bind(r,3649)),Promise.resolve().then(r.bind(r,1941)),Promise.resolve().then(r.bind(r,7089)),Promise.resolve().then(r.bind(r,2728)),Promise.resolve().then(r.bind(r,5296)),Promise.resolve().then(r.bind(r,8928)),Promise.resolve().then(r.bind(r,3868)),Promise.resolve().then(r.bind(r,7308)),Promise.resolve().then(r.bind(r,8515)),Promise.resolve().then(r.bind(r,980)),Promise.resolve().then(r.bind(r,919)),Promise.resolve().then(r.bind(r,207)),Promise.resolve().then(r.bind(r,2071)),Promise.resolve().then(r.bind(r,4621)),Promise.resolve().then(r.bind(r,4411)),Promise.resolve().then(r.bind(r,7195)),Promise.resolve().then(r.bind(r,9732)),Promise.resolve().then(r.bind(r,2909)),Promise.resolve().then(r.bind(r,1561)),Promise.resolve().then(r.bind(r,907)),Promise.resolve().then(r.bind(r,447)),Promise.resolve().then(r.bind(r,4409)),Promise.resolve().then(r.bind(r,3183)),Promise.resolve().then(r.bind(r,4564)),Promise.resolve().then(r.bind(r,4330)),Promise.resolve().then(r.bind(r,8048)),Promise.resolve().then(r.bind(r,4157)),Promise.resolve().then(r.bind(r,1468)),Promise.resolve().then(r.bind(r,4420)),Promise.resolve().then(r.bind(r,2792)),Promise.resolve().then(r.bind(r,8929)),Promise.resolve().then(r.bind(r,332)),Promise.resolve().then(r.bind(r,2023)),Promise.resolve().then(r.bind(r,6913)),Promise.resolve().then(r.bind(r,1142)),Promise.resolve().then(r.bind(r,4584)),Promise.resolve().then(r.bind(r,1639)),Promise.resolve().then(r.bind(r,3749)),Promise.resolve().then(r.bind(r,6574)),Promise.resolve().then(r.bind(r,176)),Promise.resolve().then(r.bind(r,3517)),Promise.resolve().then(r.bind(r,9103)),Promise.resolve().then(r.bind(r,7881)),Promise.resolve().then(r.bind(r,3169)),Promise.resolve().then(r.bind(r,7692)),Promise.resolve().then(r.bind(r,9520)),Promise.resolve().then(r.bind(r,7239)),Promise.resolve().then(r.bind(r,5577)),Promise.resolve().then(r.bind(r,3357))}},e=>{e.O(0,[288,526,421,548,563,358],()=>e(e.s=9170)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[109],{24:(e,r,n)=>{"use strict";n.d(r,{SettingsClient:()=>v});var o=n(2703),s=n(9421),t=n(6807),i=n(2090);let l=(0,i.createServerReference)("4022f955bed4b653812fe7b44e2a98b34b2e879567",i.callServer,void 0,i.findSourceMapURL,"saveSettings"),d=(0,i.createServerReference)("405d20d6d57b2fde525b5024653cb3b120ac55df3e",i.callServer,void 0,i.findSourceMapURL,"attachToControlPlane"),a=(0,i.createServerReference)("00ade918d1a063262657e0c37e438cd7fb982468a7",i.callServer,void 0,i.findSourceMapURL,"detachFromControlPlane");function v(e){let{settings:r,managed:n,credentialState:i}=e,[v,b]=(0,t.useState)(null),[c,h]=(0,t.useState)(!1),[u,m]=(0,t.useTransition)(),P=e=>{m(async()=>{try{var r;let n=await e();b(n.ok?null:null!=(r=n.error)?r:"Could not save."),h(n.ok)}catch(e){b("The change could not be sent — check your connection and try again."),h(!1)}})};return(0,o.jsx)(s.A30,{settings:r,managed:n,credentialState:i,busy:u,error:v,saved:c,onSave:e=>{P(()=>l(e))},onAttach:(e,r,n)=>{P(()=>d({endpoint:e,label:r,accessKey:n}))},onDetach:()=>{P(()=>a())}})}},2090:(e,r,n)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,r){for(var n in r)Object.defineProperty(e,n,{enumerable:!0,get:r[n]})}(r,{callServer:function(){return o.callServer},createServerReference:function(){return t.createServerReference},findSourceMapURL:function(){return s.findSourceMapURL}});let o=n(6813),s=n(9205),t=n(641)},4120:(e,r,n)=>{"use strict";var o=n(1688);n.o(o,"usePathname")&&n.d(r,{usePathname:function(){return o.usePathname}}),n.o(o,"useRouter")&&n.d(r,{useRouter:function(){return o.useRouter}}),n.o(o,"useSearchParams")&&n.d(r,{useSearchParams:function(){return o.useSearchParams}})},4980:(e,r,n)=>{"use strict";n.d(r,{SyncPanel:()=>a});var o=n(2703),s=n(9421),t=n(4120),i=n(6807),l=n(2090);let d=(0,l.createServerReference)("00eb2d21b73dfd8d92c587de390a0bf2cb1193fad2",l.callServer,void 0,l.findSourceMapURL,"syncNow");function a(e){let{sync:r,renderedAt:n}=e,l=(0,t.useRouter)(),[a,v]=(0,i.useState)(null),[b,c]=(0,i.useTransition)(),[h,u]=(0,i.useState)(!1),m=(0,s.a5B)(n),P=r.running||h;return(0,i.useEffect)(()=>{if(!P)return;let e=setInterval(()=>{"visible"===document.visibilityState&&l.refresh()},4e3);return()=>{clearInterval(e)}},[P,l]),(0,i.useEffect)(()=>{if(!h)return;let e=setTimeout(()=>{u(!1)},2e4);return()=>{clearTimeout(e)}},[h]),(0,o.jsx)(s.Zmc,{...r,renderedAt:m,busy:b,startError:null!=a?a:void 0,onSyncNow:()=>{c(async()=>{try{var e;let r=await d();v(r.ok?null:null!=(e=r.error)?e:"No pass was started."),u(r.ok)}catch(e){v("The request could not be sent — check your connection and try again."),u(!1)}})}})}},6381:(e,r,n)=>{Promise.resolve().then(n.bind(n,985)),Promise.resolve().then(n.bind(n,9191)),Promise.resolve().then(n.bind(n,6751)),Promise.resolve().then(n.bind(n,8788)),Promise.resolve().then(n.bind(n,7314)),Promise.resolve().then(n.bind(n,7888)),Promise.resolve().then(n.bind(n,3329)),Promise.resolve().then(n.bind(n,1486)),Promise.resolve().then(n.bind(n,6274)),Promise.resolve().then(n.bind(n,6742)),Promise.resolve().then(n.bind(n,3649)),Promise.resolve().then(n.bind(n,1941)),Promise.resolve().then(n.bind(n,7089)),Promise.resolve().then(n.bind(n,2728)),Promise.resolve().then(n.bind(n,5296)),Promise.resolve().then(n.bind(n,8928)),Promise.resolve().then(n.bind(n,3868)),Promise.resolve().then(n.bind(n,7308)),Promise.resolve().then(n.bind(n,8515)),Promise.resolve().then(n.bind(n,980)),Promise.resolve().then(n.bind(n,919)),Promise.resolve().then(n.bind(n,207)),Promise.resolve().then(n.bind(n,2071)),Promise.resolve().then(n.bind(n,4621)),Promise.resolve().then(n.bind(n,4411)),Promise.resolve().then(n.bind(n,7195)),Promise.resolve().then(n.bind(n,9732)),Promise.resolve().then(n.bind(n,2909)),Promise.resolve().then(n.bind(n,1561)),Promise.resolve().then(n.bind(n,907)),Promise.resolve().then(n.bind(n,447)),Promise.resolve().then(n.bind(n,4409)),Promise.resolve().then(n.bind(n,3183)),Promise.resolve().then(n.bind(n,4564)),Promise.resolve().then(n.bind(n,4330)),Promise.resolve().then(n.bind(n,8048)),Promise.resolve().then(n.bind(n,4157)),Promise.resolve().then(n.bind(n,1468)),Promise.resolve().then(n.bind(n,4420)),Promise.resolve().then(n.bind(n,2792)),Promise.resolve().then(n.bind(n,8929)),Promise.resolve().then(n.bind(n,332)),Promise.resolve().then(n.bind(n,2023)),Promise.resolve().then(n.bind(n,6913)),Promise.resolve().then(n.bind(n,1142)),Promise.resolve().then(n.bind(n,4584)),Promise.resolve().then(n.bind(n,1639)),Promise.resolve().then(n.bind(n,3749)),Promise.resolve().then(n.bind(n,6574)),Promise.resolve().then(n.bind(n,176)),Promise.resolve().then(n.bind(n,3517)),Promise.resolve().then(n.bind(n,9103)),Promise.resolve().then(n.bind(n,7881)),Promise.resolve().then(n.bind(n,3169)),Promise.resolve().then(n.bind(n,7692)),Promise.resolve().then(n.bind(n,9520)),Promise.resolve().then(n.bind(n,24)),Promise.resolve().then(n.bind(n,4980))}},e=>{e.O(0,[288,526,421,548,563,358],()=>e(e.s=6381)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[606],{2090:(e,n,r)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),!function(e,n){for(var r in n)Object.defineProperty(e,r,{enumerable:!0,get:n[r]})}(n,{callServer:function(){return i.callServer},createServerReference:function(){return o.createServerReference},findSourceMapURL:function(){return s.findSourceMapURL}});let i=r(6813),s=r(9205),o=r(641)},7101:(e,n,r)=>{"use strict";r.d(n,{UpdatesClient:()=>h});var i=r(2703),s=r(9421),o=r(347),l=r(6807),t=r(2090);let d=(0,t.createServerReference)("4010b3f23b42dbb6cdd03bc6fb137a1dd19f7ba4e1",t.callServer,void 0,t.findSourceMapURL,"applyUpdate"),a=(0,t.createServerReference)("409dadfef16795dab044d120210dcae97381e0fecf",t.callServer,void 0,t.findSourceMapURL,"installPlugin"),m=(0,t.createServerReference)("000db4a5e29482a10fcec1992731eeb5487c98786b",t.callServer,void 0,t.findSourceMapURL,"checkNow");function h(e){let{statuses:n,availablePlugins:r,checkedAt:t,commands:h,advisories:v,installCommands:c}=e,[b,u]=(0,l.useState)({}),[P,f]=(0,l.useState)({}),[p,x]=(0,l.useState)(null),[k,j]=(0,l.useState)(null),[S,g]=(0,l.useState)(!1),[R,y]=(0,l.useState)(null),[w,C]=(0,l.useTransition)(),[,N]=(0,l.useTransition)();return(0,i.jsxs)("div",{className:"flex max-w-3xl flex-col gap-4",children:[(0,i.jsx)(s.bnY,{statuses:n,checkedAt:t,busy:w,onCheckNow:()=>{C(async()=>{await m()})},onApply:e=>{var r;let i=n.find(n=>n.id===e);if(!i)return;let s=v[e];y(s?{id:e,kind:"advice",name:i.name,command:s.display,reason:s.reason}:{id:e,kind:"update",name:i.name,command:null!=(r=h[e])?r:""})},applyingId:p,outcomes:b,restartRequired:S}),(0,i.jsx)(s.JRA,{plugins:r,onInstall:e=>{var n;let i=r.find(n=>n.id===e);i&&y({id:e,kind:"install",name:i.name,command:null!=(n=c[e])?n:""})},installingId:k,outcomes:P}),(0,i.jsx)(o.lG,{open:null!==R,onOpenChange:e=>{e||y(null)},children:(0,i.jsxs)(o.Cf,{children:[(0,i.jsxs)(o.c7,{children:[(0,i.jsx)(o.L3,{children:(null==R?void 0:R.kind)==="advice"?(0,i.jsxs)(i.Fragment,{children:["Updating ",R.name]}):(0,i.jsxs)(i.Fragment,{children:[(null==R?void 0:R.kind)==="install"?"Install":"Update"," ",null==R?void 0:R.name,"?"]})}),(0,i.jsx)(o.rr,{children:(null==R?void 0:R.kind)==="advice"?"This one can’t be applied from the dashboard. Run it yourself:":"This runs the following on this machine:"})]}),(0,i.jsxs)(o.R4,{children:[(null==R?void 0:R.kind)==="advice"&&(0,i.jsxs)("p",{className:"mb-2 text-xs text-text-3",children:[R.reason,"."]}),(0,i.jsx)("pre",{className:"overflow-x-auto rounded-lg border border-border bg-surface-2 p-3 font-mono text-xs text-text",children:null==R?void 0:R.command}),(null==R?void 0:R.id)==="cli"&&"update"===R.kind&&(0,i.jsxs)("p",{className:"text-xs text-text-3",children:["This replaces the package the dashboard server itself runs from — you’ll need to restart ",(0,i.jsx)("code",{className:"font-mono",children:"aka dashboard"})," afterwards."]})]}),(0,i.jsx)(o.Es,{children:(null==R?void 0:R.kind)==="advice"?(0,i.jsx)(o.$n,{variant:"solid",tone:"primary",size:"sm",onClick:()=>{y(null)},children:"Close"}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.$n,{variant:"ghost",tone:"neutral",size:"sm",onClick:()=>{y(null)},children:"Cancel"}),(0,i.jsx)(o.$n,{variant:"solid",tone:"primary",size:"sm",onClick:()=>{R&&(y(null),"update"===R.kind?x(R.id):j(R.id),N(async()=>{let e="update"===R.kind?await d(R.id):await a(R.id),n={ok:e.ok,output:e.output};"update"===R.kind?(u(e=>({...e,[R.id]:n})),x(null),e.restartRequired&&g(!0)):(f(e=>({...e,[R.id]:n})),j(null))}))},children:"Run it"})]})})]})})]})}},9363:(e,n,r)=>{Promise.resolve().then(r.bind(r,985)),Promise.resolve().then(r.bind(r,9191)),Promise.resolve().then(r.bind(r,6751)),Promise.resolve().then(r.bind(r,8788)),Promise.resolve().then(r.bind(r,7314)),Promise.resolve().then(r.bind(r,7888)),Promise.resolve().then(r.bind(r,3329)),Promise.resolve().then(r.bind(r,1486)),Promise.resolve().then(r.bind(r,6274)),Promise.resolve().then(r.bind(r,6742)),Promise.resolve().then(r.bind(r,3649)),Promise.resolve().then(r.bind(r,1941)),Promise.resolve().then(r.bind(r,7089)),Promise.resolve().then(r.bind(r,2728)),Promise.resolve().then(r.bind(r,5296)),Promise.resolve().then(r.bind(r,8928)),Promise.resolve().then(r.bind(r,3868)),Promise.resolve().then(r.bind(r,7308)),Promise.resolve().then(r.bind(r,8515)),Promise.resolve().then(r.bind(r,980)),Promise.resolve().then(r.bind(r,919)),Promise.resolve().then(r.bind(r,207)),Promise.resolve().then(r.bind(r,2071)),Promise.resolve().then(r.bind(r,4621)),Promise.resolve().then(r.bind(r,4411)),Promise.resolve().then(r.bind(r,7195)),Promise.resolve().then(r.bind(r,9732)),Promise.resolve().then(r.bind(r,2909)),Promise.resolve().then(r.bind(r,1561)),Promise.resolve().then(r.bind(r,907)),Promise.resolve().then(r.bind(r,447)),Promise.resolve().then(r.bind(r,4409)),Promise.resolve().then(r.bind(r,3183)),Promise.resolve().then(r.bind(r,4564)),Promise.resolve().then(r.bind(r,4330)),Promise.resolve().then(r.bind(r,8048)),Promise.resolve().then(r.bind(r,4157)),Promise.resolve().then(r.bind(r,1468)),Promise.resolve().then(r.bind(r,4420)),Promise.resolve().then(r.bind(r,2792)),Promise.resolve().then(r.bind(r,8929)),Promise.resolve().then(r.bind(r,332)),Promise.resolve().then(r.bind(r,2023)),Promise.resolve().then(r.bind(r,6913)),Promise.resolve().then(r.bind(r,1142)),Promise.resolve().then(r.bind(r,4584)),Promise.resolve().then(r.bind(r,1639)),Promise.resolve().then(r.bind(r,3749)),Promise.resolve().then(r.bind(r,6574)),Promise.resolve().then(r.bind(r,176)),Promise.resolve().then(r.bind(r,3517)),Promise.resolve().then(r.bind(r,9103)),Promise.resolve().then(r.bind(r,7881)),Promise.resolve().then(r.bind(r,3169)),Promise.resolve().then(r.bind(r,7692)),Promise.resolve().then(r.bind(r,9520)),Promise.resolve().then(r.bind(r,7101))}},e=>{e.O(0,[288,526,421,548,563,358],()=>e(e.s=9363)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[644],{2090:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,r){for(var t in r)Object.defineProperty(e,t,{enumerable:!0,get:r[t]})}(r,{callServer:function(){return n.callServer},createServerReference:function(){return a.createServerReference},findSourceMapURL:function(){return s.findSourceMapURL}});let n=t(6813),s=t(9205),a=t(641)},2897:(e,r,t)=>{"use strict";t.d(r,{VaultDashboardClient:()=>g});var n=t(2703),s=t(1288),a=t(347),i=t(6807),l=t(2090);let o=(0,l.createServerReference)("40cd3e8a919720659bd89ee5ad12bab63292b74682",l.callServer,void 0,l.findSourceMapURL,"loadMoreVaultInventory"),d=(0,l.createServerReference)("4053af2545272877e1ce6c3d644b97e7858ddcc338",l.callServer,void 0,l.findSourceMapURL,"loadMoreVaultReuse"),c=(0,l.createServerReference)("40e3fba627f73af26f2bf398b36fa501e26c5c3e35",l.callServer,void 0,l.findSourceMapURL,"loadVaultDerefs"),u=(0,l.createServerReference)("40537116ad4808d963091676c05bd43c45d12f7c21",l.callServer,void 0,l.findSourceMapURL,"revealEntry"),v=(0,l.createServerReference)("4036c4198033aaa67a7cfaf8679250f5db7a99164d",l.callServer,void 0,l.findSourceMapURL,"revokeRevealGrant"),x=(0,l.createServerReference)("40cfb55fa9b646d194d60563f08cfafa73d433baaf",l.callServer,void 0,l.findSourceMapURL,"purgeVault"),h=(0,l.createServerReference)("006e5d3bce463b39a2b4afe45988c07a62765e138f",l.callServer,void 0,l.findSourceMapURL,"rotateVaultKey");function m(e,r,t,n,s,a){var l,o;let[d,c]=(0,i.useState)({pages:[e.items],cursors:[e.nextCursor],index:0,pending:null}),[u,v]=(0,i.useState)(e);u!==e&&(v(e),c({pages:[e.items],cursors:[e.nextCursor],index:0,pending:null}));let x=null!=(l=d.pages[d.index])?l:[],h=null!=(o=d.cursors[d.index])?o:null;return{rows:x,hasNextPage:d.index+1<d.pages.length||null!==h,hasPreviousPage:d.index>0,pageStart:p(d.pages,d.index),next:()=>{if(d.index+1<d.pages.length)return void c(e=>({...e,index:e.index+1}));if(null===h)return;let e={};c(r=>({...r,pending:e})),n(async()=>{try{let n=await r({cursor:h});c(r=>{if(r.pending!==e)return r;let i=new Set(r.pages.flat().map(t)),l=n.items.filter(e=>!i.has(t(e)));return 0===l.length?(s("The rest of the ".concat(a," list moved while you were reading it.")),{...r,cursors:r.cursors.map((e,t)=>t===r.index?n.nextCursor:e),pending:null}):{pages:[...r.pages,l],cursors:[...r.cursors,n.nextCursor],index:r.index+1,pending:null}})}catch(r){s("The next page of ".concat(a," could not be read.")),c(r=>r.pending!==e?r:{...r,pending:null})}})},previous:()=>{c(e=>({...e,index:Math.max(0,e.index-1)}))},patch:e=>{c(r=>({...r,pages:r.pages.map(r=>r.map(e))}))}}}function p(e,r){var t,n;let s=1;for(let a=0;a<r;a+=1)s+=null!=(n=null==(t=e[a])?void 0:t.length)?n:0;return s}function b(e){let{title:r,sub:t}=e;return(0,n.jsxs)("div",{children:[(0,n.jsx)("h2",{className:"text-sm font-semibold text-text",children:r}),(0,n.jsx)("p",{className:"mt-0.5 text-xs text-text-3",children:t})]})}function g(e){var r;let{inventory:t,reuse:l,derefs:g,renderedAt:f}=e,[P,j]=(0,i.useState)({}),[y,N]=(0,i.useState)(null),[S,k]=(0,i.useTransition)(),[w,R]=(0,i.useTransition)(),[C,T]=(0,i.useTransition)(),M=m(t,o,e=>e.pointerId,R,N,"vaulted values"),B=m(l,d,e=>e.pointerId,T,N,"reused values"),E=M.rows,V=B.rows,[L,U]=(0,i.useState)({pages:[g.items],cursors:[g.nextCursor],index:0,hiddenBatched:g.hiddenBatched,showBatched:!1,pending:null}),[I,_]=(0,i.useTransition)(),O=null!=(r=L.pages[L.index])?r:[],z=L.showBatched,D=L.index+1<L.pages.length||null!=L.cursors[L.index],G=(e,r)=>({pages:[e.items],cursors:[e.nextCursor],index:0,hiddenBatched:e.hiddenBatched,showBatched:r,pending:null}),[$,A]=(0,i.useState)(g);$!==g&&(A(g),U(G(g,!1)));let K=e=>{let r={};return U(t=>({...t,showBatched:e,pending:r})),r},X=e=>{let r=K(e);_(async()=>{try{let t=await c(e?{includeBatched:!0}:{});U(n=>n.pending!==r?n:G(t,e))}catch(e){N("The de-reference trail could not be read."),U(e=>e.pending!==r?e:{...e,pending:null})}})},[J,W]=(0,i.useState)(""),[Y,q]=(0,i.useState)(null),[F,H]=(0,i.useTransition)(),[Q,Z]=(0,i.useState)(null),[ee,er]=(0,i.useTransition)(),et=Object.values(P);return(0,n.jsxs)(a.tU,{defaultValue:"inventory",className:"flex flex-col gap-4",children:[(0,n.jsxs)(a.j7,{children:[(0,n.jsx)(a.Xi,{value:"inventory",children:"Vaulted values"}),(0,n.jsx)(a.Xi,{value:"reuse",children:"Reuse"}),(0,n.jsx)(a.Xi,{value:"audit",children:"De-reference audit"}),(0,n.jsx)(a.Xi,{value:"maintenance",children:"Maintenance"})]}),null!==y&&(0,n.jsx)("p",{className:"text-xs text-sev-critical-ink",children:y}),(0,n.jsxs)(a.av,{value:"inventory",className:"flex flex-col gap-3",children:[(0,n.jsx)(b,{title:"Vaulted values",sub:"Every value this machine holds, masked, with everywhere its pointer has been written. Each reveal is audited."}),et.length>0&&(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-4",children:[(0,n.jsx)("div",{className:"mb-2 text-label font-semibold uppercase tracking-wider text-text-3",children:"Revealed on this page only — hidden again on refresh"}),(0,n.jsx)("ul",{className:"space-y-2",children:et.map(e=>{let{entry:r,value:t}=e;return(0,n.jsxs)("li",{className:"flex flex-wrap items-center gap-3 rounded-lg border border-border bg-surface-2 px-3 py-2",children:[(0,n.jsx)(s.YJs,{value:t,descriptor:r}),null===t&&(0,n.jsx)("span",{className:"text-xs text-text-3",children:"could not be resolved — purged or key material unavailable"}),(0,n.jsx)(a.$n,{variant:"ghost",tone:"neutral",size:"sm",disabled:S,onClick:()=>{var e;e=r.pointerId,j(r=>Object.fromEntries(Object.entries(r).filter(r=>{let[t]=r;return t!==e})))},children:"Hide"})]},r.pointerId)})})]}),(0,n.jsx)(s.y6v,{renderedAt:f,entries:E,onReveal:e=>{let r=E.find(r=>r.pointerId===e);if(void 0===r)return void N("That row is no longer in the list — reload and try again.");k(async()=>{let t=await u({pointerId:e});t.ok?(N(null),j(n=>({...n,[e]:{value:t.value,entry:r}})),X(z)):N(t.error)})},onRevoke:e=>{window.confirm("Revoke this reveal-to-model grant? The model stops receiving the raw value at the next tool boundary.")&&k(async()=>{let r=await v({grantId:e});if(N(r.ok?null:r.error),!r.ok)return;let t=r=>r.revealGrantId===e?{...r,revealGrantId:null}:r;M.patch(t),B.patch(t)})},total:t.totals.values,pageStart:M.pageStart,hasNextPage:M.hasNextPage,hasPreviousPage:M.hasPreviousPage,loadingNextPage:w,onNextPage:M.next,onPreviousPage:M.previous})]}),(0,n.jsxs)(a.av,{value:"reuse",className:"flex flex-col gap-3",children:[(0,n.jsx)(b,{title:"Reuse on this machine",sub:"Values detected in more than one place. Reuse widens the blast radius of a single leak."}),(0,n.jsx)(s.gvr,{entries:V,total:l.totals.reused,pageStart:B.pageStart,hasNextPage:B.hasNextPage,hasPreviousPage:B.hasPreviousPage,loadingNextPage:C,onNextPage:B.next,onPreviousPage:B.previous})]}),(0,n.jsxs)(a.av,{value:"audit",className:"flex flex-col gap-3",children:[(0,n.jsx)(b,{title:"De-reference audit",sub:"Every resolution of a vaulted value — never the value itself. Model crossings render loud."}),(0,n.jsx)(s.tlv,{renderedAt:f,rows:O,hiddenBatched:L.hiddenBatched,showBatched:z,onToggleBatched:e=>{X(e)},pageStart:p(L.pages,L.index),hasNextPage:D,hasPreviousPage:L.index>0,loadingNextPage:I,onNextPage:()=>{var e;if(L.index+1<L.pages.length)return void U(e=>({...e,index:e.index+1}));let r=null!=(e=L.cursors[L.index])?e:null;if(null===r)return;let t=K(z);_(async()=>{try{let e=await c({...z?{includeBatched:!0}:{},cursor:r});U(r=>r.pending!==t?r:0===e.items.length?(N("The rest of the de-reference trail moved while you were reading it."),{...r,cursors:r.cursors.map((t,n)=>n===r.index?e.nextCursor:t),hiddenBatched:e.hiddenBatched,pending:null}):{...r,pages:[...r.pages,e.items],cursors:[...r.cursors,e.nextCursor],index:r.index+1,hiddenBatched:e.hiddenBatched,pending:null})}catch(e){N("The next page of the de-reference trail could not be read."),U(e=>e.pending!==t?e:{...e,pending:null})}})},onPreviousPage:()=>{U(e=>({...e,index:Math.max(0,e.index-1)}))}})]}),(0,n.jsxs)(a.av,{value:"maintenance",className:"flex flex-col gap-3",children:[(0,n.jsx)(b,{title:"Vault maintenance",sub:"Key rotation is routine; the purge is not."}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-5",children:[(0,n.jsx)("div",{className:"mb-1.5 text-label font-semibold uppercase tracking-wider text-text-3",children:"Rotate vault key"}),(0,n.jsx)("p",{className:"mb-3 text-xs text-text-3",children:"Mints the next key epoch and re-encrypts every stored value under it. Existing pointers keep working — only the ciphertext changes."}),(null==Q?void 0:Q.ok)===!0&&(0,n.jsxs)("p",{className:"mb-3 text-xs text-ok-ink",children:["Key rotated to version ",Q.version," —"," ",1===Q.reEncrypted?"1 entry re-encrypted":"".concat(String(Q.reEncrypted)," entries re-encrypted")," ","under it."]}),(null==Q?void 0:Q.ok)===!1&&(0,n.jsx)("p",{className:"mb-3 text-xs text-sev-critical-ink",children:Q.error}),(0,n.jsx)(a.$n,{variant:"outline",tone:"neutral",size:"sm",disabled:ee,onClick:()=>{er(async()=>{Z(await h())})},children:ee?"Rotating…":"Rotate key"})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-sev-critical-fill bg-surface p-5",children:[(0,n.jsx)("div",{className:"mb-1.5 text-label font-semibold uppercase tracking-wider text-sev-critical-ink",children:"Purge vault"}),(0,n.jsx)("p",{className:"mb-3 text-xs text-text-3",children:"Destroys every stored value. Every pointer everywhere — in files, transcripts, and prompts — becomes permanently unresolvable. The audit trail survives. This cannot be undone."}),(null==Y?void 0:Y.ok)===!0&&(0,n.jsxs)("p",{className:"mb-3 text-xs text-text-2",children:["Vault purged —"," ",1===Y.destroyed?"1 value destroyed":"".concat(String(Y.destroyed)," values destroyed"),". The audit trail below is retained."]}),(null==Y?void 0:Y.ok)===!1&&(0,n.jsx)("p",{className:"mb-3 text-xs text-sev-critical-ink",children:Y.error}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(a.pd,{value:J,onChange:e=>{W(e.target.value)},placeholder:"Type 'purge' to confirm",className:"max-w-56 font-mono"}),(0,n.jsx)(a.$n,{variant:"solid",tone:"danger",size:"sm",disabled:"purge"!==J||F,onClick:()=>{H(async()=>{let e=await x({confirmation:J});q(e),e.ok&&(W(""),j({}))})},children:F?"Purging…":"Purge vault"})]})]})]})]})}},6120:(e,r,t)=>{Promise.resolve().then(t.bind(t,985)),Promise.resolve().then(t.bind(t,9191)),Promise.resolve().then(t.bind(t,6751)),Promise.resolve().then(t.bind(t,8788)),Promise.resolve().then(t.bind(t,7314)),Promise.resolve().then(t.bind(t,7888)),Promise.resolve().then(t.bind(t,3329)),Promise.resolve().then(t.bind(t,1486)),Promise.resolve().then(t.bind(t,6274)),Promise.resolve().then(t.bind(t,6742)),Promise.resolve().then(t.bind(t,3649)),Promise.resolve().then(t.bind(t,1941)),Promise.resolve().then(t.bind(t,7089)),Promise.resolve().then(t.bind(t,2728)),Promise.resolve().then(t.bind(t,5296)),Promise.resolve().then(t.bind(t,8928)),Promise.resolve().then(t.bind(t,3868)),Promise.resolve().then(t.bind(t,7308)),Promise.resolve().then(t.bind(t,8515)),Promise.resolve().then(t.bind(t,980)),Promise.resolve().then(t.bind(t,919)),Promise.resolve().then(t.bind(t,207)),Promise.resolve().then(t.bind(t,2071)),Promise.resolve().then(t.bind(t,4621)),Promise.resolve().then(t.bind(t,4411)),Promise.resolve().then(t.bind(t,7195)),Promise.resolve().then(t.bind(t,9732)),Promise.resolve().then(t.bind(t,2909)),Promise.resolve().then(t.bind(t,1561)),Promise.resolve().then(t.bind(t,9156)),Promise.resolve().then(t.bind(t,447)),Promise.resolve().then(t.bind(t,4409)),Promise.resolve().then(t.bind(t,3183)),Promise.resolve().then(t.bind(t,4564)),Promise.resolve().then(t.bind(t,4330)),Promise.resolve().then(t.bind(t,8048)),Promise.resolve().then(t.bind(t,4157)),Promise.resolve().then(t.bind(t,1468)),Promise.resolve().then(t.bind(t,4420)),Promise.resolve().then(t.bind(t,2792)),Promise.resolve().then(t.bind(t,8929)),Promise.resolve().then(t.bind(t,332)),Promise.resolve().then(t.bind(t,6913)),Promise.resolve().then(t.bind(t,1142)),Promise.resolve().then(t.bind(t,1639)),Promise.resolve().then(t.bind(t,3749)),Promise.resolve().then(t.bind(t,176)),Promise.resolve().then(t.bind(t,3517)),Promise.resolve().then(t.bind(t,9103)),Promise.resolve().then(t.bind(t,7881)),Promise.resolve().then(t.bind(t,3169)),Promise.resolve().then(t.bind(t,7692)),Promise.resolve().then(t.bind(t,9520)),Promise.resolve().then(t.bind(t,2897)),Promise.resolve().then(t.bind(t,9388))},9388:(e,r,t)=>{"use strict";t.d(r,{VaultLookupClient:()=>c});var n=t(2703),s=t(1288),a=t(347),i=t(6807),l=t(2090);let o=(0,l.createServerReference)("409614ccfb6901368cf1bd6fd6e0bf71a0f265749a",l.callServer,void 0,l.findSourceMapURL,"grantRevealFromPointer"),d=(0,l.createServerReference)("40d4459dc0a052dd51319cd0dce197e0dd6886295f",l.callServer,void 0,l.findSourceMapURL,"revealPointer");function c(){let[e,r]=(0,i.useState)(""),[t,l]=(0,i.useState)(null),[c,u]=(0,i.useState)(""),[v,x]=(0,i.useTransition)(),[h,m]=(0,i.useState)(null),[p,b]=(0,i.useState)(""),[g,f]=(0,i.useState)(""),[P,j]=(0,i.useState)(null),[y,N]=(0,i.useTransition)(),S=()=>{let r=e.trim();""!==r&&x(async()=>{l(await d({pointer:r})),u(r),m(null),b(""),j(null)})},k=(null==t?void 0:t.ok)===!0&&null!==t.value;return(0,n.jsxs)("div",{className:"flex max-w-xl flex-col gap-4",children:[(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-5",children:[(0,n.jsx)("div",{className:"mb-1.5 text-label font-semibold uppercase tracking-wider text-text-3",children:"Pointer to resolve"}),(0,n.jsx)("p",{className:"mb-3 text-xs text-text-3",children:"Paste the [[aka:...]] token that replaced a detected value. Each successful reveal is recorded in the vault's audit trail."}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(a.pd,{value:e,onChange:e=>{r(e.target.value)},onKeyDown:e=>{"Enter"!==e.key||v||S()},placeholder:"[[aka:secret:...]]",className:"font-mono"}),(0,n.jsx)(a.$n,{variant:"solid",tone:"primary",size:"sm",disabled:v,onClick:S,children:v?"Resolving…":"Reveal"})]}),t&&!t.ok&&(0,n.jsx)("p",{className:"mt-3 text-xs text-sev-critical-ink",children:t.error}),(null==t?void 0:t.ok)&&(0,n.jsx)("div",{className:"mt-3 rounded-lg border border-border bg-surface-2 px-3 py-2",children:(0,n.jsx)(s.YJs,{value:t.value,descriptor:t.descriptor})})]}),k&&(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-5",children:[(0,n.jsx)("div",{className:"mb-1.5 text-label font-semibold uppercase tracking-wider text-text-3",children:"Grant reveal to model"}),(0,n.jsx)("p",{className:"mb-3 text-xs text-text-3",children:"Authorize the model to receive this value's raw form at tool boundaries while the grant is active. Strictly stronger than a suppression — grant it deliberately."}),(null==P?void 0:P.ok)===!0?(0,n.jsxs)("div",{className:"rounded-lg border border-sev-critical-fill bg-sev-critical-fill p-3",children:[(0,n.jsxs)("p",{className:"text-sm font-semibold text-sev-critical-ink",children:["Reveal grant ",P.grantIdPrefix," created"]}),(0,n.jsx)("p",{className:"mt-1 text-xs text-text-2",children:"While it is active, the model can receive this value's raw form at tool boundaries. Every crossing is audited in the vault's de-reference trail. Revoke it any time on the Exceptions page."})]}):(0,n.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1.5 text-label font-semibold uppercase tracking-wider text-text-3",children:"Scope — pick one"}),(0,n.jsx)(s.Tvj,{value:h,onChange:m}),"permanent"===h?(0,n.jsxs)("label",{className:"flex flex-col gap-1 text-xs text-text-2",children:["A permanent reveal never expires. Retype the masked value shown above to confirm.",(0,n.jsx)("input",{className:"rounded border border-border bg-surface px-2 py-1 font-mono","data-slot":"permanent-confirmation",value:g,onChange:e=>{f(e.target.value)},placeholder:"masked value"})]}):null]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1.5 text-label font-semibold uppercase tracking-wider text-text-3",children:"Justification (required — the audit trail)"}),(0,n.jsx)("textarea",{value:p,onChange:e=>{b(e.target.value)},placeholder:"Why the model may receive this value raw",rows:3,className:"w-full rounded-lg border border-border bg-surface-2 px-3 py-2 text-sm text-text placeholder:text-text-3"})]}),P&&(0,n.jsx)("p",{className:"text-xs text-sev-critical-ink",children:P.error}),(0,n.jsx)("div",{children:(0,n.jsx)(a.$n,{variant:"solid",tone:"danger",size:"sm",disabled:null===h||""===p.trim()||y,onClick:()=>{null!==h&&""!==p.trim()&&N(async()=>{j(await o({pointer:c,scope:h,justification:p,confirmation:g}))})},children:y?"Granting…":"Grant reveal to model"})})]})]})]})}}},e=>{e.O(0,[288,526,907,548,563,358],()=>e(e.s=6120)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[644],{2090:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,r){for(var t in r)Object.defineProperty(e,t,{enumerable:!0,get:r[t]})}(r,{callServer:function(){return n.callServer},createServerReference:function(){return a.createServerReference},findSourceMapURL:function(){return s.findSourceMapURL}});let n=t(6813),s=t(9205),a=t(641)},6040:(e,r,t)=>{"use strict";t.d(r,{VaultDashboardClient:()=>g});var n=t(2703),s=t(9421),a=t(347),i=t(6807),l=t(2090);let o=(0,l.createServerReference)("40f566d96659db7bd555077794d549e355d308fe58",l.callServer,void 0,l.findSourceMapURL,"loadMoreVaultInventory"),d=(0,l.createServerReference)("40a916c9795895550910cee4d2660a57aaed9eba17",l.callServer,void 0,l.findSourceMapURL,"loadMoreVaultReuse"),c=(0,l.createServerReference)("406a1d273690dda4c3bc654bc6ab43fc8a1b091f30",l.callServer,void 0,l.findSourceMapURL,"loadVaultDerefs"),u=(0,l.createServerReference)("40e4517191a87b697cdfdc3a7f665780ec4c3667ef",l.callServer,void 0,l.findSourceMapURL,"revealEntry"),v=(0,l.createServerReference)("40ca1b1be2889ca1895f5e204197cc2efb05a5f20d",l.callServer,void 0,l.findSourceMapURL,"revokeRevealGrant"),h=(0,l.createServerReference)("40238f9b65f99d24d927ed8200445944889a28b99d",l.callServer,void 0,l.findSourceMapURL,"purgeVault"),x=(0,l.createServerReference)("00a567fd83cdabe541c67ad2375238bcd38846e41a",l.callServer,void 0,l.findSourceMapURL,"rotateVaultKey");function m(e,r,t,n,s,a){var l,o;let[d,c]=(0,i.useState)({pages:[e.items],cursors:[e.nextCursor],index:0,pending:null}),[u,v]=(0,i.useState)(e);u!==e&&(v(e),c({pages:[e.items],cursors:[e.nextCursor],index:0,pending:null}));let h=null!=(l=d.pages[d.index])?l:[],x=null!=(o=d.cursors[d.index])?o:null;return{rows:h,hasNextPage:d.index+1<d.pages.length||null!==x,hasPreviousPage:d.index>0,pageStart:p(d.pages,d.index),next:()=>{if(d.index+1<d.pages.length)return void c(e=>({...e,index:e.index+1}));if(null===x)return;let e={};c(r=>({...r,pending:e})),n(async()=>{try{let n=await r({cursor:x});c(r=>{if(r.pending!==e)return r;let i=new Set(r.pages.flat().map(t)),l=n.items.filter(e=>!i.has(t(e)));return 0===l.length?(s("The rest of the ".concat(a," list moved while you were reading it.")),{...r,cursors:r.cursors.map((e,t)=>t===r.index?n.nextCursor:e),pending:null}):{pages:[...r.pages,l],cursors:[...r.cursors,n.nextCursor],index:r.index+1,pending:null}})}catch(r){s("The next page of ".concat(a," could not be read.")),c(r=>r.pending!==e?r:{...r,pending:null})}})},previous:()=>{c(e=>({...e,index:Math.max(0,e.index-1)}))},patch:e=>{c(r=>({...r,pages:r.pages.map(r=>r.map(e))}))}}}function p(e,r){var t,n;let s=1;for(let a=0;a<r;a+=1)s+=null!=(n=null==(t=e[a])?void 0:t.length)?n:0;return s}function b(e){let{title:r,sub:t}=e;return(0,n.jsxs)("div",{children:[(0,n.jsx)("h2",{className:"text-sm font-semibold text-text",children:r}),(0,n.jsx)("p",{className:"mt-0.5 text-xs text-text-3",children:t})]})}function g(e){var r;let{inventory:t,reuse:l,derefs:g,renderedAt:f}=e,[P,j]=(0,i.useState)({}),[y,N]=(0,i.useState)(null),[S,k]=(0,i.useTransition)(),[w,R]=(0,i.useTransition)(),[C,T]=(0,i.useTransition)(),M=m(t,o,e=>e.pointerId,R,N,"vaulted values"),B=m(l,d,e=>e.pointerId,T,N,"reused values"),E=M.rows,V=B.rows,[L,U]=(0,i.useState)({pages:[g.items],cursors:[g.nextCursor],index:0,hiddenBatched:g.hiddenBatched,showBatched:!1,pending:null}),[I,_]=(0,i.useTransition)(),O=null!=(r=L.pages[L.index])?r:[],z=L.showBatched,D=L.index+1<L.pages.length||null!=L.cursors[L.index],G=(e,r)=>({pages:[e.items],cursors:[e.nextCursor],index:0,hiddenBatched:e.hiddenBatched,showBatched:r,pending:null}),[$,A]=(0,i.useState)(g);$!==g&&(A(g),U(G(g,!1)));let K=e=>{let r={};return U(t=>({...t,showBatched:e,pending:r})),r},X=e=>{let r=K(e);_(async()=>{try{let t=await c(e?{includeBatched:!0}:{});U(n=>n.pending!==r?n:G(t,e))}catch(e){N("The de-reference trail could not be read."),U(e=>e.pending!==r?e:{...e,pending:null})}})},[J,W]=(0,i.useState)(""),[Y,q]=(0,i.useState)(null),[F,H]=(0,i.useTransition)(),[Q,Z]=(0,i.useState)(null),[ee,er]=(0,i.useTransition)(),et=Object.values(P);return(0,n.jsxs)(a.tU,{defaultValue:"inventory",className:"flex flex-col gap-4",children:[(0,n.jsxs)(a.j7,{children:[(0,n.jsx)(a.Xi,{value:"inventory",children:"Vaulted values"}),(0,n.jsx)(a.Xi,{value:"reuse",children:"Reuse"}),(0,n.jsx)(a.Xi,{value:"audit",children:"De-reference audit"}),(0,n.jsx)(a.Xi,{value:"maintenance",children:"Maintenance"})]}),null!==y&&(0,n.jsx)("p",{className:"text-xs text-sev-critical-ink",children:y}),(0,n.jsxs)(a.av,{value:"inventory",className:"flex flex-col gap-3",children:[(0,n.jsx)(b,{title:"Vaulted values",sub:"Every value this machine holds, masked, with everywhere its pointer has been written. Each reveal is audited."}),et.length>0&&(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-4",children:[(0,n.jsx)("div",{className:"mb-2 text-label font-semibold uppercase tracking-wider text-text-3",children:"Revealed on this page only — hidden again on refresh"}),(0,n.jsx)("ul",{className:"space-y-2",children:et.map(e=>{let{entry:r,value:t}=e;return(0,n.jsxs)("li",{className:"flex flex-wrap items-center gap-3 rounded-lg border border-border bg-surface-2 px-3 py-2",children:[(0,n.jsx)(s.YJs,{value:t,descriptor:r}),null===t&&(0,n.jsx)("span",{className:"text-xs text-text-3",children:"could not be resolved — purged or key material unavailable"}),(0,n.jsx)(a.$n,{variant:"ghost",tone:"neutral",size:"sm",disabled:S,onClick:()=>{var e;e=r.pointerId,j(r=>Object.fromEntries(Object.entries(r).filter(r=>{let[t]=r;return t!==e})))},children:"Hide"})]},r.pointerId)})})]}),(0,n.jsx)(s.y6v,{renderedAt:f,entries:E,onReveal:e=>{let r=E.find(r=>r.pointerId===e);if(void 0===r)return void N("That row is no longer in the list — reload and try again.");k(async()=>{let t=await u({pointerId:e});t.ok?(N(null),j(n=>({...n,[e]:{value:t.value,entry:r}})),X(z)):N(t.error)})},onRevoke:e=>{window.confirm("Revoke this reveal-to-model grant? The model stops receiving the raw value at the next tool boundary.")&&k(async()=>{let r=await v({grantId:e});if(N(r.ok?null:r.error),!r.ok)return;let t=r=>r.revealGrantId===e?{...r,revealGrantId:null}:r;M.patch(t),B.patch(t)})},total:t.totals.values,pageStart:M.pageStart,hasNextPage:M.hasNextPage,hasPreviousPage:M.hasPreviousPage,loadingNextPage:w,onNextPage:M.next,onPreviousPage:M.previous})]}),(0,n.jsxs)(a.av,{value:"reuse",className:"flex flex-col gap-3",children:[(0,n.jsx)(b,{title:"Reuse on this machine",sub:"Values detected in more than one place. Reuse widens the blast radius of a single leak."}),(0,n.jsx)(s.gvr,{entries:V,total:l.totals.reused,pageStart:B.pageStart,hasNextPage:B.hasNextPage,hasPreviousPage:B.hasPreviousPage,loadingNextPage:C,onNextPage:B.next,onPreviousPage:B.previous})]}),(0,n.jsxs)(a.av,{value:"audit",className:"flex flex-col gap-3",children:[(0,n.jsx)(b,{title:"De-reference audit",sub:"Every resolution of a vaulted value — never the value itself. Model crossings render loud."}),(0,n.jsx)(s.tlv,{renderedAt:f,rows:O,hiddenBatched:L.hiddenBatched,showBatched:z,onToggleBatched:e=>{X(e)},pageStart:p(L.pages,L.index),hasNextPage:D,hasPreviousPage:L.index>0,loadingNextPage:I,onNextPage:()=>{var e;if(L.index+1<L.pages.length)return void U(e=>({...e,index:e.index+1}));let r=null!=(e=L.cursors[L.index])?e:null;if(null===r)return;let t=K(z);_(async()=>{try{let e=await c({...z?{includeBatched:!0}:{},cursor:r});U(r=>r.pending!==t?r:0===e.items.length?(N("The rest of the de-reference trail moved while you were reading it."),{...r,cursors:r.cursors.map((t,n)=>n===r.index?e.nextCursor:t),hiddenBatched:e.hiddenBatched,pending:null}):{...r,pages:[...r.pages,e.items],cursors:[...r.cursors,e.nextCursor],index:r.index+1,hiddenBatched:e.hiddenBatched,pending:null})}catch(e){N("The next page of the de-reference trail could not be read."),U(e=>e.pending!==t?e:{...e,pending:null})}})},onPreviousPage:()=>{U(e=>({...e,index:Math.max(0,e.index-1)}))}})]}),(0,n.jsxs)(a.av,{value:"maintenance",className:"flex flex-col gap-3",children:[(0,n.jsx)(b,{title:"Vault maintenance",sub:"Key rotation is routine; the purge is not."}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-5",children:[(0,n.jsx)("div",{className:"mb-1.5 text-label font-semibold uppercase tracking-wider text-text-3",children:"Rotate vault key"}),(0,n.jsx)("p",{className:"mb-3 text-xs text-text-3",children:"Mints the next key epoch and re-encrypts every stored value under it. Existing pointers keep working — only the ciphertext changes."}),(null==Q?void 0:Q.ok)===!0&&(0,n.jsxs)("p",{className:"mb-3 text-xs text-ok-ink",children:["Key rotated to version ",Q.version," —"," ",1===Q.reEncrypted?"1 entry re-encrypted":"".concat(String(Q.reEncrypted)," entries re-encrypted")," ","under it."]}),(null==Q?void 0:Q.ok)===!1&&(0,n.jsx)("p",{className:"mb-3 text-xs text-sev-critical-ink",children:Q.error}),(0,n.jsx)(a.$n,{variant:"outline",tone:"neutral",size:"sm",disabled:ee,onClick:()=>{er(async()=>{Z(await x())})},children:ee?"Rotating…":"Rotate key"})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-sev-critical-fill bg-surface p-5",children:[(0,n.jsx)("div",{className:"mb-1.5 text-label font-semibold uppercase tracking-wider text-sev-critical-ink",children:"Purge vault"}),(0,n.jsx)("p",{className:"mb-3 text-xs text-text-3",children:"Destroys every stored value. Every pointer everywhere — in files, transcripts, and prompts — becomes permanently unresolvable. The audit trail survives. This cannot be undone."}),(null==Y?void 0:Y.ok)===!0&&(0,n.jsxs)("p",{className:"mb-3 text-xs text-text-2",children:["Vault purged —"," ",1===Y.destroyed?"1 value destroyed":"".concat(String(Y.destroyed)," values destroyed"),". The audit trail below is retained."]}),(null==Y?void 0:Y.ok)===!1&&(0,n.jsx)("p",{className:"mb-3 text-xs text-sev-critical-ink",children:Y.error}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(a.pd,{value:J,onChange:e=>{W(e.target.value)},placeholder:"Type 'purge' to confirm",className:"max-w-56 font-mono"}),(0,n.jsx)(a.$n,{variant:"solid",tone:"danger",size:"sm",disabled:"purge"!==J||F,onClick:()=>{H(async()=>{let e=await h({confirmation:J});q(e),e.ok&&(W(""),j({}))})},children:F?"Purging…":"Purge vault"})]})]})]})]})}},8029:(e,r,t)=>{Promise.resolve().then(t.bind(t,985)),Promise.resolve().then(t.bind(t,9191)),Promise.resolve().then(t.bind(t,6751)),Promise.resolve().then(t.bind(t,8788)),Promise.resolve().then(t.bind(t,7314)),Promise.resolve().then(t.bind(t,7888)),Promise.resolve().then(t.bind(t,3329)),Promise.resolve().then(t.bind(t,1486)),Promise.resolve().then(t.bind(t,6274)),Promise.resolve().then(t.bind(t,6742)),Promise.resolve().then(t.bind(t,3649)),Promise.resolve().then(t.bind(t,1941)),Promise.resolve().then(t.bind(t,7089)),Promise.resolve().then(t.bind(t,2728)),Promise.resolve().then(t.bind(t,5296)),Promise.resolve().then(t.bind(t,8928)),Promise.resolve().then(t.bind(t,3868)),Promise.resolve().then(t.bind(t,7308)),Promise.resolve().then(t.bind(t,8515)),Promise.resolve().then(t.bind(t,980)),Promise.resolve().then(t.bind(t,919)),Promise.resolve().then(t.bind(t,207)),Promise.resolve().then(t.bind(t,2071)),Promise.resolve().then(t.bind(t,4621)),Promise.resolve().then(t.bind(t,4411)),Promise.resolve().then(t.bind(t,7195)),Promise.resolve().then(t.bind(t,9732)),Promise.resolve().then(t.bind(t,2909)),Promise.resolve().then(t.bind(t,1561)),Promise.resolve().then(t.bind(t,907)),Promise.resolve().then(t.bind(t,447)),Promise.resolve().then(t.bind(t,4409)),Promise.resolve().then(t.bind(t,3183)),Promise.resolve().then(t.bind(t,4564)),Promise.resolve().then(t.bind(t,4330)),Promise.resolve().then(t.bind(t,8048)),Promise.resolve().then(t.bind(t,4157)),Promise.resolve().then(t.bind(t,1468)),Promise.resolve().then(t.bind(t,4420)),Promise.resolve().then(t.bind(t,2792)),Promise.resolve().then(t.bind(t,8929)),Promise.resolve().then(t.bind(t,332)),Promise.resolve().then(t.bind(t,2023)),Promise.resolve().then(t.bind(t,6913)),Promise.resolve().then(t.bind(t,1142)),Promise.resolve().then(t.bind(t,4584)),Promise.resolve().then(t.bind(t,1639)),Promise.resolve().then(t.bind(t,3749)),Promise.resolve().then(t.bind(t,6574)),Promise.resolve().then(t.bind(t,176)),Promise.resolve().then(t.bind(t,3517)),Promise.resolve().then(t.bind(t,9103)),Promise.resolve().then(t.bind(t,7881)),Promise.resolve().then(t.bind(t,3169)),Promise.resolve().then(t.bind(t,7692)),Promise.resolve().then(t.bind(t,9520)),Promise.resolve().then(t.bind(t,6040)),Promise.resolve().then(t.bind(t,9844))},9844:(e,r,t)=>{"use strict";t.d(r,{VaultLookupClient:()=>c});var n=t(2703),s=t(9421),a=t(347),i=t(6807),l=t(2090);let o=(0,l.createServerReference)("40c3ba7176e00620f1c56ed50f7c277c5dbaaa0fcc",l.callServer,void 0,l.findSourceMapURL,"grantRevealFromPointer"),d=(0,l.createServerReference)("40adae572d8fd9666d75526ae7da7c5ef7c08495fb",l.callServer,void 0,l.findSourceMapURL,"revealPointer");function c(){let[e,r]=(0,i.useState)(""),[t,l]=(0,i.useState)(null),[c,u]=(0,i.useState)(""),[v,h]=(0,i.useTransition)(),[x,m]=(0,i.useState)(null),[p,b]=(0,i.useState)(""),[g,f]=(0,i.useState)(""),[P,j]=(0,i.useState)(null),[y,N]=(0,i.useTransition)(),S=()=>{let r=e.trim();""!==r&&h(async()=>{l(await d({pointer:r})),u(r),m(null),b(""),j(null)})},k=(null==t?void 0:t.ok)===!0&&null!==t.value;return(0,n.jsxs)("div",{className:"flex max-w-xl flex-col gap-4",children:[(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-5",children:[(0,n.jsx)("div",{className:"mb-1.5 text-label font-semibold uppercase tracking-wider text-text-3",children:"Pointer to resolve"}),(0,n.jsx)("p",{className:"mb-3 text-xs text-text-3",children:"Paste the [[aka:...]] token that replaced a detected value. Each successful reveal is recorded in the vault's audit trail."}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(a.pd,{value:e,onChange:e=>{r(e.target.value)},onKeyDown:e=>{"Enter"!==e.key||v||S()},placeholder:"[[aka:secret:...]]",className:"font-mono"}),(0,n.jsx)(a.$n,{variant:"solid",tone:"primary",size:"sm",disabled:v,onClick:S,children:v?"Resolving…":"Reveal"})]}),t&&!t.ok&&(0,n.jsx)("p",{className:"mt-3 text-xs text-sev-critical-ink",children:t.error}),(null==t?void 0:t.ok)&&(0,n.jsx)("div",{className:"mt-3 rounded-lg border border-border bg-surface-2 px-3 py-2",children:(0,n.jsx)(s.YJs,{value:t.value,descriptor:t.descriptor})})]}),k&&(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-5",children:[(0,n.jsx)("div",{className:"mb-1.5 text-label font-semibold uppercase tracking-wider text-text-3",children:"Grant reveal to model"}),(0,n.jsx)("p",{className:"mb-3 text-xs text-text-3",children:"Authorize the model to receive this value's raw form at tool boundaries while the grant is active. Strictly stronger than a suppression — grant it deliberately."}),(null==P?void 0:P.ok)===!0?(0,n.jsxs)("div",{className:"rounded-lg border border-sev-critical-fill bg-sev-critical-fill p-3",children:[(0,n.jsxs)("p",{className:"text-sm font-semibold text-sev-critical-ink",children:["Reveal grant ",P.grantIdPrefix," created"]}),(0,n.jsx)("p",{className:"mt-1 text-xs text-text-2",children:"While it is active, the model can receive this value's raw form at tool boundaries. Every crossing is audited in the vault's de-reference trail. Revoke it any time on the Exceptions page."})]}):(0,n.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1.5 text-label font-semibold uppercase tracking-wider text-text-3",children:"Scope — pick one"}),(0,n.jsx)(s.Tvj,{value:x,onChange:m}),"permanent"===x?(0,n.jsxs)("label",{className:"flex flex-col gap-1 text-xs text-text-2",children:["A permanent reveal never expires. Retype the masked value shown above to confirm.",(0,n.jsx)("input",{className:"rounded border border-border bg-surface px-2 py-1 font-mono","data-slot":"permanent-confirmation",value:g,onChange:e=>{f(e.target.value)},placeholder:"masked value"})]}):null]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1.5 text-label font-semibold uppercase tracking-wider text-text-3",children:"Justification (required — the audit trail)"}),(0,n.jsx)("textarea",{value:p,onChange:e=>{b(e.target.value)},placeholder:"Why the model may receive this value raw",rows:3,className:"w-full rounded-lg border border-border bg-surface-2 px-3 py-2 text-sm text-text placeholder:text-text-3"})]}),P&&(0,n.jsx)("p",{className:"text-xs text-sev-critical-ink",children:P.error}),(0,n.jsx)("div",{children:(0,n.jsx)(a.$n,{variant:"solid",tone:"danger",size:"sm",disabled:null===x||""===p.trim()||y,onClick:()=>{null!==x&&""!==p.trim()&&N(async()=>{j(await o({pointer:c,scope:x,justification:p,confirmation:g}))})},children:y?"Granting…":"Grant reveal to model"})})]})]})]})}}},e=>{e.O(0,[288,526,421,548,563,358],()=>e(e.s=8029)),_N_E=e.O()}]);
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-ext-wght-normal.460bdf14.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-wght-normal.491cbc05.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-ext-wght-normal.23aae568.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-wght-normal.4449bf7a.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-vietnamese-wght-normal.113a630f.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-ext-wght-normal.3835a68e.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-wght-normal.6c596dfc.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-vietnamese-wght-normal.a3924ff4.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-latin-ext-wght-normal.55a1343a.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-latin-wght-normal.5a0c43ff.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-cyrillic-ext-wght-normal.0d2c2f66.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-cyrillic-wght-normal.23645aad.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-greek-wght-normal.c6c31cb1.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-vietnamese-wght-normal.93fc40a8.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-latin-ext-wght-normal.9c9751ca.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-latin-wght-normal.a865edea.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
|
|
2
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:"JetBrains Mono Variable","JetBrains Mono","SF Mono",ui-monospace,"Menlo",monospace;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-canvas:#f9fafb;--color-surface:#fff;--color-surface-2:#f9fafb;--color-surface-3:#f1f2f4;--color-border:#e3e5e8;--color-border-strong:#d6d8dc;--color-hairline:#252f3d0f;--color-border-field:#868d99;--color-text:#252f3d;--color-text-2:#5d6572;--color-text-3:#6a707d;--color-text-inv:#fff;--color-primary:#2c3cf2;--color-primary-solid:#2c3cf2;--color-primary-hover:#1d2de2;--color-primary-tint:#f3f7ff;--color-ink:#11171f;--color-mark-fg:#1b1f24;--color-switch-thumb:#fff;--color-mark-edge:#11171f2e;--color-mark-neutral:#64748b;--color-violet:#7c3aed;--color-violet-ink:#7c3aed;--color-violet-fill:#f1ecfd;--color-teal:#0d9488;--color-teal-ink:#0b786f;--color-teal-fill:#d6f5ee;--color-ok:#0db15f;--color-ok-ink:#097d43;--color-ok-fill:#e3f6ec;--color-code-fg:#cdd5e0;--color-code-muted:#768292;--color-code-err:#ff8da2;--color-sev-critical:#e63448;--color-sev-critical-ink:#d21a2e;--color-sev-critical-hover:#a8101c;--color-sev-critical-fill:#ffe8ed;--color-on-accent:#fff;--color-sev-high:#e97a0a;--color-sev-high-ink:#a55707;--color-sev-high-fill:#ffecd9;--color-sev-medium:#f7bd00;--color-sev-medium-ink:#8b6a00;--color-sev-medium-fill:#fdf5db;--color-sev-low:#0581d4;--color-sev-low-ink:#046fb6;--color-sev-low-fill:#dff1fd;--font-ui:"Inter Variable","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-display:"Space Grotesk Variable","Space Grotesk","Inter",system-ui,sans-serif;--text-ui:.8125rem;--text-ui--line-height:1.4;--text-label:.6875rem;--text-label--line-height:1.2;--animate-nav-progress:nav-progress .85s ease-out forwards}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{font-family:var(--font-ui);color:var(--color-text);background:var(--color-canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-8{top:calc(var(--spacing) * 8)}.right-0{right:0}.right-2\.5{right:calc(var(--spacing) * 2.5)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:var(--spacing)}.my-2\.5{margin-block:calc(var(--spacing) * 2.5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-px{margin-top:1px}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-3\.5{margin-bottom:calc(var(--spacing) * 3.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-4\.5{width:calc(var(--spacing) * 4.5);height:calc(var(--spacing) * 4.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-5\.5{width:calc(var(--spacing) * 5.5);height:calc(var(--spacing) * 5.5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-6\.5{width:calc(var(--spacing) * 6.5);height:calc(var(--spacing) * 6.5)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-7\.5{width:calc(var(--spacing) * 7.5);height:calc(var(--spacing) * 7.5)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-8\.5{width:calc(var(--spacing) * 8.5);height:calc(var(--spacing) * 8.5)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-9\.5{width:calc(var(--spacing) * 9.5);height:calc(var(--spacing) * 9.5)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-30{width:calc(var(--spacing) * 30);height:calc(var(--spacing) * 30)}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-5\.5{height:calc(var(--spacing) * 5.5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-8\.5{height:calc(var(--spacing) * 8.5)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-12\.5{height:calc(var(--spacing) * 12.5)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-36{height:calc(var(--spacing) * 36)}.h-40{height:calc(var(--spacing) * 40)}.h-50{height:calc(var(--spacing) * 50)}.h-56{height:calc(var(--spacing) * 56)}.h-64{height:calc(var(--spacing) * 64)}.h-72{height:calc(var(--spacing) * 72)}.h-\[22px\]{height:22px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\(--radix-popover-content-available-height\){max-height:var(--radix-popover-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-22{max-height:calc(var(--spacing) * 22)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[92vh\]{max-height:92vh}.min-h-0{min-height:0}.min-h-112{min-height:calc(var(--spacing) * 112)}.min-h-128{min-height:calc(var(--spacing) * 128)}.min-h-full{min-height:100%}.w-\(--radix-dropdown-menu-trigger-width\){width:var(--radix-dropdown-menu-trigger-width)}.w-\(--radix-select-trigger-width\){width:var(--radix-select-trigger-width)}.w-1\/2{width:50%}.w-2\/3{width:66.6667%}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-9{width:calc(var(--spacing) * 9)}.w-9\.5{width:calc(var(--spacing) * 9.5)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-30{width:calc(var(--spacing) * 30)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-56{width:calc(var(--spacing) * 56)}.w-62{width:calc(var(--spacing) * 62)}.w-64{width:calc(var(--spacing) * 64)}.w-70{width:calc(var(--spacing) * 70)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-85{width:calc(var(--spacing) * 85)}.w-88{width:calc(var(--spacing) * 88)}.w-96{width:calc(var(--spacing) * 96)}.w-117{width:calc(var(--spacing) * 117)}.w-155{width:calc(var(--spacing) * 155)}.w-160{width:calc(var(--spacing) * 160)}.w-200{width:calc(var(--spacing) * 200)}.w-320{width:calc(var(--spacing) * 320)}.w-\[600px\]{width:600px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-56{max-width:calc(var(--spacing) * 56)}.max-w-80{max-width:calc(var(--spacing) * 80)}.max-w-120{max-width:calc(var(--spacing) * 120)}.max-w-\[50\%\]{max-width:50%}.max-w-\[92\%\]{max-width:92%}.max-w-\[94\%\]{max-width:94%}.max-w-\[96\%\]{max-width:96%}.max-w-\[96vw\]{max-width:96vw}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.min-w-23{min-width:calc(var(--spacing) * 23)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-52{min-width:calc(var(--spacing) * 52)}.min-w-\[100px\]{min-width:100px}.min-w-\[110px\]{min-width:110px}.min-w-\[120px\]{min-width:120px}.min-w-\[130px\]{min-width:130px}.min-w-\[140px\]{min-width:140px}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.flex-none{flex:none}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.shrink-\[9999\]{flex-shrink:9999}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1)}.-translate-x-1\/2,.-translate-y-1\/2{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-nav-progress{animation:var(--animate-nav-progress)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1fr_110px_100px\]{grid-template-columns:1fr 110px 100px}.grid-cols-\[60px_24px_1fr\]{grid-template-columns:60px 24px 1fr}.grid-cols-\[352px_1fr\]{grid-template-columns:352px 1fr}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-4\.5{gap:calc(var(--spacing) * 4.5)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-1\.5{column-gap:calc(var(--spacing) * 1.5)}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}:where(.-space-x-1\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -1.5) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -1.5) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-3\.5{row-gap:calc(var(--spacing) * 3.5)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}.self-center{align-self:center}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[5px\]{border-radius:5px}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-\[1\.5px\]{border-bottom-style:var(--tw-border-style);border-bottom-width:1.5px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-\[1\.5px\]{border-left-style:var(--tw-border-style);border-left-width:1.5px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-border{border-color:var(--color-border)}.border-border-field{border-color:var(--color-border-field)}.border-border-strong{border-color:var(--color-border-strong)}.border-current{border-color:currentColor}.border-hairline{border-color:var(--color-hairline)}.border-ok{border-color:var(--color-ok)}.border-ok-fill{border-color:var(--color-ok-fill)}.border-primary{border-color:var(--color-primary)}.border-primary-solid{border-color:var(--color-primary-solid)}.border-sev-critical{border-color:var(--color-sev-critical)}.border-sev-critical-fill{border-color:var(--color-sev-critical-fill)}.border-sev-high{border-color:var(--color-sev-high)}.border-sev-high-fill{border-color:var(--color-sev-high-fill)}.border-surface\/80{border-color:#fffc}@supports (color:color-mix(in lab,red,red)){.border-surface\/80{border-color:color-mix(in oklab,var(--color-surface) 80%,transparent)}}.border-transparent{border-color:#0000}.border-l-sev-critical{border-left-color:var(--color-sev-critical)}.border-l-sev-high{border-left-color:var(--color-sev-high)}.bg-border{background-color:var(--color-border)}.bg-border-strong{background-color:var(--color-border-strong)}.bg-canvas{background-color:var(--color-canvas)}.bg-current{background-color:currentColor}.bg-hairline{background-color:var(--color-hairline)}.bg-ink{background-color:var(--color-ink)}.bg-ink\/40{background-color:#11171f66}@supports (color:color-mix(in lab,red,red)){.bg-ink\/40{background-color:color-mix(in oklab,var(--color-ink) 40%,transparent)}}.bg-ok{background-color:var(--color-ok)}.bg-ok-fill{background-color:var(--color-ok-fill)}.bg-ok-ink{background-color:var(--color-ok-ink)}.bg-primary{background-color:var(--color-primary)}.bg-primary-solid{background-color:var(--color-primary-solid)}.bg-primary-tint{background-color:var(--color-primary-tint)}.bg-sev-critical{background-color:var(--color-sev-critical)}.bg-sev-critical-fill{background-color:var(--color-sev-critical-fill)}.bg-sev-critical-ink{background-color:var(--color-sev-critical-ink)}.bg-sev-critical\/20{background-color:#e6344833}@supports (color:color-mix(in lab,red,red)){.bg-sev-critical\/20{background-color:color-mix(in oklab,var(--color-sev-critical) 20%,transparent)}}.bg-sev-high{background-color:var(--color-sev-high)}.bg-sev-high-fill{background-color:var(--color-sev-high-fill)}.bg-sev-high-ink{background-color:var(--color-sev-high-ink)}.bg-sev-low{background-color:var(--color-sev-low)}.bg-sev-low-fill{background-color:var(--color-sev-low-fill)}.bg-sev-low-ink{background-color:var(--color-sev-low-ink)}.bg-sev-medium{background-color:var(--color-sev-medium)}.bg-sev-medium-fill{background-color:var(--color-sev-medium-fill)}.bg-sev-medium-ink{background-color:var(--color-sev-medium-ink)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.bg-switch-thumb{background-color:var(--color-switch-thumb)}.bg-teal-fill{background-color:var(--color-teal-fill)}.bg-text-3{background-color:var(--color-text-3)}.bg-transparent{background-color:#0000}.bg-violet-fill{background-color:var(--color-violet-fill)}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-4\.5{padding:calc(var(--spacing) * 4.5)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-4\.5{padding-inline:calc(var(--spacing) * 4.5)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0{padding-block:0}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-4\.5{padding-block:calc(var(--spacing) * 4.5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-px{padding-block:1px}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pr-14{padding-right:calc(var(--spacing) * 14)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-3\.5{padding-bottom:calc(var(--spacing) * 3.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-4\.5{padding-bottom:calc(var(--spacing) * 4.5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-11{padding-left:calc(var(--spacing) * 11)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-middle{vertical-align:middle}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-label{font-size:var(--text-label);line-height:var(--tw-leading,var(--text-label--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-ui{font-size:var(--text-ui);line-height:var(--tw-leading,var(--text-ui--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.wrap-anywhere{overflow-wrap:anywhere}.wrap-break-word{overflow-wrap:break-word}.\[word-break\:break-word\]{word-break:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-code-err{color:var(--color-code-err)}.text-code-fg{color:var(--color-code-fg)}.text-code-muted{color:var(--color-code-muted)}.text-mark-fg{color:var(--color-mark-fg)}.text-ok-ink{color:var(--color-ok-ink)}.text-on-accent{color:var(--color-on-accent)}.text-primary{color:var(--color-primary)}.text-sev-critical-ink{color:var(--color-sev-critical-ink)}.text-sev-high-ink{color:var(--color-sev-high-ink)}.text-sev-low-ink{color:var(--color-sev-low-ink)}.text-sev-medium-ink{color:var(--color-sev-medium-ink)}.text-teal-ink{color:var(--color-teal-ink)}.text-text{color:var(--color-text)}.text-text-2{color:var(--color-text-2)}.text-text-3{color:var(--color-text-3)}.text-text-inv{color:var(--color-text-inv)}.text-violet-ink{color:var(--color-violet-ink)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.accent-primary{accent-color:var(--color-primary)}.opacity-30{opacity:.3}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-lg{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-0,.ring-1{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-2,.ring-3{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-3{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-mark-edge{--tw-ring-color:var(--color-mark-edge)}.ring-ok-fill{--tw-ring-color:var(--color-ok-fill)}.ring-primary{--tw-ring-color:var(--color-primary)}.ring-primary\/70{--tw-ring-color:#2c3cf2b3}@supports (color:color-mix(in lab,red,red)){.ring-primary\/70{--tw-ring-color:color-mix(in oklab,var(--color-primary) 70%,transparent)}}.ring-surface{--tw-ring-color:var(--color-surface)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{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-\[1px\]{--tw-backdrop-blur:blur(1px);-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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\:text-text-2:is(:where(.group):hover *){color:var(--color-text-2)}}.group-data-\[state\=checked\]\:border-primary-solid:is(:where(.group)[data-state=checked] *){border-color:var(--color-primary-solid)}.group-data-\[state\=checked\]\:bg-primary-solid:is(:where(.group)[data-state=checked] *){background-color:var(--color-primary-solid)}.group-data-\[state\=open\]\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.placeholder\:text-text-3::placeholder{color:var(--color-text-3)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:border-primary:focus-within{border-color:var(--color-primary)}.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-primary\/40:focus-within{--tw-ring-color:#2c3cf266}@supports (color:color-mix(in lab,red,red)){.focus-within\:ring-primary\/40:focus-within{--tw-ring-color:color-mix(in oklab,var(--color-primary) 40%,transparent)}}@media (hover:hover){.hover\:bg-border-strong:hover{background-color:var(--color-border-strong)}.hover\:bg-ok-fill:hover{background-color:var(--color-ok-fill)}.hover\:bg-primary-hover:hover{background-color:var(--color-primary-hover)}.hover\:bg-primary-tint:hover{background-color:var(--color-primary-tint)}.hover\:bg-sev-critical-fill:hover{background-color:var(--color-sev-critical-fill)}.hover\:bg-sev-critical-hover:hover{background-color:var(--color-sev-critical-hover)}.hover\:bg-sev-high-ink:hover{background-color:var(--color-sev-high-ink)}.hover\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\:bg-surface-3:hover{background-color:var(--color-surface-3)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-text:hover{color:var(--color-text)}.hover\:text-text-2:hover{color:var(--color-text-2)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-primary:focus{border-color:var(--color-primary)}.focus\:bg-surface-2:focus{background-color:var(--color-surface-2)}.focus\:text-text:focus{color:var(--color-text)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-primary\/40:focus-visible{--tw-ring-color:#2c3cf266}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-primary\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-primary) 40%,transparent)}}.focus-visible\:ring-primary\/70:focus-visible{--tw-ring-color:#2c3cf2b3}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-primary\/70:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-primary) 70%,transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[highlighted\]\:bg-surface-2[data-highlighted]{background-color:var(--color-surface-2)}.data-\[highlighted\]\:text-text[data-highlighted]{color:var(--color-text)}.data-\[placeholder\]\:text-text-3[data-placeholder]{color:var(--color-text-3)}.data-\[state\=active\]\:bg-surface[data-state=active]{background-color:var(--color-surface)}.data-\[state\=active\]\:text-text[data-state=active]{color:var(--color-text)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:bg-ok[data-state=checked]{background-color:var(--color-ok)}.data-\[state\=checked\]\:font-semibold[data-state=checked]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[state\=checked\]\:text-text[data-state=checked]{color:var(--color-text)}.data-\[state\=on\]\:border-transparent[data-state=on]{border-color:#0000}.data-\[state\=on\]\:bg-surface[data-state=on]{background-color:var(--color-surface)}.data-\[state\=on\]\:bg-text[data-state=on]{background-color:var(--color-text)}.data-\[state\=on\]\:bg-transparent[data-state=on]{background-color:#0000}.data-\[state\=on\]\:text-current[data-state=on]{color:currentColor}.data-\[state\=on\]\:text-surface[data-state=on]{color:var(--color-surface)}.data-\[state\=on\]\:text-text[data-state=on]{color:var(--color-text)}.data-\[state\=on\]\:shadow-none[data-state=on]{--tw-shadow:0 0 #0000}.data-\[state\=on\]\:shadow-none[data-state=on],.data-\[state\=on\]\:shadow-sm[data-state=on]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=on\]\:shadow-sm[data-state=on]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-border-strong[data-state=unchecked]{background-color:var(--color-border-strong)}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:64rem){.lg\:h-full{height:100%}.lg\:min-h-0{min-height:0}.lg\:w-80{width:calc(var(--spacing) * 80)}.lg\:w-85{width:calc(var(--spacing) * 85)}.lg\:w-88{width:calc(var(--spacing) * 88)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[1\.55fr_1fr\]{grid-template-columns:1.55fr 1fr}.lg\:grid-cols-\[320px_1fr\]{grid-template-columns:320px 1fr}.lg\:grid-cols-\[352px_1fr\]{grid-template-columns:352px 1fr}.lg\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media (min-width:80rem){.xl\:mt-5{margin-top:calc(var(--spacing) * 5)}.xl\:grid-cols-\[1\.15fr_1fr_1\.25fr\]{grid-template-columns:1.15fr 1fr 1.25fr}.xl\:gap-5{gap:calc(var(--spacing) * 5)}}@media (min-width:96rem){.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&_svg\]\:size-3\.5 svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:size-5\.5 svg{width:calc(var(--spacing) * 5.5);height:calc(var(--spacing) * 5.5)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\]\:border-border tr{border-color:var(--color-border)}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\>\*\]\:min-w-0>*{min-width:0}.\[\&\>span\]\:truncate>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.dark,[data-theme=dark]{--color-canvas:#11171f;--color-surface:#252f3d;--color-surface-2:#313c4b;--color-surface-3:#3d4653;--color-border:#3d4653;--color-border-strong:#5d6572;--color-hairline:#ffffff0f;--color-border-field:#828b9b;--color-text:#fff;--color-text-2:#d6d8dc;--color-text-3:#a2aab6;--color-text-inv:#fff;--color-primary:#a5b4ff;--color-primary-solid:#4756ff;--color-primary-hover:#5866ff;--color-primary-tint:#4756ff29;--color-brand:#33e6c6;--color-ink:#080b11;--color-ink-deep:#131b28;--color-mark-fg:#fff;--color-mark-edge:#ffffff61;--color-mark-neutral:#64748b;--color-switch-thumb:#f1f2f4;--color-violet:#b8a3fb;--color-violet-ink:#b8a3fb;--color-violet-fill:#a78bfa1f;--color-teal:#33e6c6;--color-teal-ink:#33e6c6;--color-teal-fill:#33e6c61f;--color-ok:#4cd490;--color-ok-ink:#4cd490;--color-ok-fill:#4cd4901f;--color-sev-critical:#ff8da2;--color-sev-critical-ink:#ff8da2;--color-sev-critical-hover:#ffa9ba;--color-sev-critical-fill:#ff8da21f;--color-on-accent:#11171f;--color-sev-high:#fda349;--color-sev-high-ink:#fda349;--color-sev-high-fill:#fda3491f;--color-sev-medium:#f8d256;--color-sev-medium-ink:#f8d256;--color-sev-medium-fill:#f8d2561f;--color-sev-low:#44aff7;--color-sev-low-ink:#44aff7;--color-sev-low-fill:#44aff71f;--shadow-sm:0 1px 2px #0000003d,0 1px 3px #0000004d;--shadow-lg:0 10px 30px #0006,0 2px 6px #0000004d;color-scheme:dark}@keyframes nav-progress{0%{transform:scaleX(0)}60%{transform:scaleX(.75)}to{transform:scaleX(.96)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(1turn)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}
|