@hellcoder/companion 0.97.1-preview.20260510143143.0f40433 → 0.98.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/assets/{AgentsPage-CFUZ33D1.js → AgentsPage-BL55sxWq.js} +1 -1
  2. package/dist/assets/{CronManager-OFpfe9sZ.js → CronManager-DkycDZO7.js} +1 -1
  3. package/dist/assets/IntegrationsPage-CKzuwKSL.js +1 -0
  4. package/dist/assets/LinearOAuthSettingsPage-D7FyIauR.js +1 -0
  5. package/dist/assets/{LinearSettingsPage-CAPraIiJ.js → LinearSettingsPage-Cu39iFUZ.js} +1 -1
  6. package/dist/assets/{Playground-DinTRFXR.js → Playground-KsXOh1KL.js} +1 -1
  7. package/dist/assets/{PromptsPage-BdJIxde9.js → PromptsPage-BSmcBPRr.js} +2 -2
  8. package/dist/assets/RunsPage-Bdyig9xV.js +1 -0
  9. package/dist/assets/{SandboxManager-CNKsgK_n.js → SandboxManager-BVls-Ijd.js} +3 -3
  10. package/dist/assets/SettingsPage-B6PJ98wg.js +1 -0
  11. package/dist/assets/{TailscalePage-BvlOVweY.js → TailscalePage-OzuS9aO8.js} +1 -1
  12. package/dist/assets/{index-C37y24Vq.js → index-DKeYkY1b.js} +47 -47
  13. package/dist/assets/index-DwVmncqT.css +1 -0
  14. package/dist/assets/{sw-register-CtL1B4Zx.js → sw-register-lhAZpK0T.js} +1 -1
  15. package/dist/index.html +2 -2
  16. package/dist/sw.js +1 -1
  17. package/package.json +1 -1
  18. package/server/cli-launcher.test.ts +1 -1
  19. package/server/cli-launcher.ts +49 -4
  20. package/server/index.ts +12 -0
  21. package/server/routes/settings-routes.ts +12 -2
  22. package/server/settings-manager.test.ts +3 -0
  23. package/server/settings-manager.ts +16 -1
  24. package/dist/assets/IntegrationsPage-IPsgRMiZ.js +0 -1
  25. package/dist/assets/LinearOAuthSettingsPage-2QPp7aOc.js +0 -1
  26. package/dist/assets/RunsPage-CZrkvfHQ.js +0 -1
  27. package/dist/assets/SettingsPage-BhzL_avj.js +0 -1
  28. package/dist/assets/index-C4cDvA4Y.css +0 -1
@@ -11,6 +11,16 @@ export const DEFAULT_ANTHROPIC_MODEL = "claude-sonnet-4-6";
11
11
 
12
12
  export type UpdateChannel = "stable" | "prerelease";
13
13
 
14
+ /**
15
+ * How the companion hands the bridge URL to the spawned Claude Code CLI.
16
+ * - "loopback" (default): pass `--sdk-url ws://127.0.0.1:PORT/...` on argv.
17
+ * Works on Claude Code v1.2.1+ which rejects the literal "localhost".
18
+ * - "jsonHandoff": write a temp JSON descriptor and pass its path via the
19
+ * CLAUDE_BRIDGE_CONFIG env var, mirroring just-every/code's v0.6.98
20
+ * approach. More robust if Anthropic further restricts --sdk-url.
21
+ */
22
+ export type CliBridgeMode = "loopback" | "jsonHandoff";
23
+
14
24
  export interface CompanionSettings {
15
25
  anthropicApiKey: string;
16
26
  anthropicModel: string;
@@ -43,6 +53,8 @@ export interface CompanionSettings {
43
53
  publicUrl: string;
44
54
  updateChannel: UpdateChannel;
45
55
  dockerAutoUpdate: boolean;
56
+ /** See CliBridgeMode. Defaults to "loopback". Optional in fixtures; normalize() applies the default. */
57
+ cliBridgeMode?: CliBridgeMode;
46
58
  updatedAt: number;
47
59
  }
48
60
 
@@ -74,6 +86,7 @@ let settings: CompanionSettings = {
74
86
  publicUrl: "",
75
87
  updateChannel: "stable",
76
88
  dockerAutoUpdate: false,
89
+ cliBridgeMode: "loopback",
77
90
  updatedAt: 0,
78
91
  };
79
92
 
@@ -105,6 +118,7 @@ function normalize(raw: Partial<CompanionSettings> | null | undefined): Companio
105
118
  publicUrl: typeof raw?.publicUrl === "string" ? raw.publicUrl.trim().replace(/\/+$/, "") : "",
106
119
  updateChannel: raw?.updateChannel === "prerelease" ? "prerelease" : "stable",
107
120
  dockerAutoUpdate: typeof raw?.dockerAutoUpdate === "boolean" ? raw.dockerAutoUpdate : false,
121
+ cliBridgeMode: raw?.cliBridgeMode === "jsonHandoff" ? "jsonHandoff" : "loopback",
108
122
  updatedAt: typeof raw?.updatedAt === "number" ? raw.updatedAt : 0,
109
123
  };
110
124
  }
@@ -133,7 +147,7 @@ export function getSettings(): CompanionSettings {
133
147
  }
134
148
 
135
149
  export function updateSettings(
136
- patch: Partial<Pick<CompanionSettings, "anthropicApiKey" | "anthropicModel" | "claudeCodeOAuthToken" | "openaiApiKey" | "onboardingCompleted" | "linearApiKey" | "linearAutoTransition" | "linearAutoTransitionStateId" | "linearAutoTransitionStateName" | "linearArchiveTransition" | "linearArchiveTransitionStateId" | "linearArchiveTransitionStateName" | "linearOAuthClientId" | "linearOAuthClientSecret" | "linearOAuthWebhookSecret" | "linearOAuthAccessToken" | "linearOAuthRefreshToken" | "aiValidationEnabled" | "aiValidationAutoApprove" | "aiValidationAutoDeny" | "publicUrl" | "updateChannel" | "dockerAutoUpdate">>,
150
+ patch: Partial<Pick<CompanionSettings, "anthropicApiKey" | "anthropicModel" | "claudeCodeOAuthToken" | "openaiApiKey" | "onboardingCompleted" | "linearApiKey" | "linearAutoTransition" | "linearAutoTransitionStateId" | "linearAutoTransitionStateName" | "linearArchiveTransition" | "linearArchiveTransitionStateId" | "linearArchiveTransitionStateName" | "linearOAuthClientId" | "linearOAuthClientSecret" | "linearOAuthWebhookSecret" | "linearOAuthAccessToken" | "linearOAuthRefreshToken" | "aiValidationEnabled" | "aiValidationAutoApprove" | "aiValidationAutoDeny" | "publicUrl" | "updateChannel" | "dockerAutoUpdate" | "cliBridgeMode">>,
137
151
  ): CompanionSettings {
138
152
  ensureLoaded();
139
153
  settings = normalize({
@@ -160,6 +174,7 @@ export function updateSettings(
160
174
  publicUrl: patch.publicUrl ?? settings.publicUrl,
161
175
  updateChannel: patch.updateChannel ?? settings.updateChannel,
162
176
  dockerAutoUpdate: patch.dockerAutoUpdate ?? settings.dockerAutoUpdate,
177
+ cliBridgeMode: patch.cliBridgeMode ?? settings.cliBridgeMode,
163
178
  updatedAt: Date.now(),
164
179
  });
165
180
  persist();
@@ -1 +0,0 @@
1
- import{r,a,j as e,u as N,n as y,b as _,L as h}from"./index-C37y24Vq.js";function L({embedded:d=!1}){const[g,p]=r.useState(!1),[b,v]=r.useState(""),[x,f]=r.useState(""),[s,m]=r.useState(null),[c,j]=r.useState([]),[o,w]=r.useState([]);r.useEffect(()=>{a.getTailscaleStatus().then(m).catch(()=>m({installed:!1,binaryPath:null,connected:!1,dnsName:null,funnelActive:!1,funnelUrl:null,error:"Could not reach Tailscale status endpoint"})),a.getSettings().then(t=>{if(t.linearApiKeyConfigured)return a.getLinearConnection().then(n=>{p(n.connected);const i=n.viewerName||n.viewerEmail||"Connected account",l=n.teamName?` • ${n.teamName}`:"";v(`${i}${l}`)})}).catch(t=>f(t instanceof Error?t.message:String(t))),a.listLinearOAuthConnections().then(t=>j(t.connections)).catch(()=>{}),a.listAgents().then(t=>{w(t.filter(n=>{var i,l;return(l=(i=n.triggers)==null?void 0:i.linear)==null?void 0:l.enabled}))}).catch(()=>{})},[]);const u=c.filter(t=>t.status==="connected").length;return e.jsx("div",{className:`${d?"h-full":"h-[100dvh]"} bg-cc-bg text-cc-fg font-sans-ui antialiased overflow-y-auto`,children:e.jsxs("div",{className:"max-w-5xl mx-auto px-4 sm:px-8 py-6 sm:py-10 pb-safe",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3 mb-6",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-xl font-semibold text-cc-fg",children:"Integrations"}),e.jsx("p",{className:"mt-1 text-sm text-cc-muted",children:"Connect tools and open their dedicated settings page."})]}),!d&&e.jsx("button",{onClick:()=>{const t=N.getState().currentSessionId;t?y(t):_()},className:"px-3 py-2.5 min-h-[44px] rounded-lg text-sm text-cc-muted hover:text-cc-fg hover:bg-cc-hover transition-colors cursor-pointer",children:"Back"})]}),x&&e.jsx("div",{className:"mb-4 px-3 py-2 rounded-lg bg-cc-error/10 border border-cc-error/20 text-xs text-cc-error",children:x}),e.jsxs("section",{className:"group relative overflow-hidden rounded-3xl border border-cc-border/80 bg-cc-card p-5 pb-16 sm:p-7 sm:pb-7 transition-all duration-300 hover:border-cc-primary/35 hover:shadow-[0_18px_44px_rgba(0,0,0,0.18)]",children:[e.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[radial-gradient(80%_140%_at_100%_0%,rgba(251,146,60,0.18),transparent_52%)]"}),e.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-30 bg-[linear-gradient(120deg,transparent_0%,rgba(255,255,255,0.04)_35%,transparent_62%)]"}),e.jsxs("div",{className:"relative min-w-0",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 rounded-full border border-cc-border bg-cc-hover/55 px-3 py-1.5 text-xs tracking-wide text-cc-muted",children:[e.jsx(h,{className:"h-3.5 w-3.5 text-cc-fg"}),e.jsx("span",{children:"Linear Tickets"}),g&&e.jsx("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-cc-success shadow-[0_0_0_3px_rgba(34,197,94,0.15)]","aria-label":"Connected",title:"Connected"})]}),e.jsx("div",{className:"mt-4 flex flex-wrap items-center gap-2.5",children:e.jsx("h2",{className:"text-[clamp(1.45rem,2.6vw,2rem)] font-semibold leading-[1.12] tracking-tight text-cc-fg",children:"Issue context before first prompt"})}),e.jsx("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed text-cc-muted sm:text-[15px]",children:"Connect your workspace, search an issue from Home, and inject scope automatically when a session starts."}),e.jsx("div",{className:"mt-4 inline-flex max-w-full items-center rounded-lg border border-cc-border/80 bg-black/10 px-3 py-1.5 text-xs text-cc-muted/95",children:e.jsx("span",{className:"truncate",children:b||"No workspace linked yet"})})]}),e.jsx("div",{className:"absolute bottom-0 right-0 sm:bottom-0 sm:right-0 flex items-center gap-2",children:e.jsx("button",{type:"button",onClick:()=>{window.location.hash="#/integrations/linear"},"aria-label":"Open Linear Tickets settings",title:"Open Linear Tickets settings",className:"inline-flex h-10 w-10 items-center justify-center rounded-full border border-cc-primary/28 bg-cc-primary/12 text-cc-fg transition-colors hover:border-cc-primary/50 hover:bg-cc-primary/20 focus:outline-none focus:ring-2 focus:ring-cc-primary/35 cursor-pointer",children:e.jsxs("svg",{viewBox:"0 0 24 24",className:"h-4.5 w-4.5",fill:"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:[e.jsx("path",{d:"M9.67 4.53 10 2h4l.33 2.53a7.9 7.9 0 0 1 1.7.7l2.03-1.55 2.83 2.83-1.55 2.03c.28.54.51 1.1.7 1.7L22 10v4l-2.53.33a7.9 7.9 0 0 1-.7 1.7l1.55 2.03-2.83 2.83-2.03-1.55c-.54.28-1.1.51-1.7.7L14 22h-4l-.33-2.53a7.9 7.9 0 0 1-1.7-.7l-2.03 1.55-2.83-2.83 1.55-2.03a7.9 7.9 0 0 1-.7-1.7L2 14v-4l2.53-.33c.19-.6.42-1.16.7-1.7L3.68 5.94 6.5 3.1l2.03 1.55c.54-.28 1.1-.51 1.7-.7Z"}),e.jsx("circle",{cx:"12",cy:"12",r:"3.2"})]})})})]})]}),e.jsxs("section",{className:"group relative mt-6 overflow-hidden rounded-3xl border border-cc-border/80 bg-cc-card p-5 pb-16 sm:p-7 sm:pb-7 transition-all duration-300 hover:border-cc-primary/35 hover:shadow-[0_18px_44px_rgba(0,0,0,0.18)]",children:[e.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[radial-gradient(80%_140%_at_100%_0%,rgba(124,58,237,0.18),transparent_52%)]"}),e.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-30 bg-[linear-gradient(120deg,transparent_0%,rgba(255,255,255,0.04)_35%,transparent_62%)]"}),e.jsxs("div",{className:"relative min-w-0",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 rounded-full border border-cc-border bg-cc-hover/55 px-3 py-1.5 text-xs tracking-wide text-cc-muted",children:[e.jsx(h,{className:"h-3.5 w-3.5 text-cc-fg"}),e.jsx("span",{children:"Linear OAuth Apps"}),u>0&&e.jsx("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-cc-success shadow-[0_0_0_3px_rgba(34,197,94,0.15)]","aria-label":"Connected",title:"Connected"})]}),e.jsx("div",{className:"mt-4 flex flex-wrap items-center gap-2.5",children:e.jsx("h2",{className:"text-[clamp(1.45rem,2.6vw,2rem)] font-semibold leading-[1.12] tracking-tight text-cc-fg",children:"Agent triggers via Linear"})}),e.jsx("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed text-cc-muted sm:text-[15px]",children:"Create OAuth apps to trigger agents from @mentions in Linear issues. Each app can connect to a different workspace."}),e.jsx("div",{className:"mt-4 inline-flex max-w-full items-center rounded-lg border border-cc-border/80 bg-black/10 px-3 py-1.5 text-xs text-cc-muted/95",children:e.jsxs("span",{className:"truncate",children:[c.length===0?"No OAuth apps configured":`${c.length} app${c.length!==1?"s":""}, ${u} connected`,o.length>0&&` · ${o.length} agent${o.length!==1?"s":""}`]})})]}),e.jsxs("div",{className:"absolute bottom-0 right-0 sm:bottom-0 sm:right-0 flex items-center gap-2",children:[e.jsxs("button",{type:"button",onClick:()=>{window.location.hash="#/agents?setup=linear"},"aria-label":"Set up Linear Agent",title:"Set up Linear Agent",className:"inline-flex items-center gap-1.5 px-3 py-2 rounded-full border border-violet-500/28 bg-violet-500/12 text-xs font-medium text-cc-fg transition-colors hover:border-violet-500/50 hover:bg-violet-500/20 focus:outline-none focus:ring-2 focus:ring-violet-500/35 cursor-pointer",children:[e.jsx("svg",{viewBox:"0 0 16 16",fill:"currentColor",className:"w-3.5 h-3.5 opacity-60","aria-hidden":"true",children:e.jsx("path",{d:"M8 1.5a2.5 2.5 0 00-2.5 2.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5S9.38 1.5 8 1.5zM4 8a4 4 0 00-4 4v1.5a.5.5 0 00.5.5h15a.5.5 0 00.5-.5V12a4 4 0 00-4-4H4z"})}),"Setup Agent"]}),e.jsx("button",{type:"button",onClick:()=>{window.location.hash="#/integrations/linear-oauth"},"aria-label":"Open Linear OAuth settings",title:"Open Linear OAuth settings",className:"inline-flex h-10 w-10 items-center justify-center rounded-full border border-violet-500/28 bg-violet-500/12 text-cc-fg transition-colors hover:border-violet-500/50 hover:bg-violet-500/20 focus:outline-none focus:ring-2 focus:ring-violet-500/35 cursor-pointer",children:e.jsxs("svg",{viewBox:"0 0 24 24",className:"h-4.5 w-4.5",fill:"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:[e.jsx("path",{d:"M9.67 4.53 10 2h4l.33 2.53a7.9 7.9 0 0 1 1.7.7l2.03-1.55 2.83 2.83-1.55 2.03c.28.54.51 1.1.7 1.7L22 10v4l-2.53.33a7.9 7.9 0 0 1-.7 1.7l1.55 2.03-2.83 2.83-2.03-1.55c-.54.28-1.1.51-1.7.7L14 22h-4l-.33-2.53a7.9 7.9 0 0 1-1.7-.7l-2.03 1.55-2.83-2.83 1.55-2.03a7.9 7.9 0 0 1-.7-1.7L2 14v-4l2.53-.33c.19-.6.42-1.16.7-1.7L3.68 5.94 6.5 3.1l2.03 1.55c.54-.28 1.1-.51 1.7-.7Z"}),e.jsx("circle",{cx:"12",cy:"12",r:"3.2"})]})})]})]})]}),e.jsxs("section",{className:"group relative mt-6 overflow-hidden rounded-3xl border border-cc-border/80 bg-cc-card p-5 pb-16 sm:p-7 sm:pb-7 transition-all duration-300 hover:border-cc-primary/35 hover:shadow-[0_18px_44px_rgba(0,0,0,0.18)]",children:[e.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[radial-gradient(80%_140%_at_100%_0%,rgba(6,182,212,0.18),transparent_52%)]"}),e.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-30 bg-[linear-gradient(120deg,transparent_0%,rgba(255,255,255,0.04)_35%,transparent_62%)]"}),e.jsxs("div",{className:"relative min-w-0",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 rounded-full border border-cc-border bg-cc-hover/55 px-3 py-1.5 text-xs tracking-wide text-cc-muted",children:[e.jsx("svg",{className:"h-3.5 w-3.5 text-cc-fg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:e.jsx("path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"})}),e.jsx("span",{children:"Tailscale"}),(s==null?void 0:s.funnelActive)&&e.jsx("span",{className:"inline-block h-1.5 w-1.5 rounded-full bg-cc-success shadow-[0_0_0_3px_rgba(34,197,94,0.15)]","aria-label":"Funnel active",title:"Funnel active"})]}),e.jsx("div",{className:"mt-4 flex flex-wrap items-center gap-2.5",children:e.jsx("h2",{className:"text-[clamp(1.45rem,2.6vw,2rem)] font-semibold leading-[1.12] tracking-tight text-cc-fg",children:"HTTPS access in one click"})}),e.jsx("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed text-cc-muted sm:text-[15px]",children:"Use Tailscale Funnel to expose your Companion over HTTPS with automatic TLS certificates."}),e.jsx("div",{className:"mt-4 inline-flex max-w-full items-center rounded-lg border border-cc-border/80 bg-black/10 px-3 py-1.5 text-xs text-cc-muted/95",children:e.jsx("span",{className:"truncate",children:s===null?"Checking...":s.funnelActive&&s.funnelUrl?s.funnelUrl:s.connected?s.dnsName||"Connected":s.installed?"Not connected":"Not installed"})})]}),e.jsx("button",{type:"button",onClick:()=>{window.location.hash="#/integrations/tailscale"},"aria-label":"Open Tailscale settings",title:"Open Tailscale settings",className:"absolute bottom-0 right-0 sm:bottom-0 sm:right-0 inline-flex h-10 w-10 items-center justify-center rounded-full border border-cc-primary/28 bg-cc-primary/12 text-cc-fg transition-colors hover:border-cc-primary/50 hover:bg-cc-primary/20 focus:outline-none focus:ring-2 focus:ring-cc-primary/35 cursor-pointer",children:e.jsxs("svg",{viewBox:"0 0 24 24",className:"h-4.5 w-4.5",fill:"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:[e.jsx("path",{d:"M9.67 4.53 10 2h4l.33 2.53a7.9 7.9 0 0 1 1.7.7l2.03-1.55 2.83 2.83-1.55 2.03c.28.54.51 1.1.7 1.7L22 10v4l-2.53.33a7.9 7.9 0 0 1-.7 1.7l1.55 2.03-2.83 2.83-2.03-1.55c-.54.28-1.1.51-1.7.7L14 22h-4l-.33-2.53a7.9 7.9 0 0 1-1.7-.7l-2.03 1.55-2.83-2.83 1.55-2.03a7.9 7.9 0 0 1-.7-1.7L2 14v-4l2.53-.33c.19-.6.42-1.16.7-1.7L3.68 5.94 6.5 3.1l2.03 1.55c.54-.28 1.1-.51 1.7-.7Z"}),e.jsx("circle",{cx:"12",cy:"12",r:"3.2"})]})})]})]})]})})}export{L as IntegrationsPage};
@@ -1 +0,0 @@
1
- import{r,a as i,j as e,u as X,n as Y,b as Z,L as M}from"./index-C37y24Vq.js";function te({embedded:C=!1}){const[o,B]=r.useState([]),[P,U]=r.useState(!0),[S,q]=r.useState(""),[g,A]=r.useState(!1),[l,k]=r.useState(""),[d,I]=r.useState(""),[u,L]=r.useState(""),[m,O]=r.useState(""),[b,D]=r.useState(!1),[E,x]=r.useState(""),[f,$]=r.useState(null),[v,_]=r.useState(null),[F,h]=r.useState(""),[j,R]=r.useState(null),[z,H]=r.useState([]),[w,p]=r.useState(null),a=r.useCallback(async()=>{try{const t=await i.listLinearOAuthConnections();B(t.connections)}catch(t){q(t instanceof Error?t.message:String(t))}finally{U(!1)}},[]),W=r.useCallback(async()=>{try{const t=await i.listAgents();H(t)}catch{}},[]);r.useEffect(()=>{a(),W();let t;const s=window.location.hash;if(s.includes("oauth_success=true"))p({type:"success",message:"OAuth app connected to workspace successfully!"}),window.location.hash="#/integrations/linear-oauth",t=setTimeout(()=>p(null),5e3);else if(s.includes("oauth_error=")){const c=s.match(/oauth_error=([^&]*)/);let n;try{n=decodeURIComponent((c==null?void 0:c[1])||"OAuth failed")}catch{n=(c==null?void 0:c[1])||"OAuth failed"}p({type:"error",message:n}),window.location.hash="#/integrations/linear-oauth"}return()=>{t&&clearTimeout(t)}},[a,W]);async function G(t){t.preventDefault();const s=l.trim(),c=d.trim(),n=u.trim(),T=m.trim();if(!s||!c||!n||!T){x("All fields are required.");return}D(!0),x("");try{await i.createLinearOAuthConnection({name:s,oauthClientId:c,oauthClientSecret:n,webhookSecret:T}),k(""),I(""),L(""),O(""),A(!1),await a()}catch(N){x(N instanceof Error?N.message:String(N))}finally{D(!1)}}async function J(t){if(f!==t){$(t),h("");return}_(t),$(null);try{await i.deleteLinearOAuthConnection(t),h(""),await a()}catch(s){h(s instanceof Error?s.message:String(s)),await a()}finally{_(null)}}async function K(t){R(t);try{const s=await i.getLinearOAuthConnectionAuthorizeUrl(t,"/#/integrations/linear-oauth");window.open(s.url,"_self")}catch(s){p({type:"error",message:s instanceof Error?s.message:String(s)}),R(null)}}function Q(t,s=16){return t.length<=s?t:t.slice(0,s)+"..."}function V(t){return z.filter(s=>{var c,n;return((n=(c=s.triggers)==null?void 0:c.linear)==null?void 0:n.oauthConnectionId)===t})}const y=o.filter(t=>t.status==="connected").length;return e.jsx("div",{className:`${C?"h-full":"h-[100dvh]"} bg-cc-bg text-cc-fg font-sans-ui antialiased overflow-y-auto`,children:e.jsxs("div",{className:"max-w-5xl mx-auto px-4 sm:px-8 py-6 sm:py-10 pb-safe",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3 mb-6",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-xl font-semibold text-cc-fg",children:"Linear OAuth Apps"}),e.jsx("p",{className:"mt-1 text-sm text-cc-muted",children:"Manage OAuth app connections for Linear agent integrations."})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:()=>{window.location.hash="#/integrations"},className:"px-3 py-2.5 min-h-[44px] rounded-lg text-sm text-cc-muted hover:text-cc-fg hover:bg-cc-hover transition-colors cursor-pointer",children:"Integrations"}),!C&&e.jsx("button",{onClick:()=>{const t=X.getState().currentSessionId;t?Y(t):Z()},className:"px-3 py-2.5 min-h-[44px] rounded-lg text-sm text-cc-muted hover:text-cc-fg hover:bg-cc-hover transition-colors cursor-pointer",children:"Back"})]})]}),e.jsxs("div",{className:"mb-4 px-3 py-2 rounded-lg bg-cc-hover/60 border border-cc-border text-sm text-cc-muted",children:["Looking for ticket integration?"," ",e.jsx("a",{href:"#/settings/linear",className:"text-cc-primary underline cursor-pointer",children:"Linear Tickets Settings"})]}),w&&e.jsx("div",{className:`mb-4 px-3 py-2 rounded-lg text-xs border ${w.type==="success"?"bg-cc-success/10 border-cc-success/20 text-cc-success":"bg-cc-error/10 border-cc-error/20 text-cc-error"}`,children:w.message}),e.jsxs("section",{className:"relative overflow-hidden bg-cc-card border border-cc-border rounded-xl p-4 sm:p-6 mb-4",children:[e.jsx("div",{className:"absolute inset-0 pointer-events-none bg-[radial-gradient(circle_at_top_right,rgba(124,58,237,0.1),transparent_45%)]"}),e.jsxs("div",{className:"relative flex items-start justify-between gap-4 flex-wrap",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 px-2.5 py-1 rounded-full border border-cc-border bg-cc-hover/60 text-xs text-cc-muted",children:[e.jsx(M,{className:"w-3.5 h-3.5 text-cc-fg"}),e.jsx("span",{children:"Linear OAuth"})]}),e.jsx("h2",{className:"mt-3 text-lg sm:text-xl font-semibold text-cc-fg",children:"OAuth app connections for agent workflows"}),e.jsx("p",{className:"mt-1.5 text-sm text-cc-muted max-w-2xl",children:"Each connection represents a Linear OAuth app. Agents reference these connections to receive @mentions and interact with Linear issues."})]}),e.jsxs("div",{className:"shrink-0 rounded-xl border border-cc-border bg-cc-bg px-3 py-2 text-right min-w-[170px]",children:[e.jsx("p",{className:"text-[11px] text-cc-muted uppercase tracking-wide",children:"Status"}),e.jsx("p",{className:`mt-1 text-sm font-medium ${y>0?"text-cc-success":"text-cc-muted"}`,children:y>0?`${y} connected`:"Not connected"}),e.jsx("p",{className:"mt-0.5 text-[11px] text-cc-muted truncate",children:o.length>0?`${o.length} connection${o.length!==1?"s":""} configured`:"No connections yet"})]})]})]}),e.jsxs("div",{className:"bg-cc-card border border-cc-border rounded-xl p-4 sm:p-5 space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("h2",{className:"text-sm font-semibold text-cc-fg flex items-center gap-2",children:[e.jsx(M,{className:"w-4 h-4 text-cc-fg"}),e.jsx("span",{children:"OAuth Connections"})]}),e.jsx("button",{type:"button",onClick:()=>{A(!g),x(""),h("")},className:"px-3 py-2 rounded-lg text-sm font-medium transition-colors bg-cc-primary hover:bg-cc-primary-hover text-white cursor-pointer",children:g?"Cancel":"Add Connection"})]}),S&&e.jsx("div",{className:"px-3 py-2 rounded-lg bg-cc-error/10 border border-cc-error/20 text-xs text-cc-error",children:S}),F&&e.jsx("div",{className:"px-3 py-2 rounded-lg bg-cc-error/10 border border-cc-error/20 text-xs text-cc-error",children:F}),g&&e.jsxs("form",{onSubmit:G,className:"border border-cc-border rounded-lg p-4 space-y-3 bg-cc-bg",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium mb-1.5",htmlFor:"new-oauth-name",children:"Connection Name"}),e.jsx("input",{id:"new-oauth-name",type:"text",value:l,onChange:t=>k(t.target.value),placeholder:'e.g. "Production App", "Dev App"',className:"w-full px-3 py-2.5 text-sm bg-cc-input-bg border border-cc-border rounded-lg text-cc-fg placeholder:text-cc-muted focus:outline-none focus:border-cc-primary/60"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium mb-1.5",htmlFor:"new-oauth-client-id",children:"OAuth Client ID"}),e.jsx("input",{id:"new-oauth-client-id",type:"text",value:d,onChange:t=>I(t.target.value),placeholder:"OAuth app client ID from Linear",className:"w-full px-3 py-2.5 text-sm bg-cc-input-bg border border-cc-border rounded-lg text-cc-fg placeholder:text-cc-muted focus:outline-none focus:border-cc-primary/60"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium mb-1.5",htmlFor:"new-oauth-client-secret",children:"OAuth Client Secret"}),e.jsx("input",{id:"new-oauth-client-secret",type:"password",value:u,onChange:t=>L(t.target.value),placeholder:"OAuth app client secret",className:"w-full px-3 py-2.5 text-sm bg-cc-input-bg border border-cc-border rounded-lg text-cc-fg placeholder:text-cc-muted focus:outline-none focus:border-cc-primary/60"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium mb-1.5",htmlFor:"new-oauth-webhook-secret",children:"Webhook Secret"}),e.jsx("input",{id:"new-oauth-webhook-secret",type:"password",value:m,onChange:t=>O(t.target.value),placeholder:"Webhook signing secret from Linear",className:"w-full px-3 py-2.5 text-sm bg-cc-input-bg border border-cc-border rounded-lg text-cc-fg placeholder:text-cc-muted focus:outline-none focus:border-cc-primary/60"})]}),E&&e.jsx("div",{className:"px-3 py-2 rounded-lg bg-cc-error/10 border border-cc-error/20 text-xs text-cc-error",children:E}),e.jsx("div",{className:"flex justify-end",children:e.jsx("button",{type:"submit",disabled:b||!l.trim()||!d.trim()||!u.trim()||!m.trim(),className:`px-3 py-2 rounded-lg text-sm font-medium transition-colors ${b||!l.trim()||!d.trim()||!u.trim()||!m.trim()?"bg-cc-hover text-cc-muted cursor-not-allowed":"bg-cc-primary hover:bg-cc-primary-hover text-white cursor-pointer"}`,children:b?"Saving...":"Save"})})]}),P?e.jsx("p",{className:"text-sm text-cc-muted",children:"Loading connections..."}):o.length===0?e.jsxs("div",{className:"text-center py-8",children:[e.jsx("p",{className:"text-sm text-cc-muted",children:"No OAuth connections yet."}),e.jsx("p",{className:"mt-1 text-xs text-cc-muted",children:"Add your first OAuth app connection to enable Linear agent integrations."})]}):e.jsx("div",{className:"space-y-3",children:o.map(t=>{const s=V(t.id);return e.jsx("div",{className:"border border-cc-border rounded-lg overflow-hidden",children:e.jsxs("div",{className:"p-4 flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("span",{className:"text-sm font-medium text-cc-fg",children:t.name}),e.jsx("span",{className:`px-2 py-0.5 text-[10px] rounded-full border ${t.status==="connected"?"bg-cc-success/10 text-cc-success border-cc-success/20":"bg-cc-hover text-cc-muted border-cc-border"}`,children:t.status==="connected"?"Connected":"Disconnected"})]}),e.jsxs("p",{className:"mt-1 text-xs text-cc-muted truncate",children:["Client ID: ",Q(t.oauthClientId)]}),e.jsx("p",{className:"mt-1 text-xs text-cc-muted",children:t.status==="connected"?"Ready to receive @mentions and post updates back to Linear.":"This app may already be installed in Linear, but Companion no longer has a valid OAuth token. Reconnect it to restore agent replies."}),s.length>0&&e.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1.5",children:s.map(c=>e.jsxs("span",{className:"px-2 py-0.5 text-[10px] rounded-md bg-cc-hover text-cc-muted",children:["Agent: ",c.name]},c.id))})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[e.jsx("button",{type:"button",onClick:()=>K(t.id),disabled:j===t.id,"aria-label":t.status==="connected"?`Manage ${t.name}`:`Reconnect ${t.name}`,className:`px-3 py-2 rounded-lg text-sm font-medium transition-colors ${j===t.id?"bg-cc-hover text-cc-muted cursor-not-allowed":"bg-violet-600 hover:bg-violet-700 text-white cursor-pointer"}`,children:j===t.id?"Redirecting...":t.status==="connected"?"Manage in Linear":"Reconnect to Workspace"}),e.jsx("button",{type:"button",onClick:()=>J(t.id),disabled:v===t.id,className:`px-3 py-2 rounded-lg text-sm font-medium transition-colors ${v===t.id?"bg-cc-hover text-cc-muted cursor-not-allowed":f===t.id?"bg-cc-error hover:bg-cc-error/90 text-white cursor-pointer":"bg-cc-error/10 hover:bg-cc-error/20 text-cc-error cursor-pointer"}`,children:v===t.id?"Deleting...":f===t.id?"Confirm Delete":"Delete"})]})]})},t.id)})})]})]})})}export{te as LinearOAuthSettingsPage};
@@ -1 +0,0 @@
1
- import{r,a as N,j as e,t as I}from"./index-C37y24Vq.js";function g(c){switch(c){case"manual":return"Manual";case"webhook":return"Webhook";case"schedule":return"Schedule";case"linear":return"Linear";default:return c}}function v(c){switch(c){case"manual":return"bg-blue-500/10 text-blue-600 dark:text-blue-400";case"webhook":return"bg-purple-500/10 text-purple-600 dark:text-purple-400";case"schedule":return"bg-amber-500/10 text-amber-600 dark:text-amber-400";case"linear":return"bg-violet-500/10 text-violet-600 dark:text-violet-400";default:return"bg-cc-hover text-cc-muted"}}function E(c){return c.error?{label:"Error",color:"text-cc-error"}:c.success?{label:"Success",color:"text-cc-success"}:c.completedAt?{label:"Unknown",color:"text-cc-muted"}:{label:"Running",color:"text-cc-warning"}}function y(c,x){const l=(x||Date.now())-c;if(l<1e3)return"<1s";if(l<6e4)return`${Math.round(l/1e3)}s`;const u=Math.floor(l/6e4),h=Math.round(l%6e4/1e3);return`${u}m ${h}s`}function T(){const[c,x]=r.useState([]),[m,l]=r.useState([]),[u,h]=r.useState(0),[k,w]=r.useState(!0),[n,A]=r.useState("all"),[i,S]=r.useState("all"),[o,C]=r.useState(""),[s,f]=r.useState(null),p=r.useCallback(async()=>{try{const t={limit:100};n!=="all"&&(t.triggerType=n),i!=="all"&&(t.status=i),o&&(t.agentId=o);const a=await N.listExecutions(t);x(a.executions),h(a.total)}catch(t){console.error("[runs] Failed to fetch executions:",t)}finally{w(!1)}},[n,i,o]),b=r.useCallback(async()=>{try{const t=await N.listAgents();l(t)}catch(t){console.error("[runs] Failed to fetch agents:",t)}},[]);r.useEffect(()=>{b()},[b]),r.useEffect(()=>{p();const t=setInterval(p,5e3);return()=>clearInterval(t)},[p]);const j=t=>{const a=m.find(d=>d.id===t);return(a==null?void 0:a.name)||t};return e.jsxs("div",{className:"h-full flex flex-col bg-cc-bg",children:[e.jsxs("div",{className:"shrink-0 border-b border-cc-border px-6 py-4",children:[e.jsx("h1",{className:"text-lg font-semibold text-cc-fg",children:"Runs"}),e.jsx("p",{className:"text-sm text-cc-muted mt-1",children:"Monitor agent executions across all triggers"})]}),e.jsxs("div",{className:"shrink-0 border-b border-cc-border px-6 py-3 flex items-center gap-4 flex-wrap",children:[e.jsxs("select",{value:o,onChange:t=>C(t.target.value),className:"text-sm rounded-md border border-cc-border bg-cc-input-bg text-cc-fg px-2 py-1","aria-label":"Filter by agent",children:[e.jsx("option",{value:"",children:"All agents"}),m.map(t=>e.jsx("option",{value:t.id,children:t.name},t.id))]}),e.jsx("div",{className:"flex items-center gap-1",children:["all","manual","webhook","schedule","linear"].map(t=>e.jsx("button",{onClick:()=>A(t),className:`text-xs px-2.5 py-1 rounded-full transition-colors ${n===t?"bg-cc-fg text-cc-bg":"bg-cc-hover text-cc-muted hover:text-cc-fg"}`,children:t==="all"?"All triggers":g(t)},t))}),e.jsx("div",{className:"flex items-center gap-1",children:["all","running","success","error"].map(t=>e.jsx("button",{onClick:()=>S(t),className:`text-xs px-2.5 py-1 rounded-full transition-colors ${i===t?"bg-cc-fg text-cc-bg":"bg-cc-hover text-cc-muted hover:text-cc-fg"}`,children:t==="all"?"All statuses":t.charAt(0).toUpperCase()+t.slice(1)},t))}),e.jsxs("span",{className:"text-xs text-cc-muted ml-auto",children:[u," total"]})]}),e.jsx("div",{className:"flex-1 overflow-auto",children:k?e.jsx("div",{className:"text-sm text-cc-muted text-center py-12",children:"Loading..."}):c.length===0?e.jsxs("div",{className:"text-center py-16",children:[e.jsx("div",{className:"mb-3 flex justify-center text-cc-muted",children:e.jsx("svg",{viewBox:"0 0 16 16",fill:"currentColor",className:"w-8 h-8",children:e.jsx("path",{d:"M8 1a7 7 0 100 14A7 7 0 008 1zm-.75 3.5a.75.75 0 011.5 0v3.19l2.03 2.03a.75.75 0 01-1.06 1.06l-2.25-2.25A.75.75 0 017.25 8V4.5z"})})}),e.jsx("p",{className:"text-sm text-cc-muted",children:"No executions found"}),e.jsx("p",{className:"text-xs text-cc-muted mt-1",children:"Run an agent to see executions here"})]}):e.jsxs("table",{className:"w-full text-sm",role:"table",children:[e.jsx("thead",{className:"sticky top-0 bg-cc-card backdrop-blur",children:e.jsxs("tr",{className:"text-left text-xs text-cc-muted uppercase tracking-wider",children:[e.jsx("th",{className:"px-6 py-2 font-medium",children:"Agent"}),e.jsx("th",{className:"px-4 py-2 font-medium",children:"Trigger"}),e.jsx("th",{className:"px-4 py-2 font-medium",children:"Status"}),e.jsx("th",{className:"px-4 py-2 font-medium",children:"Started"}),e.jsx("th",{className:"px-4 py-2 font-medium",children:"Duration"}),e.jsx("th",{className:"px-4 py-2 font-medium",children:"Session"})]})}),e.jsx("tbody",{className:"divide-y divide-cc-border/50",children:c.map(t=>{const a=E(t),d=(s==null?void 0:s.sessionId)===t.sessionId;return e.jsxs("tr",{onClick:()=>f(d?null:t),className:`cursor-pointer transition-colors ${d?"bg-cc-active":"hover:bg-cc-hover"}`,children:[e.jsx("td",{className:"px-6 py-3",children:e.jsx("div",{className:"flex items-center gap-2",children:e.jsx("span",{className:"text-cc-fg font-medium",children:j(t.agentId)})})}),e.jsx("td",{className:"px-4 py-3",children:e.jsx("span",{className:`inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium ${v(t.triggerType)}`,children:g(t.triggerType)})}),e.jsx("td",{className:"px-4 py-3",children:e.jsxs("span",{className:`font-medium ${a.color}`,children:[!t.completedAt&&!t.error&&e.jsx("span",{className:"inline-block w-1.5 h-1.5 rounded-full bg-cc-warning mr-1.5 animate-pulse"}),a.label]})}),e.jsx("td",{className:"px-4 py-3 text-cc-muted",children:I(t.startedAt)}),e.jsx("td",{className:"px-4 py-3 text-cc-muted font-mono text-xs",children:y(t.startedAt,t.completedAt)}),e.jsx("td",{className:"px-4 py-3",children:t.sessionId&&e.jsx("a",{href:`#/session/${t.sessionId}`,onClick:$=>$.stopPropagation(),className:"text-cc-primary hover:text-cc-primary-hover text-xs font-mono underline",children:"Open"})})]},`${t.sessionId}-${t.startedAt}`)})})]})}),s&&e.jsxs("div",{className:"shrink-0 border-t border-cc-border bg-cc-card px-6 py-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("h3",{className:"text-sm font-semibold text-cc-fg",children:"Execution Details"}),e.jsx("button",{onClick:()=>f(null),className:"text-cc-muted hover:text-cc-fg text-sm transition-colors","aria-label":"Close details",children:"Close"})]}),e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-cc-muted",children:"Agent"}),e.jsx("p",{className:"text-cc-fg font-medium",children:j(s.agentId)})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-cc-muted",children:"Trigger"}),e.jsx("p",{className:`inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium ${v(s.triggerType)}`,children:g(s.triggerType)})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-cc-muted",children:"Started"}),e.jsx("p",{className:"text-cc-fg",children:new Date(s.startedAt).toLocaleString()})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-cc-muted",children:"Duration"}),e.jsx("p",{className:"text-cc-fg font-mono",children:y(s.startedAt,s.completedAt)})]})]}),s.error&&e.jsx("div",{className:"mt-3 p-2 bg-cc-error/10 rounded text-sm text-cc-error font-mono whitespace-pre-wrap",children:s.error}),s.sessionId&&e.jsx("a",{href:`#/session/${s.sessionId}`,className:"mt-3 inline-flex items-center gap-1 text-sm text-cc-primary hover:text-cc-primary-hover",children:"Open session to view live output"})]})]})}export{T as RunsPage};
@@ -1 +0,0 @@
1
- import{r as s,u as a,g as et,a as n,j as e,n as tt,b as st,s as ct}from"./index-C37y24Vq.js";const X=[{id:"general",label:"General"},{id:"webhooks",label:"Webhooks"},{id:"authentication",label:"Authentication"},{id:"notifications",label:"Notifications"},{id:"providers",label:"Providers"},{id:"anthropic",label:"Anthropic"},{id:"ai-validation",label:"AI Validation"},{id:"updates",label:"Updates"},{id:"telemetry",label:"Telemetry"},{id:"environments",label:"Environments"}];function at({embedded:Z=!1}){const[p,ee]=s.useState(""),[te,se]=s.useState("claude-sonnet-4-6"),[d,ce]=s.useState(!1),[w,$e]=s.useState(!0),[g,A]=s.useState(!1),[ne,b]=s.useState(""),[ae,y]=s.useState(!1),De=a(t=>t.darkMode),Ke=a(t=>t.toggleDarkMode),oe=a(t=>t.diffBase),Fe=a(t=>t.setDiffBase),Le=a(t=>t.notificationSound),Me=a(t=>t.toggleNotificationSound),ie=a(t=>t.notificationDesktop),re=a(t=>t.setNotificationDesktop),o=a(t=>t.updateInfo),V=a(t=>t.setUpdateInfo),Qe=a(t=>t.setUpdateOverlayActive),Be=typeof Notification<"u",[x,v]=s.useState("stable"),[S,I]=s.useState(!1),[P,le]=s.useState(!1),[R,de]=s.useState(!1),[ue,j]=s.useState(""),[xe,C]=s.useState(""),[pe,He]=s.useState(et()),[U,O]=s.useState(!1),[$,D]=s.useState(!0),[K,F]=s.useState(!1),[T,L]=s.useState(""),[me,he]=s.useState("general"),[_e,fe]=s.useState(!1),[M,ge]=s.useState(!1),[k,m]=s.useState(null),[h,be]=s.useState(""),[Q,ye]=s.useState(!1),[f,ve]=s.useState(""),[B,je]=s.useState(!1),[H,ke]=s.useState(!1),[qe,_]=s.useState(!1),[Ne,we]=s.useState(""),[Ge,Ae]=s.useState(!1),[Ye,Se]=s.useState(!1),[N,Ce]=s.useState(null),[q,Ue]=s.useState(!1),[u,Te]=s.useState(null),[E,We]=s.useState(0),[G,Ee]=s.useState(!1),[Y,Ve]=s.useState(!1),[ze,Ie]=s.useState(!1),Pe=s.useRef(null),W=s.useRef({});s.useEffect(()=>{const t=Pe.current;if(!t)return;const c=new IntersectionObserver(r=>{var Oe;let i=null;for(const J of r)J.isIntersecting&&(!i||J.boundingClientRect.top<i.boundingClientRect.top)&&(i=J);(Oe=i==null?void 0:i.target)!=null&&Oe.id&&he(i.target.id)},{root:t,rootMargin:"-10% 0px -70% 0px",threshold:0});for(const r of X){const i=W.current[r.id];i&&c.observe(i)}return()=>c.disconnect()},[w]);const Re=s.useCallback(t=>{he(t);const c=W.current[t];c&&c.scrollIntoView({behavior:"smooth",block:"start"})},[]);s.useEffect(()=>{n.getSettings().then(t=>{ce(t.anthropicApiKeyConfigured),ye(t.claudeCodeOAuthTokenConfigured),je(t.openaiApiKeyConfigured),se(t.anthropicModel||"claude-sonnet-4-6"),typeof t.aiValidationEnabled=="boolean"&&O(t.aiValidationEnabled),typeof t.aiValidationAutoApprove=="boolean"&&D(t.aiValidationAutoApprove),typeof t.aiValidationAutoDeny=="boolean"&&F(t.aiValidationAutoDeny),(t.updateChannel==="stable"||t.updateChannel==="prerelease")&&v(t.updateChannel),typeof t.dockerAutoUpdate=="boolean"&&I(t.dockerAutoUpdate),typeof t.publicUrl=="string"&&(L(t.publicUrl),a.getState().setPublicUrl(t.publicUrl))}).catch(t=>b(t instanceof Error?t.message:String(t))).finally(()=>$e(!1)),n.getAuthToken().then(t=>Ce(t.token)).catch(()=>{})},[]);async function Je(t){t.preventDefault(),A(!0),b(""),y(!1);try{const c=p.trim(),r={anthropicModel:te.trim()||"claude-sonnet-4-6"};c&&(r.anthropicApiKey=c);const i=await n.updateSettings(r);ce(i.anthropicApiKeyConfigured),ee(""),y(!0),setTimeout(()=>y(!1),1800)}catch(c){b(c instanceof Error?c.message:String(c))}finally{A(!1)}}async function z(t){const c=t==="aiValidationEnabled"?U:t==="aiValidationAutoApprove"?$:K,r=!c;t==="aiValidationEnabled"?O(r):t==="aiValidationAutoApprove"?D(r):F(r);try{await n.updateSettings({[t]:r})}catch{t==="aiValidationEnabled"?O(c):t==="aiValidationAutoApprove"?D(c):F(c)}}async function Xe(){le(!0),j(""),C("");try{const t=await n.forceCheckForUpdate();V(t),t.updateAvailable&&t.latestVersion?j(`Update v${t.latestVersion} is available.`):j("You are up to date.")}catch(t){C(t instanceof Error?t.message:String(t))}finally{le(!1)}}async function Ze(){de(!0),j(""),C("");try{localStorage.setItem("companion_docker_prompt_pending","1");const t=await n.triggerUpdate();j(t.message),Qe(!0)}catch(t){localStorage.removeItem("companion_docker_prompt_pending"),C(t instanceof Error?t.message:String(t)),de(!1)}}const l=s.useCallback(t=>c=>{W.current[t]=c},[]);return e.jsxs("div",{className:`${Z?"h-full":"h-[100dvh]"} bg-cc-bg text-cc-fg font-sans-ui antialiased flex flex-col`,children:[e.jsx("div",{className:"shrink-0 max-w-5xl w-full mx-auto px-4 sm:px-8 pt-6 sm:pt-10",children:e.jsxs("div",{className:"flex items-start justify-between gap-3 mb-6",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-xl font-semibold text-cc-fg",children:"Settings"}),e.jsx("p",{className:"mt-1 text-sm text-cc-muted",children:"Configure API access, notifications, appearance, and workspace defaults."})]}),!Z&&e.jsx("button",{onClick:()=>{const t=a.getState().currentSessionId;t?tt(t):st()},className:"px-3 py-2.5 min-h-[44px] rounded-lg text-sm text-cc-muted hover:text-cc-fg hover:bg-cc-hover transition-colors cursor-pointer",children:"Back"})]})}),e.jsx("div",{className:"sm:hidden shrink-0 border-b border-cc-border",children:e.jsx("nav",{className:"flex gap-1 px-4 py-2 overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden","aria-label":"Settings categories",children:X.map(t=>e.jsx("button",{type:"button",onClick:()=>Re(t.id),className:`shrink-0 px-3 py-2 min-h-[44px] rounded-lg text-sm font-medium transition-colors cursor-pointer ${me===t.id?"text-cc-primary bg-cc-primary/8":"text-cc-muted hover:text-cc-fg hover:bg-cc-hover"}`,children:t.label},t.id))})}),e.jsxs("div",{className:"flex-1 min-h-0 flex max-w-5xl w-full mx-auto",children:[e.jsx("nav",{className:"hidden sm:flex flex-col gap-0.5 w-44 shrink-0 pt-2 pr-6 pl-8 sticky top-0 self-start","aria-label":"Settings categories",children:X.map(t=>e.jsx("button",{type:"button",onClick:()=>Re(t.id),className:`text-left px-3 py-2 min-h-[44px] rounded-lg text-sm font-medium transition-colors cursor-pointer ${me===t.id?"text-cc-primary bg-cc-primary/8":"text-cc-muted hover:text-cc-fg hover:bg-cc-hover"}`,children:t.label},t.id))}),e.jsx("div",{ref:Pe,className:"flex-1 min-w-0 overflow-y-auto px-4 sm:px-8 sm:pl-0 pb-safe",children:e.jsxs("div",{className:"space-y-10 py-4 sm:py-2",children:[e.jsxs("section",{id:"general",ref:l("general"),children:[e.jsx("h2",{className:"text-sm font-semibold text-cc-fg mb-4",children:"General"}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("button",{type:"button",onClick:Ke,className:"w-full flex items-center justify-between px-3 py-3 min-h-[44px] rounded-lg text-sm bg-cc-hover text-cc-fg hover:bg-cc-active transition-colors cursor-pointer",children:[e.jsx("span",{children:"Theme"}),e.jsx("span",{className:"text-xs text-cc-muted",children:De?"Dark":"Light"})]}),e.jsxs("button",{type:"button",onClick:()=>Fe(oe==="last-commit"?"default-branch":"last-commit"),className:"w-full flex items-center justify-between px-3 py-3 min-h-[44px] rounded-lg text-sm bg-cc-hover text-cc-fg hover:bg-cc-active transition-colors cursor-pointer",children:[e.jsx("span",{children:"Diff compare against"}),e.jsx("span",{className:"text-xs text-cc-muted",children:oe==="last-commit"?"Last commit (HEAD)":"Default branch"})]}),e.jsx("p",{className:"text-xs text-cc-muted px-1",children:"Last commit shows only uncommitted changes. Default branch shows all changes since diverging from main."})]})]}),e.jsxs("section",{id:"webhooks",ref:l("webhooks"),children:[e.jsx("h2",{className:"text-sm font-semibold text-cc-fg mb-4",children:"Webhooks"}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-xs text-cc-muted",children:"The public URL is used for webhook URLs that external services (Linear, GitHub) send events to. Set this to the externally-reachable address of your Companion instance."}),e.jsxs("p",{className:"text-xs text-cc-muted",children:["Tip:"," ",e.jsx("a",{href:"#/integrations/tailscale",className:"text-cc-primary hover:underline",children:"Use the Tailscale integration"})," ","to get an HTTPS URL automatically."]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-xs font-medium text-cc-fg mb-1.5",htmlFor:"public-url",children:"Public URL"}),e.jsx("input",{id:"public-url",type:"url","aria-label":"Public URL",value:T,onChange:t=>L(t.target.value),placeholder:"https://your-domain.example.com",className:"w-full px-3 py-2.5 min-h-[44px] text-sm bg-cc-bg rounded-lg border border-cc-border text-cc-fg placeholder:text-cc-muted focus:outline-none focus:ring-1 focus:ring-cc-primary font-mono-code"}),e.jsx("p",{className:"mt-1.5 text-[10px] text-cc-muted",children:T?`Using: ${T}`:`Fallback: ${typeof window<"u"?window.location.origin:"http://localhost:3456"}`})]}),e.jsx("button",{type:"button",onClick:async()=>{A(!0),b("");try{const t=await n.updateSettings({publicUrl:T.trim()});L(t.publicUrl),a.getState().setPublicUrl(t.publicUrl),y(!0),setTimeout(()=>y(!1),1800)}catch(t){b(t instanceof Error?t.message:String(t))}finally{A(!1)}},disabled:g,className:"px-4 py-2 min-h-[44px] rounded-lg text-sm font-medium bg-cc-primary text-white hover:opacity-90 transition-opacity disabled:opacity-50 cursor-pointer",children:g?"Saving...":ae?"Saved!":"Save Public URL"})]})]}),e.jsxs("section",{id:"authentication",ref:l("authentication"),children:[e.jsx("h2",{className:"text-sm font-semibold text-cc-fg mb-4",children:"Authentication"}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-xs text-cc-muted",children:"Use the auth token or QR code to connect additional devices (e.g. mobile over Tailscale)."}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium mb-1.5",children:"Auth Token"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex-1 px-3 py-2.5 min-h-[44px] text-sm bg-cc-bg rounded-lg text-cc-fg font-mono-code select-all break-all flex items-center",children:N?q?N:"••••••••••••••••":e.jsx("span",{className:"text-cc-muted",children:"Loading..."})}),e.jsx("button",{type:"button",onClick:()=>Ue(t=>!t),className:"px-3 py-2.5 min-h-[44px] rounded-lg text-sm bg-cc-hover hover:bg-cc-active text-cc-fg transition-colors cursor-pointer",title:q?"Hide token":"Show token",children:q?"Hide":"Show"}),e.jsx("button",{type:"button",onClick:()=>{N&&navigator.clipboard.writeText(N).then(()=>{Ie(!0),setTimeout(()=>Ie(!1),1500)})},disabled:!N,className:"px-3 py-2.5 min-h-[44px] rounded-lg text-sm bg-cc-hover hover:bg-cc-active text-cc-fg transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed",title:"Copy token to clipboard",children:ze?"Copied":"Copy"})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium mb-1.5",children:"Mobile Login QR"}),u&&u.length>0?e.jsxs("div",{className:"space-y-3",children:[u.length>1&&e.jsx("div",{className:"flex gap-1",children:u.map((t,c)=>e.jsx("button",{type:"button",onClick:()=>We(c),className:`px-3 py-1.5 rounded-md text-xs font-medium transition-colors cursor-pointer ${c===E?"bg-cc-primary text-white":"bg-cc-hover text-cc-muted hover:text-cc-fg"}`,children:t.label},t.label))}),e.jsx("div",{className:"inline-block rounded-lg bg-white p-2",children:e.jsx("img",{src:u[E].qrDataUrl,alt:`QR code for ${u[E].label} login`,className:"w-48 h-48"})}),e.jsx("div",{className:"px-3 py-2 rounded-lg bg-cc-bg text-sm font-mono-code text-cc-fg break-all select-all",children:u[E].url}),e.jsx("p",{className:"text-xs text-cc-muted",children:"Scan with your phone's camera app — it will open the URL and auto-authenticate."})]}):u&&u.length===0?e.jsx("p",{className:"text-xs text-cc-muted",children:"No remote addresses detected (LAN or Tailscale). Connect to a network to generate a QR code."}):e.jsx("button",{type:"button",onClick:async()=>{Ee(!0);try{const t=await n.getAuthQr();Te(t.qrCodes)}catch{}finally{Ee(!1)}},disabled:G,className:`px-3 py-2 min-h-[44px] rounded-lg text-sm font-medium transition-colors ${G?"bg-cc-hover text-cc-muted cursor-not-allowed":"bg-cc-hover hover:bg-cc-active text-cc-fg cursor-pointer"}`,children:G?"Generating...":"Show QR Code"})]}),e.jsxs("div",{className:"pt-2",children:[e.jsx("button",{type:"button",onClick:async()=>{if(confirm("Regenerate auth token? All existing sessions on other devices will be signed out.")){Ve(!0);try{const t=await n.regenerateAuthToken();Ce(t.token),Ue(!0),Te(null)}catch{}finally{Ve(!1)}}},disabled:Y,className:`px-3 py-2 min-h-[44px] rounded-lg text-sm font-medium transition-colors ${Y?"bg-cc-hover text-cc-muted cursor-not-allowed":"bg-cc-error/10 hover:bg-cc-error/20 text-cc-error cursor-pointer"}`,children:Y?"Regenerating...":"Regenerate Token"}),e.jsx("p",{className:"mt-1.5 text-xs text-cc-muted",children:"Creates a new token. All other signed-in devices will need to re-authenticate."})]})]})]}),e.jsxs("section",{id:"notifications",ref:l("notifications"),children:[e.jsx("h2",{className:"text-sm font-semibold text-cc-fg mb-4",children:"Notifications"}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("button",{type:"button",onClick:Me,className:"w-full flex items-center justify-between px-3 py-3 min-h-[44px] rounded-lg text-sm bg-cc-hover text-cc-fg hover:bg-cc-active transition-colors cursor-pointer",children:[e.jsx("span",{children:"Sound"}),e.jsx("span",{className:"text-xs text-cc-muted",children:Le?"On":"Off"})]}),Be&&e.jsxs("button",{type:"button",onClick:async()=>{if(ie)re(!1);else{if(Notification.permission!=="granted"&&await Notification.requestPermission()!=="granted")return;re(!0)}},className:"w-full flex items-center justify-between px-3 py-3 min-h-[44px] rounded-lg text-sm bg-cc-hover text-cc-fg hover:bg-cc-active transition-colors cursor-pointer",children:[e.jsx("span",{children:"Desktop Alerts"}),e.jsx("span",{className:"text-xs text-cc-muted",children:ie?"On":"Off"})]})]})]}),e.jsxs("section",{id:"providers",ref:l("providers"),children:[e.jsx("h2",{className:"text-sm font-semibold text-cc-fg mb-4",children:"Providers"}),e.jsxs("div",{className:"space-y-6",children:[e.jsx("p",{className:"text-xs text-cc-muted",children:"Configure authentication tokens for Claude Code and Codex. These are injected into sessions automatically."}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"block text-sm font-medium",htmlFor:"claude-code-token",children:"Claude Code OAuth Token"}),e.jsxs("p",{className:"text-xs text-cc-muted",children:["Run ",e.jsx("code",{className:"font-mono-code bg-cc-code-bg px-1 py-0.5 rounded text-cc-code-fg",children:"claude setup-token"})," in your terminal, then paste the token here."]}),e.jsx("input",{id:"claude-code-token",type:"password",value:Q&&!Ge&&!h?"••••••••••••••••":h,onChange:t=>be(t.target.value),onFocus:()=>Ae(!0),onBlur:()=>Ae(!1),placeholder:Q?"Enter a new token to replace":"Paste token from claude setup-token",className:"w-full px-3 py-2.5 min-h-[44px] text-sm bg-cc-bg rounded-lg text-cc-fg placeholder:text-cc-muted focus:outline-none focus:ring-1 focus:ring-cc-primary/40 transition-shadow"}),e.jsx("p",{className:"text-xs text-cc-muted",children:Q?"Claude Code token configured":"Claude Code token not configured"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"block text-sm font-medium",htmlFor:"openai-api-key",children:"OpenAI API Key (Codex)"}),e.jsxs("p",{className:"text-xs text-cc-muted",children:["Used to authenticate Codex sessions. You can also use ",e.jsx("code",{className:"font-mono-code bg-cc-code-bg px-1 py-0.5 rounded text-cc-code-fg",children:"codex --login"})," for device-based auth."]}),e.jsx("input",{id:"openai-api-key",type:"password",value:B&&!Ye&&!f?"••••••••••••••••":f,onChange:t=>ve(t.target.value),onFocus:()=>Se(!0),onBlur:()=>Se(!1),placeholder:B?"Enter a new key to replace":"sk-...",className:"w-full px-3 py-2.5 min-h-[44px] text-sm bg-cc-bg rounded-lg text-cc-fg placeholder:text-cc-muted focus:outline-none focus:ring-1 focus:ring-cc-primary/40 transition-shadow"}),e.jsx("p",{className:"text-xs text-cc-muted",children:B?"OpenAI key configured":"OpenAI key not configured"})]}),Ne&&e.jsx("div",{className:"px-3 py-2 rounded-lg bg-cc-error/10 border border-cc-error/20 text-xs text-cc-error",children:Ne}),qe&&e.jsx("div",{className:"px-3 py-2 rounded-lg bg-cc-success/10 border border-cc-success/20 text-xs text-cc-success",children:"Provider settings saved."}),e.jsx("button",{type:"button",disabled:H||!h.trim()&&!f.trim(),onClick:async()=>{ke(!0),we(""),_(!1);try{const t={};h.trim()&&(t.claudeCodeOAuthToken=h.trim()),f.trim()&&(t.openaiApiKey=f.trim());const c=await n.updateSettings(t);ye(c.claudeCodeOAuthTokenConfigured),je(c.openaiApiKeyConfigured),be(""),ve(""),_(!0),setTimeout(()=>_(!1),1800)}catch(t){we(t instanceof Error?t.message:String(t))}finally{ke(!1)}},className:`px-4 py-2 min-h-[44px] rounded-lg text-sm font-medium transition-colors ${H||!h.trim()&&!f.trim()?"bg-cc-hover text-cc-muted cursor-not-allowed":"bg-cc-primary hover:bg-cc-primary-hover text-white cursor-pointer"}`,children:H?"Saving...":"Save Provider Settings"})]})]}),e.jsxs("section",{id:"anthropic",ref:l("anthropic"),children:[e.jsx("h2",{className:"text-sm font-semibold text-cc-fg mb-4",children:"Anthropic"}),e.jsxs("form",{onSubmit:Je,className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium mb-1.5",htmlFor:"anthropic-key",children:"Anthropic API Key"}),e.jsx("input",{id:"anthropic-key",type:"password",value:d&&!_e&&!p?"••••••••••••••••":p,onChange:t=>{ee(t.target.value),m(null)},onFocus:()=>fe(!0),onBlur:()=>fe(!1),placeholder:d?"Enter a new key to replace":"sk-ant-api03-...",className:"w-full px-3 py-2.5 min-h-[44px] text-sm bg-cc-bg rounded-lg text-cc-fg placeholder:text-cc-muted focus:outline-none focus:ring-1 focus:ring-cc-primary/40 transition-shadow"}),e.jsx("p",{className:"mt-1.5 text-xs text-cc-muted",children:"Auto-renaming is disabled until this key is configured."})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium mb-1.5",htmlFor:"anthropic-model",children:"Anthropic Model"}),e.jsx("input",{id:"anthropic-model",type:"text",value:te,onChange:t=>se(t.target.value),placeholder:"claude-sonnet-4-6",className:"w-full px-3 py-2.5 min-h-[44px] text-sm bg-cc-bg rounded-lg text-cc-fg placeholder:text-cc-muted focus:outline-none focus:ring-1 focus:ring-cc-primary/40 transition-shadow"})]}),ne&&e.jsx("div",{className:"px-3 py-2 rounded-lg bg-cc-error/10 border border-cc-error/20 text-xs text-cc-error",children:ne}),ae&&e.jsx("div",{className:"px-3 py-2 rounded-lg bg-cc-success/10 border border-cc-success/20 text-xs text-cc-success",children:"Settings saved."}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-xs text-cc-muted",children:w?"Loading...":d?"Anthropic key configured":"Anthropic key not configured"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{type:"button",disabled:M||!p.trim(),onClick:async()=>{ge(!0),m(null);try{const t=await n.verifyAnthropicKey(p.trim());m(t),setTimeout(()=>m(null),5e3)}catch(t){m({valid:!1,error:t instanceof Error?t.message:String(t)}),setTimeout(()=>m(null),5e3)}finally{ge(!1)}},className:`px-3 py-2 min-h-[44px] rounded-lg text-sm font-medium transition-colors ${M||!p.trim()?"bg-cc-hover text-cc-muted cursor-not-allowed":"bg-cc-hover hover:bg-cc-active text-cc-fg cursor-pointer"}`,children:M?"Verifying...":"Verify"}),e.jsx("button",{type:"submit",disabled:g||w,className:`px-3 py-2 min-h-[44px] rounded-lg text-sm font-medium transition-colors ${g||w?"bg-cc-hover text-cc-muted cursor-not-allowed":"bg-cc-primary hover:bg-cc-primary-hover text-white cursor-pointer"}`,children:g?"Saving...":"Save"})]})]}),k&&e.jsx("div",{className:`px-3 py-2 rounded-lg text-xs ${k.valid?"bg-cc-success/10 border border-cc-success/20 text-cc-success":"bg-cc-error/10 border border-cc-error/20 text-cc-error"}`,children:k.valid?"API key is valid.":`Invalid API key${k.error?`: ${k.error}`:"."}`})]})]}),e.jsxs("section",{id:"ai-validation",ref:l("ai-validation"),children:[e.jsx("h2",{className:"text-sm font-semibold text-cc-fg mb-4",children:"AI Validation"}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"text-xs text-cc-muted leading-relaxed",children:"When enabled, an AI model evaluates tool calls before they execute. Safe operations are auto-approved, dangerous ones are blocked, and uncertain cases are shown to you with a recommendation. Requires an Anthropic API key. These settings serve as defaults for new sessions. Each session can override AI validation independently via the shield icon in the session header."}),e.jsxs("button",{type:"button",onClick:()=>z("aiValidationEnabled"),disabled:!d,className:`w-full flex items-center justify-between px-3 py-3 min-h-[44px] rounded-lg transition-colors ${d?"bg-cc-hover hover:bg-cc-active text-cc-fg cursor-pointer":"bg-cc-hover text-cc-muted cursor-not-allowed opacity-60"}`,children:[e.jsx("span",{className:"text-sm",children:"AI Validation Mode"}),e.jsx("span",{className:`text-xs font-medium ${U&&d?"text-cc-success":"text-cc-muted"}`,children:U&&d?"On":"Off"})]}),!d&&e.jsx("p",{className:"text-[11px] text-cc-warning",children:"Configure an Anthropic API key above to enable AI validation."}),U&&d&&e.jsxs(e.Fragment,{children:[e.jsxs("button",{type:"button",onClick:()=>z("aiValidationAutoApprove"),className:"w-full flex items-center justify-between px-3 py-3 min-h-[44px] rounded-lg bg-cc-hover hover:bg-cc-active text-cc-fg transition-colors cursor-pointer",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-sm",children:"Auto-approve safe tools"}),e.jsx("p",{className:"text-[11px] text-cc-muted mt-0.5",children:"Automatically allow read-only tools and benign commands"})]}),e.jsx("span",{className:`text-xs font-medium ${$?"text-cc-success":"text-cc-muted"}`,children:$?"On":"Off"})]}),e.jsxs("button",{type:"button",onClick:()=>z("aiValidationAutoDeny"),className:"w-full flex items-center justify-between px-3 py-3 min-h-[44px] rounded-lg bg-cc-hover hover:bg-cc-active text-cc-fg transition-colors cursor-pointer",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-sm",children:"Auto-deny dangerous tools"}),e.jsx("p",{className:"text-[11px] text-cc-muted mt-0.5",children:"Automatically block destructive commands like rm -rf"})]}),e.jsx("span",{className:`text-xs font-medium ${K?"text-cc-success":"text-cc-muted"}`,children:K?"On":"Off"})]})]})]})]}),e.jsxs("section",{id:"updates",ref:l("updates"),children:[e.jsx("h2",{className:"text-sm font-semibold text-cc-fg mb-4",children:"Updates"}),e.jsxs("div",{className:"space-y-3",children:[o?e.jsxs("p",{className:"text-xs text-cc-muted",children:["Current version: v",o.currentVersion,o.latestVersion?` • Latest: v${o.latestVersion}`:"",o.channel==="prerelease"?" (prerelease)":""]}):e.jsx("p",{className:"text-xs text-cc-muted",children:"Version information not loaded yet."}),e.jsxs("div",{children:[e.jsx("span",{id:"update-channel-label",className:"block text-sm font-medium mb-1.5",children:"Update Channel"}),e.jsxs("div",{className:"flex gap-1",role:"radiogroup","aria-labelledby":"update-channel-label",children:[e.jsx("button",{type:"button",role:"radio","aria-checked":x==="stable",onClick:async()=>{if(x!=="stable"){v("stable");try{await n.updateSettings({updateChannel:"stable"})}catch{v("prerelease");return}try{const t=await n.forceCheckForUpdate();V(t)}catch{}}},className:`px-3 py-2 min-h-[44px] rounded-lg text-sm font-medium transition-colors cursor-pointer ${x==="stable"?"bg-cc-primary text-white":"bg-cc-hover text-cc-muted hover:text-cc-fg hover:bg-cc-active"}`,children:"Stable"}),e.jsx("button",{type:"button",role:"radio","aria-checked":x==="prerelease",onClick:async()=>{if(x!=="prerelease"){v("prerelease");try{await n.updateSettings({updateChannel:"prerelease"})}catch{v("stable");return}try{const t=await n.forceCheckForUpdate();V(t)}catch{}}},className:`px-3 py-2 min-h-[44px] rounded-lg text-sm font-medium transition-colors cursor-pointer ${x==="prerelease"?"bg-cc-primary text-white":"bg-cc-hover text-cc-muted hover:text-cc-fg hover:bg-cc-active"}`,children:"Prerelease"})]}),e.jsx("p",{className:"mt-1.5 text-xs text-cc-muted",children:x==="prerelease"?"Tracking prerelease channel. You will receive preview builds from the latest main branch.":"Tracking stable channel. You will only receive versioned releases."})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("span",{className:"block text-sm font-medium",children:"Auto-update Docker image"}),e.jsx("p",{className:"mt-0.5 text-xs text-cc-muted",children:"Automatically re-pull the sandbox Docker image when updating The Companion"})]}),e.jsx("button",{type:"button",role:"switch","aria-checked":S,onClick:async()=>{const t=!S;I(t);try{await n.updateSettings({dockerAutoUpdate:t})}catch{I(!t)}},className:`relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors ${S?"bg-cc-primary":"bg-cc-hover"}`,children:e.jsx("span",{className:`pointer-events-none inline-block h-5 w-5 rounded-full bg-white shadow transform transition-transform ${S?"translate-x-5":"translate-x-0"}`})})]}),xe&&e.jsx("div",{className:"px-3 py-2 rounded-lg bg-cc-error/10 border border-cc-error/20 text-xs text-cc-error",children:xe}),ue&&e.jsx("div",{className:"px-3 py-2 rounded-lg bg-cc-success/10 border border-cc-success/20 text-xs text-cc-success",children:ue}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx("button",{type:"button",onClick:Xe,disabled:P,className:`px-3 py-2 min-h-[44px] rounded-lg text-sm font-medium transition-colors ${P?"bg-cc-hover text-cc-muted cursor-not-allowed":"bg-cc-hover hover:bg-cc-active text-cc-fg cursor-pointer"}`,children:P?"Checking...":"Check for updates"}),o!=null&&o.isServiceMode?e.jsx("button",{type:"button",onClick:Ze,disabled:R||o.updateInProgress||!o.updateAvailable,className:`px-3 py-2 min-h-[44px] rounded-lg text-sm font-medium transition-colors ${R||o.updateInProgress||!o.updateAvailable?"bg-cc-hover text-cc-muted cursor-not-allowed":"bg-cc-primary hover:bg-cc-primary-hover text-white cursor-pointer"}`,children:R||o.updateInProgress?"Updating...":"Update & Restart"}):e.jsxs("p",{className:"text-xs text-cc-muted self-center",children:["Install service mode with ",e.jsx("code",{className:"font-mono-code bg-cc-code-bg px-1 py-0.5 rounded text-cc-code-fg",children:"the-companion install"})," to enable one-click updates."]})]})]})]}),e.jsxs("section",{id:"telemetry",ref:l("telemetry"),children:[e.jsx("h2",{className:"text-sm font-semibold text-cc-fg mb-4",children:"Telemetry"}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"text-xs text-cc-muted",children:"Anonymous product analytics and crash reports via PostHog to improve reliability."}),e.jsxs("button",{type:"button",onClick:()=>{const t=!pe;ct(t),He(t)},className:"w-full flex items-center justify-between px-3 py-3 min-h-[44px] rounded-lg text-sm bg-cc-hover text-cc-fg hover:bg-cc-active transition-colors cursor-pointer",children:[e.jsx("span",{children:"Usage analytics and errors"}),e.jsx("span",{className:"text-xs text-cc-muted",children:pe?"On":"Off"})]}),e.jsx("p",{className:"text-xs text-cc-muted",children:"Browser Do Not Track is respected automatically."})]})]}),e.jsxs("section",{id:"environments",ref:l("environments"),children:[e.jsx("h2",{className:"text-sm font-semibold text-cc-fg mb-4",children:"Environments"}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"text-xs text-cc-muted",children:"Manage reusable environment profiles used when creating sessions."}),e.jsx("button",{type:"button",onClick:()=>{window.location.hash="#/environments"},className:"px-3 py-2 min-h-[44px] rounded-lg text-sm font-medium bg-cc-primary hover:bg-cc-primary-hover text-white transition-colors cursor-pointer",children:"Open Environments Page"})]})]})]})})]})]})}export{at as SettingsPage};
@@ -1 +0,0 @@
1
- /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-900:oklch(41.4% .112 45.904);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-sky-500:oklch(68.5% .169 237.323);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-lg:16px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-cc-bg:#faf9f6;--color-cc-fg:#141413;--color-cc-card:#fff;--color-cc-primary:#d97757;--color-cc-primary-hover:#e08b6b;--color-cc-user-bubble:#f0efe8;--color-cc-border:#1f1e1d1f;--color-cc-muted:#6f6e69;--color-cc-sidebar:#f5f4ef;--color-cc-input-bg:#fff;--color-cc-code-bg:#f5f4ef;--color-cc-code-fg:#2d2d2d;--color-cc-hover:#1f1e1d0d;--color-cc-active:#1f1e1d17;--color-cc-success:#2d7d46;--color-cc-error:#c53030;--color-cc-warning:#b7791f;--color-cc-sidebar-footer:#edece5;--color-cc-separator:#1f1e1d1a;--color-cc-info:#2b6cb0;--color-cc-merged:#805ad5;--color-cc-codex:#10a37f;--color-cc-primary-btn:#ad5535;--color-cc-primary-btn-hover:#b85c3a;--color-cc-codex-btn:#0a7d5f;--color-cc-codex-btn-hover:#0b8362}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:focus-visible{outline:2px solid var(--color-cc-primary);outline-offset:2px}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.-inset-3{inset:calc(var(--spacing) * -3)}.inset-0{inset:calc(var(--spacing) * 0)}.inset-4{inset:calc(var(--spacing) * 4)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.-top-1{top:calc(var(--spacing) * -1)}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-12{top:calc(var(--spacing) * 12)}.top-\[2px\]{top:2px}.top-\[3px\]{top:3px}.top-\[44px\]{top:44px}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.-right-1{right:calc(var(--spacing) * -1)}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-2\.5{right:calc(var(--spacing) * 2.5)}.right-3{right:calc(var(--spacing) * 3)}.right-7{right:calc(var(--spacing) * 7)}.-bottom-0\.5{bottom:calc(var(--spacing) * -.5)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.left-2{left:calc(var(--spacing) * 2)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-\[2px\]{left:2px}.left-\[3px\]{left:3px}.left-\[17px\]{left:17px}.left-\[19px\]{left:19px}.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-\[90\]{z-index:90}.z-\[100\]{z-index:100}.order-1{order:1}.order-2{order:2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-m-4{margin:calc(var(--spacing) * -4)}.m-0{margin:calc(var(--spacing) * 0)}.m-2{margin:calc(var(--spacing) * 2)}.m-3{margin:calc(var(--spacing) * 3)}.-mx-0\.5{margin-inline:calc(var(--spacing) * -.5)}.mx-0{margin-inline:calc(var(--spacing) * 0)}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-6{margin-inline:calc(var(--spacing) * 6)}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-2\.5{margin-block:calc(var(--spacing) * 2.5)}.my-4{margin-block:calc(var(--spacing) * 4)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-\[-18px\]{margin-top:-18px}.mt-px{margin-top:1px}.-mr-1{margin-right:calc(var(--spacing) * -1)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-9{margin-left:calc(var(--spacing) * 9)}.ml-10{margin-left:calc(var(--spacing) * 10)}.ml-\[26px\]{margin-left:26px}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-0{height:calc(var(--spacing) * 0)}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-2\/5{height:40%}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-40{height:calc(var(--spacing) * 40)}.h-48{height:calc(var(--spacing) * 48)}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-\[7px\]{height:7px}.h-\[12vh\]{height:12vh}.h-\[14px\]{height:14px}.h-\[15px\]{height:15px}.h-\[18px\]{height:18px}.h-\[38\%\]{height:38%}.h-\[70vh\]{height:70vh}.h-\[100dvh\]{height:100dvh}.h-\[300px\]{height:300px}.h-\[320px\]{height:320px}.h-\[360px\]{height:360px}.h-\[400px\]{height:400px}.h-\[620px\]{height:620px}.h-\[min\(520px\,90dvh\)\]{height:min(520px,90dvh)}.h-full{height:100%}.h-px{height:1px}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-36{max-height:calc(var(--spacing) * 36)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-52{max-height:calc(var(--spacing) * 52)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\[60dvh\]{max-height:60dvh}.max-h-\[70\%\]{max-height:70%}.max-h-\[80px\]{max-height:80px}.max-h-\[90dvh\]{max-height:90dvh}.max-h-\[120px\]{max-height:120px}.max-h-\[150px\]{max-height:150px}.max-h-\[160px\]{max-height:160px}.max-h-\[180px\]{max-height:180px}.max-h-\[200px\]{max-height:200px}.max-h-\[240px\]{max-height:240px}.max-h-\[300px\]{max-height:300px}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[24px\]{min-height:24px}.min-h-\[32px\]{min-height:32px}.min-h-\[36px\]{min-height:36px}.min-h-\[40px\]{min-height:40px}.min-h-\[44px\]{min-height:44px}.min-h-\[52px\]{min-height:52px}.min-h-\[220px\]{min-height:220px}.min-h-\[320px\]{min-height:320px}.min-h-\[420px\]{min-height:420px}.w-0{width:calc(var(--spacing) * 0)}.w-0\.5{width:calc(var(--spacing) * .5)}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2\/5{width:40%}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-4\.5{width:calc(var(--spacing) * 4.5)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-28{width:calc(var(--spacing) * 28)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\[3px\]{width:3px}.w-\[7px\]{width:7px}.w-\[14px\]{width:14px}.w-\[15px\]{width:15px}.w-\[18px\]{width:18px}.w-\[40px\]{width:40px}.w-\[42\%\]{width:42%}.w-\[90vw\]{width:90vw}.w-\[100px\]{width:100px}.w-\[180px\]{width:180px}.w-\[216px\]{width:216px}.w-\[220px\]{width:220px}.w-\[240px\]{width:240px}.w-\[280px\]{width:280px}.w-\[320px\]{width:320px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[40\%\]{max-width:40%}.max-w-\[70\%\]{max-width:70%}.max-w-\[80px\]{max-width:80px}.max-w-\[85\%\]{max-width:85%}.max-w-\[100px\]{max-width:100px}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[150px\]{max-width:150px}.max-w-\[200px\]{max-width:200px}.max-w-\[260px\]{max-width:260px}.max-w-\[280px\]{max-width:280px}.max-w-\[320px\]{max-width:320px}.max-w-\[360px\]{max-width:360px}.max-w-\[520px\]{max-width:520px}.max-w-\[720px\]{max-width:720px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[15px\]{min-width:15px}.min-w-\[32px\]{min-width:32px}.min-w-\[36px\]{min-width:36px}.min-w-\[40px\]{min-width:40px}.min-w-\[44px\]{min-width:44px}.min-w-\[54px\]{min-width:54px}.min-w-\[160px\]{min-width:160px}.min-w-\[170px\]{min-width:170px}.min-w-\[300px\]{min-width:300px}.min-w-full{min-width:100%}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.origin-top-right{transform-origin:100% 0}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[2px\]{--tw-translate-x:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[16px\]{--tw-translate-x:16px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[fadeIn_150ms_ease-out\]{animation:.15s ease-out fadeIn}.animate-\[fadeSlideIn_0\.2s_ease-out\]{animation:.2s ease-out fadeSlideIn}.animate-\[fadeSlideIn_0\.3s_ease-out\]{animation:.3s ease-out fadeSlideIn}.animate-\[gentle-bounce_2s_ease-in-out_infinite\]{animation:2s ease-in-out infinite gentle-bounce}.animate-\[menu-appear_150ms_ease-out\]{animation:.15s ease-out menu-appear}.animate-\[pulse-dot_0\.8s_ease-in-out_infinite\]{animation:.8s ease-in-out infinite pulse-dot}.animate-\[pulse-dot_1\.5s_ease-in-out_infinite\]{animation:1.5s ease-in-out infinite pulse-dot}.animate-\[pulse-dot_1s_ease-in-out_infinite\]{animation:1s ease-in-out infinite pulse-dot}.animate-\[ring-pulse_1\.5s_ease-out_infinite\]{animation:1.5s ease-out infinite ring-pulse}.animate-\[typing-breathe_1\.5s_ease-in-out_infinite\]{animation:1.5s ease-in-out infinite typing-breathe}.animate-\[userSlideIn_0\.3s_ease-out\]{animation:.3s ease-out userSlideIn}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.\[scrollbar-width\:none\]{scrollbar-width:none}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[auto_auto_minmax\(0\,1fr\)\]{grid-template-columns:auto auto minmax(0,1fr)}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-px{gap:1px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-cc-border>:not(:last-child)){border-color:var(--color-cc-border)}:where(.divide-cc-border\/50>:not(:last-child)){border-color:#1f1e1d10}@supports (color:color-mix(in lab,red,red)){:where(.divide-cc-border\/50>:not(:last-child)){border-color:color-mix(in oklab,var(--color-cc-border) 50%,transparent)}}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-none{overscroll-behavior:none}.overscroll-y-contain{overscroll-behavior-y:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[24px\]{border-radius:24px}.rounded-\[28px\]{border-radius:28px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-\[14px\]{border-top-left-radius:14px;border-top-right-radius:14px}.rounded-l-lg{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.rounded-br-\[6px\]{border-bottom-right-radius:6px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-\[1\.5px\]{border-bottom-style:var(--tw-border-style);border-bottom-width:1.5px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.border-amber-500\/25{border-color:#f99c0040}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/25{border-color:color-mix(in oklab,var(--color-amber-500) 25%,transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-cc-border{border-color:var(--color-cc-border)}.border-cc-border\/20{border-color:#1f1e1d06}@supports (color:color-mix(in lab,red,red)){.border-cc-border\/20{border-color:color-mix(in oklab,var(--color-cc-border) 20%,transparent)}}.border-cc-border\/30{border-color:#1f1e1d09}@supports (color:color-mix(in lab,red,red)){.border-cc-border\/30{border-color:color-mix(in oklab,var(--color-cc-border) 30%,transparent)}}.border-cc-border\/40{border-color:#1f1e1d0c}@supports (color:color-mix(in lab,red,red)){.border-cc-border\/40{border-color:color-mix(in oklab,var(--color-cc-border) 40%,transparent)}}.border-cc-border\/50{border-color:#1f1e1d10}@supports (color:color-mix(in lab,red,red)){.border-cc-border\/50{border-color:color-mix(in oklab,var(--color-cc-border) 50%,transparent)}}.border-cc-border\/60{border-color:#1f1e1d13}@supports (color:color-mix(in lab,red,red)){.border-cc-border\/60{border-color:color-mix(in oklab,var(--color-cc-border) 60%,transparent)}}.border-cc-border\/70{border-color:#1f1e1d16}@supports (color:color-mix(in lab,red,red)){.border-cc-border\/70{border-color:color-mix(in oklab,var(--color-cc-border) 70%,transparent)}}.border-cc-border\/80{border-color:#1f1e1d19}@supports (color:color-mix(in lab,red,red)){.border-cc-border\/80{border-color:color-mix(in oklab,var(--color-cc-border) 80%,transparent)}}.border-cc-error\/20{border-color:#c5303033}@supports (color:color-mix(in lab,red,red)){.border-cc-error\/20{border-color:color-mix(in oklab,var(--color-cc-error) 20%,transparent)}}.border-cc-error\/30{border-color:#c530304d}@supports (color:color-mix(in lab,red,red)){.border-cc-error\/30{border-color:color-mix(in oklab,var(--color-cc-error) 30%,transparent)}}.border-cc-muted{border-color:var(--color-cc-muted)}.border-cc-muted\/25{border-color:#6f6e6940}@supports (color:color-mix(in lab,red,red)){.border-cc-muted\/25{border-color:color-mix(in oklab,var(--color-cc-muted) 25%,transparent)}}.border-cc-muted\/40{border-color:#6f6e6966}@supports (color:color-mix(in lab,red,red)){.border-cc-muted\/40{border-color:color-mix(in oklab,var(--color-cc-muted) 40%,transparent)}}.border-cc-primary{border-color:var(--color-cc-primary)}.border-cc-primary\/10{border-color:#d977571a}@supports (color:color-mix(in lab,red,red)){.border-cc-primary\/10{border-color:color-mix(in oklab,var(--color-cc-primary) 10%,transparent)}}.border-cc-primary\/15{border-color:#d9775726}@supports (color:color-mix(in lab,red,red)){.border-cc-primary\/15{border-color:color-mix(in oklab,var(--color-cc-primary) 15%,transparent)}}.border-cc-primary\/20{border-color:#d9775733}@supports (color:color-mix(in lab,red,red)){.border-cc-primary\/20{border-color:color-mix(in oklab,var(--color-cc-primary) 20%,transparent)}}.border-cc-primary\/28{border-color:#d9775747}@supports (color:color-mix(in lab,red,red)){.border-cc-primary\/28{border-color:color-mix(in oklab,var(--color-cc-primary) 28%,transparent)}}.border-cc-primary\/30{border-color:#d977574d}@supports (color:color-mix(in lab,red,red)){.border-cc-primary\/30{border-color:color-mix(in oklab,var(--color-cc-primary) 30%,transparent)}}.border-cc-primary\/35{border-color:#d9775759}@supports (color:color-mix(in lab,red,red)){.border-cc-primary\/35{border-color:color-mix(in oklab,var(--color-cc-primary) 35%,transparent)}}.border-cc-primary\/40{border-color:#d9775766}@supports (color:color-mix(in lab,red,red)){.border-cc-primary\/40{border-color:color-mix(in oklab,var(--color-cc-primary) 40%,transparent)}}.border-cc-primary\/50{border-color:#d9775780}@supports (color:color-mix(in lab,red,red)){.border-cc-primary\/50{border-color:color-mix(in oklab,var(--color-cc-primary) 50%,transparent)}}.border-cc-separator{border-color:var(--color-cc-separator)}.border-cc-success{border-color:var(--color-cc-success)}.border-cc-success\/20{border-color:#2d7d4633}@supports (color:color-mix(in lab,red,red)){.border-cc-success\/20{border-color:color-mix(in oklab,var(--color-cc-success) 20%,transparent)}}.border-cc-success\/30{border-color:#2d7d464d}@supports (color:color-mix(in lab,red,red)){.border-cc-success\/30{border-color:color-mix(in oklab,var(--color-cc-success) 30%,transparent)}}.border-cc-warning\/15{border-color:#b7791f26}@supports (color:color-mix(in lab,red,red)){.border-cc-warning\/15{border-color:color-mix(in oklab,var(--color-cc-warning) 15%,transparent)}}.border-cc-warning\/20{border-color:#b7791f33}@supports (color:color-mix(in lab,red,red)){.border-cc-warning\/20{border-color:color-mix(in oklab,var(--color-cc-warning) 20%,transparent)}}.border-cc-warning\/30{border-color:#b7791f4d}@supports (color:color-mix(in lab,red,red)){.border-cc-warning\/30{border-color:color-mix(in oklab,var(--color-cc-warning) 30%,transparent)}}.border-cc-warning\/40{border-color:#b7791f66}@supports (color:color-mix(in lab,red,red)){.border-cc-warning\/40{border-color:color-mix(in oklab,var(--color-cc-warning) 40%,transparent)}}.border-current{border-color:currentColor}.border-emerald-400\/50{border-color:#00d29480}@supports (color:color-mix(in lab,red,red)){.border-emerald-400\/50{border-color:color-mix(in oklab,var(--color-emerald-400) 50%,transparent)}}.border-transparent{border-color:#0000}.border-violet-500\/28{border-color:#8d54ff47}@supports (color:color-mix(in lab,red,red)){.border-violet-500\/28{border-color:color-mix(in oklab,var(--color-violet-500) 28%,transparent)}}.border-t-amber-500{border-top-color:var(--color-amber-500)}.border-t-cc-primary{border-top-color:var(--color-cc-primary)}.border-t-cc-warning{border-top-color:var(--color-cc-warning)}.border-t-transparent{border-top-color:#0000}.bg-\[\#5BA8A0\]\/10{background-color:#5ba8a01a}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500) 15%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.bg-black\/10{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black) 20%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-blue-400\/10{background-color:#54a2ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-400\/10{background-color:color-mix(in oklab,var(--color-blue-400) 10%,transparent)}}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500) 10%,transparent)}}.bg-blue-500\/15{background-color:#3080ff26}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/15{background-color:color-mix(in oklab,var(--color-blue-500) 15%,transparent)}}.bg-cc-active{background-color:var(--color-cc-active)}.bg-cc-active\/60{background-color:#1f1e1d0e}@supports (color:color-mix(in lab,red,red)){.bg-cc-active\/60{background-color:color-mix(in oklab,var(--color-cc-active) 60%,transparent)}}.bg-cc-bg{background-color:var(--color-cc-bg)}.bg-cc-bg\/40{background-color:#faf9f666}@supports (color:color-mix(in lab,red,red)){.bg-cc-bg\/40{background-color:color-mix(in oklab,var(--color-cc-bg) 40%,transparent)}}.bg-cc-bg\/50{background-color:#faf9f680}@supports (color:color-mix(in lab,red,red)){.bg-cc-bg\/50{background-color:color-mix(in oklab,var(--color-cc-bg) 50%,transparent)}}.bg-cc-bg\/60{background-color:#faf9f699}@supports (color:color-mix(in lab,red,red)){.bg-cc-bg\/60{background-color:color-mix(in oklab,var(--color-cc-bg) 60%,transparent)}}.bg-cc-bg\/95{background-color:#faf9f6f2}@supports (color:color-mix(in lab,red,red)){.bg-cc-bg\/95{background-color:color-mix(in oklab,var(--color-cc-bg) 95%,transparent)}}.bg-cc-border{background-color:var(--color-cc-border)}.bg-cc-border\/30{background-color:#1f1e1d09}@supports (color:color-mix(in lab,red,red)){.bg-cc-border\/30{background-color:color-mix(in oklab,var(--color-cc-border) 30%,transparent)}}.bg-cc-card{background-color:var(--color-cc-card)}.bg-cc-card\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-cc-card\/20{background-color:color-mix(in oklab,var(--color-cc-card) 20%,transparent)}}.bg-cc-card\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.bg-cc-card\/30{background-color:color-mix(in oklab,var(--color-cc-card) 30%,transparent)}}.bg-cc-card\/40{background-color:#fff6}@supports (color:color-mix(in lab,red,red)){.bg-cc-card\/40{background-color:color-mix(in oklab,var(--color-cc-card) 40%,transparent)}}.bg-cc-card\/50{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.bg-cc-card\/50{background-color:color-mix(in oklab,var(--color-cc-card) 50%,transparent)}}.bg-cc-card\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-cc-card\/90{background-color:color-mix(in oklab,var(--color-cc-card) 90%,transparent)}}.bg-cc-card\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-cc-card\/95{background-color:color-mix(in oklab,var(--color-cc-card) 95%,transparent)}}.bg-cc-code-bg{background-color:var(--color-cc-code-bg)}.bg-cc-code-bg\/30{background-color:#f5f4ef4d}@supports (color:color-mix(in lab,red,red)){.bg-cc-code-bg\/30{background-color:color-mix(in oklab,var(--color-cc-code-bg) 30%,transparent)}}.bg-cc-code-bg\/50{background-color:#f5f4ef80}@supports (color:color-mix(in lab,red,red)){.bg-cc-code-bg\/50{background-color:color-mix(in oklab,var(--color-cc-code-bg) 50%,transparent)}}.bg-cc-code-bg\/80{background-color:#f5f4efcc}@supports (color:color-mix(in lab,red,red)){.bg-cc-code-bg\/80{background-color:color-mix(in oklab,var(--color-cc-code-bg) 80%,transparent)}}.bg-cc-codex\/10{background-color:#10a37f1a}@supports (color:color-mix(in lab,red,red)){.bg-cc-codex\/10{background-color:color-mix(in oklab,var(--color-cc-codex) 10%,transparent)}}.bg-cc-error{background-color:var(--color-cc-error)}.bg-cc-error\/5{background-color:#c530300d}@supports (color:color-mix(in lab,red,red)){.bg-cc-error\/5{background-color:color-mix(in oklab,var(--color-cc-error) 5%,transparent)}}.bg-cc-error\/10{background-color:#c530301a}@supports (color:color-mix(in lab,red,red)){.bg-cc-error\/10{background-color:color-mix(in oklab,var(--color-cc-error) 10%,transparent)}}.bg-cc-error\/12{background-color:#c530301f}@supports (color:color-mix(in lab,red,red)){.bg-cc-error\/12{background-color:color-mix(in oklab,var(--color-cc-error) 12%,transparent)}}.bg-cc-error\/15{background-color:#c5303026}@supports (color:color-mix(in lab,red,red)){.bg-cc-error\/15{background-color:color-mix(in oklab,var(--color-cc-error) 15%,transparent)}}.bg-cc-error\/40{background-color:#c5303066}@supports (color:color-mix(in lab,red,red)){.bg-cc-error\/40{background-color:color-mix(in oklab,var(--color-cc-error) 40%,transparent)}}.bg-cc-error\/50{background-color:#c5303080}@supports (color:color-mix(in lab,red,red)){.bg-cc-error\/50{background-color:color-mix(in oklab,var(--color-cc-error) 50%,transparent)}}.bg-cc-fg{background-color:var(--color-cc-fg)}.bg-cc-fg\/\[0\.03\]{background-color:#14141308}@supports (color:color-mix(in lab,red,red)){.bg-cc-fg\/\[0\.03\]{background-color:color-mix(in oklab,var(--color-cc-fg) 3%,transparent)}}.bg-cc-fg\/\[0\.06\]{background-color:#1414130f}@supports (color:color-mix(in lab,red,red)){.bg-cc-fg\/\[0\.06\]{background-color:color-mix(in oklab,var(--color-cc-fg) 6%,transparent)}}.bg-cc-hover{background-color:var(--color-cc-hover)}.bg-cc-hover\/10{background-color:#1f1e1d01}@supports (color:color-mix(in lab,red,red)){.bg-cc-hover\/10{background-color:color-mix(in oklab,var(--color-cc-hover) 10%,transparent)}}.bg-cc-hover\/20{background-color:#1f1e1d03}@supports (color:color-mix(in lab,red,red)){.bg-cc-hover\/20{background-color:color-mix(in oklab,var(--color-cc-hover) 20%,transparent)}}.bg-cc-hover\/30{background-color:#1f1e1d04}@supports (color:color-mix(in lab,red,red)){.bg-cc-hover\/30{background-color:color-mix(in oklab,var(--color-cc-hover) 30%,transparent)}}.bg-cc-hover\/40{background-color:#1f1e1d05}@supports (color:color-mix(in lab,red,red)){.bg-cc-hover\/40{background-color:color-mix(in oklab,var(--color-cc-hover) 40%,transparent)}}.bg-cc-hover\/50{background-color:#1f1e1d07}@supports (color:color-mix(in lab,red,red)){.bg-cc-hover\/50{background-color:color-mix(in oklab,var(--color-cc-hover) 50%,transparent)}}.bg-cc-hover\/55{background-color:#1f1e1d07}@supports (color:color-mix(in lab,red,red)){.bg-cc-hover\/55{background-color:color-mix(in oklab,var(--color-cc-hover) 55%,transparent)}}.bg-cc-hover\/60{background-color:#1f1e1d08}@supports (color:color-mix(in lab,red,red)){.bg-cc-hover\/60{background-color:color-mix(in oklab,var(--color-cc-hover) 60%,transparent)}}.bg-cc-hover\/70{background-color:#1f1e1d09}@supports (color:color-mix(in lab,red,red)){.bg-cc-hover\/70{background-color:color-mix(in oklab,var(--color-cc-hover) 70%,transparent)}}.bg-cc-info\/10{background-color:#2b6cb01a}@supports (color:color-mix(in lab,red,red)){.bg-cc-info\/10{background-color:color-mix(in oklab,var(--color-cc-info) 10%,transparent)}}.bg-cc-input-bg{background-color:var(--color-cc-input-bg)}.bg-cc-input-bg\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-cc-input-bg\/95{background-color:color-mix(in oklab,var(--color-cc-input-bg) 95%,transparent)}}.bg-cc-merged\/10{background-color:#805ad51a}@supports (color:color-mix(in lab,red,red)){.bg-cc-merged\/10{background-color:color-mix(in oklab,var(--color-cc-merged) 10%,transparent)}}.bg-cc-muted{background-color:var(--color-cc-muted)}.bg-cc-muted\/15{background-color:#6f6e6926}@supports (color:color-mix(in lab,red,red)){.bg-cc-muted\/15{background-color:color-mix(in oklab,var(--color-cc-muted) 15%,transparent)}}.bg-cc-muted\/20{background-color:#6f6e6933}@supports (color:color-mix(in lab,red,red)){.bg-cc-muted\/20{background-color:color-mix(in oklab,var(--color-cc-muted) 20%,transparent)}}.bg-cc-muted\/30{background-color:#6f6e694d}@supports (color:color-mix(in lab,red,red)){.bg-cc-muted\/30{background-color:color-mix(in oklab,var(--color-cc-muted) 30%,transparent)}}.bg-cc-muted\/40{background-color:#6f6e6966}@supports (color:color-mix(in lab,red,red)){.bg-cc-muted\/40{background-color:color-mix(in oklab,var(--color-cc-muted) 40%,transparent)}}.bg-cc-muted\/50{background-color:#6f6e6980}@supports (color:color-mix(in lab,red,red)){.bg-cc-muted\/50{background-color:color-mix(in oklab,var(--color-cc-muted) 50%,transparent)}}.bg-cc-primary{background-color:var(--color-cc-primary)}.bg-cc-primary\/5{background-color:#d977570d}@supports (color:color-mix(in lab,red,red)){.bg-cc-primary\/5{background-color:color-mix(in oklab,var(--color-cc-primary) 5%,transparent)}}.bg-cc-primary\/8{background-color:#d9775714}@supports (color:color-mix(in lab,red,red)){.bg-cc-primary\/8{background-color:color-mix(in oklab,var(--color-cc-primary) 8%,transparent)}}.bg-cc-primary\/10{background-color:#d977571a}@supports (color:color-mix(in lab,red,red)){.bg-cc-primary\/10{background-color:color-mix(in oklab,var(--color-cc-primary) 10%,transparent)}}.bg-cc-primary\/12{background-color:#d977571f}@supports (color:color-mix(in lab,red,red)){.bg-cc-primary\/12{background-color:color-mix(in oklab,var(--color-cc-primary) 12%,transparent)}}.bg-cc-primary\/15{background-color:#d9775726}@supports (color:color-mix(in lab,red,red)){.bg-cc-primary\/15{background-color:color-mix(in oklab,var(--color-cc-primary) 15%,transparent)}}.bg-cc-primary\/20{background-color:#d9775733}@supports (color:color-mix(in lab,red,red)){.bg-cc-primary\/20{background-color:color-mix(in oklab,var(--color-cc-primary) 20%,transparent)}}.bg-cc-primary\/40{background-color:#d9775766}@supports (color:color-mix(in lab,red,red)){.bg-cc-primary\/40{background-color:color-mix(in oklab,var(--color-cc-primary) 40%,transparent)}}.bg-cc-primary\/50{background-color:#d9775780}@supports (color:color-mix(in lab,red,red)){.bg-cc-primary\/50{background-color:color-mix(in oklab,var(--color-cc-primary) 50%,transparent)}}.bg-cc-primary\/60{background-color:#d9775799}@supports (color:color-mix(in lab,red,red)){.bg-cc-primary\/60{background-color:color-mix(in oklab,var(--color-cc-primary) 60%,transparent)}}.bg-cc-primary\/\[0\.04\]{background-color:#d977570a}@supports (color:color-mix(in lab,red,red)){.bg-cc-primary\/\[0\.04\]{background-color:color-mix(in oklab,var(--color-cc-primary) 4%,transparent)}}.bg-cc-sidebar{background-color:var(--color-cc-sidebar)}.bg-cc-sidebar-footer{background-color:var(--color-cc-sidebar-footer)}.bg-cc-sidebar\/40{background-color:#f5f4ef66}@supports (color:color-mix(in lab,red,red)){.bg-cc-sidebar\/40{background-color:color-mix(in oklab,var(--color-cc-sidebar) 40%,transparent)}}.bg-cc-sidebar\/60{background-color:#f5f4ef99}@supports (color:color-mix(in lab,red,red)){.bg-cc-sidebar\/60{background-color:color-mix(in oklab,var(--color-cc-sidebar) 60%,transparent)}}.bg-cc-success{background-color:var(--color-cc-success)}.bg-cc-success\/5{background-color:#2d7d460d}@supports (color:color-mix(in lab,red,red)){.bg-cc-success\/5{background-color:color-mix(in oklab,var(--color-cc-success) 5%,transparent)}}.bg-cc-success\/10{background-color:#2d7d461a}@supports (color:color-mix(in lab,red,red)){.bg-cc-success\/10{background-color:color-mix(in oklab,var(--color-cc-success) 10%,transparent)}}.bg-cc-success\/12{background-color:#2d7d461f}@supports (color:color-mix(in lab,red,red)){.bg-cc-success\/12{background-color:color-mix(in oklab,var(--color-cc-success) 12%,transparent)}}.bg-cc-success\/15{background-color:#2d7d4626}@supports (color:color-mix(in lab,red,red)){.bg-cc-success\/15{background-color:color-mix(in oklab,var(--color-cc-success) 15%,transparent)}}.bg-cc-success\/20{background-color:#2d7d4633}@supports (color:color-mix(in lab,red,red)){.bg-cc-success\/20{background-color:color-mix(in oklab,var(--color-cc-success) 20%,transparent)}}.bg-cc-success\/30{background-color:#2d7d464d}@supports (color:color-mix(in lab,red,red)){.bg-cc-success\/30{background-color:color-mix(in oklab,var(--color-cc-success) 30%,transparent)}}.bg-cc-success\/40{background-color:#2d7d4666}@supports (color:color-mix(in lab,red,red)){.bg-cc-success\/40{background-color:color-mix(in oklab,var(--color-cc-success) 40%,transparent)}}.bg-cc-success\/60{background-color:#2d7d4699}@supports (color:color-mix(in lab,red,red)){.bg-cc-success\/60{background-color:color-mix(in oklab,var(--color-cc-success) 60%,transparent)}}.bg-cc-success\/90{background-color:#2d7d46e6}@supports (color:color-mix(in lab,red,red)){.bg-cc-success\/90{background-color:color-mix(in oklab,var(--color-cc-success) 90%,transparent)}}.bg-cc-warning{background-color:var(--color-cc-warning)}.bg-cc-warning\/10{background-color:#b7791f1a}@supports (color:color-mix(in lab,red,red)){.bg-cc-warning\/10{background-color:color-mix(in oklab,var(--color-cc-warning) 10%,transparent)}}.bg-cc-warning\/15{background-color:#b7791f26}@supports (color:color-mix(in lab,red,red)){.bg-cc-warning\/15{background-color:color-mix(in oklab,var(--color-cc-warning) 15%,transparent)}}.bg-cc-warning\/20{background-color:#b7791f33}@supports (color:color-mix(in lab,red,red)){.bg-cc-warning\/20{background-color:color-mix(in oklab,var(--color-cc-warning) 20%,transparent)}}.bg-current\/60{background-color:currentColor}@supports (color:color-mix(in lab,red,red)){.bg-current\/60{background-color:color-mix(in oklab,currentcolor 60%,transparent)}}.bg-emerald-400\/10{background-color:#00d2941a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-400\/10{background-color:color-mix(in oklab,var(--color-emerald-400) 10%,transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-green-500\/15{background-color:#00c75826}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/15{background-color:color-mix(in oklab,var(--color-green-500) 15%,transparent)}}.bg-green-500\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/20{background-color:color-mix(in oklab,var(--color-green-500) 20%,transparent)}}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/10{background-color:color-mix(in oklab,var(--color-purple-500) 10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.bg-sky-500\/15{background-color:#00a5ef26}@supports (color:color-mix(in lab,red,red)){.bg-sky-500\/15{background-color:color-mix(in oklab,var(--color-sky-500) 15%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/10{background-color:color-mix(in oklab,var(--color-violet-500) 10%,transparent)}}.bg-violet-500\/12{background-color:#8d54ff1f}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/12{background-color:color-mix(in oklab,var(--color-violet-500) 12%,transparent)}}.bg-violet-600{background-color:var(--color-violet-600)}.bg-white{background-color:var(--color-white)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[linear-gradient\(120deg\,transparent_0\%\,rgba\(255\,255\,255\,0\.04\)_35\%\,transparent_62\%\)\]{background-image:linear-gradient(120deg,#0000,#ffffff0a 35%,#0000 62%)}.bg-\[linear-gradient\(135deg\,rgba\(255\,255\,255\,0\.04\)\,rgba\(255\,255\,255\,0\)\)\]{background-image:linear-gradient(135deg,#ffffff0a,#fff0)}.bg-\[radial-gradient\(80\%_140\%_at_100\%_0\%\,rgba\(6\,182\,212\,0\.18\)\,transparent_52\%\)\]{background-image:radial-gradient(80% 140% at 100% 0,#06b6d42e,#0000 52%)}.bg-\[radial-gradient\(80\%_140\%_at_100\%_0\%\,rgba\(124\,58\,237\,0\.18\)\,transparent_52\%\)\]{background-image:radial-gradient(80% 140% at 100% 0,#7c3aed2e,#0000 52%)}.bg-\[radial-gradient\(80\%_140\%_at_100\%_0\%\,rgba\(251\,146\,60\,0\.18\)\,transparent_52\%\)\]{background-image:radial-gradient(80% 140% at 100% 0,#fb923c2e,#0000 52%)}.bg-\[radial-gradient\(circle_at_top_right\,rgba\(6\,182\,212\,0\.1\)\,transparent_45\%\)\]{background-image:radial-gradient(circle at 100% 0,#06b6d41a,#0000 45%)}.bg-\[radial-gradient\(circle_at_top_right\,rgba\(124\,58\,237\,0\.1\)\,transparent_45\%\)\]{background-image:radial-gradient(circle at 100% 0,#7c3aed1a,#0000 45%)}.from-cc-bg{--tw-gradient-from:var(--color-cc-bg);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-cc-primary\/10{--tw-gradient-from:#d977571a}@supports (color:color-mix(in lab,red,red)){.from-cc-primary\/10{--tw-gradient-from:color-mix(in oklab, var(--color-cc-primary) 10%, transparent)}}.from-cc-primary\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-cc-warning\/8{--tw-gradient-from:#b7791f14}@supports (color:color-mix(in lab,red,red)){.from-cc-warning\/8{--tw-gradient-from:color-mix(in oklab, var(--color-cc-warning) 8%, transparent)}}.from-cc-warning\/8{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cc-primary\/5{--tw-gradient-to:#d977570d}@supports (color:color-mix(in lab,red,red)){.to-cc-primary\/5{--tw-gradient-to:color-mix(in oklab, var(--color-cc-primary) 5%, transparent)}}.to-cc-primary\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-cc-warning\/4{--tw-gradient-to:#b7791f0a}@supports (color:color-mix(in lab,red,red)){.to-cc-warning\/4{--tw-gradient-to:color-mix(in oklab, var(--color-cc-warning) 4%, transparent)}}.to-cc-warning\/4{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pr-16{padding-right:calc(var(--spacing) * 16)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-7{padding-left:calc(var(--spacing) * 7)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[clamp\(1\.45rem\,2\.6vw\,2rem\)\]{font-size:clamp(1.45rem,2.6vw,2rem)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[1\.12\]{--tw-leading:1.12;line-height:1.12}.leading-\[14px\]{--tw-leading:14px;line-height:14px}.leading-\[16px\]{--tw-leading:16px;line-height:16px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-\[0\.28em\]{--tw-tracking:.28em;letter-spacing:.28em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#5BA8A0\]{color:#5ba8a0}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-600\/70{color:#dd7400b3}@supports (color:color-mix(in lab,red,red)){.text-amber-600\/70{color:color-mix(in oklab,var(--color-amber-600) 70%,transparent)}}.text-amber-700{color:var(--color-amber-700)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-cc-bg{color:var(--color-cc-bg)}.text-cc-border{color:var(--color-cc-border)}.text-cc-code-fg{color:var(--color-cc-code-fg)}.text-cc-code-fg\/60{color:#2d2d2d99}@supports (color:color-mix(in lab,red,red)){.text-cc-code-fg\/60{color:color-mix(in oklab,var(--color-cc-code-fg) 60%,transparent)}}.text-cc-codex{color:var(--color-cc-codex)}.text-cc-error{color:var(--color-cc-error)}.text-cc-error\/50{color:#c5303080}@supports (color:color-mix(in lab,red,red)){.text-cc-error\/50{color:color-mix(in oklab,var(--color-cc-error) 50%,transparent)}}.text-cc-error\/60{color:#c5303099}@supports (color:color-mix(in lab,red,red)){.text-cc-error\/60{color:color-mix(in oklab,var(--color-cc-error) 60%,transparent)}}.text-cc-error\/70{color:#c53030b3}@supports (color:color-mix(in lab,red,red)){.text-cc-error\/70{color:color-mix(in oklab,var(--color-cc-error) 70%,transparent)}}.text-cc-error\/80{color:#c53030cc}@supports (color:color-mix(in lab,red,red)){.text-cc-error\/80{color:color-mix(in oklab,var(--color-cc-error) 80%,transparent)}}.text-cc-fg{color:var(--color-cc-fg)}.text-cc-fg\/40{color:#14141366}@supports (color:color-mix(in lab,red,red)){.text-cc-fg\/40{color:color-mix(in oklab,var(--color-cc-fg) 40%,transparent)}}.text-cc-fg\/60{color:#14141399}@supports (color:color-mix(in lab,red,red)){.text-cc-fg\/60{color:color-mix(in oklab,var(--color-cc-fg) 60%,transparent)}}.text-cc-fg\/70{color:#141413b3}@supports (color:color-mix(in lab,red,red)){.text-cc-fg\/70{color:color-mix(in oklab,var(--color-cc-fg) 70%,transparent)}}.text-cc-fg\/80{color:#141413cc}@supports (color:color-mix(in lab,red,red)){.text-cc-fg\/80{color:color-mix(in oklab,var(--color-cc-fg) 80%,transparent)}}.text-cc-fg\/90{color:#141413e6}@supports (color:color-mix(in lab,red,red)){.text-cc-fg\/90{color:color-mix(in oklab,var(--color-cc-fg) 90%,transparent)}}.text-cc-info{color:var(--color-cc-info)}.text-cc-merged{color:var(--color-cc-merged)}.text-cc-muted{color:var(--color-cc-muted)}.text-cc-muted\/20{color:#6f6e6933}@supports (color:color-mix(in lab,red,red)){.text-cc-muted\/20{color:color-mix(in oklab,var(--color-cc-muted) 20%,transparent)}}.text-cc-muted\/30{color:#6f6e694d}@supports (color:color-mix(in lab,red,red)){.text-cc-muted\/30{color:color-mix(in oklab,var(--color-cc-muted) 30%,transparent)}}.text-cc-muted\/40{color:#6f6e6966}@supports (color:color-mix(in lab,red,red)){.text-cc-muted\/40{color:color-mix(in oklab,var(--color-cc-muted) 40%,transparent)}}.text-cc-muted\/50{color:#6f6e6980}@supports (color:color-mix(in lab,red,red)){.text-cc-muted\/50{color:color-mix(in oklab,var(--color-cc-muted) 50%,transparent)}}.text-cc-muted\/60{color:#6f6e6999}@supports (color:color-mix(in lab,red,red)){.text-cc-muted\/60{color:color-mix(in oklab,var(--color-cc-muted) 60%,transparent)}}.text-cc-muted\/70{color:#6f6e69b3}@supports (color:color-mix(in lab,red,red)){.text-cc-muted\/70{color:color-mix(in oklab,var(--color-cc-muted) 70%,transparent)}}.text-cc-muted\/75{color:#6f6e69bf}@supports (color:color-mix(in lab,red,red)){.text-cc-muted\/75{color:color-mix(in oklab,var(--color-cc-muted) 75%,transparent)}}.text-cc-muted\/80{color:#6f6e69cc}@supports (color:color-mix(in lab,red,red)){.text-cc-muted\/80{color:color-mix(in oklab,var(--color-cc-muted) 80%,transparent)}}.text-cc-muted\/95{color:#6f6e69f2}@supports (color:color-mix(in lab,red,red)){.text-cc-muted\/95{color:color-mix(in oklab,var(--color-cc-muted) 95%,transparent)}}.text-cc-primary{color:var(--color-cc-primary)}.text-cc-primary\/40{color:#d9775766}@supports (color:color-mix(in lab,red,red)){.text-cc-primary\/40{color:color-mix(in oklab,var(--color-cc-primary) 40%,transparent)}}.text-cc-primary\/60{color:#d9775799}@supports (color:color-mix(in lab,red,red)){.text-cc-primary\/60{color:color-mix(in oklab,var(--color-cc-primary) 60%,transparent)}}.text-cc-primary\/70{color:#d97757b3}@supports (color:color-mix(in lab,red,red)){.text-cc-primary\/70{color:color-mix(in oklab,var(--color-cc-primary) 70%,transparent)}}.text-cc-primary\/80{color:#d97757cc}@supports (color:color-mix(in lab,red,red)){.text-cc-primary\/80{color:color-mix(in oklab,var(--color-cc-primary) 80%,transparent)}}.text-cc-success{color:var(--color-cc-success)}.text-cc-success\/80{color:#2d7d46cc}@supports (color:color-mix(in lab,red,red)){.text-cc-success\/80{color:color-mix(in oklab,var(--color-cc-success) 80%,transparent)}}.text-cc-warning{color:var(--color-cc-warning)}.text-cc-warning\/70{color:#b7791fb3}@supports (color:color-mix(in lab,red,red)){.text-cc-warning\/70{color:color-mix(in oklab,var(--color-cc-warning) 70%,transparent)}}.text-current{color:currentColor}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-600\/70{color:#009767b3}@supports (color:color-mix(in lab,red,red)){.text-emerald-600\/70{color:color-mix(in oklab,var(--color-emerald-600) 70%,transparent)}}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-purple-600{color:var(--color-purple-600)}.text-red-400{color:var(--color-red-400)}.text-sky-500{color:var(--color-sky-500)}.text-violet-400{color:var(--color-violet-400)}.text-violet-600{color:var(--color-violet-600)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.decoration-cc-primary\/30{text-decoration-color:#d977574d}@supports (color:color-mix(in lab,red,red)){.decoration-cc-primary\/30{-webkit-text-decoration-color:color-mix(in oklab,var(--color-cc-primary) 30%,transparent);text-decoration-color:color-mix(in oklab,var(--color-cc-primary) 30%,transparent)}}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-cc-primary{accent-color:var(--color-cc-primary)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_3px_rgba\(34\,197\,94\,0\.15\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#22c55e26);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_3px_rgba\(0\,0\,0\,0\.04\)\]{--tw-shadow:0 1px 3px var(--tw-shadow-color,#0000000a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_6px_rgba\(0\,0\,0\,0\.03\)\]{--tw-shadow:0 2px 6px var(--tw-shadow-color,#00000008);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_8px_rgba\(0\,0\,0\,0\.04\)\]{--tw-shadow:0 2px 8px var(--tw-shadow-color,#0000000a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_16px_rgba\(217\,119\,87\,0\.25\)\]{--tw-shadow:0 4px 16px var(--tw-shadow-color,#d9775740);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_20px_rgba\(217\,119\,87\,0\.08\)\]{--tw-shadow:0 4px 20px var(--tw-shadow-color,#d9775714);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_6px_20px_rgba\(0\,0\,0\,0\.18\)\]{--tw-shadow:0 6px 20px var(--tw-shadow-color,#0000002e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_30px_rgba\(0\,0\,0\,0\.10\)\]{--tw-shadow:0 10px 30px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_60px_rgba\(0\,0\,0\,0\.22\)\]{--tw-shadow:0 20px 60px var(--tw-shadow-color,#00000038);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_rgba\(255\,255\,255\,0\.04\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-black\/15{--tw-shadow-color:#00000026}@supports (color:color-mix(in lab,red,red)){.shadow-black\/15{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 15%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab,red,red)){.shadow-black\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-cc-card{--tw-ring-color:var(--color-cc-card)}.ring-cc-primary{--tw-ring-color:var(--color-cc-primary)}.ring-cc-primary\/30{--tw-ring-color:#d977574d}@supports (color:color-mix(in lab,red,red)){.ring-cc-primary\/30{--tw-ring-color:color-mix(in oklab, var(--color-cc-primary) 30%, transparent)}}.ring-cc-primary\/40{--tw-ring-color:#d9775766}@supports (color:color-mix(in lab,red,red)){.ring-cc-primary\/40{--tw-ring-color:color-mix(in oklab, var(--color-cc-primary) 40%, transparent)}}.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,)}.grayscale{--tw-grayscale:grayscale(100%);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-lg{--tw-backdrop-blur:blur(var(--blur-lg));-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(var(--blur-sm));-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(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\,opacity\]{transition-property:background,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\]{transition-property:background;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,background\,opacity\]{transition-property:transform,background,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,border-color\,box-shadow\]{transition-property:transform,border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\[writing-mode\:vertical-rl\]{writing-mode:vertical-rl}@media(hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:bg-cc-border:is(:where(.group):hover *){background-color:var(--color-cc-border)}.group-hover\:text-cc-muted\/70:is(:where(.group):hover *){color:#6f6e69b3}@supports (color:color-mix(in lab,red,red)){.group-hover\:text-cc-muted\/70:is(:where(.group):hover *){color:color-mix(in oklab,var(--color-cc-muted) 70%,transparent)}}.group-hover\:opacity-80:is(:where(.group):hover *){opacity:.8}}.placeholder\:text-cc-muted::placeholder{color:var(--color-cc-muted)}.placeholder\:text-cc-muted\/40::placeholder{color:#6f6e6966}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-cc-muted\/40::placeholder{color:color-mix(in oklab,var(--color-cc-muted) 40%,transparent)}}.placeholder\:text-cc-muted\/50::placeholder{color:#6f6e6980}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-cc-muted\/50::placeholder{color:color-mix(in oklab,var(--color-cc-muted) 50%,transparent)}}.placeholder\:text-cc-muted\/60::placeholder{color:#6f6e6999}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-cc-muted\/60::placeholder{color:color-mix(in oklab,var(--color-cc-muted) 60%,transparent)}}.placeholder\:text-cc-muted\/70::placeholder{color:#6f6e69b3}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-cc-muted\/70::placeholder{color:color-mix(in oklab,var(--color-cc-muted) 70%,transparent)}}.first\:mt-0:first-child{margin-top:calc(var(--spacing) * 0)}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:flex-none:last-child{flex:none}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-cc-border:hover{border-color:var(--color-cc-border)}.hover\:border-cc-border\/70:hover{border-color:#1f1e1d16}@supports (color:color-mix(in lab,red,red)){.hover\:border-cc-border\/70:hover{border-color:color-mix(in oklab,var(--color-cc-border) 70%,transparent)}}.hover\:border-cc-muted:hover{border-color:var(--color-cc-muted)}.hover\:border-cc-primary\/20:hover{border-color:#d9775733}@supports (color:color-mix(in lab,red,red)){.hover\:border-cc-primary\/20:hover{border-color:color-mix(in oklab,var(--color-cc-primary) 20%,transparent)}}.hover\:border-cc-primary\/30:hover{border-color:#d977574d}@supports (color:color-mix(in lab,red,red)){.hover\:border-cc-primary\/30:hover{border-color:color-mix(in oklab,var(--color-cc-primary) 30%,transparent)}}.hover\:border-cc-primary\/35:hover{border-color:#d9775759}@supports (color:color-mix(in lab,red,red)){.hover\:border-cc-primary\/35:hover{border-color:color-mix(in oklab,var(--color-cc-primary) 35%,transparent)}}.hover\:border-cc-primary\/40:hover{border-color:#d9775766}@supports (color:color-mix(in lab,red,red)){.hover\:border-cc-primary\/40:hover{border-color:color-mix(in oklab,var(--color-cc-primary) 40%,transparent)}}.hover\:border-cc-primary\/50:hover{border-color:#d9775780}@supports (color:color-mix(in lab,red,red)){.hover\:border-cc-primary\/50:hover{border-color:color-mix(in oklab,var(--color-cc-primary) 50%,transparent)}}.hover\:border-violet-500\/50:hover{border-color:#8d54ff80}@supports (color:color-mix(in lab,red,red)){.hover\:border-violet-500\/50:hover{border-color:color-mix(in oklab,var(--color-violet-500) 50%,transparent)}}.hover\:bg-blue-500\/20:hover{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-blue-500\/20:hover{background-color:color-mix(in oklab,var(--color-blue-500) 20%,transparent)}}.hover\:bg-cc-active:hover{background-color:var(--color-cc-active)}.hover\:bg-cc-border:hover{background-color:var(--color-cc-border)}.hover\:bg-cc-error\/5:hover{background-color:#c530300d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-error\/5:hover{background-color:color-mix(in oklab,var(--color-cc-error) 5%,transparent)}}.hover\:bg-cc-error\/10:hover{background-color:#c530301a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-error\/10:hover{background-color:color-mix(in oklab,var(--color-cc-error) 10%,transparent)}}.hover\:bg-cc-error\/20:hover{background-color:#c5303033}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-error\/20:hover{background-color:color-mix(in oklab,var(--color-cc-error) 20%,transparent)}}.hover\:bg-cc-error\/25:hover{background-color:#c5303040}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-error\/25:hover{background-color:color-mix(in oklab,var(--color-cc-error) 25%,transparent)}}.hover\:bg-cc-error\/90:hover{background-color:#c53030e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-error\/90:hover{background-color:color-mix(in oklab,var(--color-cc-error) 90%,transparent)}}.hover\:bg-cc-hover:hover{background-color:var(--color-cc-hover)}.hover\:bg-cc-hover\/50:hover{background-color:#1f1e1d07}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-hover\/50:hover{background-color:color-mix(in oklab,var(--color-cc-hover) 50%,transparent)}}.hover\:bg-cc-hover\/60:hover{background-color:#1f1e1d08}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-hover\/60:hover{background-color:color-mix(in oklab,var(--color-cc-hover) 60%,transparent)}}.hover\:bg-cc-hover\/80:hover{background-color:#1f1e1d0a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-hover\/80:hover{background-color:color-mix(in oklab,var(--color-cc-hover) 80%,transparent)}}.hover\:bg-cc-primary-hover:hover{background-color:var(--color-cc-primary-hover)}.hover\:bg-cc-primary\/10:hover{background-color:#d977571a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-primary\/10:hover{background-color:color-mix(in oklab,var(--color-cc-primary) 10%,transparent)}}.hover\:bg-cc-primary\/12:hover{background-color:#d977571f}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-primary\/12:hover{background-color:color-mix(in oklab,var(--color-cc-primary) 12%,transparent)}}.hover\:bg-cc-primary\/15:hover{background-color:#d9775726}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-primary\/15:hover{background-color:color-mix(in oklab,var(--color-cc-primary) 15%,transparent)}}.hover\:bg-cc-primary\/20:hover{background-color:#d9775733}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-primary\/20:hover{background-color:color-mix(in oklab,var(--color-cc-primary) 20%,transparent)}}.hover\:bg-cc-primary\/25:hover{background-color:#d9775740}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-primary\/25:hover{background-color:color-mix(in oklab,var(--color-cc-primary) 25%,transparent)}}.hover\:bg-cc-primary\/90:hover{background-color:#d97757e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-primary\/90:hover{background-color:color-mix(in oklab,var(--color-cc-primary) 90%,transparent)}}.hover\:bg-cc-success:hover{background-color:var(--color-cc-success)}.hover\:bg-cc-success\/10:hover{background-color:#2d7d461a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-success\/10:hover{background-color:color-mix(in oklab,var(--color-cc-success) 10%,transparent)}}.hover\:bg-cc-success\/30:hover{background-color:#2d7d464d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-success\/30:hover{background-color:color-mix(in oklab,var(--color-cc-success) 30%,transparent)}}.hover\:bg-cc-warning\/25:hover{background-color:#b7791f40}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cc-warning\/25:hover{background-color:color-mix(in oklab,var(--color-cc-warning) 25%,transparent)}}.hover\:bg-violet-500\/20:hover{background-color:#8d54ff33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-violet-500\/20:hover{background-color:color-mix(in oklab,var(--color-violet-500) 20%,transparent)}}.hover\:bg-violet-700:hover{background-color:var(--color-violet-700)}.hover\:text-amber-200:hover{color:var(--color-amber-200)}.hover\:text-amber-300:hover{color:var(--color-amber-300)}.hover\:text-cc-error:hover{color:var(--color-cc-error)}.hover\:text-cc-fg:hover{color:var(--color-cc-fg)}.hover\:text-cc-fg\/80:hover{color:#141413cc}@supports (color:color-mix(in lab,red,red)){.hover\:text-cc-fg\/80:hover{color:color-mix(in oklab,var(--color-cc-fg) 80%,transparent)}}.hover\:text-cc-muted\/70:hover{color:#6f6e69b3}@supports (color:color-mix(in lab,red,red)){.hover\:text-cc-muted\/70:hover{color:color-mix(in oklab,var(--color-cc-muted) 70%,transparent)}}.hover\:text-cc-primary:hover{color:var(--color-cc-primary)}.hover\:text-cc-primary-hover:hover{color:var(--color-cc-primary-hover)}.hover\:text-cc-success:hover{color:var(--color-cc-success)}.hover\:text-cc-warning\/80:hover{color:#b7791fcc}@supports (color:color-mix(in lab,red,red)){.hover\:text-cc-warning\/80:hover{color:color-mix(in oklab,var(--color-cc-warning) 80%,transparent)}}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:no-underline:hover{text-decoration-line:none}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_2px_12px_rgba\(217\,119\,87\,0\.06\)\]:hover{--tw-shadow:0 2px 12px var(--tw-shadow-color,#d977570f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_18px_44px_rgba\(0\,0\,0\,0\.18\)\]:hover{--tw-shadow:0 18px 44px var(--tw-shadow-color,#0000002e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-cc-border:focus{border-color:var(--color-cc-border)}.focus\:border-cc-codex:focus{border-color:var(--color-cc-codex)}.focus\:border-cc-primary:focus{border-color:var(--color-cc-primary)}.focus\:border-cc-primary\/40:focus{border-color:#d9775766}@supports (color:color-mix(in lab,red,red)){.focus\:border-cc-primary\/40:focus{border-color:color-mix(in oklab,var(--color-cc-primary) 40%,transparent)}}.focus\:border-cc-primary\/50:focus{border-color:#d9775780}@supports (color:color-mix(in lab,red,red)){.focus\:border-cc-primary\/50:focus{border-color:color-mix(in oklab,var(--color-cc-primary) 50%,transparent)}}.focus\:border-cc-primary\/60:focus{border-color:#d9775799}@supports (color:color-mix(in lab,red,red)){.focus\:border-cc-primary\/60:focus{border-color:color-mix(in oklab,var(--color-cc-primary) 60%,transparent)}}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-cc-codex:focus{--tw-ring-color:var(--color-cc-codex)}.focus\:ring-cc-primary:focus{--tw-ring-color:var(--color-cc-primary)}.focus\:ring-cc-primary\/20:focus{--tw-ring-color:#d9775733}@supports (color:color-mix(in lab,red,red)){.focus\:ring-cc-primary\/20:focus{--tw-ring-color:color-mix(in oklab, var(--color-cc-primary) 20%, transparent)}}.focus\:ring-cc-primary\/30:focus{--tw-ring-color:#d977574d}@supports (color:color-mix(in lab,red,red)){.focus\:ring-cc-primary\/30:focus{--tw-ring-color:color-mix(in oklab, var(--color-cc-primary) 30%, transparent)}}.focus\:ring-cc-primary\/35:focus{--tw-ring-color:#d9775759}@supports (color:color-mix(in lab,red,red)){.focus\:ring-cc-primary\/35:focus{--tw-ring-color:color-mix(in oklab, var(--color-cc-primary) 35%, transparent)}}.focus\:ring-cc-primary\/40:focus{--tw-ring-color:#d9775766}@supports (color:color-mix(in lab,red,red)){.focus\:ring-cc-primary\/40:focus{--tw-ring-color:color-mix(in oklab, var(--color-cc-primary) 40%, transparent)}}.focus\:ring-violet-500\/35:focus{--tw-ring-color:#8d54ff59}@supports (color:color-mix(in lab,red,red)){.focus\:ring-violet-500\/35:focus{--tw-ring-color:color-mix(in oklab, var(--color-violet-500) 35%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-cc-primary\/60:focus-visible{--tw-ring-color:#d9775799}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-cc-primary\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-cc-primary) 60%, transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:bg-cc-active:active{background-color:var(--color-cc-active)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-cc-muted:disabled{color:var(--color-cc-muted)}.disabled\:opacity-20:disabled{opacity:.2}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media(prefers-reduced-motion:no-preference){.motion-safe\:animate-ping{animation:var(--animate-ping)}}@media(min-width:40rem){.sm\:pointer-events-none{pointer-events:none}.sm\:relative{position:relative}.sm\:inset-8{inset:calc(var(--spacing) * 8)}.sm\:right-0{right:calc(var(--spacing) * 0)}.sm\:bottom-0{bottom:calc(var(--spacing) * 0)}.sm\:z-auto{z-index:auto}.sm\:mx-4{margin-inline:calc(var(--spacing) * 4)}.sm\:mt-4{margin-top:calc(var(--spacing) * 4)}.sm\:mb-10{margin-bottom:calc(var(--spacing) * 10)}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:h-6{height:calc(var(--spacing) * 6)}.sm\:h-8{height:calc(var(--spacing) * 8)}.sm\:h-9{height:calc(var(--spacing) * 9)}.sm\:h-12{height:calc(var(--spacing) * 12)}.sm\:h-\[18vh\]{height:18vh}.sm\:max-h-\[80dvh\]{max-height:80dvh}.sm\:max-h-\[150px\]{max-height:150px}.sm\:min-h-0{min-height:calc(var(--spacing) * 0)}.sm\:w-0{width:calc(var(--spacing) * 0)}.sm\:w-6{width:calc(var(--spacing) * 6)}.sm\:w-8{width:calc(var(--spacing) * 8)}.sm\:w-9{width:calc(var(--spacing) * 9)}.sm\:w-12{width:calc(var(--spacing) * 12)}.sm\:w-\[200px\]{width:200px}.sm\:w-\[220px\]{width:220px}.sm\:max-w-\[80\%\]{max-width:80%}.sm\:max-w-\[100px\]{max-width:100px}.sm\:max-w-\[140px\]{max-width:140px}.sm\:max-w-\[160px\]{max-width:160px}.sm\:max-w-\[200px\]{max-width:200px}.sm\:min-w-0{min-width:calc(var(--spacing) * 0)}.sm\:-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.sm\:translate-y-2{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.sm\:grid-cols-\[minmax\(0\,1\.5fr\)_minmax\(0\,1\.2fr\)_minmax\(0\,0\.8fr\)_minmax\(0\,0\.7fr\)_auto\]{grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.7fr) auto}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}.sm\:gap-3{gap:calc(var(--spacing) * 3)}:where(.sm\:space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}.sm\:rounded-\[14px\]{border-radius:14px}.sm\:rounded-\[16px\]{border-radius:16px}.sm\:border{border-style:var(--tw-border-style);border-width:1px}.sm\:border-cc-border{border-color:var(--color-cc-border)}.sm\:border-cc-primary\/40{border-color:#d9775766}@supports (color:color-mix(in lab,red,red)){.sm\:border-cc-primary\/40{border-color:color-mix(in oklab,var(--color-cc-primary) 40%,transparent)}}.sm\:bg-cc-input-bg\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.sm\:bg-cc-input-bg\/95{background-color:color-mix(in oklab,var(--color-cc-input-bg) 95%,transparent)}}.sm\:bg-transparent{background-color:#0000}.sm\:p-1\.5{padding:calc(var(--spacing) * 1.5)}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-0{padding-inline:calc(var(--spacing) * 0)}.sm\:px-2{padding-inline:calc(var(--spacing) * 2)}.sm\:px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.sm\:py-2{padding-block:calc(var(--spacing) * 2)}.sm\:py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.sm\:py-3{padding-block:calc(var(--spacing) * 3)}.sm\:py-4{padding-block:calc(var(--spacing) * 4)}.sm\:py-8{padding-block:calc(var(--spacing) * 8)}.sm\:py-10{padding-block:calc(var(--spacing) * 10)}.sm\:pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.sm\:pt-3{padding-top:calc(var(--spacing) * 3)}.sm\:pt-10{padding-top:calc(var(--spacing) * 10)}.sm\:pb-4{padding-bottom:calc(var(--spacing) * 4)}.sm\:pb-7{padding-bottom:calc(var(--spacing) * 7)}.sm\:pl-0{padding-left:calc(var(--spacing) * 0)}.sm\:text-right{text-align:right}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.sm\:text-\[11px\]{font-size:11px}.sm\:text-\[13px\]{font-size:13px}.sm\:text-\[14px\]{font-size:14px}.sm\:text-\[15px\]{font-size:15px}.sm\:opacity-0{opacity:0}.sm\:shadow-\[0_10px_30px_rgba\(217\,119\,87\,0\.08\)\]{--tw-shadow:0 10px 30px var(--tw-shadow-color,#d9775714);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.sm\:backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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(hover:hover){.sm\:group-hover\:pointer-events-auto:is(:where(.group):hover *){pointer-events:auto}.sm\:group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.sm\:focus-within\:border-cc-primary\/25:focus-within{border-color:#d9775740}@supports (color:color-mix(in lab,red,red)){.sm\:focus-within\:border-cc-primary\/25:focus-within{border-color:color-mix(in oklab,var(--color-cc-primary) 25%,transparent)}}}@media(min-width:48rem){.md\:relative{position:relative}.md\:inset-auto{inset:auto}.md\:inset-x-\[10\%\]{inset-inline:10%}.md\:inset-y-\[5\%\]{inset-block:5%}.md\:z-auto{z-index:auto}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-7{height:calc(var(--spacing) * 7)}.md\:min-h-\[34px\]{min-height:34px}.md\:w-0{width:calc(var(--spacing) * 0)}.md\:w-7{width:calc(var(--spacing) * 7)}.md\:w-\[260px\]{width:260px}.md\:-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:justify-center{justify-content:center}.md\:py-0\.5{padding-block:calc(var(--spacing) * .5)}.md\:pt-0{padding-top:calc(var(--spacing) * 0)}}@media(min-width:64rem){.lg\:relative{position:relative}.lg\:inset-auto{inset:auto}.lg\:z-auto{z-index:auto}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:min-h-\[420px\]{min-height:420px}.lg\:w-0{width:calc(var(--spacing) * 0)}.lg\:w-\[320px\]{width:320px}.lg\:translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.lg\:grid-cols-\[minmax\(280px\,340px\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.lg\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.lg\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.lg\:pt-0{padding-top:calc(var(--spacing) * 0)}}@media(prefers-color-scheme:dark){.dark\:bg-amber-900\/60{background-color:#7b330699}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-900\/60{background-color:color-mix(in oklab,var(--color-amber-900) 60%,transparent)}}.dark\:text-amber-300{color:var(--color-amber-300)}.dark\:text-amber-400{color:var(--color-amber-400)}.dark\:text-amber-400\/70{color:#fcbb00b3}@supports (color:color-mix(in lab,red,red)){.dark\:text-amber-400\/70{color:color-mix(in oklab,var(--color-amber-400) 70%,transparent)}}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-emerald-400\/70{color:#00d294b3}@supports (color:color-mix(in lab,red,red)){.dark\:text-emerald-400\/70{color:color-mix(in oklab,var(--color-emerald-400) 70%,transparent)}}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-purple-400{color:var(--color-purple-400)}.dark\:text-violet-400{color:var(--color-violet-400)}}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}}@font-face{font-family:MesloLGS Nerd Font Mono;src:url(/fonts/MesloLGSNerdFontMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:MesloLGS Nerd Font Mono;src:url(/fonts/MesloLGSNerdFontMono-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(6px)scale(.98)}60%{opacity:1;transform:translateY(-1px)scale(1.002)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes userSlideIn{0%{opacity:0;transform:translate(8px)scale(.97)}60%{opacity:1;transform:translate(-1px)scale(1.002)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.85)}}@keyframes typing-breathe{0%,to{opacity:.4;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes gentle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spin-slow{to{transform:rotate(360deg)}}.animate-spin-slow{animation:3s linear infinite spin-slow}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:.2s ease-out fadeIn}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes name-appear{0%{opacity:0;filter:blur(8px);transform:translateY(-2px)}50%{opacity:.8;filter:blur(2px)}to{opacity:1;filter:blur();transform:translateY(0)}}.animate-name-appear{animation:.5s ease-out name-appear}@keyframes menu-appear{0%{opacity:0;transform:translateY(-4px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ring-pulse{0%{box-shadow:0 0 0 0 var(--color-cc-warning)}70%{box-shadow:0 0 0 4px #0000}to{box-shadow:0 0 #0000}}.accordion-panel{opacity:0;visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .2s ease-out,opacity .15s ease-out,visibility 0s .2s;display:grid}.accordion-panel[data-open=true]{opacity:1;visibility:visible;grid-template-rows:1fr;transition:grid-template-rows .2s ease-out,opacity .15s ease-out,visibility}.accordion-panel>.accordion-inner{overflow:hidden}.dark{--color-cc-bg:#262624;--color-cc-fg:#faf9f5;--color-cc-card:#141413;--color-cc-primary:#d97757;--color-cc-primary-hover:#e08b6b;--color-cc-user-bubble:#30302e;--color-cc-border:#dedcd126;--color-cc-muted:#c2c0b6;--color-cc-sidebar:#1e1e1c;--color-cc-input-bg:#141413;--color-cc-code-bg:#141413;--color-cc-code-fg:#d4d4d4;--color-cc-hover:#dedcd10f;--color-cc-active:#dedcd11a;--color-cc-success:#48bb78;--color-cc-error:#fc8181;--color-cc-warning:#f6e05e;--color-cc-sidebar-footer:#141413;--color-cc-separator:#dedcd114;--color-cc-info:#63b3ed;--color-cc-merged:#b794f4;--color-cc-codex:#34d399;--color-cc-codex-hover:#2fc48d;--color-cc-primary-btn:#ad5535;--color-cc-primary-btn-hover:#b85c3a;--color-cc-codex-btn:#0a7d5f;--color-cc-codex-btn-hover:#0b8362}@media(pointer:fine){::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-cc-muted);opacity:.4;border-radius:3px}::-webkit-scrollbar-thumb:hover{opacity:.6}}.font-serif-assistant{font-family:ui-serif,Georgia,Cambria,Times New Roman,serif}.font-sans-ui{font-family:system-ui,-apple-system,sans-serif}.font-mono-code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.composer-card{transition:box-shadow .2s,border-color .2s;box-shadow:0 10px 30px #0000001a,inset 0 1px #ffffff0f}.composer-card:focus-within{box-shadow:0 12px 36px #00000024,inset 0 1px #ffffff14}.thinking-expand{animation:.25s ease-out thinkingReveal}@keyframes thinkingReveal{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.tool-card{transition:transform .15s,box-shadow .15s}.tool-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.avatar-ring{background:conic-gradient(from 180deg,var(--color-cc-primary),#e8a87c,var(--color-cc-primary));padding:1.5px}.avatar-ring>.avatar-inner{background:var(--color-cc-bg)}.user-bubble-gradient{background:linear-gradient(135deg,var(--color-cc-user-bubble),#edddd2)}@supports (color:color-mix(in lab,red,red)){.user-bubble-gradient{background:linear-gradient(135deg,var(--color-cc-user-bubble),color-mix(in srgb,var(--color-cc-user-bubble) 85%,var(--color-cc-primary) 15%))}}.stats-glow{position:relative}.stats-glow:before{content:"";background:var(--color-cc-primary);opacity:.4;border-radius:2px;width:3px;animation:1.5s ease-in-out infinite typing-breathe;position:absolute;top:0;bottom:0;left:0}.provider-card--claude:hover,.provider-card--claude:focus-visible{border-color:var(--color-cc-primary);transform:translateY(-1px);box-shadow:0 4px 16px #d977571f}@supports (color:color-mix(in lab,red,red)){.provider-card--claude:hover,.provider-card--claude:focus-visible{box-shadow:0 4px 16px color-mix(in srgb,var(--color-cc-primary) 12%,transparent)}}.provider-card--codex:hover,.provider-card--codex:focus-visible{border-color:var(--color-cc-codex);transform:translateY(-1px);box-shadow:0 4px 16px #10a37f1f}@supports (color:color-mix(in lab,red,red)){.provider-card--codex:hover,.provider-card--codex:focus-visible{box-shadow:0 4px 16px color-mix(in srgb,var(--color-cc-codex) 12%,transparent)}}.btn-primary-aa{background-color:var(--color-cc-primary-btn)}.btn-primary-aa:hover{background-color:var(--color-cc-primary-btn-hover)}.btn-codex-aa{background-color:var(--color-cc-codex-btn)}.btn-codex-aa:hover{background-color:var(--color-cc-codex-btn-hover)}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html{min-height:calc(100% + env(safe-area-inset-top));overscroll-behavior:none;overflow:hidden}body{overscroll-behavior:none;height:100%;overflow:hidden}button,[role=button],a,input,textarea,select{touch-action:manipulation}.pt-safe{padding-top:env(safe-area-inset-top,0px)}.pb-safe{padding-bottom:max(.75rem,env(safe-area-inset-bottom,0px))}.pb-safe-only{padding-bottom:env(safe-area-inset-bottom,0px)}@media(min-width:640px){.pb-safe{padding-bottom:max(1rem,env(safe-area-inset-bottom,0px))}}.diff-viewer{border:1px solid var(--color-cc-border);background:var(--color-cc-code-bg);color:var(--color-cc-code-fg);border-radius:10px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;overflow:hidden}.diff-compact{background:0 0;border:none;border-radius:0}.diff-compact .diff-file-header{display:none}.diff-compact .diff-hunk-header{opacity:.4;padding:1px 4px;font-size:10px;font-style:italic}.diff-full{overflow-y:auto}.diff-empty{background:var(--color-cc-card);justify-content:center;align-items:center;padding:24px;display:flex}.diff-file+.diff-file{border-top:1px solid var(--color-cc-border)}.diff-file-header{border-bottom:1px solid var(--color-cc-border);z-index:1;background:#1f1e1d26;align-items:center;gap:6px;padding:6px 12px;font-size:11px;display:flex;position:sticky;top:0}.dark .diff-file-header{background:#dedcd10f}.diff-hunk-header{color:var(--color-cc-primary);background:#d977570f;padding:4px 12px;font-size:11px}.diff-line{min-height:20px;display:flex}.diff-gutter{text-align:right;width:44px;color:var(--color-cc-muted);opacity:.5;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 6px;font-size:11px}.diff-marker{text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0;width:16px}.diff-content{white-space:pre-wrap;word-break:break-all;flex:1;min-width:0;padding-right:12px}.diff-line-add{background:#2d7d461a}.diff-line-add .diff-marker{color:var(--color-cc-success)}.diff-line-del{background:#c530301a}.diff-line-del .diff-marker{color:var(--color-cc-error)}.dark .diff-line-add{background:#48bb7814}.dark .diff-line-del{background:#fc818114}.diff-word-add{background:#2d7d4640;border-radius:2px;padding:0 1px}.diff-word-del{background:#c5303040;border-radius:2px;padding:0 1px}.dark .diff-word-add{background:#48bb7833}.dark .diff-word-del{background:#fc818133}.xterm .xterm-viewport{height:100%!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}