@useorgx/openclaw-plugin 0.7.23 → 0.7.24
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/dashboard/dist/assets/{m2smti3F.js → B6VftyY6.js} +1 -1
- package/dashboard/dist/assets/B6VftyY6.js.br +0 -0
- package/dashboard/dist/assets/B6VftyY6.js.gz +0 -0
- package/dashboard/dist/assets/{D-FuHfT8.js → BANQdlC4.js} +1 -1
- package/dashboard/dist/assets/BANQdlC4.js.br +0 -0
- package/dashboard/dist/assets/BANQdlC4.js.gz +0 -0
- package/dashboard/dist/assets/{DDCPrZRt.js → BPL4CL3c.js} +1 -1
- package/dashboard/dist/assets/BPL4CL3c.js.br +0 -0
- package/dashboard/dist/assets/BPL4CL3c.js.gz +0 -0
- package/dashboard/dist/assets/{D0PN5_vY.js → BZCkOZ20.js} +1 -1
- package/dashboard/dist/assets/BZCkOZ20.js.br +0 -0
- package/dashboard/dist/assets/BZCkOZ20.js.gz +0 -0
- package/dashboard/dist/assets/{DNQ-iFO2.js → B_LdOJUa.js} +1 -1
- package/dashboard/dist/assets/B_LdOJUa.js.br +0 -0
- package/dashboard/dist/assets/B_LdOJUa.js.gz +0 -0
- package/dashboard/dist/assets/Bfp-wdwb.css +1 -0
- package/dashboard/dist/assets/Bfp-wdwb.css.br +0 -0
- package/dashboard/dist/assets/{C1u2SGin.css.gz → Bfp-wdwb.css.gz} +0 -0
- package/dashboard/dist/assets/{CZXS5i_5.js → BvFcH_Iy.js} +1 -1
- package/dashboard/dist/assets/BvFcH_Iy.js.br +0 -0
- package/dashboard/dist/assets/BvFcH_Iy.js.gz +0 -0
- package/dashboard/dist/assets/C0i7ABUU.js +212 -0
- package/dashboard/dist/assets/C0i7ABUU.js.br +0 -0
- package/dashboard/dist/assets/C0i7ABUU.js.gz +0 -0
- package/dashboard/dist/assets/CFB0MM7j.js +1 -0
- package/dashboard/dist/assets/CFB0MM7j.js.br +0 -0
- package/dashboard/dist/assets/CFB0MM7j.js.gz +0 -0
- package/dashboard/dist/assets/{OlLPtzdz.js → CQSRb1yu.js} +1 -1
- package/dashboard/dist/assets/CQSRb1yu.js.br +0 -0
- package/dashboard/dist/assets/CQSRb1yu.js.gz +0 -0
- package/dashboard/dist/assets/{CbVWL74-.js → CUoQoSm-.js} +1 -1
- package/dashboard/dist/assets/CUoQoSm-.js.br +0 -0
- package/dashboard/dist/assets/CUoQoSm-.js.gz +0 -0
- package/dashboard/dist/assets/Ckd1R1iE.js +1 -0
- package/dashboard/dist/assets/Ckd1R1iE.js.br +0 -0
- package/dashboard/dist/assets/Ckd1R1iE.js.gz +0 -0
- package/dashboard/dist/assets/{DhPuHPK7.js → CqRNb2EL.js} +1 -1
- package/dashboard/dist/assets/CqRNb2EL.js.br +0 -0
- package/dashboard/dist/assets/CqRNb2EL.js.gz +0 -0
- package/dashboard/dist/assets/{CGJiHCIx.js → DClUc9rw.js} +1 -1
- package/dashboard/dist/assets/DClUc9rw.js.br +0 -0
- package/dashboard/dist/assets/DClUc9rw.js.gz +0 -0
- package/dashboard/dist/assets/DF2PMTwT.js +1 -0
- package/dashboard/dist/assets/DF2PMTwT.js.br +0 -0
- package/dashboard/dist/assets/DF2PMTwT.js.gz +0 -0
- package/dashboard/dist/assets/{RN4M9u9W.js → DJYl7gyA.js} +1 -1
- package/dashboard/dist/assets/DJYl7gyA.js.br +0 -0
- package/dashboard/dist/assets/DJYl7gyA.js.gz +0 -0
- package/dashboard/dist/assets/{BrMXbzQ-.js → DZtNMX0t.js} +1 -1
- package/dashboard/dist/assets/DZtNMX0t.js.br +0 -0
- package/dashboard/dist/assets/DZtNMX0t.js.gz +0 -0
- package/dashboard/dist/assets/{LOFrVoPD.js → DlEa8PI0.js} +1 -1
- package/dashboard/dist/assets/DlEa8PI0.js.br +0 -0
- package/dashboard/dist/assets/DlEa8PI0.js.gz +0 -0
- package/dashboard/dist/assets/M4QxcXjh.js +1 -0
- package/dashboard/dist/assets/M4QxcXjh.js.br +0 -0
- package/dashboard/dist/assets/M4QxcXjh.js.gz +0 -0
- package/dashboard/dist/assets/{nra1yvJX.js → MrW1ixGx.js} +1 -1
- package/dashboard/dist/assets/MrW1ixGx.js.br +0 -0
- package/dashboard/dist/assets/MrW1ixGx.js.gz +0 -0
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist/index.html.br +0 -0
- package/dashboard/dist/index.html.gz +0 -0
- package/dist/activity-store.js +68 -8
- package/dist/contracts/shared-types.d.ts +28 -0
- package/dist/http/helpers/auto-continue-engine.js +235 -32
- package/dist/http/helpers/triage-mapper.js +285 -6
- package/dist/http/helpers/value-utils.d.ts +1 -0
- package/dist/http/helpers/value-utils.js +17 -0
- package/dist/http/index.js +89 -3
- package/dist/http/routes/live-triage.js +6 -1
- package/dist/http/routes/mission-control-actions.d.ts +9 -0
- package/dist/http/routes/mission-control-actions.js +157 -7
- package/dist/http/routes/mission-control-read.d.ts +9 -0
- package/dist/http/routes/mission-control-read.js +33 -0
- package/dist/stores/sqlite-state.d.ts +1 -1
- package/dist/stores/sqlite-state.js +153 -2
- package/package.json +1 -1
- package/dashboard/dist/assets/9gFmK3Kr.js +0 -1
- package/dashboard/dist/assets/9gFmK3Kr.js.br +0 -0
- package/dashboard/dist/assets/9gFmK3Kr.js.gz +0 -0
- package/dashboard/dist/assets/BrMXbzQ-.js.br +0 -0
- package/dashboard/dist/assets/BrMXbzQ-.js.gz +0 -0
- package/dashboard/dist/assets/C1u2SGin.css +0 -1
- package/dashboard/dist/assets/C1u2SGin.css.br +0 -0
- package/dashboard/dist/assets/CGJiHCIx.js.br +0 -0
- package/dashboard/dist/assets/CGJiHCIx.js.gz +0 -0
- package/dashboard/dist/assets/CSd4rSuU.js +0 -212
- package/dashboard/dist/assets/CSd4rSuU.js.br +0 -0
- package/dashboard/dist/assets/CSd4rSuU.js.gz +0 -0
- package/dashboard/dist/assets/CZXS5i_5.js.br +0 -0
- package/dashboard/dist/assets/CZXS5i_5.js.gz +0 -0
- package/dashboard/dist/assets/CbVWL74-.js.br +0 -0
- package/dashboard/dist/assets/CbVWL74-.js.gz +0 -0
- package/dashboard/dist/assets/D-FuHfT8.js.br +0 -0
- package/dashboard/dist/assets/D-FuHfT8.js.gz +0 -0
- package/dashboard/dist/assets/D0PN5_vY.js.br +0 -0
- package/dashboard/dist/assets/D0PN5_vY.js.gz +0 -0
- package/dashboard/dist/assets/DDCPrZRt.js.br +0 -0
- package/dashboard/dist/assets/DDCPrZRt.js.gz +0 -0
- package/dashboard/dist/assets/DNQ-iFO2.js.br +0 -0
- package/dashboard/dist/assets/DNQ-iFO2.js.gz +0 -0
- package/dashboard/dist/assets/DhPuHPK7.js.br +0 -0
- package/dashboard/dist/assets/DhPuHPK7.js.gz +0 -0
- package/dashboard/dist/assets/Dhz7qPtn.js +0 -1
- package/dashboard/dist/assets/Dhz7qPtn.js.br +0 -0
- package/dashboard/dist/assets/Dhz7qPtn.js.gz +0 -0
- package/dashboard/dist/assets/LOFrVoPD.js.br +0 -0
- package/dashboard/dist/assets/LOFrVoPD.js.gz +0 -0
- package/dashboard/dist/assets/OlLPtzdz.js.br +0 -0
- package/dashboard/dist/assets/OlLPtzdz.js.gz +0 -0
- package/dashboard/dist/assets/RN4M9u9W.js.br +0 -0
- package/dashboard/dist/assets/RN4M9u9W.js.gz +0 -0
- package/dashboard/dist/assets/VCHu272d.js +0 -1
- package/dashboard/dist/assets/VCHu272d.js.br +0 -0
- package/dashboard/dist/assets/VCHu272d.js.gz +0 -0
- package/dashboard/dist/assets/m2smti3F.js.br +0 -0
- package/dashboard/dist/assets/m2smti3F.js.gz +0 -0
- package/dashboard/dist/assets/nra1yvJX.js.br +0 -0
- package/dashboard/dist/assets/nra1yvJX.js.gz +0 -0
- package/dashboard/dist/assets/qLX6NZ-J.js +0 -1
- package/dashboard/dist/assets/qLX6NZ-J.js.br +0 -0
- package/dashboard/dist/assets/qLX6NZ-J.js.gz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as x,j as e}from"./Dj2k1r16.js";import{c as S}from"./DMKyYAtD.js";import{o as T,q as V,z as W,T as u,f as o,M as $,b as E}from"./
|
|
1
|
+
import{r as x,j as e}from"./Dj2k1r16.js";import{c as S}from"./DMKyYAtD.js";import{o as T,q as V,z as W,T as u,f as o,M as $,b as E}from"./C0i7ABUU.js";import{S as b}from"./BZCkOZ20.js";import"./eeHXe_OQ.js";import"./cX2e-TLi.js";import"./BjK42gtU.js";import"./BV0BcV1u.js";const f={draft:o.textMuted,in_review:o.amber,approved:o.lime,changes_requested:o.red,superseded:o.textMuted,archived:o.textMuted},U={draft:"Draft",in_review:"In Review",approved:"Approved",changes_requested:"Changes Requested",superseded:"Superseded",archived:"Archived"};function D(){return e.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:o.cyan,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),e.jsx("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}),e.jsx("path",{d:"M10 9H8"}),e.jsx("path",{d:"M16 13H8"}),e.jsx("path",{d:"M16 17H8"})]})}function J(){var M,_,C,L,I,q;const{state:l,close:m}=T(),g=null,j=!1,[c,p]=x.useState(null),{data:a,isLoading:F,isFetching:v,error:y,refetch:H}=S({queryKey:V.artifactDetail({artifactId:l.artifactId??"",authToken:g,embedMode:j}),enabled:!!l.artifactId,queryFn:async()=>{const i=E({authToken:g,embedMode:j}),s=await fetch(`/orgx/api/artifacts/${encodeURIComponent(l.artifactId)}`,{headers:i});if(!s.ok){const r=await s.json().catch(()=>null),d=(typeof(r==null?void 0:r.error)=="string"?r.error:null)??(r!=null&&r.error&&typeof r.error=="object"&&typeof r.error.message=="string"?r.error.message:null)??(typeof(r==null?void 0:r.message)=="string"?r.message:null),R=s.status===401?"Authentication required to view this artifact.":`Failed to fetch artifact (${s.status}).`;throw new Error(d!=null&&d.trim().length?d.trim():R)}return s.json()}}),t=a==null?void 0:a.artifact,A=(a==null?void 0:a.localFallback)===!0||((M=t==null?void 0:t.metadata)==null?void 0:M.local_fallback)===!0,w=(typeof(a==null?void 0:a.warning)=="string"&&a.warning.trim().length>0?a.warning:(_=t==null?void 0:t.metadata)==null?void 0:_.local_warning)??null,h=((C=t==null?void 0:t.metadata)==null?void 0:C.preview_markdown)??null,n=x.useMemo(()=>{if(!(t!=null&&t.metadata))return null;const i=[t.metadata.local_source_path,t.metadata.url,t.metadata.path,t.metadata.file_path,t.metadata.filepath,t.metadata.artifact_path,t.metadata.output_path];for(const s of i)if(typeof s=="string"&&s.trim().length>0)return s.trim();return null},[t==null?void 0:t.metadata]),k=x.useMemo(()=>n?/^https?:\/\//i.test(n)?n:`/orgx/api/live/filesystem/open?path=${encodeURIComponent(n)}`:null,[n]),N=((L=t==null?void 0:t.metadata)==null?void 0:L.external_url)??(t==null?void 0:t.artifact_url);x.useEffect(()=>{if(!c)return;const i=window.setTimeout(()=>p(null),2e3);return()=>window.clearTimeout(i)},[c]);const B=async(i,s)=>{try{await navigator.clipboard.writeText(i),p(`${s} copied`)}catch{p("Copy failed")}};return e.jsxs(W,{open:!!l.artifactId,onClose:m,maxWidth:"max-w-3xl",children:[F&&e.jsxs("div",{className:"p-6 space-y-4",children:[e.jsx(b,{className:"h-6 w-2/3"}),e.jsx(b,{className:"h-4 w-1/3"}),e.jsx(b,{className:"h-32 w-full"})]}),y&&e.jsxs("div",{className:"space-y-4 p-6",children:[e.jsxs("div",{className:"rounded-xl border border-red-300/22 bg-red-500/[0.08] p-4",children:[e.jsx("p",{className:"text-body font-semibold text-red-200",children:"Failed to load artifact"}),e.jsx("p",{className:"mt-1 text-caption leading-relaxed text-red-100/80",children:y.message})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("button",{type:"button",onClick:m,className:"rounded-full border border-strong bg-white/[0.03] px-3 py-1.5 text-caption font-semibold text-primary transition-colors hover:bg-white/[0.08]",children:"Back to activity"}),e.jsx("button",{type:"button",onClick:()=>void H(),disabled:v,className:"rounded-full border border-red-300/22 bg-red-500/[0.08] px-3 py-1.5 text-caption font-semibold text-red-100 transition-colors hover:bg-red-500/[0.14] disabled:opacity-45",children:v?"Retrying…":"Retry"})]})]}),t&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-subtle px-5 py-4 sm:px-6",children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsx(D,{}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("h3",{className:"truncate text-sm font-medium text-white",children:t.name}),e.jsxs("div",{className:"flex items-center gap-2 mt-0.5",children:[e.jsx(u,{tone:"muted",className:"text-micro uppercase tracking-[0.06em]",children:((I=t.catalog)==null?void 0:I.label)??t.artifact_type}),e.jsx(u,{tone:"neutral",className:"text-micro font-semibold uppercase tracking-[0.06em]",style:{color:f[t.status]??o.textMuted,backgroundColor:`${f[t.status]??o.textMuted}20`,borderColor:`${f[t.status]??o.textMuted}44`},children:U[t.status]??t.status}),((q=t.catalog)==null?void 0:q.domain)&&e.jsxs("span",{className:"text-micro text-faint",children:[t.catalog.domain," / ",t.catalog.stage]}),c&&e.jsx(u,{tone:"neutral",className:"text-micro text-secondary",children:c})]})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[N&&e.jsx("a",{href:N,target:"_blank",rel:"noopener noreferrer",className:"rounded-lg p-2 text-secondary transition-colors hover:bg-white/[0.08] hover:text-white",title:"Open source",children:e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("path",{d:"M15 3h6v6"}),e.jsx("path",{d:"M10 14 21 3"}),e.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]})}),e.jsx("button",{onClick:m,className:"p-2 rounded-lg hover:bg-white/[0.06] text-secondary hover:text-white transition-colors",children:e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("path",{d:"M18 6 6 18"}),e.jsx("path",{d:"m6 6 12 12"})]})})]})]}),e.jsxs("div",{className:"max-h-[65vh] overflow-y-auto px-5 py-4 sm:px-6 space-y-4",children:[A&&e.jsxs("div",{className:"rounded-xl border border-amber-300/25 bg-amber-500/[0.09] p-4",children:[e.jsx("p",{className:"text-caption font-semibold uppercase tracking-[0.08em] text-amber-100/90",children:"Local fallback artifact"}),e.jsx("p",{className:"mt-1 text-body text-amber-50/90",children:"This artifact is buffered locally because OrgX registration is currently unavailable."}),w&&e.jsxs("p",{className:"mt-1.5 text-caption text-amber-100/70",children:["Upstream error: ",w]}),e.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[k&&e.jsx("a",{href:k,target:"_blank",rel:"noopener noreferrer",className:"rounded-full border border-amber-200/25 bg-black/25 px-3 py-1 text-caption font-semibold text-amber-100 transition-colors hover:bg-black/35",children:"Open local artifact"}),n&&e.jsx("button",{type:"button",onClick:()=>void B(n,"Artifact path"),className:"rounded-full border border-amber-200/25 bg-black/20 px-3 py-1 text-caption font-semibold text-amber-100 transition-colors hover:bg-black/35",children:"Copy path"})]})]}),t.description&&e.jsx("div",{children:e.jsx("p",{className:"text-body leading-relaxed text-primary",children:t.description})}),h&&e.jsx("div",{className:"rounded-xl border border-white/[0.06] bg-white/[0.02] p-4",children:e.jsx($,{mode:"block",text:h,className:"text-body leading-relaxed text-primary"})}),!t.description&&!h&&e.jsxs("div",{className:"py-12 text-center text-muted",children:[e.jsxs("svg",{className:"mx-auto mb-3 opacity-50",width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[e.jsx("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),e.jsx("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"})]}),e.jsx("p",{className:"text-sm",children:"No preview available"})]}),e.jsxs("div",{className:"flex flex-wrap gap-x-6 gap-y-1.5 text-micro text-faint",children:[e.jsxs("span",{children:["Entity: ",t.entity_type,"/",t.entity_id.slice(0,8)]}),e.jsxs("span",{children:["Version: ",t.version]}),e.jsxs("span",{children:["Updated:"," ",new Date(t.updated_at).toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})]})]})]})]})]})}export{J as ArtifactViewerModal};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as a,j as e}from"./Dj2k1r16.js";import{f as l,z as p,E as h,a3 as u}from"./
|
|
1
|
+
import{r as a,j as e}from"./Dj2k1r16.js";import{f as l,z as p,E as h,a3 as u}from"./C0i7ABUU.js";import{DecisionQueue as b}from"./M4QxcXjh.js";import"./DMKyYAtD.js";import"./eeHXe_OQ.js";import"./cX2e-TLi.js";import"./BjK42gtU.js";import"./BV0BcV1u.js";import"./CqRNb2EL.js";import"./DClUc9rw.js";function D({open:n,onClose:o,decisions:t,onApproveDecision:i,onRejectDecision:m,onApproveAll:d,onBulkDecisionAction:x}){const r=a.useMemo(()=>t.length>0?Math.max(0,...t.map(c=>c.waitingMinutes)):0,[t]),s=a.useMemo(()=>t.length>=20||r>=15?l.red:t.length>0?l.amber:l.textMuted,[t.length,r]);return e.jsx(p,{open:n,onClose:o,maxWidth:"max-w-3xl",children:e.jsxs("div",{className:"flex h-full w-full flex-col",children:[e.jsx("div",{className:"border-b border-subtle px-5 pt-5 pb-4",children:e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("h3",{className:"inline-flex items-center gap-2 text-heading font-semibold text-white",children:[e.jsx(h,{type:"decision",size:14}),e.jsx("span",{className:"truncate",children:"Decisions"}),e.jsx("span",{className:"rounded-full border px-2 py-0.5 text-caption font-semibold",style:{borderColor:`${s}30`,backgroundColor:`${s}14`,color:s},children:t.length})]}),e.jsx("p",{className:"mt-1 text-body leading-relaxed text-secondary",children:"Bulk review and resolve pending decisions."}),t.length>0&&e.jsxs("p",{className:"mt-2 text-caption text-secondary",children:["Oldest: ",e.jsxs("span",{className:"font-semibold text-white",children:[u(r)," ago"]})]})]}),e.jsx("button",{type:"button",onClick:o,className:"rounded-md border border-strong bg-white/[0.03] px-2.5 py-1.5 text-caption text-primary transition-colors hover:bg-white/[0.08]","aria-label":"Close decisions modal",children:"Close"})]})}),e.jsx("div",{className:"min-h-0 flex-1 overflow-hidden p-4",children:e.jsx(b,{decisions:t,onApproveDecision:i,onRejectDecision:m,onApproveAll:d,onBulkDecisionAction:x})})]})})}export{D as BulkDecisionsModal};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as r}from"./Dj2k1r16.js";import{C as s}from"./
|
|
1
|
+
import{j as r}from"./Dj2k1r16.js";import{C as s}from"./C0i7ABUU.js";function i({className:e=""}){return r.jsx("div",{className:s("shimmer-skeleton",e),"aria-hidden":"true"})}export{i as S};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as s,j as t}from"./Dj2k1r16.js";import{z as ke}from"./CSd4rSuU.js";import"./DMKyYAtD.js";import"./eeHXe_OQ.js";import"./cX2e-TLi.js";import"./BjK42gtU.js";import"./BV0BcV1u.js";const I={PREVIEW:"orgx_orchestrator_preview",APPLY:"orgx_orchestrator_apply",STATUS:"orgx_orchestrator_status"};function l(p){if(typeof p!="string")return null;const n=p.trim();return n.length?n:null}function Ce(p){if(!p.trim())return{};const n=JSON.parse(p);return!n||typeof n!="object"||Array.isArray(n)?{}:n}function Q(p){const n=l(p.transcript)??l(p.text)??l(p.delta??null);if(n)return n;const h=p.item&&typeof p.item=="object"?p.item:null,v=Array.isArray(h==null?void 0:h.content)?h==null?void 0:h.content:[];for(const y of v){if(!y||typeof y!="object")continue;const f=l(y.transcript)??l(y.text);if(f)return f}return null}function Se(p){const n=p.response&&typeof p.response=="object"?p.response:null,h=Array.isArray(n==null?void 0:n.output)?n==null?void 0:n.output:[],v=[];for(const y of h){if(!y||typeof y!="object")continue;const f=y;if(f.type!=="function_call")continue;const C=l(f.name),S=l(f.call_id)??l(f.id),A=typeof f.arguments=="string"?f.arguments:"{}";!C||!S||v.push({callId:S,name:C,arguments:A})}return v}function Ae(p){const n=Number.isFinite(p)?p*100:0;return`${Math.max(0,Math.min(100,Math.round(n)))}%`}const fe=[{type:"function",name:I.PREVIEW,description:"Preview orchestrator actions from a natural language command. Use this before apply.",parameters:{type:"object",additionalProperties:!1,properties:{input:{type:"string",description:"Natural language command from the operator."},workspace_id:{type:"string",description:"Optional OrgX workspace/command_center id."}},required:["input"]}},{type:"function",name:I.APPLY,description:"Apply selected action ids from a previewed command after user confirmation.",parameters:{type:"object",additionalProperties:!1,properties:{command_id:{type:"string",description:"Command id from preview response."},confirmed_action_ids:{type:"array",items:{type:"string"},description:"Optional subset of action ids to apply. Omit to apply all."},workspace_id:{type:"string",description:"Optional OrgX workspace/command_center id."}},required:["command_id"]}},{type:"function",name:I.STATUS,description:"Get latest status for a previously created command.",parameters:{type:"object",additionalProperties:!1,properties:{command_id:{type:"string",description:"Command id from preview/apply response."}},required:["command_id"]}}];function Me({open:p,selectedWorkspaceId:n,onClose:h}){var le,de,pe;const[v,y]=s.useState(!1),[f,C]=s.useState(!1),[S,A]=s.useState(!1),[xe,he]=s.useState("gpt-realtime-1.5"),[$,Z]=s.useState(""),[W,M]=s.useState(""),[o,P]=s.useState(null),[T,B]=s.useState([]),[ee,te]=s.useState(!1),[re,oe]=s.useState(!1),[se,b]=s.useState(null),[ne,X]=s.useState([]),G=s.useRef(null),D=s.useRef(null),O=s.useRef(null),H=s.useRef(null),E=s.useRef(""),J=s.useRef(new Set),R=s.useCallback(e=>{X(r=>[e,...r].slice(0,10))},[]),N=s.useCallback(()=>{A(!1),C(!1),J.current=new Set;const e=D.current;if(e)try{e.close()}catch{}D.current=null;const r=G.current;if(r)try{r.close()}catch{}G.current=null;const a=O.current;if(a)for(const m of a.getTracks())try{m.stop()}catch{}O.current=null;const d=H.current;if(d){try{const m=d.srcObject;m==null||m.getTracks().forEach(i=>i.stop())}catch{}try{d.pause()}catch{}d.srcObject=null}H.current=null},[]);s.useEffect(()=>{p||(N(),b(null),M(""),X([]),E.current="")},[N,p]),s.useEffect(()=>()=>N(),[N]);const g=s.useCallback(e=>{const r=D.current;!r||r.readyState!=="open"||r.send(JSON.stringify(e))},[]),ae=s.useCallback(async e=>{const r=await fetch(e),a=await r.json().catch(()=>({}));if(!r.ok)throw new Error(a&&typeof a=="object"&&"error"in a&&a.error||`Request failed: ${r.status}`);return a},[]),j=s.useCallback(async(e,r)=>{const a=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}),d=await a.json().catch(()=>({}));if(!a.ok)throw new Error(d&&typeof d=="object"&&"error"in d&&d.error||`Request failed: ${a.status}`);return d},[]),L=s.useCallback(async e=>{if(!J.current.has(e.callId)){J.current.add(e.callId);try{const r=Ce(e.arguments);let a={ok:!1,error:"Unsupported tool call."};if(e.name===I.PREVIEW){const d=l(r.input);if(!d)throw new Error("Preview tool call requires input.");const m=await j("/orgx/api/orchestrator/commands/preview",{input:d,workspace_id:l(r.workspace_id)??n??void 0});if(!m.command)throw new Error(m.error??"Preview command failed.");P(m.command),B(m.command.proposedActions.map(i=>i.actionId)),a={ok:!0,command:m.command}}else if(e.name===I.APPLY){const d=l(r.command_id);if(!d)throw new Error("Apply tool call requires command_id.");const m=Array.isArray(r.confirmed_action_ids)?r.confirmed_action_ids.filter(F=>typeof F=="string"):void 0,i=await j("/orgx/api/orchestrator/commands/apply",{command_id:d,confirmed_action_ids:m,workspace_id:l(r.workspace_id)??n??void 0});if(!i.command)throw new Error(i.error??"Apply command failed.");P(i.command),a={ok:!0,command:i.command}}else if(e.name===I.STATUS){const d=l(r.command_id);if(!d)throw new Error("Status tool call requires command_id.");const m=await ae(`/orgx/api/orchestrator/commands/${encodeURIComponent(d)}`);if(!m.command)throw new Error(m.error??"Command status unavailable.");P(m.command),a={ok:!0,command:m.command}}g({type:"conversation.item.create",item:{type:"function_call_output",call_id:e.callId,output:JSON.stringify(a)}}),g({type:"response.create"}),R(`Tool executed: ${e.name}`)}catch(r){const a=r instanceof Error?r.message:"Tool execution failed.";b(a),g({type:"conversation.item.create",item:{type:"function_call_output",call_id:e.callId,output:JSON.stringify({ok:!1,error:a})}}),g({type:"response.create"}),R(`Tool failed: ${e.name}`)}}},[ae,R,j,n,g]),ye=s.useCallback(async()=>{var e,r,a,d,m;if(!((e=navigator.mediaDevices)!=null&&e.getUserMedia)){b("Microphone capture is unavailable in this browser/runtime.");return}b(null),y(!0),X([]);try{const i=await j("/orgx/api/realtime/session",{workspace_id:n??void 0,model:"gpt-realtime-1.5",voice:"alloy",tool_choice:"auto",tools:fe,instructions:"You are the OrgX realtime orchestrator copilot. Use tools for state-changing operations. Before applying actions, state the plan concisely."});if(!(i!=null&&i.session))throw new Error((i==null?void 0:i.error)??"Failed to create realtime session.");const F=l((r=i==null?void 0:i.session)==null?void 0:r.model)??l((a=i==null?void 0:i.defaults)==null?void 0:a.model)??"gpt-realtime-1.5";he(F);const me=l((m=(d=i==null?void 0:i.session)==null?void 0:d.client_secret)==null?void 0:m.value);if(!me)throw new Error("Realtime session is missing client_secret.");const U=await navigator.mediaDevices.getUserMedia({audio:!0});O.current=U;for(const _ of U.getAudioTracks())_.enabled=!1;const k=new RTCPeerConnection;G.current=k,U.getTracks().forEach(_=>k.addTrack(_,U));const q=document.createElement("audio");q.autoplay=!0,H.current=q,k.ontrack=_=>{const[u]=_.streams;u&&(q.srcObject=u,q.play().catch(()=>{}))};const V=k.createDataChannel("oai-events");D.current=V,V.onmessage=_=>{try{const u=JSON.parse(String(_.data)),x=l(u.type)??"";if(x==="error"){const c=u.error&&typeof u.error=="object"?u.error:null,w=l(c==null?void 0:c.message)??l(u.message)??"Realtime session error.";b(w),R(`Error: ${w}`);return}if(x==="conversation.item.input_audio_transcription.completed"){const c=Q(u);c&&Z(c)}if(x==="response.output_text.delta"||x==="response.text.delta"||x==="response.output_audio_transcript.delta"||x==="response.audio_transcript.delta"){const c=l(u.delta)??Q(u);c&&(E.current=`${E.current}${c}`,M(E.current))}if(x==="response.output_text.done"||x==="response.text.done"||x==="response.output_audio_transcript.done"||x==="response.audio_transcript.done"){const c=Q(u);c&&(E.current=c,M(c))}if(x==="response.function_call_arguments.done"){const c=l(u.call_id),w=l(u.name);if(c&&w){const z=typeof u.arguments=="string"?u.arguments:"{}";L({callId:c,name:w,arguments:z})}}if(x==="response.output_item.done"){const c=u.item&&typeof u.item=="object"?u.item:null;if((c==null?void 0:c.type)==="function_call"){const w=l(c.call_id)??l(c.id),z=l(c.name);if(w&&z){const Ne=typeof c.arguments=="string"?c.arguments:"{}";L({callId:w,name:z,arguments:Ne})}}}if(x==="response.done"){const c=Se(u);for(const w of c)L(w)}}catch{}},V.onopen=()=>{C(!0),g({type:"session.update",session:{tools:fe,tool_choice:"auto"}}),R("Realtime connected")},V.onclose=()=>{C(!1),A(!1)};const ue=await k.createOffer();await k.setLocalDescription(ue);const Y=await fetch(`https://api.openai.com/v1/realtime?model=${encodeURIComponent(F)}`,{method:"POST",headers:{Authorization:`Bearer ${me}`,"Content-Type":"application/sdp"},body:ue.sdp??""});if(!Y.ok){const _=await Y.text().catch(()=>Y.statusText);throw new Error(`Realtime SDP negotiation failed: ${_}`)}const ve=await Y.text();await k.setRemoteDescription({type:"answer",sdp:ve})}catch(i){N(),b(i instanceof Error?i.message:"Failed to connect realtime session.")}finally{y(!1)}},[N,L,R,j,n]),ie=s.useCallback(()=>{if(!f)return;const e=O.current;if(e){for(const r of e.getAudioTracks())r.enabled=!0;E.current="",M(""),A(!0),g({type:"input_audio_buffer.clear"})}},[f,g]),K=s.useCallback(()=>{const e=O.current;if(e)for(const r of e.getAudioTracks())r.enabled=!1;A(!1),g({type:"input_audio_buffer.commit"}),g({type:"response.create"})},[g]),ge=s.useCallback(async()=>{const e=$.trim();if(e){te(!0),b(null);try{const r=await j("/orgx/api/orchestrator/commands/preview",{input:e,workspace_id:n??void 0});if(!r.command)throw new Error(r.error??"Failed to preview command.");P(r.command),B(r.command.proposedActions.map(a=>a.actionId))}catch(r){b(r instanceof Error?r.message:"Failed to preview command.")}finally{te(!1)}}},[$,j,n]),be=s.useCallback(async()=>{if(o!=null&&o.id){oe(!0),b(null);try{const e=await j("/orgx/api/orchestrator/commands/apply",{command_id:o.id,confirmed_action_ids:T,workspace_id:n??void 0});if(!e.command)throw new Error(e.error??"Failed to apply command.");P(e.command)}catch(e){b(e instanceof Error?e.message:"Failed to apply command.")}finally{oe(!1)}}},[o==null?void 0:o.id,j,T,n]),ce=T.length,we=(((le=o==null?void 0:o.proposedActions)==null?void 0:le.length)??0)>0,je=!!(o!=null&&o.id)&&ce>0&&!re,_e=s.useMemo(()=>{const e=(o==null?void 0:o.status)??"draft";return e==="completed"?"text-lime":e==="completed_with_errors"||e==="failed"?"text-amber-300":e==="applying"?"text-teal":"text-secondary"},[o==null?void 0:o.status]);return t.jsxs(ke,{open:p,onClose:h,maxWidth:"max-w-5xl",fitContent:!0,closeOnEscapeWhenTyping:!1,children:[t.jsx("div",{className:"border-b border-strong px-4 py-3",children:t.jsxs("div",{className:"flex items-start justify-between gap-3",children:[t.jsxs("div",{children:[t.jsx("p",{className:"text-caption uppercase tracking-[0.14em] text-secondary",children:"Realtime Orchestrator"}),t.jsx("h2",{className:"text-heading font-semibold text-white",children:"GPT Realtime 1.5"}),t.jsx("p",{className:"text-micro text-secondary",children:"Voice + tool-calls for initiative launch, decision resolution, and Next Up control."})]}),t.jsx("button",{type:"button",onClick:h,className:"rounded-full border border-strong bg-white/[0.03] px-3 py-1.5 text-caption text-secondary transition-colors hover:bg-white/[0.08] hover:text-white",children:"Close"})]})}),t.jsxs("div",{className:"grid gap-4 px-4 pb-4 pt-3 lg:grid-cols-[1.12fr_1fr]",children:[t.jsxs("section",{className:"space-y-3",children:[t.jsxs("div",{className:"rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[t.jsx("span",{className:"text-caption uppercase tracking-[0.12em] text-secondary",children:"Session"}),t.jsx("span",{className:"text-micro text-secondary",children:xe})]}),t.jsx("div",{className:"flex flex-wrap items-center gap-2",children:f?t.jsxs(t.Fragment,{children:[t.jsx("button",{type:"button",onMouseDown:ie,onMouseUp:K,onMouseLeave:()=>{S&&K()},onTouchStart:e=>{e.preventDefault(),ie()},onTouchEnd:e=>{e.preventDefault(),K()},className:`rounded-full border px-3 py-1.5 text-caption font-semibold transition-colors ${S?"border-teal/45 bg-teal/[0.16] text-teal":"border-white/[0.2] bg-white/[0.04] text-primary hover:bg-white/[0.1]"}`,children:S?"Listening… release to send":"Hold to talk"}),t.jsx("button",{type:"button",onClick:N,className:"rounded-full border border-strong bg-white/[0.03] px-3 py-1.5 text-caption text-secondary transition-colors hover:bg-white/[0.08] hover:text-primary",children:"Disconnect"})]}):t.jsx("button",{type:"button",disabled:v,onClick:()=>void ye(),className:"rounded-full border border-lime/35 bg-lime/[0.12] px-3 py-1.5 text-caption font-semibold text-lime transition-colors hover:bg-lime/[0.2] disabled:cursor-not-allowed disabled:opacity-60",children:v?"Connecting…":"Connect Realtime"})}),ne.length>0?t.jsx("div",{className:"mt-3 rounded-lg border border-strong bg-black/20 p-2",children:ne.map((e,r)=>t.jsx("p",{className:"text-micro text-secondary",children:e},`${e}-${r}`))}):null]}),t.jsxs("div",{className:"rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsx("label",{className:"mb-2 block text-caption uppercase tracking-[0.12em] text-secondary",children:"Command Input"}),t.jsx("textarea",{value:$,onChange:e=>Z(e.target.value),rows:4,"data-modal-autofocus":"true",placeholder:"Example: create initiative called AI Readiness Audit for this workspace",className:"w-full rounded-lg border border-strong bg-[#040912] px-3 py-2 text-body text-primary placeholder:text-secondary focus:border-lime/35 focus:outline-none"}),W?t.jsxs("p",{className:"mt-2 text-caption text-secondary",children:["Assistant: ",t.jsx("span",{className:"text-primary",children:W})]}):null,t.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[t.jsx("button",{type:"button",disabled:ee||$.trim().length===0,onClick:()=>void ge(),className:"rounded-full border border-teal/35 bg-teal/[0.12] px-3 py-1.5 text-caption font-semibold text-teal transition-colors hover:bg-teal/[0.2] disabled:cursor-not-allowed disabled:opacity-60",children:ee?"Previewing…":"Preview Actions"}),t.jsx("button",{type:"button",disabled:!je,onClick:()=>void be(),className:"rounded-full border border-lime/35 bg-lime/[0.12] px-3 py-1.5 text-caption font-semibold text-lime transition-colors hover:bg-lime/[0.2] disabled:cursor-not-allowed disabled:opacity-60",children:re?"Applying…":`Apply (${ce})`})]})]})]}),t.jsxs("section",{className:"space-y-3",children:[t.jsxs("div",{className:"rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[t.jsx("span",{className:"text-caption uppercase tracking-[0.12em] text-secondary",children:"Command Status"}),t.jsx("span",{className:`text-caption font-semibold ${_e}`,children:(o==null?void 0:o.status)??"idle"})]}),t.jsx("p",{className:"text-body text-primary",children:(o==null?void 0:o.humanSummary)??"Preview a command or use voice to trigger tool calls."}),(de=o==null?void 0:o.riskFlags)!=null&&de.length?t.jsxs("p",{className:"mt-2 text-caption text-amber-200",children:["Risk flags: ",o.riskFlags.join(", ")]}):null]}),t.jsxs("div",{className:"max-h-[360px] space-y-2 overflow-y-auto rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsx("p",{className:"text-caption uppercase tracking-[0.12em] text-secondary",children:"Proposed Actions"}),we?o.proposedActions.map(e=>{const r=T.includes(e.actionId);return t.jsx("label",{className:"block rounded-lg border border-strong bg-[#040912] p-2 text-body",children:t.jsxs("div",{className:"flex items-start gap-2",children:[t.jsx("input",{type:"checkbox",checked:r,onChange:a=>{const d=a.target.checked?[...T,e.actionId]:T.filter(m=>m!==e.actionId);B(d)},className:"mt-1"}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("p",{className:"font-semibold text-primary",children:e.type}),t.jsx("p",{className:"text-caption text-secondary",children:e.reason}),t.jsxs("p",{className:"text-micro text-secondary",children:["confidence ",Ae(e.confidence)," • impact ",e.blockingImpact]})]})]})},e.actionId)}):t.jsx("p",{className:"text-body text-secondary",children:"No actions inferred yet."})]}),(((pe=o==null?void 0:o.results)==null?void 0:pe.length)??0)>0?t.jsxs("div",{className:"max-h-[220px] space-y-2 overflow-y-auto rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsx("p",{className:"text-caption uppercase tracking-[0.12em] text-secondary",children:"Apply Results"}),o.results.map(e=>t.jsxs("div",{className:`rounded-lg border p-2 text-body ${e.ok?"border-lime/30 bg-lime/[0.08] text-lime":"border-amber-400/35 bg-amber-500/[0.12] text-amber-100"}`,children:[t.jsx("p",{className:"font-semibold",children:e.type}),t.jsx("p",{className:"text-caption",children:e.message}),e.error?t.jsxs("p",{className:"text-micro text-amber-200",children:["error: ",e.error]}):null]},`${e.actionId}-${e.type}`))]}):null]})]}),se?t.jsx("div",{className:"border-t border-amber-500/30 bg-amber-500/[0.12] px-4 py-2 text-caption text-amber-100",children:se}):null]})}export{Me as RealtimeOrchestratorModal};
|
|
1
|
+
import{r as s,j as t}from"./Dj2k1r16.js";import{z as ke}from"./C0i7ABUU.js";import"./DMKyYAtD.js";import"./eeHXe_OQ.js";import"./cX2e-TLi.js";import"./BjK42gtU.js";import"./BV0BcV1u.js";const I={PREVIEW:"orgx_orchestrator_preview",APPLY:"orgx_orchestrator_apply",STATUS:"orgx_orchestrator_status"};function l(p){if(typeof p!="string")return null;const n=p.trim();return n.length?n:null}function Ce(p){if(!p.trim())return{};const n=JSON.parse(p);return!n||typeof n!="object"||Array.isArray(n)?{}:n}function Q(p){const n=l(p.transcript)??l(p.text)??l(p.delta??null);if(n)return n;const h=p.item&&typeof p.item=="object"?p.item:null,v=Array.isArray(h==null?void 0:h.content)?h==null?void 0:h.content:[];for(const y of v){if(!y||typeof y!="object")continue;const f=l(y.transcript)??l(y.text);if(f)return f}return null}function Se(p){const n=p.response&&typeof p.response=="object"?p.response:null,h=Array.isArray(n==null?void 0:n.output)?n==null?void 0:n.output:[],v=[];for(const y of h){if(!y||typeof y!="object")continue;const f=y;if(f.type!=="function_call")continue;const C=l(f.name),S=l(f.call_id)??l(f.id),A=typeof f.arguments=="string"?f.arguments:"{}";!C||!S||v.push({callId:S,name:C,arguments:A})}return v}function Ae(p){const n=Number.isFinite(p)?p*100:0;return`${Math.max(0,Math.min(100,Math.round(n)))}%`}const fe=[{type:"function",name:I.PREVIEW,description:"Preview orchestrator actions from a natural language command. Use this before apply.",parameters:{type:"object",additionalProperties:!1,properties:{input:{type:"string",description:"Natural language command from the operator."},workspace_id:{type:"string",description:"Optional OrgX workspace/command_center id."}},required:["input"]}},{type:"function",name:I.APPLY,description:"Apply selected action ids from a previewed command after user confirmation.",parameters:{type:"object",additionalProperties:!1,properties:{command_id:{type:"string",description:"Command id from preview response."},confirmed_action_ids:{type:"array",items:{type:"string"},description:"Optional subset of action ids to apply. Omit to apply all."},workspace_id:{type:"string",description:"Optional OrgX workspace/command_center id."}},required:["command_id"]}},{type:"function",name:I.STATUS,description:"Get latest status for a previously created command.",parameters:{type:"object",additionalProperties:!1,properties:{command_id:{type:"string",description:"Command id from preview/apply response."}},required:["command_id"]}}];function Me({open:p,selectedWorkspaceId:n,onClose:h}){var le,de,pe;const[v,y]=s.useState(!1),[f,C]=s.useState(!1),[S,A]=s.useState(!1),[xe,he]=s.useState("gpt-realtime-1.5"),[$,Z]=s.useState(""),[W,M]=s.useState(""),[o,P]=s.useState(null),[T,B]=s.useState([]),[ee,te]=s.useState(!1),[re,oe]=s.useState(!1),[se,b]=s.useState(null),[ne,X]=s.useState([]),G=s.useRef(null),D=s.useRef(null),O=s.useRef(null),H=s.useRef(null),E=s.useRef(""),J=s.useRef(new Set),R=s.useCallback(e=>{X(r=>[e,...r].slice(0,10))},[]),N=s.useCallback(()=>{A(!1),C(!1),J.current=new Set;const e=D.current;if(e)try{e.close()}catch{}D.current=null;const r=G.current;if(r)try{r.close()}catch{}G.current=null;const a=O.current;if(a)for(const m of a.getTracks())try{m.stop()}catch{}O.current=null;const d=H.current;if(d){try{const m=d.srcObject;m==null||m.getTracks().forEach(i=>i.stop())}catch{}try{d.pause()}catch{}d.srcObject=null}H.current=null},[]);s.useEffect(()=>{p||(N(),b(null),M(""),X([]),E.current="")},[N,p]),s.useEffect(()=>()=>N(),[N]);const g=s.useCallback(e=>{const r=D.current;!r||r.readyState!=="open"||r.send(JSON.stringify(e))},[]),ae=s.useCallback(async e=>{const r=await fetch(e),a=await r.json().catch(()=>({}));if(!r.ok)throw new Error(a&&typeof a=="object"&&"error"in a&&a.error||`Request failed: ${r.status}`);return a},[]),j=s.useCallback(async(e,r)=>{const a=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}),d=await a.json().catch(()=>({}));if(!a.ok)throw new Error(d&&typeof d=="object"&&"error"in d&&d.error||`Request failed: ${a.status}`);return d},[]),L=s.useCallback(async e=>{if(!J.current.has(e.callId)){J.current.add(e.callId);try{const r=Ce(e.arguments);let a={ok:!1,error:"Unsupported tool call."};if(e.name===I.PREVIEW){const d=l(r.input);if(!d)throw new Error("Preview tool call requires input.");const m=await j("/orgx/api/orchestrator/commands/preview",{input:d,workspace_id:l(r.workspace_id)??n??void 0});if(!m.command)throw new Error(m.error??"Preview command failed.");P(m.command),B(m.command.proposedActions.map(i=>i.actionId)),a={ok:!0,command:m.command}}else if(e.name===I.APPLY){const d=l(r.command_id);if(!d)throw new Error("Apply tool call requires command_id.");const m=Array.isArray(r.confirmed_action_ids)?r.confirmed_action_ids.filter(F=>typeof F=="string"):void 0,i=await j("/orgx/api/orchestrator/commands/apply",{command_id:d,confirmed_action_ids:m,workspace_id:l(r.workspace_id)??n??void 0});if(!i.command)throw new Error(i.error??"Apply command failed.");P(i.command),a={ok:!0,command:i.command}}else if(e.name===I.STATUS){const d=l(r.command_id);if(!d)throw new Error("Status tool call requires command_id.");const m=await ae(`/orgx/api/orchestrator/commands/${encodeURIComponent(d)}`);if(!m.command)throw new Error(m.error??"Command status unavailable.");P(m.command),a={ok:!0,command:m.command}}g({type:"conversation.item.create",item:{type:"function_call_output",call_id:e.callId,output:JSON.stringify(a)}}),g({type:"response.create"}),R(`Tool executed: ${e.name}`)}catch(r){const a=r instanceof Error?r.message:"Tool execution failed.";b(a),g({type:"conversation.item.create",item:{type:"function_call_output",call_id:e.callId,output:JSON.stringify({ok:!1,error:a})}}),g({type:"response.create"}),R(`Tool failed: ${e.name}`)}}},[ae,R,j,n,g]),ye=s.useCallback(async()=>{var e,r,a,d,m;if(!((e=navigator.mediaDevices)!=null&&e.getUserMedia)){b("Microphone capture is unavailable in this browser/runtime.");return}b(null),y(!0),X([]);try{const i=await j("/orgx/api/realtime/session",{workspace_id:n??void 0,model:"gpt-realtime-1.5",voice:"alloy",tool_choice:"auto",tools:fe,instructions:"You are the OrgX realtime orchestrator copilot. Use tools for state-changing operations. Before applying actions, state the plan concisely."});if(!(i!=null&&i.session))throw new Error((i==null?void 0:i.error)??"Failed to create realtime session.");const F=l((r=i==null?void 0:i.session)==null?void 0:r.model)??l((a=i==null?void 0:i.defaults)==null?void 0:a.model)??"gpt-realtime-1.5";he(F);const me=l((m=(d=i==null?void 0:i.session)==null?void 0:d.client_secret)==null?void 0:m.value);if(!me)throw new Error("Realtime session is missing client_secret.");const U=await navigator.mediaDevices.getUserMedia({audio:!0});O.current=U;for(const _ of U.getAudioTracks())_.enabled=!1;const k=new RTCPeerConnection;G.current=k,U.getTracks().forEach(_=>k.addTrack(_,U));const q=document.createElement("audio");q.autoplay=!0,H.current=q,k.ontrack=_=>{const[u]=_.streams;u&&(q.srcObject=u,q.play().catch(()=>{}))};const V=k.createDataChannel("oai-events");D.current=V,V.onmessage=_=>{try{const u=JSON.parse(String(_.data)),x=l(u.type)??"";if(x==="error"){const c=u.error&&typeof u.error=="object"?u.error:null,w=l(c==null?void 0:c.message)??l(u.message)??"Realtime session error.";b(w),R(`Error: ${w}`);return}if(x==="conversation.item.input_audio_transcription.completed"){const c=Q(u);c&&Z(c)}if(x==="response.output_text.delta"||x==="response.text.delta"||x==="response.output_audio_transcript.delta"||x==="response.audio_transcript.delta"){const c=l(u.delta)??Q(u);c&&(E.current=`${E.current}${c}`,M(E.current))}if(x==="response.output_text.done"||x==="response.text.done"||x==="response.output_audio_transcript.done"||x==="response.audio_transcript.done"){const c=Q(u);c&&(E.current=c,M(c))}if(x==="response.function_call_arguments.done"){const c=l(u.call_id),w=l(u.name);if(c&&w){const z=typeof u.arguments=="string"?u.arguments:"{}";L({callId:c,name:w,arguments:z})}}if(x==="response.output_item.done"){const c=u.item&&typeof u.item=="object"?u.item:null;if((c==null?void 0:c.type)==="function_call"){const w=l(c.call_id)??l(c.id),z=l(c.name);if(w&&z){const Ne=typeof c.arguments=="string"?c.arguments:"{}";L({callId:w,name:z,arguments:Ne})}}}if(x==="response.done"){const c=Se(u);for(const w of c)L(w)}}catch{}},V.onopen=()=>{C(!0),g({type:"session.update",session:{tools:fe,tool_choice:"auto"}}),R("Realtime connected")},V.onclose=()=>{C(!1),A(!1)};const ue=await k.createOffer();await k.setLocalDescription(ue);const Y=await fetch(`https://api.openai.com/v1/realtime?model=${encodeURIComponent(F)}`,{method:"POST",headers:{Authorization:`Bearer ${me}`,"Content-Type":"application/sdp"},body:ue.sdp??""});if(!Y.ok){const _=await Y.text().catch(()=>Y.statusText);throw new Error(`Realtime SDP negotiation failed: ${_}`)}const ve=await Y.text();await k.setRemoteDescription({type:"answer",sdp:ve})}catch(i){N(),b(i instanceof Error?i.message:"Failed to connect realtime session.")}finally{y(!1)}},[N,L,R,j,n]),ie=s.useCallback(()=>{if(!f)return;const e=O.current;if(e){for(const r of e.getAudioTracks())r.enabled=!0;E.current="",M(""),A(!0),g({type:"input_audio_buffer.clear"})}},[f,g]),K=s.useCallback(()=>{const e=O.current;if(e)for(const r of e.getAudioTracks())r.enabled=!1;A(!1),g({type:"input_audio_buffer.commit"}),g({type:"response.create"})},[g]),ge=s.useCallback(async()=>{const e=$.trim();if(e){te(!0),b(null);try{const r=await j("/orgx/api/orchestrator/commands/preview",{input:e,workspace_id:n??void 0});if(!r.command)throw new Error(r.error??"Failed to preview command.");P(r.command),B(r.command.proposedActions.map(a=>a.actionId))}catch(r){b(r instanceof Error?r.message:"Failed to preview command.")}finally{te(!1)}}},[$,j,n]),be=s.useCallback(async()=>{if(o!=null&&o.id){oe(!0),b(null);try{const e=await j("/orgx/api/orchestrator/commands/apply",{command_id:o.id,confirmed_action_ids:T,workspace_id:n??void 0});if(!e.command)throw new Error(e.error??"Failed to apply command.");P(e.command)}catch(e){b(e instanceof Error?e.message:"Failed to apply command.")}finally{oe(!1)}}},[o==null?void 0:o.id,j,T,n]),ce=T.length,we=(((le=o==null?void 0:o.proposedActions)==null?void 0:le.length)??0)>0,je=!!(o!=null&&o.id)&&ce>0&&!re,_e=s.useMemo(()=>{const e=(o==null?void 0:o.status)??"draft";return e==="completed"?"text-lime":e==="completed_with_errors"||e==="failed"?"text-amber-300":e==="applying"?"text-teal":"text-secondary"},[o==null?void 0:o.status]);return t.jsxs(ke,{open:p,onClose:h,maxWidth:"max-w-5xl",fitContent:!0,closeOnEscapeWhenTyping:!1,children:[t.jsx("div",{className:"border-b border-strong px-4 py-3",children:t.jsxs("div",{className:"flex items-start justify-between gap-3",children:[t.jsxs("div",{children:[t.jsx("p",{className:"text-caption uppercase tracking-[0.14em] text-secondary",children:"Realtime Orchestrator"}),t.jsx("h2",{className:"text-heading font-semibold text-white",children:"GPT Realtime 1.5"}),t.jsx("p",{className:"text-micro text-secondary",children:"Voice + tool-calls for initiative launch, decision resolution, and Next Up control."})]}),t.jsx("button",{type:"button",onClick:h,className:"rounded-full border border-strong bg-white/[0.03] px-3 py-1.5 text-caption text-secondary transition-colors hover:bg-white/[0.08] hover:text-white",children:"Close"})]})}),t.jsxs("div",{className:"grid gap-4 px-4 pb-4 pt-3 lg:grid-cols-[1.12fr_1fr]",children:[t.jsxs("section",{className:"space-y-3",children:[t.jsxs("div",{className:"rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[t.jsx("span",{className:"text-caption uppercase tracking-[0.12em] text-secondary",children:"Session"}),t.jsx("span",{className:"text-micro text-secondary",children:xe})]}),t.jsx("div",{className:"flex flex-wrap items-center gap-2",children:f?t.jsxs(t.Fragment,{children:[t.jsx("button",{type:"button",onMouseDown:ie,onMouseUp:K,onMouseLeave:()=>{S&&K()},onTouchStart:e=>{e.preventDefault(),ie()},onTouchEnd:e=>{e.preventDefault(),K()},className:`rounded-full border px-3 py-1.5 text-caption font-semibold transition-colors ${S?"border-teal/45 bg-teal/[0.16] text-teal":"border-white/[0.2] bg-white/[0.04] text-primary hover:bg-white/[0.1]"}`,children:S?"Listening… release to send":"Hold to talk"}),t.jsx("button",{type:"button",onClick:N,className:"rounded-full border border-strong bg-white/[0.03] px-3 py-1.5 text-caption text-secondary transition-colors hover:bg-white/[0.08] hover:text-primary",children:"Disconnect"})]}):t.jsx("button",{type:"button",disabled:v,onClick:()=>void ye(),className:"rounded-full border border-lime/35 bg-lime/[0.12] px-3 py-1.5 text-caption font-semibold text-lime transition-colors hover:bg-lime/[0.2] disabled:cursor-not-allowed disabled:opacity-60",children:v?"Connecting…":"Connect Realtime"})}),ne.length>0?t.jsx("div",{className:"mt-3 rounded-lg border border-strong bg-black/20 p-2",children:ne.map((e,r)=>t.jsx("p",{className:"text-micro text-secondary",children:e},`${e}-${r}`))}):null]}),t.jsxs("div",{className:"rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsx("label",{className:"mb-2 block text-caption uppercase tracking-[0.12em] text-secondary",children:"Command Input"}),t.jsx("textarea",{value:$,onChange:e=>Z(e.target.value),rows:4,"data-modal-autofocus":"true",placeholder:"Example: create initiative called AI Readiness Audit for this workspace",className:"w-full rounded-lg border border-strong bg-[#040912] px-3 py-2 text-body text-primary placeholder:text-secondary focus:border-lime/35 focus:outline-none"}),W?t.jsxs("p",{className:"mt-2 text-caption text-secondary",children:["Assistant: ",t.jsx("span",{className:"text-primary",children:W})]}):null,t.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[t.jsx("button",{type:"button",disabled:ee||$.trim().length===0,onClick:()=>void ge(),className:"rounded-full border border-teal/35 bg-teal/[0.12] px-3 py-1.5 text-caption font-semibold text-teal transition-colors hover:bg-teal/[0.2] disabled:cursor-not-allowed disabled:opacity-60",children:ee?"Previewing…":"Preview Actions"}),t.jsx("button",{type:"button",disabled:!je,onClick:()=>void be(),className:"rounded-full border border-lime/35 bg-lime/[0.12] px-3 py-1.5 text-caption font-semibold text-lime transition-colors hover:bg-lime/[0.2] disabled:cursor-not-allowed disabled:opacity-60",children:re?"Applying…":`Apply (${ce})`})]})]})]}),t.jsxs("section",{className:"space-y-3",children:[t.jsxs("div",{className:"rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[t.jsx("span",{className:"text-caption uppercase tracking-[0.12em] text-secondary",children:"Command Status"}),t.jsx("span",{className:`text-caption font-semibold ${_e}`,children:(o==null?void 0:o.status)??"idle"})]}),t.jsx("p",{className:"text-body text-primary",children:(o==null?void 0:o.humanSummary)??"Preview a command or use voice to trigger tool calls."}),(de=o==null?void 0:o.riskFlags)!=null&&de.length?t.jsxs("p",{className:"mt-2 text-caption text-amber-200",children:["Risk flags: ",o.riskFlags.join(", ")]}):null]}),t.jsxs("div",{className:"max-h-[360px] space-y-2 overflow-y-auto rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsx("p",{className:"text-caption uppercase tracking-[0.12em] text-secondary",children:"Proposed Actions"}),we?o.proposedActions.map(e=>{const r=T.includes(e.actionId);return t.jsx("label",{className:"block rounded-lg border border-strong bg-[#040912] p-2 text-body",children:t.jsxs("div",{className:"flex items-start gap-2",children:[t.jsx("input",{type:"checkbox",checked:r,onChange:a=>{const d=a.target.checked?[...T,e.actionId]:T.filter(m=>m!==e.actionId);B(d)},className:"mt-1"}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("p",{className:"font-semibold text-primary",children:e.type}),t.jsx("p",{className:"text-caption text-secondary",children:e.reason}),t.jsxs("p",{className:"text-micro text-secondary",children:["confidence ",Ae(e.confidence)," • impact ",e.blockingImpact]})]})]})},e.actionId)}):t.jsx("p",{className:"text-body text-secondary",children:"No actions inferred yet."})]}),(((pe=o==null?void 0:o.results)==null?void 0:pe.length)??0)>0?t.jsxs("div",{className:"max-h-[220px] space-y-2 overflow-y-auto rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsx("p",{className:"text-caption uppercase tracking-[0.12em] text-secondary",children:"Apply Results"}),o.results.map(e=>t.jsxs("div",{className:`rounded-lg border p-2 text-body ${e.ok?"border-lime/30 bg-lime/[0.08] text-lime":"border-amber-400/35 bg-amber-500/[0.12] text-amber-100"}`,children:[t.jsx("p",{className:"font-semibold",children:e.type}),t.jsx("p",{className:"text-caption",children:e.message}),e.error?t.jsxs("p",{className:"text-micro text-amber-200",children:["error: ",e.error]}):null]},`${e.actionId}-${e.type}`))]}):null]})]}),se?t.jsx("div",{className:"border-t border-amber-500/30 bg-amber-500/[0.12] px-4 py-2 text-caption text-amber-100",children:se}):null]})}export{Me as RealtimeOrchestratorModal};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--orgx-border)}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Geist,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body{font-family:Geist,system-ui,-apple-system,sans-serif;background:radial-gradient(1200px 700px at 12% -20%,rgba(191,255,0,.09),transparent 58%),radial-gradient(1000px 700px at 90% -20%,rgba(20,184,166,.09),transparent 64%),var(--orgx-bg);color:var(--orgx-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,.font-display{font-family:Geist,system-ui,-apple-system,sans-serif;letter-spacing:-.015em}code,.font-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}button:focus-visible,a:focus-visible,input:focus-visible{outline:none;box-shadow:0 0 0 2px #bfff0059;transition:box-shadow .15s var(--orgx-ease-standard)}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.glass-panel{-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);background:linear-gradient(145deg,#ffffff08,#ffffff04),var(--orgx-surface);border:1px solid var(--orgx-border)}.soft-shadow{box-shadow:0 16px 48px #00000073,0 2px 8px #0003,inset 0 1px #ffffff0a}.hover-lift{transition:transform .22s var(--orgx-ease-standard),box-shadow .22s ease,border-color .22s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 18px 42px #0006}.fade-in-up{animation:fadeInUp .36s var(--orgx-ease-entrance) both}.pulse-soft{animation:pulseSoft 3.6s ease-in-out infinite}.chip{border:1px solid var(--orgx-border);background:#ffffff0a;color:#f2f7ffcc;border-radius:999px;padding:3px 10px;font-size:11px;line-height:1;font-weight:500}.chip-avatar{padding-left:3px;gap:6px}.chip-avatar [data-agent-avatar=true]{width:20px;height:20px}.surface-tier-1{border:1px solid var(--orgx-border-subtle);background:linear-gradient(160deg,#ffffff08,#ffffff03),var(--orgx-surface);box-shadow:inset 0 1px #ffffff09,0 14px 34px #0000005c}.surface-tier-2{border:1px solid var(--orgx-border);background:linear-gradient(150deg,#ffffff0a,#ffffff04),var(--orgx-surface-elevated);box-shadow:inset 0 1px #ffffff0b,0 16px 36px #00000061}.surface-hero{border:1px solid rgba(191,255,0,.16);background:linear-gradient(140deg,#bfff000f,#0ad4c40d 46%,#ffffff05),var(--orgx-surface-hero);box-shadow:inset 0 1px #ffffff0d,0 18px 40px #0006,0 0 0 1px #bfff0014}.control-pill{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-inline-size:-moz-max-content;min-inline-size:max-content;border-radius:10px;border:1px solid rgba(255,255,255,.11);background:#ffffff09;color:#f2f7ffa8;white-space:nowrap;text-wrap:nowrap;overflow-wrap:normal;line-height:1;transition:background-color .16s var(--orgx-ease-standard),border-color .16s var(--orgx-ease-standard),color .16s var(--orgx-ease-standard),transform .22s var(--orgx-ease-standard),box-shadow .2s var(--orgx-ease-standard)}.control-pill:hover{border-color:#fff3;background:#ffffff12;color:#f2f7ffe0;box-shadow:0 8px 18px #00000038}.control-pill:active{transform:translateY(.5px)}.control-pill[data-state=active]{border-color:#bfff003d;background:#bfff0017;color:#d8ffa1}.control-pill[data-tone=teal][data-state=active]{border-color:#0ad4c452;background:#0ad4c41a;color:#8ff7ec}.control-pill[data-tone=amber]{border-color:#fbbf244d;background:#fbbf241f;color:#fff6d6eb}.control-pill[data-tone=amber]:hover{border-color:#fbbf246b;background:#fbbf2429;color:#fffae6fa}.status-pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;padding:2px 9px;font-size:10px;line-height:1;letter-spacing:.05em;color:#f2f7ffb8}.status-pill:before{content:"";width:6px;height:6px;border-radius:999px;background:#ffffff73}.status-pill[data-tone=done]{border-color:#14b8a642;background:#14b8a61c;color:#87ffe9e6}.orgx-datepicker-popper{z-index:360}.orgx-datepicker-popper[data-placement^=bottom]{margin-top:6px!important}.orgx-datepicker{border:1px solid rgba(255,255,255,.12)!important;background:#0a0d14!important;color:#f2f7ffdb!important;font-family:Geist,system-ui,-apple-system,sans-serif!important;border-radius:12px!important;display:flex!important;align-items:flex-start!important;width:-moz-max-content!important;width:max-content!important;overflow:hidden!important;box-shadow:0 12px 30px #0006!important}.orgx-datepicker .react-datepicker__header{background:#0f141f!important;border-bottom:1px solid rgba(255,255,255,.1)!important}.orgx-datepicker .react-datepicker__header--time{background:#0f141f!important;border-left:1px solid rgba(255,255,255,.1)!important}.orgx-datepicker .react-datepicker__current-month,.orgx-datepicker .react-datepicker-time__header,.orgx-datepicker .react-datepicker__day-name{color:#f2f7ffd9!important}.orgx-datepicker .react-datepicker__day,.orgx-datepicker .react-datepicker__time-name,.orgx-datepicker .react-datepicker__time-list-item{color:#f2f7ffbf!important}.orgx-datepicker .react-datepicker__month-container,.orgx-datepicker .react-datepicker__time-container,.orgx-datepicker .react-datepicker__time,.orgx-datepicker .react-datepicker__time-box,.orgx-datepicker .react-datepicker__time-list,.orgx-datepicker .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box,.orgx-datepicker .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{background:#0a0d14!important}.orgx-datepicker .react-datepicker__month-container,.orgx-datepicker .react-datepicker__time-container{float:none!important}.orgx-datepicker .react-datepicker__time-container{border-left:1px solid rgba(255,255,255,.1)!important;width:160px!important}.orgx-datepicker .react-datepicker__time-list{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.orgx-datepicker .react-datepicker__time-list-item{display:flex;min-height:32px;align-items:center;justify-content:center;transition:background-color .12s ease,color .12s ease}.orgx-datepicker .react-datepicker__time-list-item--disabled{color:#f2f7ff47!important}.orgx-datepicker .react-datepicker__day:hover,.orgx-datepicker .react-datepicker__time-list-item:hover{background:#ffffff14!important}.orgx-datepicker .react-datepicker__day--selected,.orgx-datepicker .react-datepicker__day--keyboard-selected,.orgx-datepicker .react-datepicker__time-list-item--selected{background:#bfff0038!important;color:#e1ffb2!important}.orgx-datepicker .react-datepicker__day--in-range,.orgx-datepicker .react-datepicker__day--in-selecting-range{background:#bfff0024!important;color:#f2f7ffe6!important}.orgx-datepicker .react-datepicker__triangle{display:none!important}@media(max-width:640px){.react-datepicker__portal{background:#02040adb!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:12px!important}.react-datepicker__portal .orgx-datepicker{margin:68px auto 0!important}.orgx-datepicker-popper{max-width:calc(100vw - 24px);z-index:420}.orgx-datepicker{display:block!important;width:min(92vw,336px)!important}.orgx-datepicker .react-datepicker__month-container,.orgx-datepicker .react-datepicker__time-container{float:none!important;width:100%!important}.orgx-datepicker .react-datepicker__time-container{border-left:0!important;border-top:1px solid rgba(255,255,255,.1)!important;height:168px!important}.orgx-datepicker .react-datepicker__time-container .react-datepicker__time,.orgx-datepicker .react-datepicker__time-container .react-datepicker__time-box,.orgx-datepicker .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{height:168px!important}.orgx-datepicker .react-datepicker__time-list-item{justify-content:flex-start;padding-left:14px;padding-right:14px}}.status-pill[data-tone=done]:before{background:#14b8a6f2}.status-pill[data-tone=active]{border-color:#bfff0047;background:#bfff001c;color:#dfff9ce6}.status-pill[data-tone=active]:before{background:#bfff00f2}.status-pill[data-tone=blocked]{border-color:#ff6b8847;background:#ff6b881f;color:#ffc3d0e6}.status-pill[data-tone=blocked]:before{background:#ff6b88fa}.status-pill[data-tone=planned]{border-color:#ffffff29;background:#ffffff0f;color:#ecf1ffbd}.status-pill[data-tone=planned]:before{background:#ffffff85}.toolbar-shell{border-radius:14px;border:1px solid rgba(255,255,255,.075);background:linear-gradient(180deg,#ffffff08,#ffffff04),#ffffff04;padding:8px;box-shadow:inset 0 1px #ffffff08}.section-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#ffffff61}.subsection-shell{border:1px solid var(--orgx-border-hairline);border-radius:12px;background:linear-gradient(180deg,#ffffff05,#ffffff02);box-shadow:inset 0 1px #ffffff06}.shimmer-skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite;border-radius:12px}.nextup-skeleton-card{position:relative;overflow:hidden}.nextup-skeleton-card:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;background:linear-gradient(90deg,#bfff0000,#bfff000f 45%,#bfff001a 52%,#bfff000f 58%,#bfff0000);transform:translate(-35%);animation:nextUpSweep 2.8s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen}.card-enter{animation:cardEnter .35s var(--orgx-ease-entrance) both}.popover-enter{animation:popoverEnter .16s var(--orgx-ease-standard) both}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.\!sticky{position:sticky!important}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-x-2\.5{left:.625rem;right:.625rem}.inset-x-3{left:.75rem;right:.75rem}.inset-x-4{left:1rem;right:1rem}.inset-y-0{top:0;bottom:0}.-bottom-0\.5{bottom:-.125rem}.-bottom-1{bottom:-.25rem}.-bottom-\[6px\]{bottom:-6px}.-bottom-px{bottom:-1px}.-left-1{left:-.25rem}.-left-2{left:-.5rem}.-left-\[27px\]{left:-27px}.-left-\[29px\]{left:-29px}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-top-0\.5{top:-.125rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.bottom-0{bottom:0}.bottom-0\.5{bottom:.125rem}.bottom-3{bottom:.75rem}.bottom-6{bottom:1.5rem}.bottom-\[calc\(100\%\+6px\)\]{bottom:calc(100% + 6px)}.bottom-\[calc\(100\%\+8px\)\]{bottom:calc(100% + 8px)}.bottom-full{bottom:100%}.left-0{left:0}.left-0\.5{left:.125rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-\[17px\]{left:17px}.left-\[1px\]{left:1px}.left-\[20px\]{left:20px}.left-\[7px\]{left:7px}.right-0{right:0}.right-2{right:.5rem}.right-2\.5{right:.625rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-2\.5{top:.625rem}.top-3{top:.75rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[60vh\]{top:60vh}.top-\[64px\]{top:64px}.top-\[calc\(100\%\+6px\)\]{top:calc(100% + 6px)}.top-\[calc\(100\%\+8px\)\]{top:calc(100% + 8px)}.top-\[calc\(env\(safe-area-inset-top\)\+72px\)\]{top:calc(env(safe-area-inset-top) + 72px)}.top-full{top:100%}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[180\]{z-index:180}.z-\[1\]{z-index:1}.z-\[240\]{z-index:240}.z-\[24\]{z-index:24}.z-\[250\]{z-index:250}.z-\[260\]{z-index:260}.z-\[280\]{z-index:280}.z-\[2\]{z-index:2}.z-\[320\]{z-index:320}.z-\[330\]{z-index:330}.z-\[340\]{z-index:340}.z-\[420\]{z-index:420}.col-span-2{grid-column:span 2 / span 2}.-mx-0\.5{margin-left:-.125rem;margin-right:-.125rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-7{margin-left:1.75rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.ms-1{margin-inline-start:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-\[1px\]{margin-top:1px}.mt-\[2px\]{margin-top:2px}.mt-\[3px\]{margin-top:3px}.mt-\[5px\]{margin-top:5px}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.list-item{display:list-item}.hidden{display:none}.h-0{height:0px}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1\.5px\]{height:1.5px}.h-\[100dvh\]{height:100dvh}.h-\[14px\]{height:14px}.h-\[15px\]{height:15px}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-\[48px\]{height:48px}.h-\[92px\]{height:92px}.h-\[calc\(100vh-var\(--mc-toolbar-offset\)-24px\)\]{height:calc(100vh - var(--mc-toolbar-offset) - 24px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-0{max-height:0px}.max-h-40{max-height:10rem}.max-h-\[100dvh\]{max-height:100dvh}.max-h-\[150px\]{max-height:150px}.max-h-\[200px\]{max-height:200px}.max-h-\[220px\]{max-height:220px}.max-h-\[240px\]{max-height:240px}.max-h-\[320px\]{max-height:320px}.max-h-\[34\%\]{max-height:34%}.max-h-\[360px\]{max-height:360px}.max-h-\[38vh\]{max-height:38vh}.max-h-\[50\%\]{max-height:50%}.max-h-\[500px\]{max-height:500px}.max-h-\[520px\]{max-height:520px}.max-h-\[52vh\]{max-height:52vh}.max-h-\[58vh\]{max-height:58vh}.max-h-\[65vh\]{max-height:65vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[84px\]{max-height:84px}.max-h-\[calc\(100dvh-104px\)\]{max-height:calc(100dvh - 104px)}.max-h-\[min\(60vh\,480px\)\]{max-height:min(60vh,480px)}.max-h-\[min\(62vh\,560px\)\]{max-height:min(62vh,560px)}.min-h-0{min-height:0px}.min-h-\[160px\]{min-height:160px}.min-h-\[16px\]{min-height:16px}.min-h-\[180px\]{min-height:180px}.min-h-\[20px\]{min-height:20px}.min-h-\[214px\]{min-height:214px}.min-h-\[220px\]{min-height:220px}.min-h-\[240px\]{min-height:240px}.min-h-\[28px\]{min-height:28px}.min-h-\[32px\]{min-height:32px}.min-h-\[34px\]{min-height:34px}.min-h-\[38px\]{min-height:38px}.min-h-\[40px\]{min-height:40px}.min-h-\[44px\]{min-height:44px}.min-h-\[54px\]{min-height:54px}.min-h-\[56px\]{min-height:56px}.min-h-\[60px\]{min-height:60px}.min-h-\[66px\]{min-height:66px}.min-h-\[96px\]{min-height:96px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.666667%}.w-2\/5{width:40%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-36{width:9rem}.w-4{width:1rem}.w-4\/5{width:80%}.w-40{width:10rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[124px\]{width:124px}.w-\[148px\]{width:148px}.w-\[15px\]{width:15px}.w-\[160px\]{width:160px}.w-\[168px\]{width:168px}.w-\[176px\]{width:176px}.w-\[180px\]{width:180px}.w-\[18px\]{width:18px}.w-\[190px\]{width:190px}.w-\[260px\]{width:260px}.w-\[280px\]{width:280px}.w-\[290px\]{width:290px}.w-\[2px\]{width:2px}.w-\[300px\]{width:300px}.w-\[320px\]{width:320px}.w-\[34px\]{width:34px}.w-\[360px\]{width:360px}.w-\[380px\]{width:380px}.w-\[38px\]{width:38px}.w-\[40px\]{width:40px}.w-\[42px\]{width:42px}.w-\[46px\]{width:46px}.w-\[480px\]{width:480px}.w-\[68\%\]{width:68%}.w-\[72px\]{width:72px}.w-\[78\%\]{width:78%}.w-\[80px\]{width:80px}.w-\[82px\]{width:82px}.w-\[92px\]{width:92px}.w-\[calc\(100\%-1rem\)\]{width:calc(100% - 1rem)}.w-\[min\(92vw\,380px\)\]{width:min(92vw,380px)}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[140px\]{min-width:140px}.min-w-\[1464px\]{min-width:1464px}.min-w-\[148px\]{min-width:148px}.min-w-\[14px\]{min-width:14px}.min-w-\[160px\]{min-width:160px}.min-w-\[168px\]{min-width:168px}.min-w-\[16px\]{min-width:16px}.min-w-\[170px\]{min-width:170px}.min-w-\[178px\]{min-width:178px}.min-w-\[180px\]{min-width:180px}.min-w-\[196px\]{min-width:196px}.min-w-\[198px\]{min-width:198px}.min-w-\[20px\]{min-width:20px}.min-w-\[220px\]{min-width:220px}.min-w-\[240px\]{min-width:240px}.min-w-\[28px\]{min-width:28px}.min-w-\[40px\]{min-width:40px}.min-w-\[52px\]{min-width:52px}.min-w-\[76px\]{min-width:76px}.min-w-\[80px\]{min-width:80px}.min-w-\[88px\]{min-width:88px}.min-w-\[92px\]{min-width:92px}.min-w-full{min-width:100%}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[100px\]{max-width:100px}.max-w-\[1120px\]{max-width:1120px}.max-w-\[120px\]{max-width:120px}.max-w-\[132px\]{max-width:132px}.max-w-\[140px\]{max-width:140px}.max-w-\[160px\]{max-width:160px}.max-w-\[180px\]{max-width:180px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[248px\]{max-width:248px}.max-w-\[250px\]{max-width:250px}.max-w-\[320px\]{max-width:320px}.max-w-\[340px\]{max-width:340px}.max-w-\[420px\]{max-width:420px}.max-w-\[520px\]{max-width:520px}.max-w-\[560px\]{max-width:560px}.max-w-\[80\%\]{max-width:80%}.max-w-\[85\%\]{max-width:85%}.max-w-\[85vw\]{max-width:85vw}.max-w-\[86vw\]{max-width:86vw}.max-w-\[88vw\]{max-width:88vw}.max-w-\[90\%\]{max-width:90%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-\[1_1_auto\]{flex:1 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-spacing-y-0{--tw-border-spacing-y: 0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.border-spacing-y-1\.5{--tw-border-spacing-y: .375rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.origin-left{transform-origin:left}.origin-top-right{transform-origin:top right}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-2{--tw-translate-y: .5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[2px\]{--tw-translate-y: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-gpu{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[pulse_1\.4s_ease-in-out_0\.2s_infinite\]{animation:pulse 1.4s ease-in-out .2s infinite}.animate-\[pulse_1\.4s_ease-in-out_0\.4s_infinite\]{animation:pulse 1.4s ease-in-out .4s infinite}.animate-\[pulse_1\.4s_ease-in-out_infinite\]{animation:pulse 1.4s ease-in-out infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.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-\[124px_34px\]{grid-template-columns:124px 34px}.grid-cols-\[86px_1fr\]{grid-template-columns:86px 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-px{gap:1px}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-0\.5{row-gap:.125rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.-space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.375rem * var(--tw-space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-white\/\[0\.06\]>:not([hidden])~:not([hidden]){border-color:#ffffff0f}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overscroll-contain{overscroll-behavior:contain}.overscroll-y-contain{overscroll-behavior-y:contain}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[18px\]{border-radius:18px}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[4px\]{border-radius:4px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-\[22px\]{border-top-left-radius:22px;border-top-right-radius:22px}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.rounded-bl-sm{border-bottom-left-radius:.125rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.\!border-0{border-width:0px!important}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-\[6px\]{border-left-width:6px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0px}.border-r-\[6px\]{border-right-width:6px}.border-t{border-top-width:1px}.border-t-\[6px\]{border-top-width:6px}.border-dashed{border-style:dashed}.\!border-none{border-style:none!important}.border-none{border-style:none}.\!border-transparent{border-color:transparent!important}.border-\[\#08090D\]{--tw-border-opacity: 1;border-color:rgb(8 9 13 / var(--tw-border-opacity, 1))}.border-\[\#0A0E16\]{--tw-border-opacity: 1;border-color:rgb(10 14 22 / var(--tw-border-opacity, 1))}.border-\[\#0AD4C4\]\/20{border-color:#0ad4c433}.border-\[\#0AD4C4\]\/30{border-color:#0ad4c44d}.border-\[\#14B8A6\]\/20{border-color:#14b8a633}.border-\[\#14B8A6\]\/30{border-color:#14b8a64d}.border-\[\#14B8A6\]\/35{border-color:#14b8a659}.border-\[\#14B8A6\]\/\[0\.2\]{border-color:#14b8a633}.border-\[\#7C7CFF\]\/25{border-color:#7c7cff40}.border-\[\#BFFF00\]\/20{border-color:#bfff0033}.border-\[\#BFFF00\]\/30{border-color:#bfff004d}.border-\[\#F5B700\]\/20{border-color:#f5b70033}.border-\[\#F5B700\]\/25{border-color:#f5b70040}.border-\[\#F5B700\]\/30{border-color:#f5b7004d}.border-\[\#FF6B6B\]\/20{border-color:#ff6b6b33}.border-\[\#FF6B88\]\/20{border-color:#ff6b8833}.border-\[--orgx-border\]{border-color:var(--orgx-border)}.border-amber-200\/20{border-color:#fde68a33}.border-amber-200\/25{border-color:#fde68a40}.border-amber-200\/45{border-color:#fde68a73}.border-amber-300\/15{border-color:#fcd34d26}.border-amber-300\/20{border-color:#fcd34d33}.border-amber-300\/25{border-color:#fcd34d40}.border-amber-300\/30{border-color:#fcd34d4d}.border-amber-300\/35{border-color:#fcd34d59}.border-amber-300\/45{border-color:#fcd34d73}.border-amber-300\/70{border-color:#fcd34db3}.border-amber-400\/20{border-color:#fbbf2433}.border-amber-400\/25{border-color:#fbbf2440}.border-amber-400\/30{border-color:#fbbf244d}.border-amber-400\/35{border-color:#fbbf2459}.border-amber-400\/\[0\.3\]{border-color:#fbbf244d}.border-amber-500\/30{border-color:#f59e0b4d}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-black\/35{border-color:#00000059}.border-black\/40{border-color:#0006}.border-current{border-color:currentColor}.border-cyan\/25{border-color:#0ad4c440}.border-emerald-300\/25{border-color:#6ee7b740}.border-emerald-400\/30{border-color:#34d3994d}.border-hairline{border-color:var(--orgx-border-hairline)}.border-lime\/15{border-color:#bfff0026}.border-lime\/20{border-color:#bfff0033}.border-lime\/25{border-color:#bfff0040}.border-lime\/30{border-color:#bfff004d}.border-lime\/35{border-color:#bfff0059}.border-lime\/40{border-color:#bfff0066}.border-lime\/45{border-color:#bfff0073}.border-lime\/60{border-color:#bfff0099}.border-lime\/80{border-color:#bfff00cc}.border-lime\/\[0\.16\]{border-color:#bfff0029}.border-lime\/\[0\.22\]{border-color:#bfff0038}.border-red-300\/20{border-color:#fca5a533}.border-red-300\/25{border-color:#fca5a540}.border-red-300\/35{border-color:#fca5a559}.border-red-400\/20{border-color:#f8717133}.border-red-400\/25{border-color:#f8717140}.border-red-400\/30{border-color:#f871714d}.border-red-400\/35{border-color:#f8717159}.border-red-500\/15{border-color:#ef444426}.border-red-500\/20{border-color:#ef444433}.border-red-500\/25{border-color:#ef444440}.border-red-500\/30{border-color:#ef44444d}.border-rose-200\/30{border-color:#fecdd34d}.border-rose-300\/20{border-color:#fda4af33}.border-rose-300\/25{border-color:#fda4af40}.border-rose-300\/30{border-color:#fda4af4d}.border-rose-400\/20{border-color:#fb718533}.border-rose-400\/30{border-color:#fb71854d}.border-strong{border-color:var(--orgx-border-strong)}.border-subtle{border-color:var(--orgx-border-subtle)}.border-teal\/25{border-color:#14b8a640}.border-teal\/30{border-color:#14b8a64d}.border-teal\/35{border-color:#14b8a659}.border-teal\/45{border-color:#14b8a673}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/20{border-color:#fff3}.border-white\/25{border-color:#ffffff40}.border-white\/\[0\.04\]{border-color:#ffffff0a}.border-white\/\[0\.06\]{border-color:#ffffff0f}.border-white\/\[0\.075\]{border-color:#ffffff13}.border-white\/\[0\.07\]{border-color:#ffffff12}.border-white\/\[0\.08\]{border-color:#ffffff14}.border-white\/\[0\.10\]{border-color:#ffffff1a}.border-white\/\[0\.12\]{border-color:#ffffff1f}.border-white\/\[0\.14\]{border-color:#ffffff24}.border-white\/\[0\.16\]{border-color:#ffffff29}.border-white\/\[0\.18\]{border-color:#ffffff2e}.border-white\/\[0\.1\]{border-color:#ffffff1a}.border-white\/\[0\.24\]{border-color:#ffffff3d}.border-white\/\[0\.2\]{border-color:#fff3}.border-l-red-400\/60{border-left-color:#f8717199}.border-l-transparent{border-left-color:transparent}.border-l-white\/10{border-left-color:#ffffff1a}.border-r-transparent{border-right-color:transparent}.border-t-black{--tw-border-opacity: 1;border-top-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.border-t-white\/\[0\.14\]{border-top-color:#ffffff24}.\!bg-transparent{background-color:transparent!important}.bg-\[\#040912\]{--tw-bg-opacity: 1;background-color:rgb(4 9 18 / var(--tw-bg-opacity, 1))}.bg-\[\#05070d\]\/75{background-color:#05070dbf}.bg-\[\#070a11\]\/95{background-color:#070a11f2}.bg-\[\#070b12\]\/85{background-color:#070b12d9}.bg-\[\#080808\]{--tw-bg-opacity: 1;background-color:rgb(8 8 8 / var(--tw-bg-opacity, 1))}.bg-\[\#08090D\]{--tw-bg-opacity: 1;background-color:rgb(8 9 13 / var(--tw-bg-opacity, 1))}.bg-\[\#08090d\]\/90{background-color:#08090de6}.bg-\[\#080d14\]\/85{background-color:#080d14d9}.bg-\[\#080d14\]\/95{background-color:#080d14f2}.bg-\[\#090d16\]\/90{background-color:#090d16e6}.bg-\[\#0A0D14\]\/95{background-color:#0a0d14f2}.bg-\[\#0A0E16\]{--tw-bg-opacity: 1;background-color:rgb(10 14 22 / var(--tw-bg-opacity, 1))}.bg-\[\#0A0E16\]\/80{background-color:#0a0e16cc}.bg-\[\#0A0E16\]\/90{background-color:#0a0e16e6}.bg-\[\#0A0E16\]\/95{background-color:#0a0e16f2}.bg-\[\#0A1012\]\/95{background-color:#0a1012f2}.bg-\[\#0A1210\]\/95{background-color:#0a1210f2}.bg-\[\#0AD4C4\]{--tw-bg-opacity: 1;background-color:rgb(10 212 196 / var(--tw-bg-opacity, 1))}.bg-\[\#0AD4C4\]\/10{background-color:#0ad4c41a}.bg-\[\#0AD4C4\]\/20{background-color:#0ad4c433}.bg-\[\#0AD4C4\]\/\[0\.04\]{background-color:#0ad4c40a}.bg-\[\#0AD4C4\]\/\[0\.08\]{background-color:#0ad4c414}.bg-\[\#0B0F16\]\/95{background-color:#0b0f16f2}.bg-\[\#0C0E14\]\/95{background-color:#0c0e14f2}.bg-\[\#0E0F11\]{--tw-bg-opacity: 1;background-color:rgb(14 15 17 / var(--tw-bg-opacity, 1))}.bg-\[\#0E0F11\]\/95{background-color:#0e0f11f2}.bg-\[\#0c1322\]{--tw-bg-opacity: 1;background-color:rgb(12 19 34 / var(--tw-bg-opacity, 1))}.bg-\[\#0d0f16\]{--tw-bg-opacity: 1;background-color:rgb(13 15 22 / var(--tw-bg-opacity, 1))}.bg-\[\#120A0A\]\/95{background-color:#120a0af2}.bg-\[\#12100A\]\/95{background-color:#12100af2}.bg-\[\#14B8A6\]{--tw-bg-opacity: 1;background-color:rgb(20 184 166 / var(--tw-bg-opacity, 1))}.bg-\[\#14B8A6\]\/10{background-color:#14b8a61a}.bg-\[\#14B8A6\]\/\[0\.06\]{background-color:#14b8a60f}.bg-\[\#14B8A6\]\/\[0\.08\]{background-color:#14b8a614}.bg-\[\#14B8A6\]\/\[0\.12\]{background-color:#14b8a61f}.bg-\[\#7C7CFF\]\/10{background-color:#7c7cff1a}.bg-\[\#7dd3c0\]\/70{background-color:#7dd3c0b3}.bg-\[\#BFFF00\]\/10{background-color:#bfff001a}.bg-\[\#F5B700\]{--tw-bg-opacity: 1;background-color:rgb(245 183 0 / var(--tw-bg-opacity, 1))}.bg-\[\#F5B700\]\/10{background-color:#f5b7001a}.bg-\[\#F5B700\]\/\[0\.04\]{background-color:#f5b7000a}.bg-\[\#F5B700\]\/\[0\.08\]{background-color:#f5b70014}.bg-\[\#F5B700\]\/\[0\.12\]{background-color:#f5b7001f}.bg-\[\#FF6B6B\]{--tw-bg-opacity: 1;background-color:rgb(255 107 107 / var(--tw-bg-opacity, 1))}.bg-\[\#FF6B6B\]\/\[0\.04\]{background-color:#ff6b6b0a}.bg-\[\#FF6B88\]\/10{background-color:#ff6b881a}.bg-\[--orgx-surface-elevated\]{background-color:var(--orgx-surface-elevated)}.bg-\[--orgx-surface\]{background-color:var(--orgx-surface)}.bg-amber-200\/10{background-color:#fde68a1a}.bg-amber-200\/15{background-color:#fde68a26}.bg-amber-200\/80{background-color:#fde68acc}.bg-amber-300{--tw-bg-opacity: 1;background-color:rgb(252 211 77 / var(--tw-bg-opacity, 1))}.bg-amber-300\/10{background-color:#fcd34d1a}.bg-amber-300\/60{background-color:#fcd34d99}.bg-amber-300\/90{background-color:#fcd34de6}.bg-amber-300\/\[0\.08\]{background-color:#fcd34d14}.bg-amber-300\/\[0\.10\]{background-color:#fcd34d1a}.bg-amber-300\/\[0\.12\]{background-color:#fcd34d1f}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-400\/10{background-color:#fbbf241a}.bg-amber-400\/70{background-color:#fbbf24b3}.bg-amber-400\/\[0\.05\]{background-color:#fbbf240d}.bg-amber-400\/\[0\.08\]{background-color:#fbbf2414}.bg-amber-400\/\[0\.10\]{background-color:#fbbf241a}.bg-amber-400\/\[0\.12\]{background-color:#fbbf241f}.bg-amber-400\/\[0\.16\]{background-color:#fbbf2429}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/\[0\.06\]{background-color:#f59e0b0f}.bg-amber-500\/\[0\.08\]{background-color:#f59e0b14}.bg-amber-500\/\[0\.09\]{background-color:#f59e0b17}.bg-amber-500\/\[0\.12\]{background-color:#f59e0b1f}.bg-amber-500\/\[0\.14\]{background-color:#f59e0b24}.bg-amber-500\/\[0\.1\]{background-color:#f59e0b1a}.bg-black\/15{background-color:#00000026}.bg-black\/20{background-color:#0003}.bg-black\/25{background-color:#00000040}.bg-black\/30{background-color:#0000004d}.bg-black\/35{background-color:#00000059}.bg-black\/40{background-color:#0006}.bg-black\/45{background-color:#00000073}.bg-black\/50{background-color:#00000080}.bg-black\/55{background-color:#0000008c}.bg-black\/60{background-color:#0009}.bg-black\/80{background-color:#000c}.bg-black\/\[0\.14\]{background-color:#00000024}.bg-black\/\[0\.18\]{background-color:#0000002e}.bg-current{background-color:currentColor}.bg-cyan\/\[0\.08\]{background-color:#0ad4c414}.bg-emerald-300\/90{background-color:#6ee7b7e6}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-emerald-400\/10{background-color:#34d3991a}.bg-emerald-400\/\[0\.08\]{background-color:#34d39914}.bg-emerald-500\/\[0\.1\]{background-color:#10b9811a}.bg-lime{--tw-bg-opacity: 1;background-color:rgb(191 255 0 / var(--tw-bg-opacity, 1))}.bg-lime\/10{background-color:#bfff001a}.bg-lime\/15{background-color:#bfff0026}.bg-lime\/30{background-color:#bfff004d}.bg-lime\/50{background-color:#bfff0080}.bg-lime\/60{background-color:#bfff0099}.bg-lime\/70{background-color:#bfff00b3}.bg-lime\/80{background-color:#bfff00cc}.bg-lime\/\[0\.04\]{background-color:#bfff000a}.bg-lime\/\[0\.05\]{background-color:#bfff000d}.bg-lime\/\[0\.06\]{background-color:#bfff000f}.bg-lime\/\[0\.07\]{background-color:#bfff0012}.bg-lime\/\[0\.08\]{background-color:#bfff0014}.bg-lime\/\[0\.10\]{background-color:#bfff001a}.bg-lime\/\[0\.12\]{background-color:#bfff001f}.bg-lime\/\[0\.14\]{background-color:#bfff0024}.bg-lime\/\[0\.15\]{background-color:#bfff0026}.bg-lime\/\[0\.18\]{background-color:#bfff002e}.bg-lime\/\[0\.1\]{background-color:#bfff001a}.bg-lime\/\[0\.20\]{background-color:#bfff0033}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.bg-red-400\/80{background-color:#f87171cc}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/15{background-color:#ef444426}.bg-red-500\/\[0\.04\]{background-color:#ef44440a}.bg-red-500\/\[0\.06\]{background-color:#ef44440f}.bg-red-500\/\[0\.08\]{background-color:#ef444414}.bg-red-500\/\[0\.09\]{background-color:#ef444417}.bg-red-500\/\[0\.10\]{background-color:#ef44441a}.bg-red-500\/\[0\.12\]{background-color:#ef44441f}.bg-red-500\/\[0\.14\]{background-color:#ef444424}.bg-red-500\/\[0\.1\]{background-color:#ef44441a}.bg-rose-400\/10{background-color:#fb71851a}.bg-rose-400\/\[0\.08\]{background-color:#fb718514}.bg-rose-400\/\[0\.12\]{background-color:#fb71851f}.bg-rose-400\/\[0\.1\]{background-color:#fb71851a}.bg-rose-500\/\[0\.12\]{background-color:#f43f5e1f}.bg-teal\/10{background-color:#14b8a61a}.bg-teal\/\[0\.08\]{background-color:#14b8a614}.bg-teal\/\[0\.10\]{background-color:#14b8a61a}.bg-teal\/\[0\.12\]{background-color:#14b8a61f}.bg-teal\/\[0\.16\]{background-color:#14b8a629}.bg-teal\/\[0\.1\]{background-color:#14b8a61a}.bg-transparent{background-color:transparent}.bg-white\/15{background-color:#ffffff26}.bg-white\/30{background-color:#ffffff4d}.bg-white\/35{background-color:#ffffff59}.bg-white\/40{background-color:#fff6}.bg-white\/5{background-color:#ffffff0d}.bg-white\/50{background-color:#ffffff80}.bg-white\/70{background-color:#ffffffb3}.bg-white\/\[0\.015\],.bg-white\/\[0\.016\]{background-color:#ffffff04}.bg-white\/\[0\.01\]{background-color:#ffffff03}.bg-white\/\[0\.025\]{background-color:#ffffff06}.bg-white\/\[0\.02\]{background-color:#ffffff05}.bg-white\/\[0\.03\]{background-color:#ffffff08}.bg-white\/\[0\.04\]{background-color:#ffffff0a}.bg-white\/\[0\.05\]{background-color:#ffffff0d}.bg-white\/\[0\.06\]{background-color:#ffffff0f}.bg-white\/\[0\.08\]{background-color:#ffffff14}.bg-white\/\[0\.09\]{background-color:#ffffff17}.bg-white\/\[0\.10\]{background-color:#ffffff1a}.bg-white\/\[0\.12\]{background-color:#ffffff1f}.bg-white\/\[0\.14\]{background-color:#ffffff24}.bg-white\/\[0\.16\]{background-color:#ffffff29}.bg-white\/\[0\.1\]{background-color:#ffffff1a}.bg-white\/\[0\.2\]{background-color:#fff3}.bg-\[linear-gradient\(150deg\,rgba\(20\,184\,166\,0\.15\)\,rgba\(2\,4\,10\,0\.7\)_42\%\,rgba\(2\,4\,10\,0\.95\)\)\]{background-image:linear-gradient(150deg,#14b8a626,#02040ab3 42%,#02040af2)}.bg-\[linear-gradient\(180deg\,rgba\(255\,255\,255\,0\.03\)\,rgba\(255\,255\,255\,0\)\)\]{background-image:linear-gradient(180deg,#ffffff08,#fff0)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-\[\#02040A\]{--tw-gradient-from: #02040A var(--tw-gradient-from-position);--tw-gradient-to: rgb(2 4 10 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#0A0E16\]\/80{--tw-gradient-from: rgb(10 14 22 / .8) var(--tw-gradient-from-position);--tw-gradient-to: rgb(10 14 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#BFFF00\]\/0{--tw-gradient-from: rgb(191 255 0 / 0) var(--tw-gradient-from-position);--tw-gradient-to: rgb(191 255 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-300\/0{--tw-gradient-from: rgb(252 211 77 / 0) var(--tw-gradient-from-position);--tw-gradient-to: rgb(252 211 77 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-lime\/0{--tw-gradient-from: rgb(191 255 0 / 0) var(--tw-gradient-from-position);--tw-gradient-to: rgb(191 255 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-lime\/10{--tw-gradient-from: rgb(191 255 0 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(191 255 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-300\/0{--tw-gradient-from: rgb(252 165 165 / 0) var(--tw-gradient-from-position);--tw-gradient-to: rgb(252 165 165 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white\/0{--tw-gradient-from: rgb(255 255 255 / 0) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[\#BFFF00\]\/70{--tw-gradient-to: rgb(191 255 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(191 255 0 / .7) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-amber-300\/55{--tw-gradient-to: rgb(252 211 77 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(252 211 77 / .55) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-amber-300\/65{--tw-gradient-to: rgb(252 211 77 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(252 211 77 / .65) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-cyan\/5{--tw-gradient-to: rgb(10 212 196 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(10 212 196 / .05) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-lime\/70{--tw-gradient-to: rgb(191 255 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(191 255 0 / .7) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-red-300\/65{--tw-gradient-to: rgb(252 165 165 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(252 165 165 / .65) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/35{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .35) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/45{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .45) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/50{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .5) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/\[0\.06\]{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .06) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-\[\#BFFF00\]\/0{--tw-gradient-to: rgb(191 255 0 / 0) var(--tw-gradient-to-position)}.to-amber-300\/0{--tw-gradient-to: rgb(252 211 77 / 0) var(--tw-gradient-to-position)}.to-lime\/0{--tw-gradient-to: rgb(191 255 0 / 0) var(--tw-gradient-to-position)}.to-red-300\/0{--tw-gradient-to: rgb(252 165 165 / 0) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-white\/0{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[0\.5px\]{padding-top:.5px;padding-bottom:.5px}.py-px{padding-top:1px;padding-bottom:1px}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pb-\[92px\]{padding-bottom:92px}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pl-\[3px\]{padding-left:3px}.pr-0\.5{padding-right:.125rem}.pr-1{padding-right:.25rem}.pr-1\.5{padding-right:.375rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-8{padding-right:2rem}.pr-9{padding-right:2.25rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-3{padding-top:.75rem}.pt-3\.5{padding-top:.875rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace}.font-sans{font-family:Geist,system-ui,-apple-system,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.93em\]{font-size:.93em}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[18px\]{font-size:18px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[30px\]{font-size:30px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-body{font-size:13px;line-height:20px}.text-caption{font-size:11px;line-height:16px}.text-display{font-size:28px;line-height:34px;letter-spacing:-.02em}.text-heading{font-size:15px;line-height:22px}.text-micro{font-size:10px;line-height:14px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-title{font-size:20px;line-height:28px}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-4{line-height:1rem}.leading-\[1\.08\]{line-height:1.08}.leading-\[1\.2\]{line-height:1.2}.leading-\[22px\]{line-height:22px}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-\[-0\.03em\]{letter-spacing:-.03em}.tracking-\[0\.01em\]{letter-spacing:.01em}.tracking-\[0\.02em\]{letter-spacing:.02em}.tracking-\[0\.05em\]{letter-spacing:.05em}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.09em\]{letter-spacing:.09em}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.\!text-white\/90{color:#ffffffe6!important}.text-\[\#0A0E16\]{--tw-text-opacity: 1;color:rgb(10 14 22 / var(--tw-text-opacity, 1))}.text-\[\#0AD4C4\]{--tw-text-opacity: 1;color:rgb(10 212 196 / var(--tw-text-opacity, 1))}.text-\[\#0AD4C4\]\/70{color:#0ad4c4b3}.text-\[\#14B8A6\]{--tw-text-opacity: 1;color:rgb(20 184 166 / var(--tw-text-opacity, 1))}.text-\[\#43E7D8\]{--tw-text-opacity: 1;color:rgb(67 231 216 / var(--tw-text-opacity, 1))}.text-\[\#7AEDE5\]{--tw-text-opacity: 1;color:rgb(122 237 229 / var(--tw-text-opacity, 1))}.text-\[\#7AEDE5\]\/60{color:#7aede599}.text-\[\#7EEDE1\]{--tw-text-opacity: 1;color:rgb(126 237 225 / var(--tw-text-opacity, 1))}.text-\[\#7ce0d3\]{--tw-text-opacity: 1;color:rgb(124 224 211 / var(--tw-text-opacity, 1))}.text-\[\#87FFE9\]{--tw-text-opacity: 1;color:rgb(135 255 233 / var(--tw-text-opacity, 1))}.text-\[\#8FF7EC\]{--tw-text-opacity: 1;color:rgb(143 247 236 / var(--tw-text-opacity, 1))}.text-\[\#98FFF5\]{--tw-text-opacity: 1;color:rgb(152 255 245 / var(--tw-text-opacity, 1))}.text-\[\#A8A0FF\]{--tw-text-opacity: 1;color:rgb(168 160 255 / var(--tw-text-opacity, 1))}.text-\[\#A9FFF3\]{--tw-text-opacity: 1;color:rgb(169 255 243 / var(--tw-text-opacity, 1))}.text-\[\#BFFF00\]{--tw-text-opacity: 1;color:rgb(191 255 0 / var(--tw-text-opacity, 1))}.text-\[\#CFCBFF\]{--tw-text-opacity: 1;color:rgb(207 203 255 / var(--tw-text-opacity, 1))}.text-\[\#CFF8F3\]{--tw-text-opacity: 1;color:rgb(207 248 243 / var(--tw-text-opacity, 1))}.text-\[\#D8FFA1\]{--tw-text-opacity: 1;color:rgb(216 255 161 / var(--tw-text-opacity, 1))}.text-\[\#DFFFB5\]{--tw-text-opacity: 1;color:rgb(223 255 181 / var(--tw-text-opacity, 1))}.text-\[\#E1FFB2\]{--tw-text-opacity: 1;color:rgb(225 255 178 / var(--tw-text-opacity, 1))}.text-\[\#E1FFB2\]\/80{color:#e1ffb2cc}.text-\[\#E3FFAE\]{--tw-text-opacity: 1;color:rgb(227 255 174 / var(--tw-text-opacity, 1))}.text-\[\#E4FFAD\]{--tw-text-opacity: 1;color:rgb(228 255 173 / var(--tw-text-opacity, 1))}.text-\[\#E6E4FF\]{--tw-text-opacity: 1;color:rgb(230 228 255 / var(--tw-text-opacity, 1))}.text-\[\#F5B700\]{--tw-text-opacity: 1;color:rgb(245 183 0 / var(--tw-text-opacity, 1))}.text-\[\#F5B700\]\/90{color:#f5b700e6}.text-\[\#F5D37A\]{--tw-text-opacity: 1;color:rgb(245 211 122 / var(--tw-text-opacity, 1))}.text-\[\#FF6B88\]{--tw-text-opacity: 1;color:rgb(255 107 136 / var(--tw-text-opacity, 1))}.text-\[\#FF6B88\]\/70{color:#ff6b88b3}.text-\[\#FFA8A8\]{--tw-text-opacity: 1;color:rgb(255 168 168 / var(--tw-text-opacity, 1))}.text-\[\#FFE7A8\]{--tw-text-opacity: 1;color:rgb(255 231 168 / var(--tw-text-opacity, 1))}.text-amber-100{--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity, 1))}.text-amber-100\/60{color:#fef3c799}.text-amber-100\/70{color:#fef3c7b3}.text-amber-100\/75{color:#fef3c7bf}.text-amber-100\/80{color:#fef3c7cc}.text-amber-100\/85{color:#fef3c7d9}.text-amber-100\/90{color:#fef3c7e6}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.text-amber-200\/65{color:#fde68aa6}.text-amber-200\/70{color:#fde68ab3}.text-amber-200\/80{color:#fde68acc}.text-amber-200\/85{color:#fde68ad9}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-50{--tw-text-opacity: 1;color:rgb(255 251 235 / var(--tw-text-opacity, 1))}.text-amber-50\/90{color:#fffbebe6}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-bright{color:var(--orgx-text-bright)}.text-current{color:currentColor}.text-emerald-100{--tw-text-opacity: 1;color:rgb(209 250 229 / var(--tw-text-opacity, 1))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.text-faint{color:var(--orgx-text-faint)}.text-lime{--tw-text-opacity: 1;color:rgb(191 255 0 / var(--tw-text-opacity, 1))}.text-lime\/60{color:#bfff0099}.text-lime\/70{color:#bfff00b3}.text-lime\/75{color:#bfff00bf}.text-lime\/80{color:#bfff00cc}.text-lime\/85{color:#bfff00d9}.text-lime\/95{color:#bfff00f2}.text-muted{color:var(--orgx-text-muted)}.text-primary{color:var(--orgx-text-primary)}.text-red-100{--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity, 1))}.text-red-100\/75{color:#fee2e2bf}.text-red-100\/80{color:#fee2e2cc}.text-red-100\/85{color:#fee2e2d9}.text-red-100\/90{color:#fee2e2e6}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.text-red-200\/60{color:#fecaca99}.text-red-200\/65{color:#fecacaa6}.text-red-200\/70{color:#fecacab3}.text-red-200\/75{color:#fecacabf}.text-red-200\/80{color:#fecacacc}.text-red-200\/85{color:#fecacad9}.text-red-200\/90{color:#fecacae6}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-300\/70{color:#fca5a5b3}.text-red-300\/80{color:#fca5a5cc}.text-red-300\/90{color:#fca5a5e6}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-400\/70{color:#f87171b3}.text-red-50\/95{color:#fef2f2f2}.text-rose-100{--tw-text-opacity: 1;color:rgb(255 228 230 / var(--tw-text-opacity, 1))}.text-rose-100\/80{color:#ffe4e6cc}.text-rose-100\/85{color:#ffe4e6d9}.text-rose-200{--tw-text-opacity: 1;color:rgb(254 205 211 / var(--tw-text-opacity, 1))}.text-rose-200\/70{color:#fecdd3b3}.text-rose-50\/85{color:#fff1f2d9}.text-secondary{color:var(--orgx-text-secondary)}.text-teal{--tw-text-opacity: 1;color:rgb(20 184 166 / var(--tw-text-opacity, 1))}.text-violet-200{--tw-text-opacity: 1;color:rgb(221 214 254 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/20{color:#fff3}.text-white\/25{color:#ffffff40}.text-white\/30{color:#ffffff4d}.text-white\/35{color:#ffffff59}.text-white\/40{color:#fff6}.text-white\/45{color:#ffffff73}.text-white\/50{color:#ffffff80}.text-white\/55{color:#ffffff8c}.text-white\/60{color:#fff9}.text-white\/65{color:#ffffffa6}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.text-white\/\[0\.15\]{color:#ffffff26}.text-white\/\[0\.2\]{color:#fff3}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.\!no-underline{text-decoration-line:none!important}.decoration-white\/10{text-decoration-color:#ffffff1a}.decoration-white\/20{text-decoration-color:#fff3}.decoration-white\/35{text-decoration-color:#ffffff59}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-white\/30::-moz-placeholder{color:#ffffff4d}.placeholder-white\/30::placeholder{color:#ffffff4d}.accent-\[\#0AD4C4\]{accent-color:#0AD4C4}.accent-lime{accent-color:#BFFF00}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-90{opacity:.9}.opacity-95{opacity:.95}.\!shadow-none{--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_-12px_40px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow: 0 -12px 40px rgba(0,0,0,.4);--tw-shadow-colored: 0 -12px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(191\,255\,0\,0\.12\)\]{--tw-shadow: 0 0 0 1px rgba(191,255,0,.12);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(191\,255\,0\,0\.2\)\]{--tw-shadow: 0 0 10px rgba(191,255,0,.2);--tw-shadow-colored: 0 0 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(191\,255\,0\,0\.25\)\]{--tw-shadow: 0 0 12px rgba(191,255,0,.25);--tw-shadow-colored: 0 0 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_24px_rgba\(191\,255\,0\,0\.12\)\]{--tw-shadow: 0 0 24px rgba(191,255,0,.12);--tw-shadow-colored: 0 0 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(191\,255\,0\,0\.15\)\]{--tw-shadow: 0 0 8px rgba(191,255,0,.15);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(191\,255\,0\,0\.4\)\]{--tw-shadow: 0 0 8px rgba(191,255,0,.4);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.22\)\]{--tw-shadow: 0 10px 24px rgba(0,0,0,.22);--tw-shadow-colored: 0 10px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_10px_30px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow: 0 10px 30px rgba(0,0,0,.35);--tw-shadow-colored: 0 10px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_40px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow: 0 12px 40px rgba(0,0,0,.45);--tw-shadow-colored: 0 12px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_32px_rgba\(0\,0\,0\,0\.38\)\]{--tw-shadow: 0 16px 32px rgba(0,0,0,.38);--tw-shadow-colored: 0 16px 32px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_36px_rgba\(0\,0\,0\,0\.42\)\]{--tw-shadow: 0 16px 36px rgba(0,0,0,.42);--tw-shadow-colored: 0 16px 36px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_40px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow: 0 16px 40px rgba(0,0,0,.45);--tw-shadow-colored: 0 16px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_40px_rgba\(0\,0\,0\,0\.46\)\]{--tw-shadow: 0 16px 40px rgba(0,0,0,.46);--tw-shadow-colored: 0 16px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_48px_rgba\(0\,0\,0\,0\.5\)\,0_0_0_1px_rgba\(255\,255\,255\,0\.04\)\]{--tw-shadow: 0 16px 48px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.04);--tw-shadow-colored: 0 16px 48px var(--tw-shadow-color), 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_40px_rgba\(0\,0\,0\,0\.42\)\]{--tw-shadow: 0 18px 40px rgba(0,0,0,.42);--tw-shadow-colored: 0 18px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_42px_rgba\(0\,0\,0\,0\.46\)\]{--tw-shadow: 0 18px 42px rgba(0,0,0,.46);--tw-shadow-colored: 0 18px 42px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_20px_40px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow: 0 20px 40px rgba(0,0,0,.45);--tw-shadow-colored: 0 20px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_20px_44px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow: 0 20px 44px rgba(0,0,0,.45);--tw-shadow-colored: 0 20px 44px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_20px_50px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow: 0 20px 50px rgba(0,0,0,.45);--tw-shadow-colored: 0 20px 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_20px_50px_rgba\(0\,0\,0\,0\.52\)\]{--tw-shadow: 0 20px 50px rgba(0,0,0,.52);--tw-shadow-colored: 0 20px 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_24px_60px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow: 0 24px 60px rgba(0,0,0,.5);--tw-shadow-colored: 0 24px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_2px_8px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow: 0 2px 8px rgba(0,0,0,.35);--tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_18px_rgba\(0\,0\,0\,0\.24\)\]{--tw-shadow: 0 8px 18px rgba(0,0,0,.24);--tw-shadow-colored: 0 8px 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_20px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow: 0 8px 20px rgba(0,0,0,.3);--tw-shadow-colored: 0 8px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_32px_rgba\(0\,0\,0\,0\.4\)\,inset_0_1px_0_rgba\(255\,255\,255\,0\.05\)\]{--tw-shadow: 0 8px 32px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.05);--tw-shadow-colored: 0 8px 32px var(--tw-shadow-color), inset 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[12px_0_40px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow: 12px 0 40px rgba(0,0,0,.4);--tw-shadow-colored: 12px 0 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.035\)\,0_14px_34px_rgba\(0\,0\,0\,0\.36\)\]{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.035),0 14px 34px rgba(0,0,0,.36);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), 0 14px 34px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-\[\#02040A\]{--tw-ring-opacity: 1;--tw-ring-color: rgb(2 4 10 / var(--tw-ring-opacity, 1))}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity, 1))}.ring-lime\/20{--tw-ring-color: rgb(191 255 0 / .2)}.ring-lime\/30{--tw-ring-color: rgb(191 255 0 / .3)}.ring-lime\/40{--tw-ring-color: rgb(191 255 0 / .4)}.ring-lime\/50{--tw-ring-color: rgb(191 255 0 / .5)}.ring-lime\/60{--tw-ring-color: rgb(191 255 0 / .6)}.ring-teal\/40{--tw-ring-color: rgb(20 184 166 / .4)}.ring-white\/\[0\.12\]{--tw-ring-color: rgb(255 255 255 / .12)}.ring-offset-1{--tw-ring-offset-width: 1px}.ring-offset-\[\#0A0E16\]{--tw-ring-offset-color: #0A0E16}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-2xl{--tw-backdrop-blur: blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[10px\]{--tw-backdrop-blur: blur(10px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[12px\],.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[background-color\,border-color\,box-shadow\,opacity\]{transition-property:background-color,border-color,box-shadow,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[background-color\,border-radius\,box-shadow\]{transition-property:background-color,border-radius,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[border-color\]{transition-property:border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[opacity\,transform\,background-color\,border-color\,color\]{transition-property:opacity,transform,background-color,border-color,color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[padding\,min-height\]{transition-property:padding,min-height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[transform\,background-color\,border-color\,color\]{transition-property:transform,background-color,border-color,color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-0{transition-duration:0s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.duration-\[120ms\]{transition-duration:.12s}.duration-\[60ms\]{transition-duration:60ms}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.cv-auto{content-visibility:auto;contain-intrinsic-size:120px 1px}.\[scrollbar-width\:none\]{scrollbar-width:none}:root{color-scheme:dark;--orgx-bg: #02040a;--orgx-surface: #08090d;--orgx-surface-elevated: #0c0e14;--orgx-surface-hero: #121824;--orgx-border: rgba(255, 255, 255, .08);--orgx-border-strong: rgba(255, 255, 255, .12);--orgx-border-subtle: rgba(255, 255, 255, .05);--orgx-border-hairline: rgba(255, 255, 255, .035);--orgx-text: #f2f7ff;--orgx-text-muted: #8f9ab7;--orgx-lime: #bfff00;--orgx-teal: #14b8a6;--orgx-cyan: #0ad4c4;--orgx-text-bright: rgba(242, 247, 255, .95);--orgx-text-primary: rgba(242, 247, 255, .78);--orgx-text-secondary: rgba(242, 247, 255, .55);--orgx-text-muted: rgba(242, 247, 255, .38);--orgx-text-faint: rgba(242, 247, 255, .22);--orgx-ease-standard: cubic-bezier(.22, 1, .36, 1);--orgx-ease-entrance: cubic-bezier(.16, 1, .3, 1)}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:999px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseSoft{0%,to{opacity:.5}50%{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes nextUpSweep{0%{transform:translate(-35%);opacity:0}12%{opacity:1}to{transform:translate(135%);opacity:0}}@keyframes drawIn{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes stepEntrance{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popoverEnter{0%{opacity:0;transform:scale(.95) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{0%,to{opacity:.85}50%{opacity:1}}.status-breathe{animation:breathe 6s ease-in-out infinite}.section-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.075) 20%,rgba(255,255,255,.075) 80%,transparent)}@keyframes livePulse{0%,to{box-shadow:0 0 #bfff0000}50%{box-shadow:0 0 8px 2px #bfff0040}}@keyframes undoCountdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes successGlow{0%{box-shadow:0 0 #bfff0066}50%{box-shadow:0 0 12px 4px #bfff0026}to{box-shadow:0 0 #bfff0000}}@keyframes selfHealProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes swipeApproveFlash{0%{background-color:#bfff0000}40%{background-color:#bfff001f}to{background-color:#bfff0000}}.live-pulse{animation:livePulse 2.4s ease-in-out infinite}.success-glow{animation:successGlow .6s var(--orgx-ease-standard) both}@keyframes autopilotActivate{0%{transform:scale(1);box-shadow:0 0 #0ad4c400}50%{transform:scale(1.08);box-shadow:0 0 16px 4px #0ad4c440}to{transform:scale(1);box-shadow:0 0 #0ad4c400}}@keyframes autopilotRailPulse{0%,to{opacity:.92}50%{opacity:1}}.autopilot-activate{animation:autopilotActivate .6s var(--orgx-ease-standard) both}.autopilot-rail-pulse{animation:autopilotRailPulse 4s ease-in-out infinite}.autopilot-rail{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#0ad4c414,#0ad4c408);border:1px solid rgba(10,212,196,.2)}.autopilot-rail[data-state=blocked],.autopilot-rail[data-state=error]{background:linear-gradient(135deg,#ff6b6b14,#ff6b6b08);border-color:#ff6b6b33}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 2px var(--agent-glow-color, rgba(34, 197, 94, .2))}50%{box-shadow:0 0 8px 3px var(--agent-glow-color, rgba(34, 197, 94, .2))}}.agent-glow-ring{animation:pulseGlow 2.4s ease-in-out infinite}.shimmer-on-complete{position:relative;overflow:hidden}.shimmer-on-complete:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);background-size:200% 100%;animation:shimmer .6s ease-out 1;pointer-events:none}@media(hover:none){.touch-device\:opacity-60{opacity:.6}.touch-device\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.placeholder\:text-faint::-moz-placeholder{color:var(--orgx-text-faint)}.placeholder\:text-faint::placeholder{color:var(--orgx-text-faint)}.placeholder\:text-muted::-moz-placeholder{color:var(--orgx-text-muted)}.placeholder\:text-muted::placeholder{color:var(--orgx-text-muted)}.placeholder\:text-secondary::-moz-placeholder{color:var(--orgx-text-secondary)}.placeholder\:text-secondary::placeholder{color:var(--orgx-text-secondary)}.placeholder\:text-white\/25::-moz-placeholder{color:#ffffff40}.placeholder\:text-white\/25::placeholder{color:#ffffff40}.first\:mt-0:first-child{margin-top:0}.first\:border-t-0:first-child{border-top-width:0px}.first\:pt-0:first-child{padding-top:0}.focus-within\:border-lime\/40:focus-within{border-color:#bfff0066}.hover\:-translate-y-\[1px\]:hover{--tw-translate-y: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[\#F5B700\]\/40:hover{border-color:#f5b70066}.hover\:border-red-400\/30:hover{border-color:#f871714d}.hover\:border-strong:hover{border-color:var(--orgx-border-strong)}.hover\:border-subtle:hover{border-color:var(--orgx-border-subtle)}.hover\:border-white\/30:hover{border-color:#ffffff4d}.hover\:border-white\/\[0\.14\]:hover{border-color:#ffffff24}.hover\:border-white\/\[0\.15\]:hover{border-color:#ffffff26}.hover\:border-white\/\[0\.16\]:hover{border-color:#ffffff29}.hover\:border-white\/\[0\.18\]:hover{border-color:#ffffff2e}.hover\:border-white\/\[0\.22\]:hover{border-color:#ffffff38}.hover\:border-white\/\[0\.2\]:hover{border-color:#fff3}.hover\:bg-\[\#0A0E16\]:hover{--tw-bg-opacity: 1;background-color:rgb(10 14 22 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#0AD4C4\]\/30:hover{background-color:#0ad4c44d}.hover\:bg-\[\#0AD4C4\]\/\[0\.08\]:hover{background-color:#0ad4c414}.hover\:bg-\[\#F5B700\]\/\[0\.14\]:hover{background-color:#f5b70024}.hover\:bg-\[\#FF6B6B\]\/20:hover{background-color:#ff6b6b33}.hover\:bg-\[\#FF6B88\]\/20:hover{background-color:#ff6b8833}.hover\:bg-\[\#FF6B88\]\/\[0\.08\]:hover{background-color:#ff6b8814}.hover\:bg-\[\#d3ff42\]:hover{--tw-bg-opacity: 1;background-color:rgb(211 255 66 / var(--tw-bg-opacity, 1))}.hover\:bg-amber-200\/15:hover{background-color:#fde68a26}.hover\:bg-amber-200\/20:hover{background-color:#fde68a33}.hover\:bg-amber-400\/\[0\.16\]:hover{background-color:#fbbf2429}.hover\:bg-amber-500\/\[0\.18\]:hover{background-color:#f59e0b2e}.hover\:bg-amber-500\/\[0\.2\]:hover{background-color:#f59e0b33}.hover\:bg-black\/35:hover{background-color:#00000059}.hover\:bg-lime\/20:hover{background-color:#bfff0033}.hover\:bg-lime\/25:hover{background-color:#bfff0040}.hover\:bg-lime\/\[0\.08\]:hover{background-color:#bfff0014}.hover\:bg-lime\/\[0\.10\]:hover{background-color:#bfff001a}.hover\:bg-lime\/\[0\.16\]:hover{background-color:#bfff0029}.hover\:bg-lime\/\[0\.18\]:hover{background-color:#bfff002e}.hover\:bg-lime\/\[0\.1\]:hover{background-color:#bfff001a}.hover\:bg-lime\/\[0\.2\]:hover{background-color:#bfff0033}.hover\:bg-red-400\/\[0\.08\]:hover{background-color:#f8717114}.hover\:bg-red-500\/15:hover{background-color:#ef444426}.hover\:bg-red-500\/20:hover{background-color:#ef444433}.hover\:bg-red-500\/\[0\.08\]:hover{background-color:#ef444414}.hover\:bg-red-500\/\[0\.09\]:hover{background-color:#ef444417}.hover\:bg-red-500\/\[0\.12\]:hover{background-color:#ef44441f}.hover\:bg-red-500\/\[0\.14\]:hover{background-color:#ef444424}.hover\:bg-rose-400\/10:hover{background-color:#fb71851a}.hover\:bg-rose-400\/20:hover,.hover\:bg-rose-400\/\[0\.2\]:hover{background-color:#fb718533}.hover\:bg-teal\/20:hover,.hover\:bg-teal\/\[0\.2\]:hover{background-color:#14b8a633}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-white\/\[0\.02\]:hover{background-color:#ffffff05}.hover\:bg-white\/\[0\.035\]:hover{background-color:#ffffff09}.hover\:bg-white\/\[0\.03\]:hover{background-color:#ffffff08}.hover\:bg-white\/\[0\.04\]:hover{background-color:#ffffff0a}.hover\:bg-white\/\[0\.05\]:hover{background-color:#ffffff0d}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}.hover\:bg-white\/\[0\.07\]:hover{background-color:#ffffff12}.hover\:bg-white\/\[0\.08\]:hover{background-color:#ffffff14}.hover\:bg-white\/\[0\.09\]:hover{background-color:#ffffff17}.hover\:bg-white\/\[0\.12\]:hover{background-color:#ffffff1f}.hover\:bg-white\/\[0\.1\]:hover{background-color:#ffffff1a}.hover\:bg-white\/\[0\.2\]:hover{background-color:#fff3}.hover\:bg-\[linear-gradient\(150deg\,rgba\(20\,184\,166\,0\.22\)\,rgba\(2\,4\,10\,0\.72\)_42\%\,rgba\(2\,4\,10\,0\.95\)\)\]:hover{background-image:linear-gradient(150deg,#14b8a638,#02040ab8 42%,#02040af2)}.hover\:text-\[\#0AD4C4\]:hover{--tw-text-opacity: 1;color:rgb(10 212 196 / var(--tw-text-opacity, 1))}.hover\:text-\[\#E9FFBD\]:hover{--tw-text-opacity: 1;color:rgb(233 255 189 / var(--tw-text-opacity, 1))}.hover\:text-\[\#ECFFC6\]:hover{--tw-text-opacity: 1;color:rgb(236 255 198 / var(--tw-text-opacity, 1))}.hover\:text-\[\#FF6B88\]:hover{--tw-text-opacity: 1;color:rgb(255 107 136 / var(--tw-text-opacity, 1))}.hover\:text-amber-100\/85:hover{color:#fef3c7d9}.hover\:text-bright:hover{color:var(--orgx-text-bright)}.hover\:text-current:hover{color:currentColor}.hover\:text-primary:hover{color:var(--orgx-text-primary)}.hover\:text-red-100:hover{--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity, 1))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-secondary:hover{color:var(--orgx-text-secondary)}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:text-white\/45:hover{color:#ffffff73}.hover\:text-white\/50:hover{color:#ffffff80}.hover\:text-white\/60:hover{color:#fff9}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-75:hover{opacity:.75}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-\[0_0_32px_rgba\(191\,255\,0\,0\.22\)\]:hover{--tw-shadow: 0 0 32px rgba(191,255,0,.22);--tw-shadow-colored: 0 0 32px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:ring-white\/\[0\.24\]:hover{--tw-ring-color: rgb(255 255 255 / .24)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-lime\/30:focus{border-color:#bfff004d}.focus\:border-lime\/35:focus{border-color:#bfff0059}.focus\:border-lime\/40:focus{border-color:#bfff0066}.focus\:border-white\/15:focus{border-color:#ffffff26}.focus\:border-white\/20:focus{border-color:#fff3}.focus\:border-white\/25:focus{border-color:#ffffff40}.focus\:border-white\/30:focus{border-color:#ffffff4d}.focus\:border-white\/\[0\.16\]:focus{border-color:#ffffff29}.focus\:bg-white\/\[0\.04\]:focus{background-color:#ffffff0a}.focus\:bg-white\/\[0\.05\]:focus{background-color:#ffffff0d}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-lime\/30:focus{--tw-ring-color: rgb(191 255 0 / .3)}.focus\:ring-lime\/35:focus{--tw-ring-color: rgb(191 255 0 / .35)}.focus\:ring-lime\/40:focus{--tw-ring-color: rgb(191 255 0 / .4)}.focus\:ring-red-300\/40:focus{--tw-ring-color: rgb(252 165 165 / .4)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-lime\/35:focus-visible{--tw-ring-color: rgb(191 255 0 / .35)}.focus-visible\:ring-lime\/40:focus-visible{--tw-ring-color: rgb(191 255 0 / .4)}.focus-visible\:ring-lime\/45:focus-visible{--tw-ring-color: rgb(191 255 0 / .45)}.focus-visible\:ring-lime\/50:focus-visible{--tw-ring-color: rgb(191 255 0 / .5)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-\[\#02040A\]:focus-visible{--tw-ring-offset-color: #02040A}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.995\]:active{--tw-scale-x: .995;--tw-scale-y: .995;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-white\/10:disabled{border-color:#ffffff1a}.disabled\:bg-white\/\[0\.08\]:disabled{background-color:#ffffff14}.disabled\:text-secondary:disabled{color:var(--orgx-text-secondary)}.disabled\:text-white\/25:disabled{color:#ffffff40}.disabled\:text-white\/35:disabled{color:#ffffff59}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-35:disabled{opacity:.35}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-55:disabled{opacity:.55}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:hover\:bg-white\/\[0\.05\]:hover:disabled{background-color:#ffffff0d}.disabled\:hover\:text-white\/25:hover:disabled{color:#ffffff40}.group[open] .group-open\:rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/row:focus-within .group-focus-within\/row\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:focus-within .group-focus-within\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:focus-within .group-focus-within\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:focus-within .group-focus-within\:scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/row:focus-within .group-focus-within\/row\:opacity-100{opacity:1}.group:focus-within .group-focus-within\:opacity-0{opacity:0}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group\/row:hover .group-hover\/row\:translate-x-0,.group:hover .group-hover\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-white\/\[0\.02\]{background-color:#ffffff05}.group:hover .group-hover\:bg-white\/\[0\.03\]{background-color:#ffffff08}.group:hover .group-hover\:bg-white\/\[0\.06\]{background-color:#ffffff0f}.group:hover .group-hover\:text-lime{--tw-text-opacity: 1;color:rgb(191 255 0 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.group\/dock:hover .group-hover\/dock\:opacity-100,.group\/row:hover .group-hover\/row\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-0{opacity:0}.group:hover .group-hover\:opacity-100{opacity:1}@media(min-width:640px){.sm\:absolute{position:absolute}.sm\:left-1\/2{left:50%}.sm\:left-auto{left:auto}.sm\:right-0{right:0}.sm\:right-6{right:1.5rem}.sm\:right-auto{right:auto}.sm\:top-12{top:3rem}.sm\:top-\[64px\]{top:64px}.sm\:z-30{z-index:30}.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:mx-8{margin-left:2rem;margin-right:2rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:hidden{display:none}.sm\:h-\[86vh\]{height:86vh}.sm\:h-\[88vh\]{height:88vh}.sm\:max-h-\[86vh\]{max-height:86vh}.sm\:max-h-\[88vh\]{max-height:88vh}.sm\:max-h-\[min\(78vh\,680px\)\]{max-height:min(78vh,680px)}.sm\:w-5{width:1.25rem}.sm\:w-\[220px\]{width:220px}.sm\:w-\[360px\]{width:360px}.sm\:w-\[440px\]{width:440px}.sm\:w-\[460px\]{width:460px}.sm\:w-\[90px\]{width:90px}.sm\:w-\[min\(84vw\,360px\)\]{width:min(84vw,360px)}.sm\:w-auto{width:auto}.sm\:min-w-0{min-width:0px}.sm\:min-w-\[90px\]{min-width:90px}.sm\:max-w-\[420px\]{max-width:420px}.sm\:max-w-\[94vw\]{max-width:94vw}.sm\:-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-1\.5{gap:.375rem}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:rounded-2xl{border-radius:1rem}.sm\:p-10{padding:2.5rem}.sm\:p-3{padding:.75rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-7{padding:1.75rem}.sm\:p-8{padding:2rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-7{padding-left:1.75rem;padding-right:1.75rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:pb-20{padding-bottom:5rem}.sm\:pr-2{padding-right:.5rem}.sm\:pt-2{padding-top:.5rem}.sm\:pt-5{padding-top:1.25rem}.sm\:pt-6{padding-top:1.5rem}.sm\:pt-8{padding-top:2rem}.sm\:text-\[17px\]{font-size:17px}.sm\:text-\[28px\]{font-size:28px}.sm\:text-\[36px\]{font-size:36px}.sm\:text-\[38px\]{font-size:38px}.sm\:text-heading{font-size:15px;line-height:22px}}@media(min-width:768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:ml-auto{margin-left:auto}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[102px\]{width:102px}.md\:min-w-\[102px\]{min-width:102px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-nowrap{flex-wrap:nowrap}.md\:items-center{align-items:center}}@media(min-width:1024px){.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:col-span-6{grid-column:span 6 / span 6}.lg\:mt-0{margin-top:0}.lg\:block{display:block}.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:h-screen{height:100vh}.lg\:min-h-0{min-height:0px}.lg\:w-\[360px\]{width:360px}.lg\:max-w-\[94vw\]{max-width:94vw}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.08fr_0\.92fr\]{grid-template-columns:1.08fr .92fr}.lg\:grid-cols-\[1\.12fr_1fr\]{grid-template-columns:1.12fr 1fr}.lg\:grid-cols-\[1\.24fr_0\.86fr\]{grid-template-columns:1.24fr .86fr}.lg\:grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.lg\:grid-cols-\[220px_minmax\(0\,1fr\)\]{grid-template-columns:220px minmax(0,1fr)}.lg\:grid-cols-\[280px_minmax\(0\,1fr\)\]{grid-template-columns:280px minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1\.1fr\)_minmax\(0\,0\.9fr\)\]{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.lg\:grid-cols-\[minmax\(260px\,0\.8fr\)_minmax\(0\,1\.2fr\)\]{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)}.lg\:flex-col{flex-direction:column}.lg\:gap-3{gap:.75rem}.lg\:overflow-hidden{overflow:hidden}.lg\:border-b-0{border-bottom-width:0px}.lg\:border-r{border-right-width:1px}.lg\:pb-0{padding-bottom:0}.lg\:pb-5{padding-bottom:1.25rem}}@media(min-width:1280px){.xl\:block{display:block}.xl\:inline{display:inline}.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:h-full{height:100%}.xl\:min-h-\[70px\]{min-height:70px}.xl\:min-h-\[92px\]{min-height:92px}.xl\:w-\[182px\]{width:182px}.xl\:w-\[48px\]{width:48px}.xl\:min-w-\[112px\]{min-width:112px}.xl\:min-w-\[182px\]{min-width:182px}.xl\:max-w-\[380px\]{max-width:380px}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1\.1fr\)_minmax\(320px\,0\.9fr\)\]{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.xl\:grid-cols-\[minmax\(0\,1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}.xl\:grid-cols-\[minmax\(0\,1fr\)_560px\]{grid-template-columns:minmax(0,1fr) 560px}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}.xl\:items-center{align-items:center}.xl\:justify-between{justify-content:space-between}.xl\:gap-0{gap:0px}.xl\:self-end{align-self:flex-end}.xl\:rounded-none{border-radius:0}.xl\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.xl\:border-b-0{border-bottom-width:0px}.xl\:border-l{border-left-width:1px}.xl\:border-r-0{border-right-width:0px}.xl\:border-t-0{border-top-width:0px}.xl\:border-white\/\[0\.10\]{border-color:#ffffff1a}.xl\:bg-transparent{background-color:transparent}.xl\:px-3{padding-left:.75rem;padding-right:.75rem}.xl\:py-2{padding-top:.5rem;padding-bottom:.5rem}.xl\:pr-1{padding-right:.25rem}.xl\:pr-4{padding-right:1rem}.xl\:text-caption{font-size:11px;line-height:16px}.xl\:shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.xl\:backdrop-blur-none{--tw-backdrop-blur: ;-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)}}@media(min-width:1536px){.\32xl\:flex{display:flex}.\32xl\:w-\[206px\]{width:206px}.\32xl\:min-w-\[140px\]{min-width:140px}.\32xl\:min-w-\[206px\]{min-width:206px}}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\>\[data-agent-avatar\]\]\:h-5>[data-agent-avatar]{height:1.25rem}.\[\&\>\[data-agent-avatar\]\]\:w-5>[data-agent-avatar]{width:1.25rem}@media(min-width:1024px){.lg\:\[\&\>section\]\:h-full>section{height:100%}}
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as c}from"./Dj2k1r16.js";import{c as m}from"./DMKyYAtD.js";import{b as g,h as n}from"./
|
|
1
|
+
import{r as c}from"./Dj2k1r16.js";import{c as m}from"./DMKyYAtD.js";import{b as g,h as n}from"./C0i7ABUU.js";function h({authToken:s=null,embedMode:o=!1,enabled:i=!0}={}){var a;const u=c.useMemo(()=>["usage-control-plane",{authToken:s,embedMode:o}],[s,o]),e=m({queryKey:u,enabled:i,queryFn:async()=>{const t=await fetch("/orgx/api/usage/control-plane/summary",{headers:g({authToken:s,embedMode:o})}),r=await t.json().catch(()=>null);if(!t.ok){const l=(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:null)??(r&&typeof r=="object"&&"message"in r&&typeof r.message=="string"?r.message:null)??`Failed to load usage summary (${t.status})`;throw new Error(n(l))}if(!r||typeof r!="object"||!("generatedAt"in r))throw new Error(n("Usage summary response is missing required fields."));return r},refetchInterval:6e4});return{summary:e.data??null,isLoading:e.isLoading,isFetching:e.isFetching,error:((a=e.error)==null?void 0:a.message)??null,refetch:e.refetch}}export{h as u};
|
|
Binary file
|
|
Binary file
|