From a64702220cda33bf0267d002fe4f08c3d6f38953 Mon Sep 17 00:00:00 2001 From: Adam Cheng <63501289+627150795@users.noreply.github.com> Date: Sat, 12 Sep 2026 17:49:46 +0800 Subject: [PATCH] feat(web): add workspace change review --- tests/web/app-render.spec.ts | 65 ++- tests/web/web-host.test.ts | 60 +++ tests/web/workspace-changes.test.ts | 99 +++++ web/dist/app.js | 14 +- web/dist/styles.css | 2 +- web/host/web-host.ts | 46 ++ web/host/workspace-changes.ts | 417 ++++++++++++++++++ web/protocol/types.ts | 47 ++ web/ui/src/app/App.tsx | 16 +- .../features/workspace/WorkspaceChanges.tsx | 214 +++++++++ web/ui/src/i18n.ts | 75 ++++ web/ui/src/protocol/client.ts | 8 + web/ui/src/styles.css | 24 +- 13 files changed, 1076 insertions(+), 11 deletions(-) create mode 100644 tests/web/workspace-changes.test.ts create mode 100644 web/host/workspace-changes.ts create mode 100644 web/ui/src/features/workspace/WorkspaceChanges.tsx diff --git a/tests/web/app-render.spec.ts b/tests/web/app-render.spec.ts index 025eb652..076fb638 100644 --- a/tests/web/app-render.spec.ts +++ b/tests/web/app-render.spec.ts @@ -10,7 +10,10 @@ import { import { createElement } from "react"; import { I18nextProvider } from "react-i18next"; import { afterEach, describe, expect, it, vi } from "vitest"; -import type { WebSnapshot } from "../../web/protocol/types.ts"; +import type { + WebSnapshot, + WebWorkspaceChanges, +} from "../../web/protocol/types.ts"; import { App } from "../../web/ui/src/app/App.tsx"; import { Providers } from "../../web/ui/src/app/providers.tsx"; import { Markdown } from "../../web/ui/src/components/Markdown.tsx"; @@ -19,6 +22,7 @@ import { ActivityBar } from "../../web/ui/src/features/activity/ActivityBar.tsx" import { Composer } from "../../web/ui/src/features/composer/Composer.tsx"; import { SessionSidebar } from "../../web/ui/src/features/sessions/SessionSidebar.tsx"; import { Transcript } from "../../web/ui/src/features/transcript/Transcript.tsx"; +import { WorkspaceChanges } from "../../web/ui/src/features/workspace/WorkspaceChanges.tsx"; import { i18n } from "../../web/ui/src/i18n.ts"; import { WebClient } from "../../web/ui/src/protocol/client.ts"; import { createWebStore, webStore } from "../../web/ui/src/store/web-store.ts"; @@ -88,6 +92,65 @@ it("keeps a workspace draft separate from the old Session UI and retains text af } }); +it("renders bounded workspace changes and switches the inspected file", async () => { + const changes: WebWorkspaceChanges = { + sessionId: "session-1", + cwd: "/tmp/ws", + repositoryRoot: "/tmp/ws", + checkedAt: "2026-09-12T09:00:00Z", + status: "changed", + baseline: { kind: "head", commit: "abc123" }, + files: [ + { + path: "src/app.ts", + status: "modified", + additions: 2, + deletions: 1, + binary: false, + diff: "@@ -1 +1 @@\n-before\n+after", + diffStatus: "text", + truncated: false, + }, + { + path: "assets/logo.bin", + status: "untracked", + additions: null, + deletions: null, + binary: true, + diff: "", + diffStatus: "binary", + truncated: false, + }, + ], + truncation: { + truncated: false, + filesOmitted: 0, + statusTruncated: false, + diffsTruncated: 0, + maxFiles: 250, + maxDiffBytes: 2 * 1024 * 1024, + }, + }; + const request = vi + .spyOn(WebClient.prototype, "workspaceChanges") + .mockResolvedValue(changes); + const view = renderWithI18n( + createElement(WorkspaceChanges, { sessionId: "session-1", cwd: "/tmp/ws" }), + ); + try { + expect(await screen.findAllByText("src/app.ts")).toHaveLength(2); + expect(screen.getByText(/\+after/u)).toBeTruthy(); + fireEvent.click(screen.getByRole("button", { name: /assets\/logo\.bin/u })); + expect( + screen.getByText("Binary file; no textual diff is available."), + ).toBeTruthy(); + expect(request).toHaveBeenCalledWith("session-1", expect.any(AbortSignal)); + } finally { + view.unmount(); + request.mockRestore(); + } +}); + const truncation = { bytes: 0, maxBytes: 4 * 1024 * 1024, diff --git a/tests/web/web-host.test.ts b/tests/web/web-host.test.ts index 6cccdb40..e24059ea 100644 --- a/tests/web/web-host.test.ts +++ b/tests/web/web-host.test.ts @@ -1791,6 +1791,66 @@ async function startTestHost(runtime: WebRuntimeController) { return { host, launched, headers }; } +test("serves Session-bound workspace changes and rejects stale requests", async () => { + const cwd = await mkdtemp(join(tmpdir(), "openpi-web-workspace-changes-")); + const runtime = testRuntime(cwd); + const { host, launched, headers } = await startTestHost(runtime); + const sessionId = runtime.sessionManager.getSessionId(); + try { + const response = await fetch( + `${launched.origin}/api/workspace-changes?sessionId=${sessionId}`, + { headers }, + ); + assert.equal(response.status, 200); + const body = (await response.json()) as { + checkedAt: string; + [key: string]: unknown; + }; + const { checkedAt, ...stableBody } = body; + assert.match(checkedAt, /^\d{4}-\d{2}-\d{2}T/u); + assert.deepEqual(stableBody, { + sessionId, + cwd, + status: "not-repository", + files: [], + truncation: { + truncated: false, + filesOmitted: 0, + statusTruncated: false, + diffsTruncated: 0, + maxFiles: 250, + maxDiffBytes: 2 * 1024 * 1024, + }, + }); + assert.equal( + (await fetch(`${launched.origin}/api/workspace-changes`, { headers })) + .status, + 400, + ); + assert.equal( + ( + await fetch( + `${launched.origin}/api/workspace-changes?sessionId=stale`, + { headers }, + ) + ).status, + 409, + ); + assert.equal( + ( + await fetch(`${launched.origin}/api/workspace-changes`, { + method: "POST", + headers, + }) + ).status, + 405, + ); + } finally { + await host.stop(); + await rm(cwd, { recursive: true, force: true }); + } +}); + test("serves Session-bound command discovery with fail-closed request validation", async () => { const cwd = await mkdtemp(join(tmpdir(), "openpi-web-commands-")); const runtime = testRuntime(cwd); diff --git a/tests/web/workspace-changes.test.ts b/tests/web/workspace-changes.test.ts new file mode 100644 index 00000000..c83bf990 --- /dev/null +++ b/tests/web/workspace-changes.test.ts @@ -0,0 +1,99 @@ +import assert from "node:assert/strict"; +import { execFile } from "node:child_process"; +import { mkdtemp, rm, unlink, writeFile } from "node:fs/promises"; +import { promisify } from "node:util"; +import test from "node:test"; +import { join } from "node:path"; +import { tmpdir } from "node:os"; +import { loadWorkspaceChanges } from "../../web/host/workspace-changes.ts"; + +const execFileAsync = promisify(execFile); + +async function git(cwd: string, args: string[]) { + await execFileAsync("git", args, { + cwd, + encoding: "utf8", + windowsHide: true, + }); +} + +async function commit(cwd: string, message: string) { + await git(cwd, [ + "-c", + "user.name=OpenPI test", + "-c", + "user.email=openpi-test@example.invalid", + "commit", + "-m", + message, + ]); +} + +test("reports current Git changes against an explicit baseline", async (t) => { + const cwd = await mkdtemp(join(tmpdir(), "openpi-workspace-changes-")); + t.after(() => rm(cwd, { recursive: true, force: true })); + + await git(cwd, ["init"]); + await writeFile(join(cwd, "modified.txt"), "before\n"); + await writeFile(join(cwd, "deleted.txt"), "remove me\n"); + await writeFile(join(cwd, "binary.bin"), Buffer.from([0, 1, 2])); + await writeFile(join(cwd, "large.txt"), "small\n"); + await git(cwd, ["add", "."]); + await commit(cwd, "initial"); + + await writeFile(join(cwd, "modified.txt"), "before\nafter\n"); + await unlink(join(cwd, "deleted.txt")); + await writeFile(join(cwd, "new.txt"), "new file\n"); + await writeFile(join(cwd, "empty.txt"), ""); + await writeFile(join(cwd, "binary.bin"), Buffer.from([0, 3, 2])); + await writeFile(join(cwd, "large.txt"), "x\n".repeat(300_000)); + + const result = await loadWorkspaceChanges(cwd, "session-1"); + assert.equal(result.sessionId, "session-1"); + assert.equal(result.cwd, cwd); + assert.equal(result.status, "changed"); + assert.equal(result.baseline?.kind, "head"); + assert.equal(result.files.length, 6); + + const files = new Map(result.files.map((file) => [file.path, file])); + assert.equal(files.get("modified.txt")?.status, "modified"); + assert.match(files.get("modified.txt")?.diff ?? "", /\+after/u); + assert.equal(files.get("deleted.txt")?.status, "deleted"); + assert.equal(files.get("new.txt")?.status, "untracked"); + assert.match(files.get("new.txt")?.diff ?? "", /\+new file/u); + assert.equal(files.get("empty.txt")?.binary, false); + assert.equal(files.get("empty.txt")?.diffStatus, "text"); + assert.equal(files.get("binary.bin")?.binary, true); + assert.equal(files.get("binary.bin")?.diffStatus, "binary"); + assert.equal(files.get("large.txt")?.truncated, true); + assert.equal(files.get("large.txt")?.diffStatus, "text"); + + await writeFile(join(cwd, "modified.txt"), "before\nafter again\n"); + const refreshed = await loadWorkspaceChanges(cwd, "session-1"); + assert.match( + refreshed.files.find((file) => file.path === "modified.txt")?.diff ?? "", + /\+after again/u, + ); +}); + +test("distinguishes a clean repository with no HEAD from a non-repository", async (t) => { + const emptyRepository = await mkdtemp( + join(tmpdir(), "openpi-empty-repository-"), + ); + const nonRepository = await mkdtemp(join(tmpdir(), "openpi-non-repository-")); + t.after(async () => { + await Promise.all([ + rm(emptyRepository, { recursive: true, force: true }), + rm(nonRepository, { recursive: true, force: true }), + ]); + }); + + await git(emptyRepository, ["init"]); + const empty = await loadWorkspaceChanges(emptyRepository, "session-empty"); + assert.equal(empty.status, "clean"); + assert.equal(empty.baseline?.kind, "empty-tree"); + + const outside = await loadWorkspaceChanges(nonRepository, "session-none"); + assert.equal(outside.status, "not-repository"); + assert.equal(outside.baseline, undefined); +}); diff --git a/web/dist/app.js b/web/dist/app.js index 789f5384..2cd1ab73 100644 --- a/web/dist/app.js +++ b/web/dist/app.js @@ -52,7 +52,7 @@ Try polyfilling it using "@formatjs/intl-pluralrules" `),a=new TextEncoder().encode(i),o=t?Math.max(0,a.length-Hu):0,s=t?a.length:Math.min(a.length,Hu);for(;oo&&(a[s]&192)==128;)s--;return{text:new TextDecoder().decode(a.subarray(o,s)),truncated:e.length>n.length||r.length>300||a.length>12288}}function Gu(e){if(e.evidenceArguments)return e.evidenceArguments;try{return Uu(JSON.parse(e.arguments))}catch{return{}}}function Ku(e){return[`read`,`write`,`edit`,`bash`,`bg_start`,`bg_status`].includes(e)}function qu(e,t){if(e===`bash`&&t?.terminalReceipt)return t.terminalReceipt;let n=Uu(t?.details);if(e.startsWith(`bg_`)){let e=n.status;if(e===`running`)return{state:`running`};if([`done`,`failed`,`killed`,`timed_out`].includes(String(e)))return{state:e===`killed`?`cancelled`:e===`timed_out`?`timed_out`:e===`failed`?`failed`:`returned`,exitCode:typeof n.exitCode==`number`?n.exitCode:void 0,signal:typeof n.signal==`string`?Wu(n.signal).text:void 0}}if(e===`bash`&&t?.isError===!0&&!t.truncation){let e=t.content.trimEnd().split(` `).at(-1);if(e===`Command aborted`)return{state:`cancelled`};if(/^Command timed out after \d+(?:\.\d+)? seconds$/u.test(e??``))return{state:`timed_out`};let n=/^Command exited with code (-?\d+)$/u.exec(e??``);if(n)return{state:`failed`,exitCode:Number(n[1])}}}function Ju(e){let t=/^\s*Tests\s+((?:\d+ (?:passed|failed|skipped|todo)(?:\s*\|\s*)?)+)\s*\((\d+)\)\s*$/mu.exec(e);if(t){let n=Number(/(\d+) passed/u.exec(t[1])?.[1]??0),r=Number(/(\d+) failed/u.exec(t[1])?.[1]??0),i=Number(t[2]);if(Number.isSafeInteger(i)&&n+r<=i)return{format:`Vitest`,tests:i,passed:n,failed:r,cancelled:0,failures:Yu(e,/^\s*(?:FAIL\s|×\s)/u)}}let n=/^Ran (\d+) tests? across \d+ files?\./mu.exec(e),r=/^\s*(\d+) pass\s*$/mu.exec(e),i=/^\s*(\d+) fail\s*$/mu.exec(e);if(n&&r&&i){let t=Number(n[1]),a=Number(r[1]),o=Number(i[1]);if(Number.isSafeInteger(t)&&a+o<=t)return{format:`Bun`,tests:t,passed:a,failed:o,cancelled:0,failures:Yu(e,/^\s*\(fail\) /u)}}let a=t=>{let n=RegExp(`^[#ℹ] ${t} (\\d+)$`,`mu`).exec(e),r=n?Number(n[1]):void 0;return r!==void 0&&Number.isSafeInteger(r)?r:void 0},o=a(`tests`),s=a(`pass`),c=a(`fail`),l=a(`cancelled`)??0;if(o===void 0||s===void 0||c===void 0||s+c+l>o)return;let u=Yu(e,/^(?:\s*not ok \d+\b|✖ )/u);return{format:/^ℹ tests /mu.test(e)?`Node`:`TAP`,tests:o,passed:s,failed:c,cancelled:l,failures:u}}function Yu(e,t){return e.split(` `).flatMap((e,n,r)=>t.test(e)?[r.slice(n,n+8).join(` -`)]:[]).slice(0,20)}function Xu(e,t,n){let r=Gu(e),i=Uu(t?.details),a=qu(e.name,t),o=a?.state??(n===`running`?`running`:t?.isError===!0?`failed`:t?.isError===!1?`returned`:`unknown`),s=[`bash`,`bg_start`,`bg_status`].includes(e.name),c=Wu(t?.content??``,s),l=e.name===`read`?/\n\n(\[(?:\d+ more lines in file\. Use offset=\d+ to continue\.|Showing lines [^\n]+)\])$/u.exec(c.text):null,u=c.truncated||!!t?.truncation||Uu(i.truncation).truncated===!0||e.evidenceTruncated===!0,d=s?Ju(c.text):void 0,f=e.name===`read`?`file`:[`write`,`edit`].includes(e.name)?`change`:d?`test`:`terminal`,p=[`write`,`edit`].includes(e.name)&&t?.isError===!1&&typeof i.diff==`string`?Wu(i.diff):void 0,m=typeof r.offset==`number`&&Number.isSafeInteger(r.offset)&&r.offset>0?r.offset:1;return{kind:f,state:o,processState:a?.state??(e.name===`bash`&&t?.isError===!1?`returned`:e.name===`bash`&&n===`running`?`running`:`unknown`),output:l?c.text.slice(0,l.index):c.text,truncated:u||p?.truncated===!0,readRecovery:l?.[1],numberLines:e.name===`read`&&t?.isError===!1&&Uu(i.truncation).firstLineExceedsLimit!==!0&&!!c.text,path:typeof r.path==`string`?Wu(r.path).text:void 0,resolvedPath:typeof r.resolvedPath==`string`?Wu(r.resolvedPath).text:void 0,command:typeof r.command==`string`?Wu(r.command).text:void 0,offset:m,diff:p?.text,tests:d,change:t?.isError===!1&&[`created`,`overwritten`,`unchanged`].includes(String(i.change))?String(i.change):void 0,evidenceUnavailable:typeof i.evidenceUnavailable==`string`?Wu(i.evidenceUnavailable).text:void 0,exitCode:a&&`exitCode`in a?a.exitCode:void 0,signal:a&&`signal`in a?a.signal:void 0,recovery:typeof i.fullOutputPath==`string`?Wu(i.fullOutputPath).text:void 0,rawArguments:Wu(e.arguments).text,rawResult:Wu(JSON.stringify({content:t?.content,details:t?.details,isError:t?.isError})).text}}new TextEncoder;var Zu=`openpi.web.token`,Qu=class extends Error{status;code;constructor(e,t,n){super(e),this.status=t,this.code=n,this.name=`WebApiError`}};function $u(){let e=document.querySelector(`meta[name="openpi-web-token"]`)?.content,t=new URLSearchParams(location.hash.slice(1)).get(`token`),n=e&&/^[a-f0-9]{64}$/i.test(e)?e:t;if(t&&history.replaceState(null,``,`${location.pathname}${location.search}`),n){try{window.sessionStorage.setItem(Zu,n)}catch{}return n}try{return window.sessionStorage.getItem(Zu)}catch{return null}}var ed=class{token=$u();headers(e=!1){return{Authorization:`Bearer ${this.token??``}`,...e?{"Content-Type":`application/json`}:{}}}async request(e,t={}){let{timeoutMs:n=15e3,timeoutMessage:r=`Request timed out. Please try again.`,...i}=t,a=new AbortController,o=!1,s=()=>a.abort();t.signal?.aborted&&s(),t.signal?.addEventListener(`abort`,s,{once:!0});let c=window.setTimeout(()=>{o=!0,a.abort()},n);try{let n=await fetch(e,{...i,signal:a.signal,headers:{...this.headers(!!t.body),...t.headers}}),r=await n.json();if(a.signal.aborted)throw Error(`Request aborted`);if(!n.ok)throw new Qu(r.error||`Request failed (${n.status})`,n.status,r.code);return r}catch(e){throw o?Error(r):e}finally{window.clearTimeout(c),t.signal?.removeEventListener(`abort`,s)}}snapshot(e){let t=e?`?path=${encodeURIComponent(e)}`:``;return this.request(`/api/snapshot${t}`)}resolveArtifact(e,t,n,r){return this.request(`/api/artifacts/resolve`,{method:`POST`,body:JSON.stringify({sessionId:e,reference:t,parent:n,access:`read-file`}),signal:r})}artifactMetadata(e,t,n){return this.request(`/api/artifacts/content?${new URLSearchParams({sessionId:e,handle:t,metadata:`1`})}`,{signal:n})}artifactPreview(e,t,n){return this.request(`/api/artifacts/content?${new URLSearchParams({sessionId:e,handle:t})}`,{signal:n})}releaseArtifact(e,t){return this.request(`/api/artifacts/content?`+new URLSearchParams({sessionId:e,handle:t}),{method:`DELETE`})}async downloadArtifact(e,t){let n=new AbortController,r=()=>n.abort();t.addEventListener(`abort`,r,{once:!0}),t.aborted&&r();let i=window.setTimeout(r,15e3);try{let t=await fetch(`/api/artifacts/content?${new URLSearchParams({sessionId:e.sessionId,handle:e.handle,revision:e.revision,download:`1`})}`,{headers:this.headers(),signal:n.signal});if(!t.ok){let e=await t.json();throw new Qu(e.error||`Download failed`,t.status,e.code)}let r=t.body?.getReader();if(!r)throw Error(`Download body unavailable`);let i=[],a=0;try{for(;;){let{value:e,done:t}=await r.read();if(t)break;if(a+=e.byteLength,a>20971520)throw Error(`Download exceeds the 20 MiB limit`);i.push(new Uint8Array(e))}}finally{await r.cancel()}return new Blob(i,{type:`application/octet-stream`})}finally{window.clearTimeout(i),t.removeEventListener(`abort`,r)}}chooseWorkspace(){return this.request(`/api/workspaces/select`,{method:`POST`})}renameWorkspace(e,t){return this.request(`/api/workspaces`,{method:`PATCH`,body:JSON.stringify({path:e,name:t})})}removeWorkspace(e){return this.request(`/api/workspaces?path=${encodeURIComponent(e)}`,{method:`DELETE`})}createSession(e,t){return this.request(`/api/sessions`,{method:`POST`,body:JSON.stringify({workspacePath:e,commandId:t})})}selectSession(e){return this.request(`/api/sessions/select`,{method:`POST`,body:JSON.stringify({path:e})})}renameSession(e,t){return this.request(`/api/sessions`,{method:`PATCH`,body:JSON.stringify({path:e,name:t})})}archiveSession(e){return this.request(`/api/sessions/archive?path=${encodeURIComponent(e)}`,{method:`POST`})}unarchiveSession(e){return this.request(`/api/sessions/unarchive?path=${encodeURIComponent(e)}`,{method:`POST`})}thinking(e,t){return this.request(`/api/thinking?sessionId=${encodeURIComponent(e)}`,{signal:t})}setThinkingLevel(e,t){return this.request(`/api/thinking`,{method:`POST`,body:JSON.stringify({sessionId:e,level:t})})}trust(e,t){return this.request(`/api/trust?sessionId=${encodeURIComponent(e)}`,{signal:t})}providerAuth(e,t){return this.request(`/api/providers/auth-status?sessionId=${encodeURIComponent(e)}`,{signal:t})}commands(e,t){return this.request(`/api/commands?sessionId=${encodeURIComponent(e)}`,{signal:t})}terminalDetail(e,t,n){return this.request(`/api/capabilities/detail?kind=background-terminals&id=${encodeURIComponent(t)}&sessionId=${encodeURIComponent(e)}`,{signal:n})}selectModel(e,t,n){return this.request(`/api/model`,{method:`POST`,body:JSON.stringify({provider:e,modelId:t,sessionId:n})})}searchModels(e,t,n){let r=new URLSearchParams({query:e,limit:`50`});return t&&r.set(`sessionId`,t),this.request(`/api/models?${r}`,{signal:n})}cancelActiveTurn(e){return this.request(`/api/turns/cancel`,{method:`POST`,body:JSON.stringify(e)})}async prompt(e,t,n,r=!1){let i=await this.request(`/api/prompt`,{method:`POST`,body:JSON.stringify({sessionId:e,content:t,commandId:n,retry:r}),timeoutMs:3e4,timeoutMessage:`Request timed out; admission may still be pending. Retry the same message to recover its receipt.`});if(typeof i.id!=`string`||!i.id||i.accepted!==!0)throw Error(`Invalid prompt receipt; retry the same message to recover its admission.`);return i}};function td({target:e,onClose:t}){let{t:n}=sn(),r=(0,w.useMemo)(()=>new ed,[]),[i,a]=(0,w.useState)(0),[o,s]=(0,w.useState)(null),[c,l]=(0,w.useState)(null);(0,w.useEffect)(()=>{let t=new AbortController;return s(null),l(null),(async()=>{let i={errors:[]};if(e.terminalId)try{let a=await r.terminalDetail(e.sessionId,e.terminalId,t.signal);if(a.sessionId!==e.sessionId||a.detail.id!==e.terminalId)throw Error(n(`inspectionChanged`));i.terminal=a.detail}catch(e){i.errors.push(e instanceof Error?e.message:n(`inspectionUnavailable`))}else{let[a,o,s]=await Promise.allSettled([r.thinking(e.sessionId,t.signal),r.trust(e.sessionId,t.signal),r.providerAuth(e.sessionId,t.signal)]);a.status===`fulfilled`&&a.value.sessionId===e.sessionId?i.thinking=a.value:i.errors.push(n(`thinkingUnavailable`)),o.status===`fulfilled`&&(o.value.workspace===void 0||o.value.workspace===e.cwd)?i.trust=o.value:i.errors.push(n(`trustUnavailable`)),s.status===`fulfilled`?i.auth=s.value:i.errors.push(n(`authUnavailable`))}t.signal.aborted||(s(i),l(new Date().toLocaleTimeString()))})(),()=>t.abort()},[r,e,i,n]);let u=e.terminalId?n(`terminalDetails`):n(`runtimeStatus`),d=o?.terminal;return(0,V.jsx)(Bu,{isOpen:!0,onOpenChange:e=>!e&&t(),width:640,"aria-label":u,children:(0,V.jsxs)(`section`,{className:`inspection-panel`,children:[(0,V.jsxs)(`header`,{className:`inspection-heading`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h2`,{children:u}),(0,V.jsx)(`p`,{className:`inspection-subtitle`,children:e.cwd})]}),(0,V.jsxs)(`div`,{className:`inspection-actions`,children:[(0,V.jsx)(`button`,{type:`button`,className:`icon-button`,"aria-label":n(`refreshStatus`),disabled:!o,onClick:()=>a(e=>e+1),children:(0,V.jsx)(Ee,{})}),(0,V.jsx)(`button`,{type:`button`,className:`icon-button`,"aria-label":n(`close`),onClick:t,children:(0,V.jsx)(Re,{})})]})]}),o?(0,V.jsxs)(V.Fragment,{children:[o.errors.map(e=>(0,V.jsx)(`p`,{className:`inspection-warning`,role:`alert`,children:e},e)),d?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`inspection-section`,children:[(0,V.jsx)(`h3`,{children:d.title||d.id}),(0,V.jsxs)(`dl`,{children:[(0,V.jsx)(`dt`,{children:n(`executionState`)}),(0,V.jsx)(`dd`,{children:n(`execution_${d.status}`,{defaultValue:d.status})}),(0,V.jsx)(`dt`,{children:n(`terminalCommand`)}),(0,V.jsx)(`dd`,{children:(0,V.jsx)(`code`,{children:d.command})}),(0,V.jsx)(`dt`,{children:n(`terminalDirectory`)}),(0,V.jsx)(`dd`,{children:d.cwd}),(0,V.jsx)(`dt`,{children:n(`startedAt`)}),(0,V.jsx)(`dd`,{children:new Date(d.createdAt).toLocaleString()}),d.exitCode!==void 0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`dt`,{children:n(`exitCode`)}),(0,V.jsx)(`dd`,{children:d.exitCode})]})]}),d.errorText&&(0,V.jsx)(`p`,{className:`inspection-warning`,children:d.errorText}),d.truncated&&(0,V.jsx)(`p`,{className:`inspection-note`,children:n(`detailTruncated`)})]}),[`stdout`,`stderr`].map(e=>(0,V.jsxs)(`section`,{className:`inspection-section`,children:[(0,V.jsx)(`h3`,{children:n(e===`stdout`?`standardOutput`:`standardError`)}),(0,V.jsx)(`pre`,{className:`terminal-evidence`,children:d[e].text||n(`noOutput`)}),d[e].truncated&&(0,V.jsx)(`p`,{className:`inspection-note`,children:n(`outputTruncated`,{count:d[e].omittedBytes})}),d[e].recoveryAvailable&&(0,V.jsx)(`p`,{className:`inspection-note`,children:n(`outputRecovery`)})]},e))]}):!e.terminalId&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`section`,{className:`inspection-section`,children:[(0,V.jsx)(`h3`,{children:n(`modelAndThinking`)}),(0,V.jsxs)(`dl`,{children:[(0,V.jsx)(`dt`,{children:n(`selectedModel`)}),(0,V.jsx)(`dd`,{children:e.model||n(`noModels`)}),(0,V.jsx)(`dt`,{children:n(`thinkingLevel`)}),(0,V.jsx)(`dd`,{children:o.thinking?.supported===!1?n(`thinkingUnsupported`):o.thinking?.level??n(`unknownState`)}),!!o.thinking?.available.length&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`dt`,{children:n(`availableThinking`)}),(0,V.jsx)(`dd`,{children:o.thinking?.available.join(` · `)})]})]}),o.thinking?.supported===!1&&(0,V.jsx)(`p`,{className:`inspection-note`,children:n(`thinkingUnsupportedHint`)}),o.thinking&&o.thinking.supported!==!1&&!o.thinking.available.includes(o.thinking.level)&&(0,V.jsx)(`p`,{className:`inspection-warning`,role:`status`,children:n(`thinkingLevelMismatch`)})]}),(0,V.jsxs)(`section`,{className:`inspection-section`,children:[(0,V.jsx)(`h3`,{children:n(`projectTrust`)}),(0,V.jsx)(`p`,{children:n(`trust_${o.trust?.state??`unknown`}`)}),o.trust?.refreshRequired===!0&&(0,V.jsx)(`p`,{className:`inspection-warning`,children:n(`trustRefreshNeeded`)})]}),(0,V.jsxs)(`section`,{className:`inspection-section`,children:[(0,V.jsx)(`h3`,{children:n(`providerAvailability`)}),o.auth?.providers.map(e=>(0,V.jsxs)(`div`,{className:`provider-status`,children:[(0,V.jsx)(`span`,{children:e.name||e.id}),(0,V.jsx)(`span`,{children:e.configured?n(`credentialConfigured`):n(`credentialMissing`)})]},e.id)),o.auth&&!o.auth.providers.length&&(0,V.jsx)(`p`,{children:n(`noProviders`)}),o.auth?.truncation.truncated&&(0,V.jsx)(`p`,{className:`inspection-note`,children:n(`providersBounded`)}),(0,V.jsx)(`p`,{className:`inspection-note`,children:n(`authNotVerified`)})]}),(0,V.jsx)(`p`,{className:`inspection-note`,children:n(`configurationViaPi`)})]}),(0,V.jsx)(`p`,{className:`inspection-updated`,children:n(`statusCaptured`,{time:c})})]}):(0,V.jsx)(`p`,{role:`status`,children:n(`inspectionLoading`)})]})})}function nd({items:e,label:t}){return(0,V.jsx)(`span`,{className:`astryx-menu-trigger`,children:(0,V.jsx)(il,{button:{label:t,icon:(0,V.jsx)(ue,{}),isIconOnly:!0,size:`sm`,variant:`ghost`,className:`menu-action-button`},items:e,menuWidth:190,placement:`below`,alignment:`end`,hasChevron:!1})})}function rd(e){let{t}=sn(),[n,r]=(0,w.useState)(null),[i,a]=(0,w.useState)(null),[o,s]=(0,w.useState)(``),c=(0,w.useRef)(null),l=(0,w.useRef)(null),u=(0,w.useRef)(null),d=(0,w.useRef)(null),f=(0,w.useRef)(null),p=e.snapshot,[m,h]=(0,w.useState)(!1),[g,_]=(0,w.useState)(new Set),[v,y]=(0,w.useState)(new Set),b=(0,w.useRef)(new Set),[x,S]=(0,w.useState)(!1),C=async t=>{if(!b.current.has(t)){b.current.add(t),y(new Set(b.current)),S(!1);try{await e.actions.unarchiveSession(t)||S(!0)}finally{b.current.delete(t),y(new Set(b.current))}}};(0,w.useEffect)(()=>{if(e.searchOpen)return c.current?.focus(),()=>l.current?.focus()},[e.searchOpen]),(0,w.useEffect)(()=>{if(e.mobileOpen)return f.current?.focus(),()=>{let t=e.returnFocusRef?.current;t?.checkVisibility()&&t.focus()}},[e.mobileOpen,e.returnFocusRef]),(0,w.useEffect)(()=>{e.mobileOpen&&document.activeElement===document.body&&!document.querySelector(`dialog:modal`)&&f.current?.focus()}),(0,w.useEffect)(()=>{n&&(u.current?.focus(),u.current?.select())},[n]);let T=(0,w.useMemo)(()=>{let n=e.query.trim().toLowerCase(),r=e=>(p?.sessions??[]).filter(r=>!!r.archived===m&&(e===`__ungrouped__`?r.ungrouped:r.cwd===e&&!r.ungrouped)&&(!n||`${ll(r,t(`untitledSession`))} ${r.cwd}`.toLowerCase().includes(n))),i=[...p?.workspaces??[]];for(let e of p?.sessions??[])!e.ungrouped&&!i.some(t=>t.path===e.cwd)&&i.push({path:e.cwd,name:e.cwd,current:!1});return[...i.map(e=>({...e,sessions:r(e.path),ungrouped:!1})),{path:`__ungrouped__`,name:t(`ungrouped`),current:!1,sessions:r(`__ungrouped__`),ungrouped:!0}].filter(e=>e.sessions.length>0||!m&&!e.ungrouped&&!n)},[m,e.query,p,t]),E=e=>{s(e.name),r(e)},D=async()=>{let t=o.trim();!n||!t||(n.kind===`workspace`?await e.actions.renameWorkspace(n.path,t):await e.actions.renameSession(n.path,t),r(null))};return(0,V.jsxs)(`div`,{ref:d,id:`session-sidebar`,className:`session-sidebar`,role:e.mobileOpen?`dialog`:`complementary`,"aria-modal":e.mobileOpen||void 0,"aria-label":`Session navigation`,tabIndex:e.mobileOpen?-1:void 0,onKeyDown:t=>{if(!e.mobileOpen||t.defaultPrevented||t.target instanceof Element&&(t.target.closest(`dialog`)||t.key!==`Tab`&&t.target.closest(`[role="menu"]`))||(t.key===`Escape`&&!t.nativeEvent.isComposing&&(t.preventDefault(),e.actions.closeMobileSidebar()),t.key!==`Tab`))return;let n=Array.from(d.current?.querySelectorAll(`button, input, select, textarea, a[href], [tabindex]`)??[]).filter(e=>e.tabIndex>=0&&!e.matches(`:disabled`)&&e.checkVisibility({visibilityProperty:!0})),r=t.shiftKey?n.at(-1):n[0],i=t.shiftKey?n[0]:n.at(-1);(document.activeElement===d.current||document.activeElement===i)&&(t.preventDefault(),r?.focus())},children:[(0,V.jsxs)(`div`,{className:`sidebar-brand`,children:[(0,V.jsx)(hn,{compact:!0}),(0,V.jsx)(cl,{content:t(`collapseSidebar`),placement:`end`,children:(0,V.jsx)(`button`,{ref:f,className:`collapse-button`,type:`button`,"aria-label":t(`collapseSidebar`),onClick:()=>e.mobileOpen?e.actions.closeMobileSidebar():e.actions.toggleSidebar(!1),children:(0,V.jsx)(R,{})})})]}),(0,V.jsxs)(`button`,{className:`new-session-button`,type:`button`,"aria-label":t(`newSession`),title:t(`newSession`),onClick:()=>e.selectedWorkspace?void e.actions.createSession(e.selectedWorkspace):void e.actions.chooseWorkspace(),children:[(0,V.jsx)(je,{}),(0,V.jsx)(`span`,{children:t(`newSession`)})]}),(0,V.jsxs)(`div`,{className:`workspace-heading ${e.searchOpen?`is-searching`:``}`,children:[(0,V.jsx)(`span`,{className:`workspace-heading-label`,children:t(`workspaces`)}),(0,V.jsxs)(`div`,{className:`session-search`,children:[(0,V.jsx)(De,{}),(0,V.jsx)(`input`,{ref:c,type:`search`,value:e.query,placeholder:t(`searchPlaceholder`),"aria-label":t(`searchConversations`),onChange:t=>e.actions.setQuery(t.target.value)}),(0,V.jsx)(`button`,{type:`button`,"aria-label":t(`closeSearch`),onClick:()=>e.actions.setSearchOpen(!1),children:(0,V.jsx)(Re,{})})]}),(0,V.jsxs)(`div`,{className:`workspace-actions`,children:[(0,V.jsx)(cl,{content:t(`searchConversations`),children:(0,V.jsx)(`button`,{ref:l,className:`icon-button`,type:`button`,"aria-label":t(`searchConversations`),onClick:()=>e.actions.setSearchOpen(!0),children:(0,V.jsx)(De,{})})}),(0,V.jsx)(cl,{content:t(`addWorkspace`),children:(0,V.jsx)(`button`,{className:`icon-button`,type:`button`,"aria-label":t(`addWorkspace`),onClick:()=>void e.actions.chooseWorkspace(),children:(0,V.jsx)(we,{})})})]})]}),(0,V.jsxs)(`fieldset`,{className:`session-view-switch`,"aria-label":t(`conversationViews`),children:[(0,V.jsx)(`button`,{type:`button`,"aria-pressed":!m,onClick:()=>h(!1),children:t(`currentConversations`)}),(0,V.jsx)(`button`,{type:`button`,"aria-pressed":m,onClick:()=>h(!0),children:t(`archivedConversations`)})]}),m&&(0,V.jsx)(`p`,{className:`sidebar-scope-note`,children:t(`loadedArchives`)}),!!(p?.truncation.sessionsOmitted||p?.truncation.workspacesOmitted)&&(0,V.jsx)(`p`,{className:`sidebar-scope-note`,children:t(`loadedHistoryBounded`,{sessions:p?.truncation.sessionsOmitted,workspaces:p?.truncation.workspacesOmitted})}),x&&(0,V.jsx)(`p`,{className:`sidebar-scope-note`,role:`alert`,children:t(`restoreFailed`)}),(0,V.jsx)(`div`,{className:`workspace-tree`,children:T.length?T.map(n=>{let r=(m?g:e.collapsed).has(n.path);return(0,V.jsxs)(`section`,{className:`workspace-group ${r?`collapsed`:``}`,children:[(0,V.jsxs)(`div`,{className:`workspace-button`,children:[(0,V.jsxs)(`button`,{className:`workspace-label`,type:`button`,"aria-expanded":!r,title:n.path===`__ungrouped__`?void 0:n.path,onClick:()=>{m?_(e=>{let t=new Set(e);return t.has(n.path)?t.delete(n.path):t.add(n.path),t}):e.actions.toggleWorkspace(n.path)},children:[(0,V.jsx)(`span`,{className:`workspace-toggle`,"aria-hidden":`true`,children:(0,V.jsx)(`span`,{className:`workspace-chevron`,children:`⌄`})}),(0,V.jsx)(`strong`,{children:n.name})]}),!n.ungrouped&&(0,V.jsxs)(`span`,{className:`workspace-row-actions`,children:[(0,V.jsx)(nd,{label:`Workspace options`,items:[{id:`rename`,label:t(`renameWorkspace`),icon:(0,V.jsx)(je,{}),onClick:()=>E({kind:`workspace`,path:n.path,name:n.name})},{id:`remove`,label:t(`removeWorkspace`),icon:(0,V.jsx)(Pe,{}),variant:`destructive`,onClick:()=>a({path:n.path,name:n.name})}]}),(0,V.jsx)(cl,{content:t(`newSession`),children:(0,V.jsx)(`button`,{className:`workspace-action`,type:`button`,"aria-label":`${t(`newSession`)} ${n.name}`,onClick:t=>{t.stopPropagation(),e.actions.createSession(n.path)},children:(0,V.jsx)(we,{})})})]})]}),(0,V.jsx)(`div`,{className:`workspace-sessions`,children:n.sessions.length?n.sessions.map(n=>(0,V.jsxs)(`div`,{className:`session-row`,children:[(0,V.jsxs)(`button`,{className:`session ${n.path===e.selectedPath?`active`:``}`,type:`button`,"aria-current":n.path===e.selectedPath?`page`:void 0,title:ll(n,t(`untitledSession`)),onClick:()=>void e.actions.selectSession(n.path),children:[(0,V.jsx)(`span`,{className:`session-title`,children:ll(n,t(`untitledSession`))}),(0,V.jsx)(`span`,{className:`session-time`,children:fl(n.modified)})]}),(0,V.jsx)(nd,{label:t(`conversationOptions`),items:[{id:`rename`,label:t(`renameConversation`),icon:(0,V.jsx)(je,{}),onClick:()=>E({kind:`session`,path:n.path,name:ll(n,t(`untitledSession`))})},{id:m?`restore`:`archive`,label:v.has(n.path)?t(`restoringConversation`):t(m?`restoreConversation`:`archiveConversation`),icon:m?(0,V.jsx)(k,{}):(0,V.jsx)(A,{}),onClick:()=>m?void C(n.path):void e.actions.archiveSession(n.path)}]})]},n.path)):(0,V.jsx)(`div`,{className:`empty`,children:t(`noConversations`)})})]},n.path)}):(0,V.jsx)(`div`,{className:`empty`,children:e.query?t(`noMatching`):t(m?`noLoadedArchives`:`noSessions`)})}),(0,V.jsx)(Bu,{isOpen:!!n,onOpenChange:e=>!e&&r(null),purpose:`form`,width:400,"aria-label":n?.kind===`workspace`?t(`renameWorkspace`):t(`renameConversation`),children:(0,V.jsxs)(`form`,{className:`openpi-dialog`,onSubmit:e=>{e.preventDefault(),D()},children:[(0,V.jsx)(`strong`,{children:n?.kind===`workspace`?t(`renameWorkspace`):t(`renameConversation`)}),(0,V.jsx)(`input`,{ref:u,value:o,maxLength:80,"aria-label":n?.kind===`workspace`?t(`workspaceName`):t(`conversationName`),onChange:e=>s(e.target.value)}),(0,V.jsxs)(`div`,{className:`dialog-actions`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:()=>r(null),children:t(`cancel`)}),(0,V.jsx)(`button`,{type:`submit`,className:`primary`,children:t(`save`)})]})]})}),(0,V.jsx)(Bu,{isOpen:!!i,onOpenChange:e=>!e&&a(null),purpose:`form`,width:440,"aria-label":t(`deleteWorkspace`),children:(0,V.jsxs)(`div`,{className:`openpi-dialog`,children:[(0,V.jsx)(`strong`,{children:t(`deleteWorkspace`)}),(0,V.jsxs)(`p`,{children:[i?.name,`:`,t(`workspaceDeleteConfirm`)]}),(0,V.jsxs)(`div`,{className:`dialog-actions`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:()=>a(null),children:t(`cancel`)}),(0,V.jsx)(`button`,{type:`button`,className:`danger`,onClick:()=>{i&&(e.actions.removeWorkspace(i.path),a(null))},children:t(`deleteWorkspace`)})]})]})})]})}function id(e){let t=new Map(e.map((e,t)=>[e.id,t])),n=new Map,r=new Map,i=new Map;for(let a of e){let e=`message`in a?a.message:void 0;for(let t of e?.parts??[])t.type===`toolCall`&&t.id&&r.set(t.id,(r.get(t.id)??0)+1);if(e?.role===`toolResult`&&e.toolCallId){let r=i.get(e.toolCallId)??[];r.push(e),n.set(e,t.get(a.id)??-1),i.set(e.toolCallId,r)}}let a=new Set,o=[];for(let s of e){let e=`message`in s?s.message:void 0;if(!e){o.push({key:s.id,kind:`event`,title:s.type,timestamp:s.timestamp});continue}if(e.role!==`toolResult`){(e.role!==`assistant`||e.content||!e.parts?.length||e.parts?.some(e=>e.type!==`toolCall`))&&o.push({key:s.id,kind:e.role===`user`?`user`:e.role===`assistant`?`assistant`:`event`,title:e.customType||e.role||s.type,timestamp:s.timestamp,message:e});for(let[c,l]of(e.parts??[]).entries()){if(l.type!==`toolCall`)continue;let u=l.id?i.get(l.id):void 0,d=l.id&&r.get(l.id)===1&&u?.length===1&&u[0]?.toolName===l.name&&!l.id.includes(`[truncated]`)&&(n.get(u[0])??-1)>(t.get(s.id)??-1)?u[0]:void 0;d&&a.add(d),o.push({key:`${s.id}:call:${c}`,kind:`call`,title:l.name,timestamp:s.timestamp,callId:l.id,input:l.arguments,message:e,result:d,outcome:d?.isError===!0?`error`:d?.isError===!1?`returned`:`unknown`})}}}let s=new Map(o.map(e=>[e.key,t.get(e.key)??-1]));for(let n of e){let e=`message`in n?n.message:void 0;e?.role===`toolResult`&&!a.has(e)&&(o.push({key:n.id,kind:`result`,title:e.toolName||`toolResult`,timestamp:n.timestamp,callId:e.toolCallId,result:e,outcome:e.isError===!0?`error`:e.isError===!1?`returned`:`unknown`}),s.set(n.id,t.get(n.id)??0));for(let[r,i]of(e?.parts??[]).entries())i.type===`toolCall`&&s.set(`${n.id}:call:${r}`,t.get(n.id)??0)}return o.sort((e,t)=>(s.get(e.key)??0)-(s.get(t.key)??0)),o}var ad=[],od=(0,w.memo)(function({snapshot:e,running:t}){let{t:n}=sn(),r=e.selectedSession?.entries??ad,i=(0,w.useMemo)(()=>id(r),[r]),[a,o]=(0,w.useState)(null),[s,c]=(0,w.useState)(50),l=i.findIndex(e=>e.key===a),u=Math.min(Math.max(0,i.length-s),l<0?i.length:l),d=i.slice(u),f=d.find(e=>e.key===a)??d.at(-1),p=e.selectedSession?.truncation,m=f?.result,h=f?.message;return(0,V.jsxs)(`section`,{className:`conversation trajectory`,"aria-label":n(`trajectory`),children:[(0,V.jsxs)(`header`,{className:`trajectory-heading`,children:[(0,V.jsx)(`h2`,{children:n(`trajectory`)}),(0,V.jsx)(`p`,{children:n(`trajectoryScope`)}),t&&(0,V.jsx)(`p`,{role:`status`,children:n(`trajectoryRunning`)}),p?.truncated&&(0,V.jsx)(`p`,{className:`trajectory-warning`,children:n(`trajectoryTruncated`,{entries:p.entriesOmitted,parts:p.messagePartsOmitted,messages:p.messagesTruncated})})]}),i.length?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`nav`,{className:`trajectory-overview`,"aria-label":n(`trajectoryOverview`),children:d.map((e,t)=>(0,V.jsx)(`button`,{type:`button`,"aria-label":`${n(`trajectory_${e.kind}`)} ${i.length-d.length+t+1}: ${e.title}`,"aria-pressed":e.key===f?.key,onClick:()=>o(e.key),className:`trajectory-point ${e.kind} ${e.outcome??``}`,children:(0,V.jsx)(`span`,{children:i.length-d.length+t+1})},e.key))}),(0,V.jsxs)(`div`,{className:`trajectory-body`,children:[(0,V.jsxs)(`div`,{className:`trajectory-ledger`,children:[u>0&&(0,V.jsx)(`button`,{type:`button`,className:`trajectory-load`,onClick:()=>c(e=>e+50),children:n(`trajectoryEarlier`,{count:u})}),(0,V.jsx)(`ol`,{start:i.length-d.length+1,children:d.map(e=>(0,V.jsx)(`li`,{children:(0,V.jsxs)(`button`,{type:`button`,"aria-pressed":e.key===f?.key,onClick:()=>o(e.key),className:`trajectory-record ${e.kind}`,children:[(0,V.jsx)(`span`,{className:`trajectory-kind`,children:n(`trajectory_${e.kind}`)}),(0,V.jsx)(`strong`,{children:e.title}),(0,V.jsx)(`span`,{className:`trajectory-preview`,children:(e.input??e.message?.content??e.result?.content??``).slice(0,110)}),e.outcome&&(0,V.jsx)(`span`,{children:n(`trajectory_${e.outcome}`)})]})},e.key))})]}),f&&(0,V.jsxs)(`section`,{className:`trajectory-inspector`,"aria-label":n(`trajectoryDetails`),children:[(0,V.jsx)(`h3`,{children:f.title}),f.timestamp&&(0,V.jsxs)(`p`,{className:`trajectory-metadata`,children:[n(`trajectoryRecordedAt`),`:`,` `,(0,V.jsx)(`time`,{children:f.timestamp})]}),f.callId&&(0,V.jsxs)(`p`,{className:`trajectory-metadata`,children:[`Tool call ID: `,f.callId]}),(h?.truncation||m?.truncation)&&(0,V.jsx)(`p`,{className:`trajectory-warning`,children:n(`trajectoryEvidenceTruncated`)}),f.input!==void 0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`h4`,{children:n(`trajectoryArguments`)}),(0,V.jsx)(`pre`,{children:f.input})]}),h&&f.kind!==`call`&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`h4`,{children:n(`trajectoryRecordedContent`)}),(0,V.jsx)(`pre`,{children:h.content||n(`noOutput`)}),h.parts?.some(e=>e.type===`thinking`)&&(0,V.jsxs)(`details`,{children:[(0,V.jsx)(`summary`,{children:n(`trajectoryThinking`)}),(0,V.jsx)(`pre`,{children:h.parts.filter(e=>e.type===`thinking`).map(e=>e.text).join(` +`)]:[]).slice(0,20)}function Xu(e,t,n){let r=Gu(e),i=Uu(t?.details),a=qu(e.name,t),o=a?.state??(n===`running`?`running`:t?.isError===!0?`failed`:t?.isError===!1?`returned`:`unknown`),s=[`bash`,`bg_start`,`bg_status`].includes(e.name),c=Wu(t?.content??``,s),l=e.name===`read`?/\n\n(\[(?:\d+ more lines in file\. Use offset=\d+ to continue\.|Showing lines [^\n]+)\])$/u.exec(c.text):null,u=c.truncated||!!t?.truncation||Uu(i.truncation).truncated===!0||e.evidenceTruncated===!0,d=s?Ju(c.text):void 0,f=e.name===`read`?`file`:[`write`,`edit`].includes(e.name)?`change`:d?`test`:`terminal`,p=[`write`,`edit`].includes(e.name)&&t?.isError===!1&&typeof i.diff==`string`?Wu(i.diff):void 0,m=typeof r.offset==`number`&&Number.isSafeInteger(r.offset)&&r.offset>0?r.offset:1;return{kind:f,state:o,processState:a?.state??(e.name===`bash`&&t?.isError===!1?`returned`:e.name===`bash`&&n===`running`?`running`:`unknown`),output:l?c.text.slice(0,l.index):c.text,truncated:u||p?.truncated===!0,readRecovery:l?.[1],numberLines:e.name===`read`&&t?.isError===!1&&Uu(i.truncation).firstLineExceedsLimit!==!0&&!!c.text,path:typeof r.path==`string`?Wu(r.path).text:void 0,resolvedPath:typeof r.resolvedPath==`string`?Wu(r.resolvedPath).text:void 0,command:typeof r.command==`string`?Wu(r.command).text:void 0,offset:m,diff:p?.text,tests:d,change:t?.isError===!1&&[`created`,`overwritten`,`unchanged`].includes(String(i.change))?String(i.change):void 0,evidenceUnavailable:typeof i.evidenceUnavailable==`string`?Wu(i.evidenceUnavailable).text:void 0,exitCode:a&&`exitCode`in a?a.exitCode:void 0,signal:a&&`signal`in a?a.signal:void 0,recovery:typeof i.fullOutputPath==`string`?Wu(i.fullOutputPath).text:void 0,rawArguments:Wu(e.arguments).text,rawResult:Wu(JSON.stringify({content:t?.content,details:t?.details,isError:t?.isError})).text}}new TextEncoder;var Zu=`openpi.web.token`,Qu=class extends Error{status;code;constructor(e,t,n){super(e),this.status=t,this.code=n,this.name=`WebApiError`}};function $u(){let e=document.querySelector(`meta[name="openpi-web-token"]`)?.content,t=new URLSearchParams(location.hash.slice(1)).get(`token`),n=e&&/^[a-f0-9]{64}$/i.test(e)?e:t;if(t&&history.replaceState(null,``,`${location.pathname}${location.search}`),n){try{window.sessionStorage.setItem(Zu,n)}catch{}return n}try{return window.sessionStorage.getItem(Zu)}catch{return null}}var ed=class{token=$u();headers(e=!1){return{Authorization:`Bearer ${this.token??``}`,...e?{"Content-Type":`application/json`}:{}}}async request(e,t={}){let{timeoutMs:n=15e3,timeoutMessage:r=`Request timed out. Please try again.`,...i}=t,a=new AbortController,o=!1,s=()=>a.abort();t.signal?.aborted&&s(),t.signal?.addEventListener(`abort`,s,{once:!0});let c=window.setTimeout(()=>{o=!0,a.abort()},n);try{let n=await fetch(e,{...i,signal:a.signal,headers:{...this.headers(!!t.body),...t.headers}}),r=await n.json();if(a.signal.aborted)throw Error(`Request aborted`);if(!n.ok)throw new Qu(r.error||`Request failed (${n.status})`,n.status,r.code);return r}catch(e){throw o?Error(r):e}finally{window.clearTimeout(c),t.signal?.removeEventListener(`abort`,s)}}snapshot(e){let t=e?`?path=${encodeURIComponent(e)}`:``;return this.request(`/api/snapshot${t}`)}workspaceChanges(e,t){return this.request(`/api/workspace-changes?sessionId=${encodeURIComponent(e)}`,{signal:t})}resolveArtifact(e,t,n,r){return this.request(`/api/artifacts/resolve`,{method:`POST`,body:JSON.stringify({sessionId:e,reference:t,parent:n,access:`read-file`}),signal:r})}artifactMetadata(e,t,n){return this.request(`/api/artifacts/content?${new URLSearchParams({sessionId:e,handle:t,metadata:`1`})}`,{signal:n})}artifactPreview(e,t,n){return this.request(`/api/artifacts/content?${new URLSearchParams({sessionId:e,handle:t})}`,{signal:n})}releaseArtifact(e,t){return this.request(`/api/artifacts/content?`+new URLSearchParams({sessionId:e,handle:t}),{method:`DELETE`})}async downloadArtifact(e,t){let n=new AbortController,r=()=>n.abort();t.addEventListener(`abort`,r,{once:!0}),t.aborted&&r();let i=window.setTimeout(r,15e3);try{let t=await fetch(`/api/artifacts/content?${new URLSearchParams({sessionId:e.sessionId,handle:e.handle,revision:e.revision,download:`1`})}`,{headers:this.headers(),signal:n.signal});if(!t.ok){let e=await t.json();throw new Qu(e.error||`Download failed`,t.status,e.code)}let r=t.body?.getReader();if(!r)throw Error(`Download body unavailable`);let i=[],a=0;try{for(;;){let{value:e,done:t}=await r.read();if(t)break;if(a+=e.byteLength,a>20971520)throw Error(`Download exceeds the 20 MiB limit`);i.push(new Uint8Array(e))}}finally{await r.cancel()}return new Blob(i,{type:`application/octet-stream`})}finally{window.clearTimeout(i),t.removeEventListener(`abort`,r)}}chooseWorkspace(){return this.request(`/api/workspaces/select`,{method:`POST`})}renameWorkspace(e,t){return this.request(`/api/workspaces`,{method:`PATCH`,body:JSON.stringify({path:e,name:t})})}removeWorkspace(e){return this.request(`/api/workspaces?path=${encodeURIComponent(e)}`,{method:`DELETE`})}createSession(e,t){return this.request(`/api/sessions`,{method:`POST`,body:JSON.stringify({workspacePath:e,commandId:t})})}selectSession(e){return this.request(`/api/sessions/select`,{method:`POST`,body:JSON.stringify({path:e})})}renameSession(e,t){return this.request(`/api/sessions`,{method:`PATCH`,body:JSON.stringify({path:e,name:t})})}archiveSession(e){return this.request(`/api/sessions/archive?path=${encodeURIComponent(e)}`,{method:`POST`})}unarchiveSession(e){return this.request(`/api/sessions/unarchive?path=${encodeURIComponent(e)}`,{method:`POST`})}thinking(e,t){return this.request(`/api/thinking?sessionId=${encodeURIComponent(e)}`,{signal:t})}setThinkingLevel(e,t){return this.request(`/api/thinking`,{method:`POST`,body:JSON.stringify({sessionId:e,level:t})})}trust(e,t){return this.request(`/api/trust?sessionId=${encodeURIComponent(e)}`,{signal:t})}providerAuth(e,t){return this.request(`/api/providers/auth-status?sessionId=${encodeURIComponent(e)}`,{signal:t})}commands(e,t){return this.request(`/api/commands?sessionId=${encodeURIComponent(e)}`,{signal:t})}terminalDetail(e,t,n){return this.request(`/api/capabilities/detail?kind=background-terminals&id=${encodeURIComponent(t)}&sessionId=${encodeURIComponent(e)}`,{signal:n})}selectModel(e,t,n){return this.request(`/api/model`,{method:`POST`,body:JSON.stringify({provider:e,modelId:t,sessionId:n})})}searchModels(e,t,n){let r=new URLSearchParams({query:e,limit:`50`});return t&&r.set(`sessionId`,t),this.request(`/api/models?${r}`,{signal:n})}cancelActiveTurn(e){return this.request(`/api/turns/cancel`,{method:`POST`,body:JSON.stringify(e)})}async prompt(e,t,n,r=!1){let i=await this.request(`/api/prompt`,{method:`POST`,body:JSON.stringify({sessionId:e,content:t,commandId:n,retry:r}),timeoutMs:3e4,timeoutMessage:`Request timed out; admission may still be pending. Retry the same message to recover its receipt.`});if(typeof i.id!=`string`||!i.id||i.accepted!==!0)throw Error(`Invalid prompt receipt; retry the same message to recover its admission.`);return i}};function td({target:e,onClose:t}){let{t:n}=sn(),r=(0,w.useMemo)(()=>new ed,[]),[i,a]=(0,w.useState)(0),[o,s]=(0,w.useState)(null),[c,l]=(0,w.useState)(null);(0,w.useEffect)(()=>{let t=new AbortController;return s(null),l(null),(async()=>{let i={errors:[]};if(e.terminalId)try{let a=await r.terminalDetail(e.sessionId,e.terminalId,t.signal);if(a.sessionId!==e.sessionId||a.detail.id!==e.terminalId)throw Error(n(`inspectionChanged`));i.terminal=a.detail}catch(e){i.errors.push(e instanceof Error?e.message:n(`inspectionUnavailable`))}else{let[a,o,s]=await Promise.allSettled([r.thinking(e.sessionId,t.signal),r.trust(e.sessionId,t.signal),r.providerAuth(e.sessionId,t.signal)]);a.status===`fulfilled`&&a.value.sessionId===e.sessionId?i.thinking=a.value:i.errors.push(n(`thinkingUnavailable`)),o.status===`fulfilled`&&(o.value.workspace===void 0||o.value.workspace===e.cwd)?i.trust=o.value:i.errors.push(n(`trustUnavailable`)),s.status===`fulfilled`?i.auth=s.value:i.errors.push(n(`authUnavailable`))}t.signal.aborted||(s(i),l(new Date().toLocaleTimeString()))})(),()=>t.abort()},[r,e,i,n]);let u=e.terminalId?n(`terminalDetails`):n(`runtimeStatus`),d=o?.terminal;return(0,V.jsx)(Bu,{isOpen:!0,onOpenChange:e=>!e&&t(),width:640,"aria-label":u,children:(0,V.jsxs)(`section`,{className:`inspection-panel`,children:[(0,V.jsxs)(`header`,{className:`inspection-heading`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h2`,{children:u}),(0,V.jsx)(`p`,{className:`inspection-subtitle`,children:e.cwd})]}),(0,V.jsxs)(`div`,{className:`inspection-actions`,children:[(0,V.jsx)(`button`,{type:`button`,className:`icon-button`,"aria-label":n(`refreshStatus`),disabled:!o,onClick:()=>a(e=>e+1),children:(0,V.jsx)(Ee,{})}),(0,V.jsx)(`button`,{type:`button`,className:`icon-button`,"aria-label":n(`close`),onClick:t,children:(0,V.jsx)(Re,{})})]})]}),o?(0,V.jsxs)(V.Fragment,{children:[o.errors.map(e=>(0,V.jsx)(`p`,{className:`inspection-warning`,role:`alert`,children:e},e)),d?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`inspection-section`,children:[(0,V.jsx)(`h3`,{children:d.title||d.id}),(0,V.jsxs)(`dl`,{children:[(0,V.jsx)(`dt`,{children:n(`executionState`)}),(0,V.jsx)(`dd`,{children:n(`execution_${d.status}`,{defaultValue:d.status})}),(0,V.jsx)(`dt`,{children:n(`terminalCommand`)}),(0,V.jsx)(`dd`,{children:(0,V.jsx)(`code`,{children:d.command})}),(0,V.jsx)(`dt`,{children:n(`terminalDirectory`)}),(0,V.jsx)(`dd`,{children:d.cwd}),(0,V.jsx)(`dt`,{children:n(`startedAt`)}),(0,V.jsx)(`dd`,{children:new Date(d.createdAt).toLocaleString()}),d.exitCode!==void 0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`dt`,{children:n(`exitCode`)}),(0,V.jsx)(`dd`,{children:d.exitCode})]})]}),d.errorText&&(0,V.jsx)(`p`,{className:`inspection-warning`,children:d.errorText}),d.truncated&&(0,V.jsx)(`p`,{className:`inspection-note`,children:n(`detailTruncated`)})]}),[`stdout`,`stderr`].map(e=>(0,V.jsxs)(`section`,{className:`inspection-section`,children:[(0,V.jsx)(`h3`,{children:n(e===`stdout`?`standardOutput`:`standardError`)}),(0,V.jsx)(`pre`,{className:`terminal-evidence`,children:d[e].text||n(`noOutput`)}),d[e].truncated&&(0,V.jsx)(`p`,{className:`inspection-note`,children:n(`outputTruncated`,{count:d[e].omittedBytes})}),d[e].recoveryAvailable&&(0,V.jsx)(`p`,{className:`inspection-note`,children:n(`outputRecovery`)})]},e))]}):!e.terminalId&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`section`,{className:`inspection-section`,children:[(0,V.jsx)(`h3`,{children:n(`modelAndThinking`)}),(0,V.jsxs)(`dl`,{children:[(0,V.jsx)(`dt`,{children:n(`selectedModel`)}),(0,V.jsx)(`dd`,{children:e.model||n(`noModels`)}),(0,V.jsx)(`dt`,{children:n(`thinkingLevel`)}),(0,V.jsx)(`dd`,{children:o.thinking?.supported===!1?n(`thinkingUnsupported`):o.thinking?.level??n(`unknownState`)}),!!o.thinking?.available.length&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`dt`,{children:n(`availableThinking`)}),(0,V.jsx)(`dd`,{children:o.thinking?.available.join(` · `)})]})]}),o.thinking?.supported===!1&&(0,V.jsx)(`p`,{className:`inspection-note`,children:n(`thinkingUnsupportedHint`)}),o.thinking&&o.thinking.supported!==!1&&!o.thinking.available.includes(o.thinking.level)&&(0,V.jsx)(`p`,{className:`inspection-warning`,role:`status`,children:n(`thinkingLevelMismatch`)})]}),(0,V.jsxs)(`section`,{className:`inspection-section`,children:[(0,V.jsx)(`h3`,{children:n(`projectTrust`)}),(0,V.jsx)(`p`,{children:n(`trust_${o.trust?.state??`unknown`}`)}),o.trust?.refreshRequired===!0&&(0,V.jsx)(`p`,{className:`inspection-warning`,children:n(`trustRefreshNeeded`)})]}),(0,V.jsxs)(`section`,{className:`inspection-section`,children:[(0,V.jsx)(`h3`,{children:n(`providerAvailability`)}),o.auth?.providers.map(e=>(0,V.jsxs)(`div`,{className:`provider-status`,children:[(0,V.jsx)(`span`,{children:e.name||e.id}),(0,V.jsx)(`span`,{children:e.configured?n(`credentialConfigured`):n(`credentialMissing`)})]},e.id)),o.auth&&!o.auth.providers.length&&(0,V.jsx)(`p`,{children:n(`noProviders`)}),o.auth?.truncation.truncated&&(0,V.jsx)(`p`,{className:`inspection-note`,children:n(`providersBounded`)}),(0,V.jsx)(`p`,{className:`inspection-note`,children:n(`authNotVerified`)})]}),(0,V.jsx)(`p`,{className:`inspection-note`,children:n(`configurationViaPi`)})]}),(0,V.jsx)(`p`,{className:`inspection-updated`,children:n(`statusCaptured`,{time:c})})]}):(0,V.jsx)(`p`,{role:`status`,children:n(`inspectionLoading`)})]})})}function nd({items:e,label:t}){return(0,V.jsx)(`span`,{className:`astryx-menu-trigger`,children:(0,V.jsx)(il,{button:{label:t,icon:(0,V.jsx)(ue,{}),isIconOnly:!0,size:`sm`,variant:`ghost`,className:`menu-action-button`},items:e,menuWidth:190,placement:`below`,alignment:`end`,hasChevron:!1})})}function rd(e){let{t}=sn(),[n,r]=(0,w.useState)(null),[i,a]=(0,w.useState)(null),[o,s]=(0,w.useState)(``),c=(0,w.useRef)(null),l=(0,w.useRef)(null),u=(0,w.useRef)(null),d=(0,w.useRef)(null),f=(0,w.useRef)(null),p=e.snapshot,[m,h]=(0,w.useState)(!1),[g,_]=(0,w.useState)(new Set),[v,y]=(0,w.useState)(new Set),b=(0,w.useRef)(new Set),[x,S]=(0,w.useState)(!1),C=async t=>{if(!b.current.has(t)){b.current.add(t),y(new Set(b.current)),S(!1);try{await e.actions.unarchiveSession(t)||S(!0)}finally{b.current.delete(t),y(new Set(b.current))}}};(0,w.useEffect)(()=>{if(e.searchOpen)return c.current?.focus(),()=>l.current?.focus()},[e.searchOpen]),(0,w.useEffect)(()=>{if(e.mobileOpen)return f.current?.focus(),()=>{let t=e.returnFocusRef?.current;t?.checkVisibility()&&t.focus()}},[e.mobileOpen,e.returnFocusRef]),(0,w.useEffect)(()=>{e.mobileOpen&&document.activeElement===document.body&&!document.querySelector(`dialog:modal`)&&f.current?.focus()}),(0,w.useEffect)(()=>{n&&(u.current?.focus(),u.current?.select())},[n]);let T=(0,w.useMemo)(()=>{let n=e.query.trim().toLowerCase(),r=e=>(p?.sessions??[]).filter(r=>!!r.archived===m&&(e===`__ungrouped__`?r.ungrouped:r.cwd===e&&!r.ungrouped)&&(!n||`${ll(r,t(`untitledSession`))} ${r.cwd}`.toLowerCase().includes(n))),i=[...p?.workspaces??[]];for(let e of p?.sessions??[])!e.ungrouped&&!i.some(t=>t.path===e.cwd)&&i.push({path:e.cwd,name:e.cwd,current:!1});return[...i.map(e=>({...e,sessions:r(e.path),ungrouped:!1})),{path:`__ungrouped__`,name:t(`ungrouped`),current:!1,sessions:r(`__ungrouped__`),ungrouped:!0}].filter(e=>e.sessions.length>0||!m&&!e.ungrouped&&!n)},[m,e.query,p,t]),E=e=>{s(e.name),r(e)},D=async()=>{let t=o.trim();!n||!t||(n.kind===`workspace`?await e.actions.renameWorkspace(n.path,t):await e.actions.renameSession(n.path,t),r(null))};return(0,V.jsxs)(`div`,{ref:d,id:`session-sidebar`,className:`session-sidebar`,role:e.mobileOpen?`dialog`:`complementary`,"aria-modal":e.mobileOpen||void 0,"aria-label":`Session navigation`,tabIndex:e.mobileOpen?-1:void 0,onKeyDown:t=>{if(!e.mobileOpen||t.defaultPrevented||t.target instanceof Element&&(t.target.closest(`dialog`)||t.key!==`Tab`&&t.target.closest(`[role="menu"]`))||(t.key===`Escape`&&!t.nativeEvent.isComposing&&(t.preventDefault(),e.actions.closeMobileSidebar()),t.key!==`Tab`))return;let n=Array.from(d.current?.querySelectorAll(`button, input, select, textarea, a[href], [tabindex]`)??[]).filter(e=>e.tabIndex>=0&&!e.matches(`:disabled`)&&e.checkVisibility({visibilityProperty:!0})),r=t.shiftKey?n.at(-1):n[0],i=t.shiftKey?n[0]:n.at(-1);(document.activeElement===d.current||document.activeElement===i)&&(t.preventDefault(),r?.focus())},children:[(0,V.jsxs)(`div`,{className:`sidebar-brand`,children:[(0,V.jsx)(hn,{compact:!0}),(0,V.jsx)(cl,{content:t(`collapseSidebar`),placement:`end`,children:(0,V.jsx)(`button`,{ref:f,className:`collapse-button`,type:`button`,"aria-label":t(`collapseSidebar`),onClick:()=>e.mobileOpen?e.actions.closeMobileSidebar():e.actions.toggleSidebar(!1),children:(0,V.jsx)(R,{})})})]}),(0,V.jsxs)(`button`,{className:`new-session-button`,type:`button`,"aria-label":t(`newSession`),title:t(`newSession`),onClick:()=>e.selectedWorkspace?void e.actions.createSession(e.selectedWorkspace):void e.actions.chooseWorkspace(),children:[(0,V.jsx)(je,{}),(0,V.jsx)(`span`,{children:t(`newSession`)})]}),(0,V.jsxs)(`div`,{className:`workspace-heading ${e.searchOpen?`is-searching`:``}`,children:[(0,V.jsx)(`span`,{className:`workspace-heading-label`,children:t(`workspaces`)}),(0,V.jsxs)(`div`,{className:`session-search`,children:[(0,V.jsx)(De,{}),(0,V.jsx)(`input`,{ref:c,type:`search`,value:e.query,placeholder:t(`searchPlaceholder`),"aria-label":t(`searchConversations`),onChange:t=>e.actions.setQuery(t.target.value)}),(0,V.jsx)(`button`,{type:`button`,"aria-label":t(`closeSearch`),onClick:()=>e.actions.setSearchOpen(!1),children:(0,V.jsx)(Re,{})})]}),(0,V.jsxs)(`div`,{className:`workspace-actions`,children:[(0,V.jsx)(cl,{content:t(`searchConversations`),children:(0,V.jsx)(`button`,{ref:l,className:`icon-button`,type:`button`,"aria-label":t(`searchConversations`),onClick:()=>e.actions.setSearchOpen(!0),children:(0,V.jsx)(De,{})})}),(0,V.jsx)(cl,{content:t(`addWorkspace`),children:(0,V.jsx)(`button`,{className:`icon-button`,type:`button`,"aria-label":t(`addWorkspace`),onClick:()=>void e.actions.chooseWorkspace(),children:(0,V.jsx)(we,{})})})]})]}),(0,V.jsxs)(`fieldset`,{className:`session-view-switch`,"aria-label":t(`conversationViews`),children:[(0,V.jsx)(`button`,{type:`button`,"aria-pressed":!m,onClick:()=>h(!1),children:t(`currentConversations`)}),(0,V.jsx)(`button`,{type:`button`,"aria-pressed":m,onClick:()=>h(!0),children:t(`archivedConversations`)})]}),m&&(0,V.jsx)(`p`,{className:`sidebar-scope-note`,children:t(`loadedArchives`)}),!!(p?.truncation.sessionsOmitted||p?.truncation.workspacesOmitted)&&(0,V.jsx)(`p`,{className:`sidebar-scope-note`,children:t(`loadedHistoryBounded`,{sessions:p?.truncation.sessionsOmitted,workspaces:p?.truncation.workspacesOmitted})}),x&&(0,V.jsx)(`p`,{className:`sidebar-scope-note`,role:`alert`,children:t(`restoreFailed`)}),(0,V.jsx)(`div`,{className:`workspace-tree`,children:T.length?T.map(n=>{let r=(m?g:e.collapsed).has(n.path);return(0,V.jsxs)(`section`,{className:`workspace-group ${r?`collapsed`:``}`,children:[(0,V.jsxs)(`div`,{className:`workspace-button`,children:[(0,V.jsxs)(`button`,{className:`workspace-label`,type:`button`,"aria-expanded":!r,title:n.path===`__ungrouped__`?void 0:n.path,onClick:()=>{m?_(e=>{let t=new Set(e);return t.has(n.path)?t.delete(n.path):t.add(n.path),t}):e.actions.toggleWorkspace(n.path)},children:[(0,V.jsx)(`span`,{className:`workspace-toggle`,"aria-hidden":`true`,children:(0,V.jsx)(`span`,{className:`workspace-chevron`,children:`⌄`})}),(0,V.jsx)(`strong`,{children:n.name})]}),!n.ungrouped&&(0,V.jsxs)(`span`,{className:`workspace-row-actions`,children:[(0,V.jsx)(nd,{label:`Workspace options`,items:[{id:`rename`,label:t(`renameWorkspace`),icon:(0,V.jsx)(je,{}),onClick:()=>E({kind:`workspace`,path:n.path,name:n.name})},{id:`remove`,label:t(`removeWorkspace`),icon:(0,V.jsx)(Pe,{}),variant:`destructive`,onClick:()=>a({path:n.path,name:n.name})}]}),(0,V.jsx)(cl,{content:t(`newSession`),children:(0,V.jsx)(`button`,{className:`workspace-action`,type:`button`,"aria-label":`${t(`newSession`)} ${n.name}`,onClick:t=>{t.stopPropagation(),e.actions.createSession(n.path)},children:(0,V.jsx)(we,{})})})]})]}),(0,V.jsx)(`div`,{className:`workspace-sessions`,children:n.sessions.length?n.sessions.map(n=>(0,V.jsxs)(`div`,{className:`session-row`,children:[(0,V.jsxs)(`button`,{className:`session ${n.path===e.selectedPath?`active`:``}`,type:`button`,"aria-current":n.path===e.selectedPath?`page`:void 0,title:ll(n,t(`untitledSession`)),onClick:()=>void e.actions.selectSession(n.path),children:[(0,V.jsx)(`span`,{className:`session-title`,children:ll(n,t(`untitledSession`))}),(0,V.jsx)(`span`,{className:`session-time`,children:fl(n.modified)})]}),(0,V.jsx)(nd,{label:t(`conversationOptions`),items:[{id:`rename`,label:t(`renameConversation`),icon:(0,V.jsx)(je,{}),onClick:()=>E({kind:`session`,path:n.path,name:ll(n,t(`untitledSession`))})},{id:m?`restore`:`archive`,label:v.has(n.path)?t(`restoringConversation`):t(m?`restoreConversation`:`archiveConversation`),icon:m?(0,V.jsx)(k,{}):(0,V.jsx)(A,{}),onClick:()=>m?void C(n.path):void e.actions.archiveSession(n.path)}]})]},n.path)):(0,V.jsx)(`div`,{className:`empty`,children:t(`noConversations`)})})]},n.path)}):(0,V.jsx)(`div`,{className:`empty`,children:e.query?t(`noMatching`):t(m?`noLoadedArchives`:`noSessions`)})}),(0,V.jsx)(Bu,{isOpen:!!n,onOpenChange:e=>!e&&r(null),purpose:`form`,width:400,"aria-label":n?.kind===`workspace`?t(`renameWorkspace`):t(`renameConversation`),children:(0,V.jsxs)(`form`,{className:`openpi-dialog`,onSubmit:e=>{e.preventDefault(),D()},children:[(0,V.jsx)(`strong`,{children:n?.kind===`workspace`?t(`renameWorkspace`):t(`renameConversation`)}),(0,V.jsx)(`input`,{ref:u,value:o,maxLength:80,"aria-label":n?.kind===`workspace`?t(`workspaceName`):t(`conversationName`),onChange:e=>s(e.target.value)}),(0,V.jsxs)(`div`,{className:`dialog-actions`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:()=>r(null),children:t(`cancel`)}),(0,V.jsx)(`button`,{type:`submit`,className:`primary`,children:t(`save`)})]})]})}),(0,V.jsx)(Bu,{isOpen:!!i,onOpenChange:e=>!e&&a(null),purpose:`form`,width:440,"aria-label":t(`deleteWorkspace`),children:(0,V.jsxs)(`div`,{className:`openpi-dialog`,children:[(0,V.jsx)(`strong`,{children:t(`deleteWorkspace`)}),(0,V.jsxs)(`p`,{children:[i?.name,`:`,t(`workspaceDeleteConfirm`)]}),(0,V.jsxs)(`div`,{className:`dialog-actions`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:()=>a(null),children:t(`cancel`)}),(0,V.jsx)(`button`,{type:`button`,className:`danger`,onClick:()=>{i&&(e.actions.removeWorkspace(i.path),a(null))},children:t(`deleteWorkspace`)})]})]})})]})}function id(e){let t=new Map(e.map((e,t)=>[e.id,t])),n=new Map,r=new Map,i=new Map;for(let a of e){let e=`message`in a?a.message:void 0;for(let t of e?.parts??[])t.type===`toolCall`&&t.id&&r.set(t.id,(r.get(t.id)??0)+1);if(e?.role===`toolResult`&&e.toolCallId){let r=i.get(e.toolCallId)??[];r.push(e),n.set(e,t.get(a.id)??-1),i.set(e.toolCallId,r)}}let a=new Set,o=[];for(let s of e){let e=`message`in s?s.message:void 0;if(!e){o.push({key:s.id,kind:`event`,title:s.type,timestamp:s.timestamp});continue}if(e.role!==`toolResult`){(e.role!==`assistant`||e.content||!e.parts?.length||e.parts?.some(e=>e.type!==`toolCall`))&&o.push({key:s.id,kind:e.role===`user`?`user`:e.role===`assistant`?`assistant`:`event`,title:e.customType||e.role||s.type,timestamp:s.timestamp,message:e});for(let[c,l]of(e.parts??[]).entries()){if(l.type!==`toolCall`)continue;let u=l.id?i.get(l.id):void 0,d=l.id&&r.get(l.id)===1&&u?.length===1&&u[0]?.toolName===l.name&&!l.id.includes(`[truncated]`)&&(n.get(u[0])??-1)>(t.get(s.id)??-1)?u[0]:void 0;d&&a.add(d),o.push({key:`${s.id}:call:${c}`,kind:`call`,title:l.name,timestamp:s.timestamp,callId:l.id,input:l.arguments,message:e,result:d,outcome:d?.isError===!0?`error`:d?.isError===!1?`returned`:`unknown`})}}}let s=new Map(o.map(e=>[e.key,t.get(e.key)??-1]));for(let n of e){let e=`message`in n?n.message:void 0;e?.role===`toolResult`&&!a.has(e)&&(o.push({key:n.id,kind:`result`,title:e.toolName||`toolResult`,timestamp:n.timestamp,callId:e.toolCallId,result:e,outcome:e.isError===!0?`error`:e.isError===!1?`returned`:`unknown`}),s.set(n.id,t.get(n.id)??0));for(let[r,i]of(e?.parts??[]).entries())i.type===`toolCall`&&s.set(`${n.id}:call:${r}`,t.get(n.id)??0)}return o.sort((e,t)=>(s.get(e.key)??0)-(s.get(t.key)??0)),o}var ad=[],od=(0,w.memo)(function({snapshot:e,running:t}){let{t:n}=sn(),r=e.selectedSession?.entries??ad,i=(0,w.useMemo)(()=>id(r),[r]),[a,o]=(0,w.useState)(null),[s,c]=(0,w.useState)(50),l=i.findIndex(e=>e.key===a),u=Math.min(Math.max(0,i.length-s),l<0?i.length:l),d=i.slice(u),f=d.find(e=>e.key===a)??d.at(-1),p=e.selectedSession?.truncation,m=f?.result,h=f?.message;return(0,V.jsxs)(`section`,{className:`conversation trajectory`,"aria-label":n(`trajectory`),children:[(0,V.jsxs)(`header`,{className:`trajectory-heading`,children:[(0,V.jsx)(`h2`,{children:n(`trajectory`)}),(0,V.jsx)(`p`,{children:n(`trajectoryScope`)}),t&&(0,V.jsx)(`p`,{role:`status`,children:n(`trajectoryRunning`)}),p?.truncated&&(0,V.jsx)(`p`,{className:`trajectory-warning`,children:n(`trajectoryTruncated`,{entries:p.entriesOmitted,parts:p.messagePartsOmitted,messages:p.messagesTruncated})})]}),i.length?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`nav`,{className:`trajectory-overview`,"aria-label":n(`trajectoryOverview`),children:d.map((e,t)=>(0,V.jsx)(`button`,{type:`button`,"aria-label":`${n(`trajectory_${e.kind}`)} ${i.length-d.length+t+1}: ${e.title}`,"aria-pressed":e.key===f?.key,onClick:()=>o(e.key),className:`trajectory-point ${e.kind} ${e.outcome??``}`,children:(0,V.jsx)(`span`,{children:i.length-d.length+t+1})},e.key))}),(0,V.jsxs)(`div`,{className:`trajectory-body`,children:[(0,V.jsxs)(`div`,{className:`trajectory-ledger`,children:[u>0&&(0,V.jsx)(`button`,{type:`button`,className:`trajectory-load`,onClick:()=>c(e=>e+50),children:n(`trajectoryEarlier`,{count:u})}),(0,V.jsx)(`ol`,{start:i.length-d.length+1,children:d.map(e=>(0,V.jsx)(`li`,{children:(0,V.jsxs)(`button`,{type:`button`,"aria-pressed":e.key===f?.key,onClick:()=>o(e.key),className:`trajectory-record ${e.kind}`,children:[(0,V.jsx)(`span`,{className:`trajectory-kind`,children:n(`trajectory_${e.kind}`)}),(0,V.jsx)(`strong`,{children:e.title}),(0,V.jsx)(`span`,{className:`trajectory-preview`,children:(e.input??e.message?.content??e.result?.content??``).slice(0,110)}),e.outcome&&(0,V.jsx)(`span`,{children:n(`trajectory_${e.outcome}`)})]})},e.key))})]}),f&&(0,V.jsxs)(`section`,{className:`trajectory-inspector`,"aria-label":n(`trajectoryDetails`),children:[(0,V.jsx)(`h3`,{children:f.title}),f.timestamp&&(0,V.jsxs)(`p`,{className:`trajectory-metadata`,children:[n(`trajectoryRecordedAt`),`:`,` `,(0,V.jsx)(`time`,{children:f.timestamp})]}),f.callId&&(0,V.jsxs)(`p`,{className:`trajectory-metadata`,children:[`Tool call ID: `,f.callId]}),(h?.truncation||m?.truncation)&&(0,V.jsx)(`p`,{className:`trajectory-warning`,children:n(`trajectoryEvidenceTruncated`)}),f.input!==void 0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`h4`,{children:n(`trajectoryArguments`)}),(0,V.jsx)(`pre`,{children:f.input})]}),h&&f.kind!==`call`&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`h4`,{children:n(`trajectoryRecordedContent`)}),(0,V.jsx)(`pre`,{children:h.content||n(`noOutput`)}),h.parts?.some(e=>e.type===`thinking`)&&(0,V.jsxs)(`details`,{children:[(0,V.jsx)(`summary`,{children:n(`trajectoryThinking`)}),(0,V.jsx)(`pre`,{children:h.parts.filter(e=>e.type===`thinking`).map(e=>e.text).join(` `)})]},f.key)]}),(f.kind===`call`||f.kind===`result`)&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`h4`,{children:n(`trajectoryOutput`)}),(0,V.jsx)(`p`,{children:n(`trajectory_${f.outcome??`unknown`}`)}),m?(0,V.jsx)(`pre`,{children:m.content||n(`noOutput`)}):(0,V.jsx)(`p`,{children:n(`trajectoryMissingResult`)}),m?.details!==void 0&&(0,V.jsxs)(`details`,{children:[(0,V.jsx)(`summary`,{children:n(`trajectoryStructured`)}),(0,V.jsx)(`pre`,{children:JSON.stringify(m.details,null,2)})]})]}),f.kind===`event`&&!h&&(0,V.jsx)(`p`,{children:n(`trajectoryEventOnly`)})]})]})]}):(0,V.jsx)(`p`,{children:n(`trajectoryEmpty`)})]})}),sd=(0,w.createContext)(null);function cd(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}var ld=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,ud=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,dd={};function fd(e,t){return((t||dd).jsx?ud:ld).test(e)}var pd=/[ \t\n\f\r]/g;function md(e){return typeof e==`object`?e.type===`text`&&hd(e.value):hd(e)}function hd(e){return e.replace(pd,``)===``}var gd=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}};gd.prototype.normal={},gd.prototype.property={},gd.prototype.space=void 0;function _d(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new gd(n,r,t)}function vd(e){return e.toLowerCase()}var yd=class{constructor(e,t){this.attribute=t,this.property=e}};yd.prototype.attribute=``,yd.prototype.booleanish=!1,yd.prototype.boolean=!1,yd.prototype.commaOrSpaceSeparated=!1,yd.prototype.commaSeparated=!1,yd.prototype.defined=!1,yd.prototype.mustUseProperty=!1,yd.prototype.number=!1,yd.prototype.overloadedBoolean=!1,yd.prototype.property=``,yd.prototype.spaceSeparated=!1,yd.prototype.space=void 0;var bd=s({boolean:()=>J,booleanish:()=>Sd,commaOrSpaceSeparated:()=>Td,commaSeparated:()=>wd,number:()=>X,overloadedBoolean:()=>Y,spaceSeparated:()=>Cd}),xd=0,J=Ed(),Sd=Ed(),Y=Ed(),X=Ed(),Cd=Ed(),wd=Ed(),Td=Ed();function Ed(){return 2**++xd}var Dd=Object.keys(bd),Od=class extends yd{constructor(e,t,n,r){let i=-1;if(super(e,t),kd(this,`space`,r),typeof n==`number`)for(;++i4&&n.slice(0,4)===`data`&&Hd.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(Vd,Gd);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!Vd.test(e)){let n=e.replace(Bd,Wd);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=Od}return new i(r,t)}function Wd(e){return`-`+e.toLowerCase()}function Gd(e){return e.charAt(1).toUpperCase()}var Kd=_d([jd,Pd,Id,Ld,Rd],`html`),qd=_d([jd,Fd,Id,Ld,Rd],`svg`);function Jd(e){return e.join(` `).trim()}var Yd=o(((e,t)=>{var n=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,r=/\n/g,i=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,l=/^\s+|\s+$/g;function u(e,t){if(typeof e!=`string`)throw TypeError(`First argument must be a string`);if(!e)return[];t||={};var l=1,u=1;function f(e){var t=e.match(r);t&&(l+=t.length);var n=e.lastIndexOf(` `);u=~n?e.length-n:u+e.length}function p(){var e={line:l,column:u};return function(t){return t.position=new m(e),_(),t}}function m(e){this.start=e,this.end={line:l,column:u},this.source=t.source}m.prototype.content=e;function h(n){var r=Error(t.source+`:`+l+`:`+u+`: `+n);if(r.reason=n,r.filename=t.source,r.line=l,r.column=u,r.source=e,!t.silent)throw r}function g(t){var n=t.exec(e);if(n){var r=n[0];return f(r),e=e.slice(r.length),n}}function _(){g(i)}function v(e){var t;for(e||=[];t=y();)t!==!1&&e.push(t);return e}function y(){var t=p();if(e.charAt(0)==`/`&&e.charAt(1)==`*`){for(var n=2;e.charAt(n)!=``&&(e.charAt(n)!=`*`||e.charAt(n+1)!=`/`);)++n;if(n+=2,e.charAt(n-1)===``)return h(`End of comment missing`);var r=e.slice(2,n-2);return u+=2,f(r),e=e.slice(n),u+=2,t({type:`comment`,comment:r})}}function b(){var e=p(),t=g(a);if(t){if(y(),!g(o))return h(`property missing ':'`);var r=g(s),i=e({type:`declaration`,property:d(t[0].replace(n,``)),value:r?d(r[0].replace(n,``)):``});return g(c),i}}function x(){var e=[];v(e);for(var t;t=b();)t!==!1&&(e.push(t),v(e));return e}return _(),x()}function d(e){return e?e.replace(l,``):``}t.exports=u})),Xd=o((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.default=r;var n=t(Yd());function r(e,t){let r=null;if(!e||typeof e!=`string`)return r;let i=(0,n.default)(e),a=typeof t==`function`;return i.forEach(e=>{if(e.type!==`declaration`)return;let{property:n,value:i}=e;a?t(n,i,e):i&&(r||={},r[n]=i)}),r}})),Zd=o((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,r=/^[^-]+$/,i=/^-(webkit|moz|ms|o|khtml)-/,a=/^-(ms)-/,o=function(e){return!e||r.test(e)||t.test(e)},s=function(e,t){return t.toUpperCase()},c=function(e,t){return`${t}-`};e.camelCase=function(e,t){return t===void 0&&(t={}),o(e)?e:(e=e.toLowerCase(),e=t.reactCompat?e.replace(a,c):e.replace(i,c),e.replace(n,s))}})),Qd=o(((e,t)=>{var n=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(Xd()),r=Zd();function i(e,t){var i={};return!e||typeof e!=`string`||(0,n.default)(e,function(e,n){e&&n&&(i[(0,r.camelCase)(e,t)]=n)}),i}i.default=i,t.exports=i})),$d=tf(`end`),ef=tf(`start`);function tf(e){return t;function t(t){let n=t&&t.position&&t.position[e]||{};if(typeof n.line==`number`&&n.line>0&&typeof n.column==`number`&&n.column>0)return{line:n.line,column:n.column,offset:typeof n.offset==`number`&&n.offset>-1?n.offset:void 0}}}function nf(e){let t=ef(e),n=$d(e);if(t&&n)return{start:t,end:n}}function rf(e){return!e||typeof e!=`object`?``:`position`in e||`type`in e?of(e.position):`start`in e||`end`in e?of(e):`line`in e||`column`in e?af(e):``}function af(e){return sf(e&&e.line)+`:`+sf(e&&e.column)}function of(e){return af(e&&e.start)+`-`+af(e&&e.end)}function sf(e){return e&&typeof e==`number`?e:1}var cf=class extends Error{constructor(e,t,n){super(),typeof t==`string`&&(n=t,t=void 0);let r=``,i={},a=!1;if(t&&(i=`line`in t&&`column`in t||`start`in t&&`end`in t?{place:t}:`type`in t?{ancestors:[t],place:t.position}:{...t}),typeof e==`string`?r=e:!i.cause&&e&&(a=!0,r=e.message,i.cause=e),!i.ruleId&&!i.source&&typeof n==`string`){let e=n.indexOf(`:`);e===-1?i.ruleId=n:(i.source=n.slice(0,e),i.ruleId=n.slice(e+1))}if(!i.place&&i.ancestors&&i.ancestors){let e=i.ancestors[i.ancestors.length-1];e&&(i.place=e.position)}let o=i.place&&`start`in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file=``,this.message=r,this.line=o?o.line:void 0,this.name=rf(i.place)||`1:1`,this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=a&&i.cause&&typeof i.cause.stack==`string`?i.cause.stack:``,this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}};cf.prototype.file=``,cf.prototype.name=``,cf.prototype.reason=``,cf.prototype.message=``,cf.prototype.stack=``,cf.prototype.column=void 0,cf.prototype.line=void 0,cf.prototype.ancestors=void 0,cf.prototype.cause=void 0,cf.prototype.fatal=void 0,cf.prototype.place=void 0,cf.prototype.ruleId=void 0,cf.prototype.source=void 0;var lf=l(Qd(),1),uf={}.hasOwnProperty,df=new Map,ff=/[A-Z]/g,pf=new Set([`table`,`tbody`,`thead`,`tfoot`,`tr`]),mf=new Set([`td`,`th`]);function hf(e,t){if(!t||t.Fragment===void 0)throw TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!=`function`)throw TypeError("Expected `jsxDEV` in options when `development: true`");r=Ef(n,t.jsxDEV)}else{if(typeof t.jsx!=`function`)throw TypeError("Expected `jsx` in production options");if(typeof t.jsxs!=`function`)throw TypeError("Expected `jsxs` in production options");r=Tf(n,t.jsx,t.jsxs)}let i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||`react`,evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space===`svg`?qd:Kd,stylePropertyNameCase:t.stylePropertyNameCase||`dom`,tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=gf(i,e,void 0);return a&&typeof a!=`string`?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function gf(e,t,n){if(t.type===`element`)return _f(e,t,n);if(t.type===`mdxFlowExpression`||t.type===`mdxTextExpression`)return vf(e,t);if(t.type===`mdxJsxFlowElement`||t.type===`mdxJsxTextElement`)return bf(e,t,n);if(t.type===`mdxjsEsm`)return yf(e,t);if(t.type===`root`)return xf(e,t,n);if(t.type===`text`)return Sf(e,t)}function _f(e,t,n){let r=e.schema,i=r;t.tagName.toLowerCase()===`svg`&&r.space===`html`&&(i=qd,e.schema=i),e.ancestors.push(t);let a=Mf(e,t.tagName,!1),o=Df(e,t),s=kf(e,t);return pf.has(t.tagName)&&(s=s.filter(function(e){return typeof e!=`string`||!md(e)})),Cf(e,o,a,t),wf(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function vf(e,t){if(t.data&&t.data.estree&&e.evaluater){let n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}Nf(e,t.position)}function yf(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Nf(e,t.position)}function bf(e,t,n){let r=e.schema,i=r;t.name===`svg`&&r.space===`html`&&(i=qd,e.schema=i),e.ancestors.push(t);let a=t.name===null?e.Fragment:Mf(e,t.name,!0),o=Of(e,t),s=kf(e,t);return Cf(e,o,a,t),wf(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function xf(e,t,n){let r={};return wf(r,kf(e,t)),e.create(t,e.Fragment,r,n)}function Sf(e,t){return t.value}function Cf(e,t,n,r){typeof n!=`string`&&n!==e.Fragment&&e.passNode&&(t.node=r)}function wf(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function Tf(e,t,n){return r;function r(e,r,i,a){let o=Array.isArray(i.children)?n:t;return a?o(r,i,a):o(r,i)}}function Ef(e,t){return n;function n(n,r,i,a){let o=Array.isArray(i.children),s=ef(n);return t(r,i,a,o,{columnNumber:s?s.column-1:void 0,fileName:e,lineNumber:s?s.line:void 0},void 0)}}function Df(e,t){let n={},r,i;for(i in t.properties)if(i!==`children`&&uf.call(t.properties,i)){let a=Af(e,i,t.properties[i]);if(a){let[i,o]=a;e.tableCellAlignToStyle&&i===`align`&&typeof o==`string`&&mf.has(t.tagName)?r=o:n[i]=o}}if(r){let t=n.style||={};t[e.stylePropertyNameCase===`css`?`text-align`:`textAlign`]=r}return n}function Of(e,t){let n={};for(let r of t.attributes)if(r.type===`mdxJsxExpressionAttribute`)if(r.data&&r.data.estree&&e.evaluater){let t=r.data.estree.body[0];t.type;let i=t.expression;i.type;let a=i.properties[0];a.type,Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else Nf(e,t.position);else{let i=r.name,a;if(r.value&&typeof r.value==`object`)if(r.value.data&&r.value.data.estree&&e.evaluater){let t=r.value.data.estree.body[0];t.type,a=e.evaluater.evaluateExpression(t.expression)}else Nf(e,t.position);else a=r.value===null||r.value;n[i]=a}return n}function kf(e,t){let n=[],r=-1,i=e.passKeys?new Map:df;for(;++ri?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);a0?(Gf(e,e.length,0,t),e):t}var qf={}.hasOwnProperty;function Jf(e){let t={},n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)==65535||(n&65535)==65534||n>1114111?`�`:String.fromCodePoint(n)}function Qf(e){return e.replace(/[\t\n\r ]+/g,` `).replace(/^ | $/g,``).toLowerCase().toUpperCase()}var $f=lp(/[A-Za-z]/),ep=lp(/[\dA-Za-z]/),tp=lp(/[#-'*+\--9=?A-Z^-~]/);function np(e){return e!==null&&(e<32||e===127)}var rp=lp(/\d/),ip=lp(/[\dA-Fa-f]/),ap=lp(/[!-/:-@[-`{-~]/);function Z(e){return e!==null&&e<-2}function op(e){return e!==null&&(e<0||e===32)}function Q(e){return e===-2||e===-1||e===32}var sp=lp(/\p{P}|\p{S}/u),cp=lp(/\s/);function lp(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function up(e){let t=[],n=-1,r=0,i=0;for(;++n55295&&a<57344){let t=e.charCodeAt(n+1);a<56320&&t>56319&&t<57344?(o=String.fromCharCode(a,t),i=1):o=`�`}else o=String.fromCharCode(a);o&&=(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,``),i&&=(n+=i,0)}return t.join(``)+e.slice(r)}function $(e,t,n,r){let i=r?r-1:1/0,a=0;return o;function o(r){return Q(r)?(e.enter(n),s(r)):t(r)}function s(r){return Q(r)&&a++o))return;let n=t.events.length,a=n,s,c;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){if(s){c=t.events[a][1].end;break}s=!0}for(_(r),e=n;er;){let r=n[i];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function gp(e,t,n){return $(e,e.attempt(this.parser.constructs.document,t,n),`linePrefix`,this.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)}function _p(e){if(e===null||op(e)||cp(e))return 1;if(sp(e))return 2}function vp(e,t,n){let r=[],i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[n][1].start};Sp(d,-c),Sp(f,c),o={type:c>1?`strongSequence`:`emphasisSequence`,start:d,end:{...e[r][1].end}},s={type:c>1?`strongSequence`:`emphasisSequence`,start:{...e[n][1].start},end:f},a={type:c>1?`strongText`:`emphasisText`,start:{...e[r][1].end},end:{...e[n][1].start}},i={type:c>1?`strong`:`emphasis`,start:{...o.start},end:{...s.end}},e[r][1].end={...o.start},e[n][1].start={...s.end},l=[],e[r][1].end.offset-e[r][1].start.offset&&(l=Kf(l,[[`enter`,e[r][1],t],[`exit`,e[r][1],t]])),l=Kf(l,[[`enter`,i,t],[`enter`,o,t],[`exit`,o,t],[`enter`,a,t]]),l=Kf(l,vp(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=Kf(l,[[`exit`,a,t],[`enter`,s,t],[`exit`,s,t],[`exit`,i,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,l=Kf(l,[[`enter`,e[n][1],t],[`exit`,e[n][1],t]])):u=0,Gf(e,r-1,n-r+3,l),n=r+l.length-u-2;break}}for(n=-1;++n0&&Q(t)?$(e,v,`linePrefix`,a+1)(t):v(t)}function v(t){return t===null||Z(t)?e.check(Fp,h,b)(t):(e.enter(`codeFlowValue`),y(t))}function y(t){return t===null||Z(t)?(e.exit(`codeFlowValue`),v(t)):(e.consume(t),y)}function b(n){return e.exit(`codeFenced`),t(n)}function x(e,t,n){let i=0;return a;function a(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c}function c(t){return e.enter(`codeFencedFence`),Q(t)?$(e,l,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):l(t)}function l(t){return t===s?(e.enter(`codeFencedFenceSequence`),u(t)):n(t)}function u(t){return t===s?(i++,e.consume(t),u):i>=o?(e.exit(`codeFencedFenceSequence`),Q(t)?$(e,d,`whitespace`)(t):d(t)):n(t)}function d(r){return r===null||Z(r)?(e.exit(`codeFencedFence`),t(r)):n(r)}}}function Rp(e,t,n){let r=this;return i;function i(t){return t===null?n(t):(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}var zp={name:`codeIndented`,tokenize:Vp},Bp={partial:!0,tokenize:Hp};function Vp(e,t,n){let r=this;return i;function i(t){return e.enter(`codeIndented`),$(e,a,`linePrefix`,5)(t)}function a(e){let t=r.events[r.events.length-1];return t&&t[1].type===`linePrefix`&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return t===null?c(t):Z(t)?e.attempt(Bp,o,c)(t):(e.enter(`codeFlowValue`),s(t))}function s(t){return t===null||Z(t)?(e.exit(`codeFlowValue`),o(t)):(e.consume(t),s)}function c(n){return e.exit(`codeIndented`),t(n)}}function Hp(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):Z(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),i):$(e,a,`linePrefix`,5)(t)}function a(e){let a=r.events[r.events.length-1];return a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(e):Z(e)?i(e):n(e)}}var Up={name:`codeText`,previous:Gp,resolve:Wp,tokenize:Kp};function Wp(e){let t=e.length-4,n=3,r,i;if((e[n][1].type===`lineEnding`||e[n][1].type===`space`)&&(e[t][1].type===`lineEnding`||e[t][1].type===`space`)){for(r=n;++r=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return ethis.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){let r=t||0;this.setCursor(Math.trunc(e));let i=this.right.splice(this.right.length-r,1/0);return n&&Jp(this.left,n),i.reverse()}pop(){return this.setCursor(1/0),this.left.pop()}push(e){this.setCursor(1/0),this.left.push(e)}pushMany(e){this.setCursor(1/0),Jp(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Jp(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}}function nm(e,t,n,r,i,a,o,s,c){let l=c||1/0,u=0;return d;function d(t){return t===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(t),e.exit(a),f):t===null||t===32||t===41||np(t)?n(t):(e.enter(r),e.enter(o),e.enter(s),e.enter(`chunkString`,{contentType:`string`}),h(t))}function f(n){return n===62?(e.enter(a),e.consume(n),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(s),e.enter(`chunkString`,{contentType:`string`}),p(n))}function p(t){return t===62?(e.exit(`chunkString`),e.exit(s),f(t)):t===null||t===60||Z(t)?n(t):(e.consume(t),t===92?m:p)}function m(t){return t===60||t===62||t===92?(e.consume(t),p):p(t)}function h(i){return!u&&(i===null||i===41||op(i))?(e.exit(`chunkString`),e.exit(s),e.exit(o),e.exit(r),t(i)):u999||l===null||l===91||l===93&&!c||l===94&&!s&&`_hiddenFootnoteSupport`in o.parser.constructs?n(l):l===93?(e.exit(a),e.enter(i),e.consume(l),e.exit(i),e.exit(r),t):Z(l)?(e.enter(`lineEnding`),e.consume(l),e.exit(`lineEnding`),u):(e.enter(`chunkString`,{contentType:`string`}),d(l))}function d(t){return t===null||t===91||t===93||Z(t)||s++>999?(e.exit(`chunkString`),u(t)):(e.consume(t),c||=!Q(t),t===92?f:d)}function f(t){return t===91||t===92||t===93?(e.consume(t),s++,d):d(t)}}function im(e,t,n,r,i,a){let o;return s;function s(t){return t===34||t===39||t===40?(e.enter(r),e.enter(i),e.consume(t),e.exit(i),o=t===40?41:t,c):n(t)}function c(n){return n===o?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(a),l(n))}function l(t){return t===o?(e.exit(a),c(o)):t===null?n(t):Z(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),$(e,l,`linePrefix`)):(e.enter(`chunkString`,{contentType:`string`}),u(t))}function u(t){return t===o||t===null||Z(t)?(e.exit(`chunkString`),l(t)):(e.consume(t),t===92?d:u)}function d(t){return t===o||t===92?(e.consume(t),u):u(t)}}function am(e,t){let n;return r;function r(i){return Z(i)?(e.enter(`lineEnding`),e.consume(i),e.exit(`lineEnding`),n=!0,r):Q(i)?$(e,r,n?`linePrefix`:`lineSuffix`)(i):t(i)}}var om={name:`definition`,tokenize:cm},sm={partial:!0,tokenize:lm};function cm(e,t,n){let r=this,i;return a;function a(t){return e.enter(`definition`),o(t)}function o(t){return rm.call(r,e,s,n,`definitionLabel`,`definitionLabelMarker`,`definitionLabelString`)(t)}function s(t){return i=Qf(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),c):n(t)}function c(t){return op(t)?am(e,l)(t):l(t)}function l(t){return nm(e,u,n,`definitionDestination`,`definitionDestinationLiteral`,`definitionDestinationLiteralMarker`,`definitionDestinationRaw`,`definitionDestinationString`)(t)}function u(t){return e.attempt(sm,d,d)(t)}function d(t){return Q(t)?$(e,f,`whitespace`)(t):f(t)}function f(a){return a===null||Z(a)?(e.exit(`definition`),r.parser.defined.push(i),t(a)):n(a)}}function lm(e,t,n){return r;function r(t){return op(t)?am(e,i)(t):n(t)}function i(t){return im(e,a,n,`definitionTitle`,`definitionTitleMarker`,`definitionTitleString`)(t)}function a(t){return Q(t)?$(e,o,`whitespace`)(t):o(t)}function o(e){return e===null||Z(e)?t(e):n(e)}}var um={name:`hardBreakEscape`,tokenize:dm};function dm(e,t,n){return r;function r(t){return e.enter(`hardBreakEscape`),e.consume(t),i}function i(r){return Z(r)?(e.exit(`hardBreakEscape`),t(r)):n(r)}}var fm={name:`headingAtx`,resolve:pm,tokenize:mm};function pm(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type===`whitespace`&&(r+=2),n-2>r&&e[n][1].type===`whitespace`&&(n-=2),e[n][1].type===`atxHeadingSequence`&&(r===n-1||n-4>r&&e[n-2][1].type===`whitespace`)&&(n-=r+1===n?2:4),n>r&&(i={type:`atxHeadingText`,start:e[r][1].start,end:e[n][1].end},a={type:`chunkText`,start:e[r][1].start,end:e[n][1].end,contentType:`text`},Gf(e,r,n-r+1,[[`enter`,i,t],[`enter`,a,t],[`exit`,a,t],[`exit`,i,t]])),e}function mm(e,t,n){let r=0;return i;function i(t){return e.enter(`atxHeading`),a(t)}function a(t){return e.enter(`atxHeadingSequence`),o(t)}function o(t){return t===35&&r++<6?(e.consume(t),o):t===null||op(t)?(e.exit(`atxHeadingSequence`),s(t)):n(t)}function s(n){return n===35?(e.enter(`atxHeadingSequence`),c(n)):n===null||Z(n)?(e.exit(`atxHeading`),t(n)):Q(n)?$(e,s,`whitespace`)(n):(e.enter(`atxHeadingText`),l(n))}function c(t){return t===35?(e.consume(t),c):(e.exit(`atxHeadingSequence`),s(t))}function l(t){return t===null||t===35||op(t)?(e.exit(`atxHeadingText`),s(t)):(e.consume(t),l)}}var hm=`address.article.aside.base.basefont.blockquote.body.caption.center.col.colgroup.dd.details.dialog.dir.div.dl.dt.fieldset.figcaption.figure.footer.form.frame.frameset.h1.h2.h3.h4.h5.h6.head.header.hr.html.iframe.legend.li.link.main.menu.menuitem.nav.noframes.ol.optgroup.option.p.param.search.section.summary.table.tbody.td.tfoot.th.thead.title.tr.track.ul`.split(`.`),gm=[`pre`,`script`,`style`,`textarea`],_m={concrete:!0,name:`htmlFlow`,resolveTo:bm,tokenize:xm},vm={partial:!0,tokenize:Cm},ym={partial:!0,tokenize:Sm};function bm(e){let t=e.length;for(;t--&&(e[t][0]!==`enter`||e[t][1].type!==`htmlFlow`););return t>1&&e[t-2][1].type===`linePrefix`&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function xm(e,t,n){let r=this,i,a,o,s,c;return l;function l(e){return u(e)}function u(t){return e.enter(`htmlFlow`),e.enter(`htmlFlowData`),e.consume(t),d}function d(s){return s===33?(e.consume(s),f):s===47?(e.consume(s),a=!0,h):s===63?(e.consume(s),i=3,r.interrupt?t:F):$f(s)?(e.consume(s),o=String.fromCharCode(s),g):n(s)}function f(a){return a===45?(e.consume(a),i=2,p):a===91?(e.consume(a),i=5,s=0,m):$f(a)?(e.consume(a),i=4,r.interrupt?t:F):n(a)}function p(i){return i===45?(e.consume(i),r.interrupt?t:F):n(i)}function m(i){return i===`CDATA[`.charCodeAt(s++)?(e.consume(i),s===6?r.interrupt?t:O:m):n(i)}function h(t){return $f(t)?(e.consume(t),o=String.fromCharCode(t),g):n(t)}function g(s){if(s===null||s===47||s===62||op(s)){let c=s===47,l=o.toLowerCase();return!c&&!a&&gm.includes(l)?(i=1,r.interrupt?t(s):O(s)):hm.includes(o.toLowerCase())?(i=6,c?(e.consume(s),_):r.interrupt?t(s):O(s)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?v(s):y(s))}return s===45||ep(s)?(e.consume(s),o+=String.fromCharCode(s),g):n(s)}function _(i){return i===62?(e.consume(i),r.interrupt?t:O):n(i)}function v(t){return Q(t)?(e.consume(t),v):E(t)}function y(t){return t===47?(e.consume(t),E):t===58||t===95||$f(t)?(e.consume(t),b):Q(t)?(e.consume(t),y):E(t)}function b(t){return t===45||t===46||t===58||t===95||ep(t)?(e.consume(t),b):x(t)}function x(t){return t===61?(e.consume(t),S):Q(t)?(e.consume(t),x):y(t)}function S(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),c=t,C):Q(t)?(e.consume(t),S):w(t)}function C(t){return t===c?(e.consume(t),c=null,T):t===null||Z(t)?n(t):(e.consume(t),C)}function w(t){return t===null||t===34||t===39||t===47||t===60||t===61||t===62||t===96||op(t)?x(t):(e.consume(t),w)}function T(e){return e===47||e===62||Q(e)?y(e):n(e)}function E(t){return t===62?(e.consume(t),D):n(t)}function D(t){return t===null||Z(t)?O(t):Q(t)?(e.consume(t),D):n(t)}function O(t){return t===45&&i===2?(e.consume(t),M):t===60&&i===1?(e.consume(t),N):t===62&&i===4?(e.consume(t),I):t===63&&i===3?(e.consume(t),F):t===93&&i===5?(e.consume(t),ee):Z(t)&&(i===6||i===7)?(e.exit(`htmlFlowData`),e.check(vm,L,k)(t)):t===null||Z(t)?(e.exit(`htmlFlowData`),k(t)):(e.consume(t),O)}function k(t){return e.check(ym,A,L)(t)}function A(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),j}function j(t){return t===null||Z(t)?k(t):(e.enter(`htmlFlowData`),O(t))}function M(t){return t===45?(e.consume(t),F):O(t)}function N(t){return t===47?(e.consume(t),o=``,P):O(t)}function P(t){if(t===62){let n=o.toLowerCase();return gm.includes(n)?(e.consume(t),I):O(t)}return $f(t)&&o.length<8?(e.consume(t),o+=String.fromCharCode(t),P):O(t)}function ee(t){return t===93?(e.consume(t),F):O(t)}function F(t){return t===62?(e.consume(t),I):t===45&&i===2?(e.consume(t),F):O(t)}function I(t){return t===null||Z(t)?(e.exit(`htmlFlowData`),L(t)):(e.consume(t),I)}function L(n){return e.exit(`htmlFlow`),t(n)}}function Sm(e,t,n){let r=this;return i;function i(t){return Z(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a):n(t)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}function Cm(e,t,n){return r;function r(r){return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),e.attempt(Tp,t,n)}}var wm={name:`htmlText`,tokenize:Tm};function Tm(e,t,n){let r=this,i,a,o;return s;function s(t){return e.enter(`htmlText`),e.enter(`htmlTextData`),e.consume(t),c}function c(t){return t===33?(e.consume(t),l):t===47?(e.consume(t),x):t===63?(e.consume(t),y):$f(t)?(e.consume(t),w):n(t)}function l(t){return t===45?(e.consume(t),u):t===91?(e.consume(t),a=0,m):$f(t)?(e.consume(t),v):n(t)}function u(t){return t===45?(e.consume(t),p):n(t)}function d(t){return t===null?n(t):t===45?(e.consume(t),f):Z(t)?(o=d,N(t)):(e.consume(t),d)}function f(t){return t===45?(e.consume(t),p):d(t)}function p(e){return e===62?M(e):e===45?f(e):d(e)}function m(t){return t===`CDATA[`.charCodeAt(a++)?(e.consume(t),a===6?h:m):n(t)}function h(t){return t===null?n(t):t===93?(e.consume(t),g):Z(t)?(o=h,N(t)):(e.consume(t),h)}function g(t){return t===93?(e.consume(t),_):h(t)}function _(t){return t===62?M(t):t===93?(e.consume(t),_):h(t)}function v(t){return t===null||t===62?M(t):Z(t)?(o=v,N(t)):(e.consume(t),v)}function y(t){return t===null?n(t):t===63?(e.consume(t),b):Z(t)?(o=y,N(t)):(e.consume(t),y)}function b(e){return e===62?M(e):y(e)}function x(t){return $f(t)?(e.consume(t),S):n(t)}function S(t){return t===45||ep(t)?(e.consume(t),S):C(t)}function C(t){return Z(t)?(o=C,N(t)):Q(t)?(e.consume(t),C):M(t)}function w(t){return t===45||ep(t)?(e.consume(t),w):t===47||t===62||op(t)?T(t):n(t)}function T(t){return t===47?(e.consume(t),M):t===58||t===95||$f(t)?(e.consume(t),E):Z(t)?(o=T,N(t)):Q(t)?(e.consume(t),T):M(t)}function E(t){return t===45||t===46||t===58||t===95||ep(t)?(e.consume(t),E):D(t)}function D(t){return t===61?(e.consume(t),O):Z(t)?(o=D,N(t)):Q(t)?(e.consume(t),D):T(t)}function O(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),i=t,k):Z(t)?(o=O,N(t)):Q(t)?(e.consume(t),O):(e.consume(t),A)}function k(t){return t===i?(e.consume(t),i=void 0,j):t===null?n(t):Z(t)?(o=k,N(t)):(e.consume(t),k)}function A(t){return t===null||t===34||t===39||t===60||t===61||t===96?n(t):t===47||t===62||op(t)?T(t):(e.consume(t),A)}function j(e){return e===47||e===62||op(e)?T(e):n(e)}function M(r){return r===62?(e.consume(r),e.exit(`htmlTextData`),e.exit(`htmlText`),t):n(r)}function N(t){return e.exit(`htmlTextData`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),P}function P(t){return Q(t)?$(e,ee,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):ee(t)}function ee(t){return e.enter(`htmlTextData`),o(t)}}var Em={name:`labelEnd`,resolveAll:Am,resolveTo:jm,tokenize:Mm},Dm={tokenize:Nm},Om={tokenize:Pm},km={tokenize:Fm};function Am(e){let t=-1,n=[];for(;++t=3&&(a===null||Z(a))?(e.exit(`thematicBreak`),t(a)):n(a)}function c(t){return t===i?(e.consume(t),r++,c):(e.exit(`thematicBreakSequence`),Q(t)?$(e,s,`whitespace`)(t):s(t))}}var Wm={continuation:{tokenize:Jm},exit:Xm,name:`list`,tokenize:qm},Gm={partial:!0,tokenize:Zm},Km={partial:!0,tokenize:Ym};function qm(e,t,n){let r=this,i=r.events[r.events.length-1],a=i&&i[1].type===`linePrefix`?i[2].sliceSerialize(i[1],!0).length:0,o=0;return s;function s(t){let i=r.containerState.type||(t===42||t===43||t===45?`listUnordered`:`listOrdered`);if(i===`listUnordered`?!r.containerState.marker||t===r.containerState.marker:rp(t)){if(r.containerState.type||(r.containerState.type=i,e.enter(i,{_container:!0})),i===`listUnordered`)return e.enter(`listItemPrefix`),t===42||t===45?e.check(Hm,n,l)(t):l(t);if(!r.interrupt||t===49)return e.enter(`listItemPrefix`),e.enter(`listItemValue`),c(t)}return n(t)}function c(t){return rp(t)&&++o<10?(e.consume(t),c):(!r.interrupt||o<2)&&(r.containerState.marker?t===r.containerState.marker:t===41||t===46)?(e.exit(`listItemValue`),l(t)):n(t)}function l(t){return e.enter(`listItemMarker`),e.consume(t),e.exit(`listItemMarker`),r.containerState.marker=r.containerState.marker||t,e.check(Tp,r.interrupt?n:u,e.attempt(Gm,f,d))}function u(e){return r.containerState.initialBlankLine=!0,a++,f(e)}function d(t){return Q(t)?(e.enter(`listItemPrefixWhitespace`),e.consume(t),e.exit(`listItemPrefixWhitespace`),f):n(t)}function f(n){return r.containerState.size=a+r.sliceSerialize(e.exit(`listItemPrefix`),!0).length,t(n)}}function Jm(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(Tp,i,a);function i(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,$(e,t,`listItemIndent`,r.containerState.size+1)(n)}function a(n){return r.containerState.furtherBlankLines||!Q(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Km,t,o)(n))}function o(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,$(e,e.attempt(Wm,t,n),`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(i)}}function Ym(e,t,n){let r=this;return $(e,i,`listItemIndent`,r.containerState.size+1);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`listItemIndent`&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(e):n(e)}}function Xm(e){e.exit(this.containerState.type)}function Zm(e,t,n){let r=this;return $(e,i,`listItemPrefixWhitespace`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:5);function i(e){let i=r.events[r.events.length-1];return!Q(e)&&i&&i[1].type===`listItemPrefixWhitespace`?t(e):n(e)}}var Qm={name:`setextUnderline`,resolveTo:$m,tokenize:eh};function $m(e,t){let n=e.length,r,i,a;for(;n--;)if(e[n][0]===`enter`){if(e[n][1].type===`content`){r=n;break}e[n][1].type===`paragraph`&&(i=n)}else e[n][1].type===`content`&&e.splice(n,1),!a&&e[n][1].type===`definition`&&(a=n);let o={type:`setextHeading`,start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type=`setextHeadingText`,a?(e.splice(i,0,[`enter`,o,t]),e.splice(a+1,0,[`exit`,e[r][1],t]),e[r][1].end={...e[a][1].end}):e[r][1]=o,e.push([`exit`,o,t]),e}function eh(e,t,n){let r=this,i;return a;function a(t){let a=r.events.length,s;for(;a--;)if(r.events[a][1].type!==`lineEnding`&&r.events[a][1].type!==`linePrefix`&&r.events[a][1].type!==`content`){s=r.events[a][1].type===`paragraph`;break}return!r.parser.lazy[r.now().line]&&(r.interrupt||s)?(e.enter(`setextHeadingLine`),i=t,o(t)):n(t)}function o(t){return e.enter(`setextHeadingLineSequence`),s(t)}function s(t){return t===i?(e.consume(t),s):(e.exit(`setextHeadingLineSequence`),Q(t)?$(e,c,`lineSuffix`)(t):c(t))}function c(r){return r===null||Z(r)?(e.exit(`setextHeadingLine`),t(r)):n(r)}}var th={tokenize:nh};function nh(e){let t=this,n=e.attempt(Tp,r,e.attempt(this.parser.constructs.flowInitial,i,$(e,e.attempt(this.parser.constructs.flow,i,e.attempt(Zp,i)),`linePrefix`)));return n;function r(r){if(r===null){e.consume(r);return}return e.enter(`lineEndingBlank`),e.consume(r),e.exit(`lineEndingBlank`),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),t.currentConstruct=void 0,n}}var rh={resolveAll:sh()},ih=oh(`string`),ah=oh(`text`);function oh(e){return{resolveAll:sh(e===`text`?ch:void 0),tokenize:t};function t(t){let n=this,r=this.parser.constructs[e],i=t.attempt(r,a,o);return a;function a(e){return c(e)?i(e):o(e)}function o(e){if(e===null){t.consume(e);return}return t.enter(`data`),t.consume(e),s}function s(e){return c(e)?(t.exit(`data`),i(e)):(t.consume(e),s)}function c(e){if(e===null)return!0;let t=r[e],i=-1;if(t)for(;++i_h,contentInitial:()=>dh,disable:()=>vh,document:()=>uh,flow:()=>ph,flowInitial:()=>fh,insideSpan:()=>gh,string:()=>mh,text:()=>hh}),uh={42:Wm,43:Wm,45:Wm,48:Wm,49:Wm,50:Wm,51:Wm,52:Wm,53:Wm,54:Wm,55:Wm,56:Wm,57:Wm,62:Dp},dh={91:om},fh={[-2]:zp,[-1]:zp,32:zp},ph={35:fm,42:Hm,45:[Qm,Hm],60:_m,61:Qm,95:Hm,96:Ip,126:Ip},mh={38:Np,92:jp},hh={[-5]:Bm,[-4]:Bm,[-3]:Bm,33:Im,38:Np,42:yp,60:[Cp,wm],91:Rm,92:[um,jp],93:Em,95:yp,96:Up},gh={null:[yp,rh]},_h={null:[42,95]},vh={null:[]};function yh(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},a=[],o=[],s=[],c={attempt:C(x),check:C(S),consume:v,enter:y,exit:b,interrupt:C(S,{interrupt:!0})},l={code:null,containerState:{},defineSkip:h,events:[],now:m,parser:e,previous:null,sliceSerialize:f,sliceStream:p,write:d},u=t.tokenize.call(l,c);return t.resolveAll&&a.push(t),l;function d(e){return o=Kf(o,e),g(),o[o.length-1]===null?(w(t,0),l.events=vp(a,l.events,l),l.events):[]}function f(e,t){return xh(p(e),t)}function p(e){return bh(o,e)}function m(){let{_bufferIndex:e,_index:t,line:n,column:i,offset:a}=r;return{_bufferIndex:e,_index:t,line:n,column:i,offset:a}}function h(e){i[e.line]=e.column,E()}function g(){let e;for(;r._index-1){let e=o[0];typeof e==`string`?o[0]=e.slice(r):o.shift()}a>0&&o.push(e[i].slice(0,a))}return o}function xh(e,t){let n=-1,r=[],i;for(;++n(0,V.jsxs)(`span`,{children:[(0,V.jsx)(`span`,{className:`evidence-line-number`,"aria-hidden":`true`,children:e.number}),e.text,` `]},e.number))}):(0,V.jsx)(yx,{className:`evidence-log`,"aria-label":`Tool output`,children:i.output||`No output received`}),i.kind===`file`&&i.truncated&&(0,V.jsx)(`p`,{children:`Read another range using the file path and offset. Consult the original result for the tool's recovery instructions.`}),i.recovery&&(0,V.jsxs)(`p`,{children:[`Full output reference: `,(0,V.jsx)(`code`,{children:i.recovery})]}),i.readRecovery&&(0,V.jsx)(`p`,{className:`evidence-warning`,children:i.readRecovery}),(0,V.jsxs)(`details`,{children:[(0,V.jsx)(`summary`,{children:`Raw arguments and result (sanitized)`}),(0,V.jsx)(`p`,{children:(0,V.jsx)(`strong`,{children:`Arguments`})}),(0,V.jsx)(`pre`,{children:i.rawArguments}),(0,V.jsx)(`p`,{children:(0,V.jsx)(`strong`,{children:`Result`})}),(0,V.jsx)(`pre`,{children:i.rawResult})]})]})]})}function xx({sessionId:e,children:t}){let n=(0,w.useMemo)(()=>new ed,[]),[r,i]=(0,w.useState)(null),[a,o]=(0,w.useState)(null),[s,c]=(0,w.useState)(null),[l,u]=(0,w.useState)(!1),d=(0,w.useRef)(null),f=(0,w.useRef)(null),p=(0,w.useRef)(null),m=(0,w.useRef)(new Set),h=(0,w.useRef)(void 0),g=(0,w.useCallback)((t,n)=>{d.current=document.activeElement instanceof HTMLElement?document.activeElement:null,o(null),c(null),h.current=n,i({reference:t,parent:n,sessionId:e})},[e]),_=(0,w.useCallback)(()=>{i(null),o(null),d.current?.focus()},[]);(0,w.useEffect)(()=>{r&&r.sessionId!==e&&(i(null),o(null))},[e,r]),(0,w.useEffect)(()=>{if(!r||!e||r.sessionId!==e)return;let t=new AbortController,i,a=r.parent,s,l=!1,d,g=2e3;f.current?.focus();let _=async()=>{if(document.visibilityState===`hidden`){s=setTimeout(_,2e3);return}try{if(i||=(await n.resolveArtifact(e,r.reference,a,t.signal)).handle,a&&=(n.releaseArtifact(e,a).catch(()=>void 0),void 0),l){n.releaseArtifact(e,i).catch(()=>void 0);return}if(d&&(await n.artifactMetadata(e,i,t.signal)).identity===d){l||c(null),g=Math.min(g*2,3e4);return}let s=await n.artifactPreview(e,i,t.signal);l||(d=s.identity,g=2e3,o(s),c(null))}catch(e){g=Math.min(g*2,3e4),l||c(e instanceof Error?e.message:`Unable to read file`)}finally{l||(s=setTimeout(_,g))}};return _(),()=>{l=!0,t.abort(),clearTimeout(s),p.current?.abort(),u(!1),i&&i!==h.current&&n.releaseArtifact(e,i).catch(()=>void 0),a&&n.releaseArtifact(e,a).catch(()=>void 0);for(let e of m.current)URL.revokeObjectURL(e);m.current.clear()}},[n,r,e]);let v=(0,w.useMemo)(()=>({open:g}),[g]),y=async()=>{if(!a||l)return;let e=new AbortController;p.current=e,u(!0);try{let t=await n.downloadArtifact(a.artifact,e.signal);if(e.signal.aborted)return;let r=URL.createObjectURL(t);m.current.add(r);let i=document.createElement(`a`);i.href=r,i.download=a.artifact.name,i.click(),setTimeout(()=>{URL.revokeObjectURL(r),m.current.delete(r)},1e3)}catch(t){e.signal.aborted||c(t instanceof Error?t.message:`Download failed`)}finally{e.signal.aborted||u(!1)}};return(0,V.jsxs)(sd.Provider,{value:v,children:[t,r&&(0,V.jsxs)(`dialog`,{open:!0,className:`artifact-panel`,"aria-label":`File preview`,onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),_())},children:[(0,V.jsxs)(`header`,{children:[(0,V.jsx)(`h2`,{children:`File preview`}),(0,V.jsx)(`button`,{ref:f,type:`button`,onClick:_,children:`Close preview`})]}),(0,V.jsx)(`p`,{className:`artifact-source`,children:a?.artifact.path??r.reference}),(0,V.jsxs)(`p`,{children:[`Read-only access · Session `,e]}),(0,V.jsxs)(`div`,{className:`artifact-actions`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:()=>{h.current=void 0,i(t=>t?{sessionId:e,reference:a?.artifact.path??t.reference,...a?{}:{parent:t.parent}}:null)},children:`Refresh`}),(0,V.jsx)(`button`,{type:`button`,disabled:!a||l,onClick:()=>void y(),children:l?`Downloading…`:`Download`})]}),s&&(0,V.jsxs)(`p`,{role:`status`,className:`evidence-warning`,children:[a?`Showing an older preview. `:``,s]}),!a&&!s&&(0,V.jsx)(`p`,{role:`status`,children:`Reading file…`}),a&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`p`,{className:`artifact-revision`,children:[`Version: `,(0,V.jsx)(`code`,{children:a.artifact.revision}),` ·`,` `,a.artifact.bytes,` bytes`]}),a.truncated&&(0,V.jsx)(`p`,{className:`evidence-warning`,children:`Preview truncated. Download the file for the complete content.`}),a.text===void 0?(0,V.jsx)(`p`,{children:`This file type cannot be previewed. Use Download.`}):/\.(?:md|markdown)$/iu.test(a.artifact.name)?(0,V.jsx)(sd.Provider,{value:{open:g,parent:a.artifact.handle},children:(0,V.jsx)(_x,{children:a.text})}):(0,V.jsx)(`section`,{"aria-label":`File preview content`,children:(0,V.jsx)(`pre`,{children:a.text})})]})]})]})}function Sx(e){return e&&typeof e==`object`?e:{}}function Cx(e){try{return Sx(JSON.parse(e))}catch{return{}}}function wx(e){return e===`running`?`running`:e===`done`||e===`completed`?`done`:[`error`,`failed`,`aborted`,`killed`,`timed_out`].includes(String(e))?`error`:e===`uncertain`?`warn`:`unknown`}function Tx(e){if(!e)return`running`;if(e.isError)return`error`;let t=wx(Sx(e.details).status);return t===`unknown`?e.isError===!1?`done`:`unknown`:t}function Ex({status:e}){return e===`running`?(0,V.jsx)(`span`,{className:`status-mark running`,role:`img`,"aria-label":`running`,children:(0,V.jsx)(`i`,{})}):e===`done`?(0,V.jsx)(L,{className:`status-mark done`,"aria-label":`completed`}):e===`error`?(0,V.jsx)(Re,{className:`status-mark error`,"aria-label":`failed`}):e===`warn`?(0,V.jsx)(`span`,{className:`status-mark warn`,role:`img`,"aria-label":`uncertain`,children:`?`}):null}function Dx(e){let t=e.toLowerCase();return t===`bash`?(0,V.jsx)(Ne,{}):t===`read`?(0,V.jsx)(me,{}):t===`write`||t===`edit`?(0,V.jsx)(pe,{}):t===`grep`?(0,V.jsx)(De,{}):t===`glob`||t===`ls`?(0,V.jsx)(he,{}):t===`webfetch`||t===`websearch`?(0,V.jsx)(_e,{}):(0,V.jsx)(Le,{})}function Ox(e,t){let n=e===`bash`?t.command:[`read`,`write`,`edit`,`ls`].includes(e)?t.path:[`grep`,`glob`].includes(e)?t.pattern:e===`webfetch`?t.url:e===`websearch`?t.query:``;return typeof n==`string`?dl(n.split(` `).find(Boolean),90):``}function kx({body:e,icon:t,name:n,status:r,summary:i,thinking:a=!1}){return(0,V.jsxs)(`details`,{className:`message-details tool-line ${r===`error`?`error`:``} ${a?`thinking-line`:``}`,children:[(0,V.jsxs)(`summary`,{children:[(0,V.jsx)(`span`,{className:`details-mark`,"aria-hidden":`true`}),(0,V.jsx)(`span`,{className:`tool-icon`,"aria-hidden":`true`,children:t}),(0,V.jsxs)(`span`,{className:`details-title`,children:[(0,V.jsx)(`span`,{className:`tool-name`,children:n}),i&&(0,V.jsx)(`span`,{className:`tool-summary`,children:i})]}),(0,V.jsx)(Ex,{status:r})]}),(0,V.jsx)(`pre`,{className:`details-body tool-evidence`,children:Wu(e).text})]})}function Ax({body:e,family:t,meta:n,status:r,title:i}){return(0,V.jsxs)(`details`,{className:`message-details activity-card ${t}`,children:[(0,V.jsxs)(`summary`,{children:[(0,V.jsx)(`span`,{className:`activity-icon`,"aria-hidden":`true`,children:t===`subagent`?(0,V.jsx)(P,{}):(0,V.jsx)(Ie,{})}),(0,V.jsxs)(`span`,{className:`activity-main`,children:[(0,V.jsx)(`span`,{className:`activity-title`,children:i}),n&&(0,V.jsx)(`span`,{className:`activity-meta`,children:n})]}),(0,V.jsx)(Ex,{status:r}),(0,V.jsx)(`span`,{className:`details-mark`,"aria-hidden":`true`})]}),(0,V.jsx)(`pre`,{className:`details-body tool-evidence`,children:e})]})}function jx(e,t){let n=e.name||``,r=Cx(e.arguments),i=Sx(t?.details),a=Tx(t);if(n===`subagent_spawn`){let n=[r.agent_type,r.model,r.working_dir].filter(Boolean).join(` · `);return(0,V.jsx)(Ax,{family:`subagent`,title:`Spawn Subagent · ${String(i.title||r.name||`subagent`)}`,meta:n||String(i.cwd||``),body:t?.content||String(r.prompt||e.arguments),status:a})}if(n.startsWith(`subagent`)){let i=n.replaceAll(`_`,` `).replace(/^subagent /u,``);return(0,V.jsx)(Ax,{family:`subagent`,title:`${i[0]?.toUpperCase()||``}${i.slice(1)} Subagent`,meta:String(r.id||``),body:t?.content||e.arguments,status:a})}if(n===`workflow`){let n=typeof r.script==`string`?r.script:e.arguments,o=String(i.name||n.match(/\bname:\s*["'`]([^"'`]+)["'`]/u)?.[1]||`unnamed`),s=Sx(i.agents),c=[i.runId,i.status,s.total?`${Number(s.total)-Number(s.running||0)}/${s.total} agents`:``].filter(Boolean).join(` · `);return(0,V.jsx)(Ax,{family:`workflow`,title:`Workflow · ${o}`,meta:c,body:t?.content||n,status:a})}return n.startsWith(`workflow`)?(0,V.jsx)(Ax,{family:`workflow`,title:n.replaceAll(`_`,` `),meta:String(r.runId||``),body:t?.content||e.arguments,status:a}):null}function Mx(e,t){let[n,r]=(0,w.useState)(Date.now());return(0,w.useEffect)(()=>{if(!t)return;let e=window.setInterval(()=>r(Date.now()),1e3);return()=>window.clearInterval(e)},[t]),e?ml(e,t?n:Date.now()):``}function Nx({body:e,start:t,duration:n,active:r,level:i}){let{t:a}=sn(),o=Mx(t,r),s=n?ml(0,n):o;return(0,V.jsx)(kx,{body:e,icon:(0,V.jsx)(ye,{}),name:r?i?a(`thinkingActiveLevel`,{level:i}):a(`thinkingActive`):a(`thinkingDone`),status:r?`running`:`done`,summary:s?`· ${s}`:void 0,thinking:!0})}function Px({content:e,editable:t,timestamp:n,onResend:r}){let{t:i}=sn(),[a,o]=(0,w.useState)(!1),[s,c]=(0,w.useState)(!1),[l,u]=(0,w.useState)(!1),d=(0,w.useRef)(0),f=(0,w.useRef)(void 0);(0,w.useEffect)(()=>()=>{d.current+=1,window.clearTimeout(f.current)},[]);let[p,m]=(0,w.useState)(!1),[h,g]=(0,w.useState)(e),_=(0,w.useRef)(null);if((0,w.useEffect)(()=>{p&&_.current?.focus()},[p]),p)return(0,V.jsxs)(`div`,{className:`message-editor`,children:[(0,V.jsx)(`textarea`,{ref:_,value:h,onChange:e=>g(e.target.value),onKeyDown:e=>{e.key===`Escape`&&m(!1),e.key===`Enter`&&!e.shiftKey&&!e.nativeEvent.isComposing&&(e.preventDefault(),r(h.trim()).then(e=>e&&m(!1)))}}),(0,V.jsxs)(`div`,{className:`message-edit-actions`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:()=>m(!1),children:i(`cancel`)}),(0,V.jsx)(`button`,{type:`button`,className:`confirm`,onClick:()=>void r(h.trim()).then(e=>e&&m(!1)),children:i(`confirmEdit`)})]})]});let v=pl(n);return(0,V.jsxs)(`div`,{className:`message-actions${s?` copy-failed`:``}`,children:[v&&(0,V.jsx)(`time`,{dateTime:n,children:v}),t&&(0,V.jsx)(`button`,{type:`button`,"aria-label":i(`editMessage`),title:i(`editMessage`),onClick:()=>m(!0),children:(0,V.jsx)(Ce,{})}),(0,V.jsx)(`button`,{type:`button`,"aria-label":i(a?`copiedMessage`:`copyMessage`),title:i(a?`copiedMessage`:`copyMessage`),disabled:l,onClick:()=>{let t=++d.current;window.clearTimeout(f.current),u(!0),o(!1),c(!1),vx(e).then(e=>{t===d.current&&(u(!1),o(e),c(!e),e&&(f.current=window.setTimeout(()=>o(!1),1200)))})},children:a?(0,V.jsx)(L,{}):(0,V.jsx)(oe,{})}),s&&(0,V.jsx)(`span`,{className:`copy-error`,role:`status`,children:i(`copyFailed`)})]})}function Fx({message:e}){let t=Sx(e.details);if(e.customType===`subagent-result`)return(0,V.jsx)(Ax,{family:`subagent`,title:`Subagent ${String(t.id||``)} · ${String(t.title||`result`)}`,meta:[t.outcome,t.elapsed].filter(Boolean).join(` · `),body:e.content,status:wx(t.status)});if(e.customType===`workflow-result`){let n=Array.isArray(t.entries)?t.entries.map(Sx):[],r=n.map(e=>wx(e.status)),i=r.includes(`error`)?`error`:r.includes(`warn`)?`warn`:r.length>0&&r.every(e=>e===`done`)?`done`:r.includes(`running`)?`running`:`unknown`,a=n.length?n.map(e=>`${e.status===`completed`?`✓`:`✗`} ${String(e.summary||e.runId||`run`)}${e.resultPreview?`\nResult: ${e.resultPreview}`:``}`).join(` -`):e.content;return(0,V.jsx)(Ax,{family:`workflow`,title:n.length>1?`Workflow results · ${n.length} runs`:`Workflow ${String(n[0]?.runId||`result`)}`,body:a,status:i})}return null}function Ix(e){return[``,`[]`,`{}`,`null`].includes(e.trim())}function Lx(e,t){let n=(e.selectedSession?.entries??[]).flatMap(e=>e.type===`message`&&e.message?[{key:e.id,timestamp:e.timestamp,message:e.message}]:[]),r=new Set(n.map(e=>`${e.message.role||``}:${e.message.content}`)),i=new Set(n.flatMap(e=>e.message.role===`toolResult`&&e.message.toolCallId?[e.message.toolCallId]:[]));for(let e of t)(e.message.role===`toolResult`&&e.message.toolCallId?i.has(e.message.toolCallId):r.has(`${e.message.role||``}:${e.message.content}`))||n.push({key:e.key,timestamp:new Date().toISOString(),message:e.message});return n}function Rx(e,t){let n=[];for(let t of e){let e=n.at(-1);t.groupable&&e?.grouped?e.rows.push(t):n.push({grouped:!!t.groupable,rows:[t]})}return n.map(e=>{let n=`${e.grouped?`group`:`rows`}-${e.rows[0]?.key}`;return!e.grouped||e.rows.length<4?(0,V.jsx)(w.Fragment,{children:e.rows.map(e=>(0,V.jsx)(w.Fragment,{children:e.content},e.key))},n):(0,V.jsxs)(`details`,{className:`tool-group ${e.rows.some(e=>e.error)?`error`:``}`,children:[(0,V.jsxs)(`summary`,{children:[(0,V.jsx)(`span`,{className:`details-mark`,"aria-hidden":`true`}),(0,V.jsx)(`span`,{className:`tool-group-icons`,"aria-hidden":`true`,children:e.rows.slice(0,4).map(e=>(0,V.jsx)(w.Fragment,{children:e.icon},e.key))}),(0,V.jsxs)(`span`,{children:[e.rows.length,` `,t]})]}),(0,V.jsx)(`div`,{className:`tool-group-body`,children:e.rows.map(e=>(0,V.jsx)(w.Fragment,{children:e.content},e.key))})]},n)})}function zx(e){let{t}=sn(),n=(0,w.useRef)(null),r=(0,w.useRef)(!0),i=(0,w.useRef)(void 0),a=(0,w.useRef)(e.scrollToBottom),o=(0,w.useMemo)(()=>Lx(e.snapshot,e.liveMessages),[e.snapshot,e.liveMessages]),s=e.snapshot.selectedSession,c=s?.id===e.snapshot.currentSessionId,{rows:l,turns:u}=(0,w.useMemo)(()=>{let n=new Map,r=new Set,i=new Set,a=e.snapshot.runtime.liveTools??[];o.forEach(({message:e})=>{e.role===`toolResult`&&e.toolCallId&&n.set(e.toolCallId,e),e.parts?.forEach(e=>{e.type===`toolCall`&&e.id&&Ku(e.name)&&i.add(e.id),e.type===`toolCall`&&e.id&&/^(subagent|workflow)/u.test(e.name)&&r.add(e.id)})});let l=[],u=0,d=-1;for(let e=o.length-1;e>=0;e--)if(o[e]?.message.role===`user`){d=e;break}let f=new Set,p=-1;return o.forEach(({message:e},t)=>{e.role===`user`?(p>=0&&f.add(p),p=-1):e.role===`assistant`&&e.content.trim()&&(p=t)}),p>=0&&f.add(p),{rows:o.flatMap((p,m)=>{let h=p.message;if(h.role===`custom`)return[{key:p.key,content:(0,V.jsx)(`article`,{className:`message-row assistant detail-only`,children:(0,V.jsx)(`div`,{className:`message-content`,children:(0,V.jsx)(Fx,{message:h})})})}];if(h.role===`user`)return u++,l.push({id:u,title:hl(h.content)}),[{key:p.key,content:(0,V.jsxs)(`article`,{className:`message-row user`,id:`turn-${u}`,children:[(0,V.jsx)(`div`,{className:`message-content`,children:(0,V.jsx)(`div`,{className:`message-body`,children:h.content})}),(0,V.jsx)(Px,{content:h.content,editable:c&&m===d,timestamp:p.timestamp,onResend:e.onResend})]})}];if(h.role===`assistant`){let t=[];return h.parts?.forEach((r,i)=>{if(r.type===`thinking`){let n=c&&e.liveRunning&&m===o.length-1;t.push({key:`${p.key}-thinking-${i}`,icon:(0,V.jsx)(ye,{}),content:(0,V.jsx)(`article`,{className:`message-row assistant detail-only`,children:(0,V.jsx)(`div`,{className:`message-content`,children:(0,V.jsx)(Nx,{body:r.text,active:n,level:n?e.snapshot.thinking?.level:void 0,start:e.thinkingStarts[p.key],duration:e.thinkingDurations[p.key]})})})})}if(r.type===`toolCall`){let e=r.id?a.find(e=>e.call.id===r.id):void 0,o=r.id?n.get(r.id):void 0,c=o??e?.result,l=Ku(r.name)?(0,V.jsx)(bx,{call:r,result:c,liveState:o?void 0:e?.state,cwd:s?.cwd},`${p.key}-${r.id||i}-evidence`):jx(r,c),u=Cx(r.arguments),d=Dx(r.name);t.push({key:`${p.key}-tool-${r.id||i}`,groupable:!l||Ku(r.name),error:!!c?.isError,icon:d,content:(0,V.jsx)(`article`,{className:`message-row assistant detail-only`,children:(0,V.jsx)(`div`,{className:`message-content`,children:l||(0,V.jsx)(kx,{body:r.name===`bash`&&typeof u.command==`string`?u.command:r.arguments,icon:d,name:r.name||`tool`,summary:Ox(r.name,u),status:Tx(c)})})})})}}),h.content.trim()&&t.push({key:`${p.key}-answer`,content:(0,V.jsxs)(`article`,{className:`message-row assistant`,children:[(0,V.jsx)(`div`,{className:`message-content`,children:(0,V.jsx)(_x,{children:h.content})}),f.has(m)&&(0,V.jsx)(Px,{content:h.content,editable:!1,timestamp:p.timestamp,onResend:e.onResend})]})}),t}if(h.role===`toolResult`){if(h.toolCallId&&i.has(h.toolCallId)||h.toolCallId&&r.has(h.toolCallId))return[];let e=h.toolName?.startsWith(`subagent`)?`subagent`:h.toolName?.startsWith(`workflow`)?`workflow`:null,n=Tx(h),a=h.toolName||`tool`,o=e===`subagent`?(0,V.jsx)(P,{},`${p.key}-icon`):e===`workflow`?(0,V.jsx)(Ie,{},`${p.key}-icon`):Dx(a),s=e?(0,V.jsx)(Ax,{family:e,title:`${a.replaceAll(`_`,` `)} · ${dl(h.content)}`,body:h.content,status:n},`${p.key}-card`):Ix(h.content)?(0,V.jsxs)(`div`,{className:`tool-line-empty`,children:[(0,V.jsx)(`span`,{className:`tool-icon`,children:o}),(0,V.jsx)(`span`,{className:`tool-name`,children:a}),(0,V.jsx)(`span`,{className:`tool-summary`,children:t(`noOutput`)}),(0,V.jsx)(Ex,{status:n})]},`${p.key}-empty`):(0,V.jsx)(kx,{body:h.content,icon:o,name:a,summary:dl(h.content),status:n},`${p.key}-evidence`);return[{key:p.key,groupable:!e,error:n===`error`,icon:o,content:(0,V.jsx)(`article`,{className:`message-row assistant detail-only`,children:(0,V.jsx)(`div`,{className:`message-content`,children:s})})}]}return[]}),turns:l}},[c,o,e.liveRunning,e.onResend,e.snapshot.thinking?.level,e.thinkingDurations,e.thinkingStarts,e.snapshot.runtime.liveTools,s?.cwd,t]);(0,w.useLayoutEffect)(()=>{let t=n.current;if(!t||!s)return;let o=i.current!==s.path,c=a.current!==e.scrollToBottom;a.current=e.scrollToBottom,(o||c||r.current)&&(r.current=!0,typeof t.scrollTo==`function`?t.scrollTo({top:t.scrollHeight,behavior:`instant`}):t.scrollTop=t.scrollHeight),i.current=s.path},[s,o,e.scrollToBottom]);let d=c&&(e.snapshot.runtime.status===`running`||e.liveRunning),f=e.liveRetry?`${t(`modelRetrying`)} (${e.liveRetry.attempt}/${e.liveRetry.maxAttempts})`:e.livePhase===`preparing`?t(`modelPreparing`):t(`modelRunning`);return(0,V.jsxs)(xx,{sessionId:s?.id,children:[(0,V.jsxs)(`div`,{ref:n,className:`conversation`,role:`log`,"aria-label":`Conversation`,onScroll:e=>{let t=e.currentTarget;r.current=t.scrollTop+t.clientHeight>=t.scrollHeight-48},children:[Rx(l,t(`stepsLabel`)),d&&(0,V.jsxs)(`div`,{className:`conversation-running`,role:`status`,"aria-live":`polite`,children:[(0,V.jsx)(`span`,{className:`conversation-running-dot`}),(0,V.jsx)(`span`,{children:f})]})]}),u.length>1&&(0,V.jsx)(`nav`,{className:`turn-rail`,"aria-label":t(`conversationTurns`),children:u.map(e=>(0,V.jsxs)(`button`,{className:`turn-tick`,type:`button`,title:e.title,onClick:()=>document.getElementById(`turn-${e.id}`)?.scrollIntoView({block:`start`,behavior:`smooth`}),children:[(0,V.jsx)(`span`,{className:`turn-tick-mark`}),(0,V.jsx)(`span`,{className:`turn-tick-label`,children:e.title})]},e.id))})]})}var Bx={en:{translation:{conversationView:`Conversation view`,chatView:`Chat`,trajectory:`Trajectory`,trajectoryScope:`Recorded Session messages in order, not execution durations or the complete model request.`,trajectoryRunning:`Work is active. This view updates as saved records arrive; in-flight text is available in Chat.`,trajectoryTruncated:`Loaded history is partial: {{entries}} entries omitted, {{parts}} parts omitted, {{messages}} messages truncated.`,trajectoryEmpty:`No saved records yet.`,trajectoryOverview:`Record sequence overview`,trajectoryEarlier:`Show earlier records ({{count}} remaining in loaded history)`,trajectoryDetails:`Record details`,trajectoryRecordedAt:`Record timestamp`,trajectoryEvidenceTruncated:`This evidence was truncated in the Session projection.`,trajectoryArguments:`Tool arguments`,trajectoryRecordedContent:`Recorded content`,trajectoryThinking:`Recorded model reasoning`,trajectoryOutput:`Tool result`,trajectoryMissingResult:`No unambiguous result is included in the loaded records. This does not imply the tool is still running.`,trajectoryStructured:`Structured result`,trajectoryEventOnly:`Only this event’s type and timestamp are available.`,trajectory_user:`User prompt`,trajectory_assistant:`Assistant`,trajectory_call:`Tool call`,trajectory_result:`Unpaired result`,trajectory_event:`Session event`,trajectory_returned:`Tool returned successfully; background work may still be active.`,trajectory_error:`Tool returned an error`,trajectory_unknown:`Outcome not established`,runtimeStatus:`Runtime status`,refreshStatus:`Refresh status`,terminalDetails:`Terminal details`,inspectionChanged:`The active session changed. Reopen this panel.`,inspectionUnavailable:`Details are unavailable.`,inspectionLoading:`Loading status…`,thinkingUnavailable:`Thinking state is unavailable.`,trustUnavailable:`Project trust status is unavailable.`,authUnavailable:`Provider status is unavailable.`,executionState:`State`,terminalCommand:`Command`,terminalDirectory:`Directory`,startedAt:`Started`,exitCode:`Exit code`,detailTruncated:`Some details are shortened to keep this view bounded.`,standardOutput:`Standard output`,standardError:`Standard error`,outputTruncated:`{{count}} bytes omitted from this output view.`,outputRecovery:`The runtime reports a retained log. This view shows only a bounded excerpt.`,modelAndThinking:`Model and reasoning`,selectedModel:`Current model`,thinkingLevel:`Thinking level`,availableThinking:`Available levels`,unknownState:`Unknown`,projectTrust:`Project trust`,trust_trusted:`This session trusts the workspace.`,trust_untrusted:`Trust for this workspace has been denied.`,trust_restricted:`Project resources are restricted pending a trust decision.`,trust_unknown:`Trust state is not available.`,trustRefreshNeeded:`The saved decision and active session differ. Refresh the session through Pi to apply it.`,providerAvailability:`Provider credentials`,credentialConfigured:`Configured`,credentialMissing:`Not configured`,noProviders:`No providers reported.`,providersBounded:`This provider list is truncated.`,authNotVerified:`Configured credentials do not guarantee a successful model request.`,configurationViaPi:`Read-only status. Manage model credentials and trust through Pi; manage OpenPI options with /openpi-setup.`,statusCaptured:`Snapshot at {{time}} · refresh for the latest state`,conversationViews:`Conversation views`,currentConversations:`Current`,archivedConversations:`Archived`,restoreConversation:`Restore conversation`,restoringConversation:`Restoring…`,loadedArchives:`Archived conversations in the loaded history`,loadedHistoryBounded:`{{sessions}} more sessions and {{workspaces}} workspace summaries are not loaded. Search covers the loaded list only.`,noLoadedArchives:`No archived conversations in this loaded list.`,restoreFailed:`Could not confirm restoration. Refresh and try again.`,execution_running:`Running`,execution_done:`Completed`,execution_killed:`Stopped`,execution_timed_out:`Timed out`,execution_failed:`Failed`,execution_uncertain:`Uncertain`,activeOnlyHint:`Only the active Web session accepts messages.`,acceptedHint:`Message accepted by OpenPI Web.`,promptAdmissionUnknown:`It is unclear whether the last message was received.`,promptAdmissionUnknownDetail:`Review the refreshed Session history and runtime status before deciding. Sending as a new message may create a duplicate message.`,promptAdmissionCheckingDetail:`Checking the latest Session history and runtime status before resend options are enabled.`,promptAdmissionVerificationFailedDetail:`Could not refresh the latest Session history and runtime status. Check again before sending as a new message.`,abandonAdmission:`Don't resend for now`,retryAdmissionCheck:`Check again`,sendAsNew:`Send as new message`,sendingAsNew:`Sending…`,stopTurn:`Stop current turn`,stoppingTurn:`Stopping current turn…`,stoppedTurn:`Current turn stopped.`,pendingFollowUpsHint:`{{count}} messages queued`,addWorkspace:`Add workspace`,addWorkspaceMenu:`Add workspace...`,archiveConversation:`Archive conversation`,cancel:`Cancel`,chooseWorkspaceHint:`Choose a workspace and describe the work`,close:`Close`,closeSearch:`Close search`,collapseSidebar:`Collapse sidebar`,confirmEdit:`OK`,connected:`Connected`,connecting:`Connecting`,conversationName:`Conversation name`,conversationOptions:`Conversation options`,conversationTurns:`Conversation turns`,commands:`Slash commands`,commandsLoading:`Loading commands...`,commandsUnavailable:`Commands are temporarily unavailable.`,commandsNoMatch:`No matching commands.`,commandsBounded:`{{count}} more commands are not shown.`,commandSessionRequired:`Commands require an active Web session.`,commandUnsupported:`Not supported in Web`,commandAcceptsArguments:`Accepts arguments`,commandSource_extension:`Extension`,commandSource_prompt:`Prompt template`,commandSource_skill:`Skill`,copiedMessage:`Copied`,copyMessage:`Copy message`,copyFailed:`Copy failed. Please select and copy the message manually.`,deleteWorkspace:`Delete workspace`,describeTask:`Describe a task`,editMessage:`Edit message`,enterHint:`Enter to send, Shift+Enter for a new line.`,expandSidebar:`Expand sidebar`,importWorkspace:`Import workspace`,loadingModels:`Loading models...`,modelsTruncated:`Showing {{shown}} models. {{omitted}} more are available; search to find them.`,searchModels:`Search available models`,searchModelsPlaceholder:`Search provider, model name, or ID...`,searchingModels:`Searching models...`,noMatchingModels:`No matching models`,modelSearchFailed:`Could not search models. Try again.`,modelSearchTruncated:`{{omitted}} matching models are not shown.`,modelPreparing:`Preparing task...`,modelRetrying:`Retrying model request...`,modelRunning:`Working...`,newSession:`New session`,noConversations:`No conversations yet`,noMatching:`No matching conversations`,noModels:`No models available`,noOutput:`no output`,noSessions:`No sessions`,openSidebar:`Open sidebar`,promptMessage:`Send a message to the active Web session`,promptReadonly:`A non-active session cannot receive prompts`,promptStart:`Choose a workspace to begin.`,promptTask:`Describe what you want to build.`,queuedHint:`The message will be queued after the current turn.`,reconnecting:`Reconnecting`,removeWorkspace:`Remove from sidebar`,renameConversation:`Rename conversation`,renameWorkspace:`Rename workspace`,save:`Save`,searchConversations:`Search conversations`,searchPlaceholder:`Search conversations...`,selectModel:`Select model`,selectThinking:`Select thinking level`,selectWorkspace:`Select workspace`,send:`Send`,stepsLabel:`steps`,switchingSession:`Switching session...`,thinkingActive:`Thinking...`,thinkingActiveLevel:`Thinking ({{level}})...`,thinkingDone:`Thinking`,thinkingDraftHint:`Choose a workspace and create a session first.`,thinkingInactiveHint:`Only the active session can change its thinking level.`,thinkingLevelMismatch:`The confirmed thinking level is not offered by the current model. Choosing another level will correct it.`,thinkingLockedRunning:`Stop the current turn before changing the thinking level.`,thinkingModelPendingHint:`Wait for the model change to finish.`,thinkingNotConfirmed:`Thinking level was not confirmed. Please try again.`,thinkingPendingHint:`Applying the thinking level...`,thinkingUnsupported:`Thinking is unavailable`,thinkingUnsupportedHint:`No model is selected, or the current model does not support thinking.`,unavailable:`Unavailable`,ungrouped:`Ungrouped`,untitledSession:`New session`,workspaceDeleteConfirm:`The folder and conversation records will be kept. Its conversations will move to Ungrouped.`,workspaceName:`Workspace name`,workspaces:`Workspaces`}},zh:{translation:{conversationView:`会话视图`,chatView:`对话`,trajectory:`执行轨迹`,trajectoryScope:`按记录顺序展示会话消息,不表示执行耗时,也不是完整模型请求。`,trajectoryRunning:`任务仍在进行。已保存记录到达后自动更新;实时生成内容可在“对话”中查看。`,trajectoryTruncated:`当前历史不完整:省略 {{entries}} 条记录、{{parts}} 个内容片段,{{messages}} 条消息被截断。`,trajectoryEmpty:`尚无已保存记录。`,trajectoryOverview:`记录顺序总览`,trajectoryEarlier:`显示更早记录(已加载历史中还有 {{count}} 条)`,trajectoryDetails:`记录详情`,trajectoryRecordedAt:`记录时间`,trajectoryEvidenceTruncated:`此证据在会话投影中已被截断。`,trajectoryArguments:`工具参数`,trajectoryRecordedContent:`已记录内容`,trajectoryThinking:`模型返回的推理内容`,trajectoryOutput:`工具结果`,trajectoryMissingResult:`当前记录中没有可明确配对的结果。这不表示工具仍在运行。`,trajectoryStructured:`结构化结果`,trajectoryEventOnly:`当前仅提供此事件的类型和记录时间。`,trajectory_user:`用户 Prompt`,trajectory_assistant:`模型消息`,trajectory_call:`工具调用`,trajectory_result:`未配对结果`,trajectory_event:`会话事件`,trajectory_returned:`工具已成功返回;其启动的后台任务可能仍在进行。`,trajectory_error:`工具返回错误`,trajectory_unknown:`尚无法确定结果`,runtimeStatus:`运行状态`,refreshStatus:`刷新状态`,terminalDetails:`终端详情`,inspectionChanged:`当前会话已切换,请重新打开详情。`,inspectionUnavailable:`暂时无法读取详情。`,inspectionLoading:`正在读取状态…`,thinkingUnavailable:`暂时无法读取思考等级。`,trustUnavailable:`暂时无法读取项目信任状态。`,authUnavailable:`暂时无法读取服务商状态。`,executionState:`状态`,terminalCommand:`命令`,terminalDirectory:`目录`,startedAt:`启动时间`,exitCode:`退出码`,detailTruncated:`部分详情已截断,以限制页面加载量。`,standardOutput:`标准输出`,standardError:`错误输出`,outputTruncated:`此输出视图省略了 {{count}} 字节。`,outputRecovery:`运行时报告已保留日志;此处仅显示有大小限制的片段。`,modelAndThinking:`模型与思考`,selectedModel:`当前模型`,thinkingLevel:`思考等级`,availableThinking:`支持的等级`,unknownState:`未知`,projectTrust:`项目信任`,trust_trusted:`当前会话信任此工作区。`,trust_untrusted:`此工作区的信任已被拒绝。`,trust_restricted:`项目资源受到限制,等待信任决定。`,trust_unknown:`尚无法确定信任状态。`,trustRefreshNeeded:`保存的信任决定与当前会话不同,请通过 Pi 刷新会话后生效。`,providerAvailability:`服务商凭据`,credentialConfigured:`已配置`,credentialMissing:`未配置`,noProviders:`未发现服务商。`,providersBounded:`服务商列表已截断。`,authNotVerified:`凭据已配置不代表模型请求一定成功。`,configurationViaPi:`此处为只读状态。模型凭据与信任由 Pi 管理,OpenPI 选项通过 /openpi-setup 配置。`,statusCaptured:`采集于 {{time}} · 刷新查看最新状态`,conversationViews:`会话视图`,currentConversations:`当前`,archivedConversations:`已归档`,restoreConversation:`恢复会话`,restoringConversation:`正在恢复…`,loadedArchives:`已加载历史中的归档会话`,loadedHistoryBounded:`另有 {{sessions}} 个会话和 {{workspaces}} 个工作区摘要未加载。搜索仅覆盖已加载列表。`,noLoadedArchives:`已加载列表中没有归档会话。`,restoreFailed:`暂时无法确认恢复结果,请刷新后重试。`,execution_running:`运行中`,execution_done:`已完成`,execution_killed:`已停止`,execution_timed_out:`已超时`,execution_failed:`失败`,execution_uncertain:`状态不确定`,activeOnlyHint:`只有当前 Web 会话可以接收消息。`,stopTurn:`停止当前轮次`,stoppingTurn:`正在停止当前轮次…`,stoppedTurn:`当前轮次已停止。`,pendingFollowUpsHint:`{{count}} 条消息正在排队`,acceptedHint:`OpenPI Web 已接收消息。`,promptAdmissionUnknown:`无法确认上次发送的消息是否已被接收。`,promptAdmissionUnknownDetail:`请先核对已刷新的会话历史和运行状态,再决定下一步。作为新消息发送可能产生重复消息。`,promptAdmissionCheckingDetail:`正在核对最新的会话历史和运行状态,核对完成前不能作为新消息发送。`,promptAdmissionVerificationFailedDetail:`暂时无法刷新最新的会话历史和运行状态。请重新核对后再决定是否作为新消息发送。`,abandonAdmission:`暂不重新发送`,retryAdmissionCheck:`重新核对`,sendAsNew:`作为新消息发送`,sendingAsNew:`正在发送…`,addWorkspace:`添加工作区`,addWorkspaceMenu:`添加工作区...`,archiveConversation:`归档会话`,cancel:`取消`,chooseWorkspaceHint:`选择工作区并描述任务`,close:`关闭`,closeSearch:`关闭搜索`,collapseSidebar:`收起侧边栏`,confirmEdit:`确定`,connected:`已连接`,connecting:`正在连接`,conversationName:`会话名称`,conversationOptions:`会话选项`,conversationTurns:`会话轮次`,commands:`斜杠命令`,commandsLoading:`正在加载命令…`,commandsUnavailable:`暂时无法读取命令。`,commandsNoMatch:`没有匹配的命令。`,commandsBounded:`另有 {{count}} 个命令未显示。`,commandSessionRequired:`命令仅在已创建的 Web 会话中可用。`,commandUnsupported:`当前 Web 不支持`,commandAcceptsArguments:`可输入参数`,commandSource_extension:`扩展命令`,commandSource_prompt:`提示词模板`,commandSource_skill:`技能`,copiedMessage:`已复制`,copyMessage:`复制消息`,copyFailed:`复制失败,请选中消息后手动复制。`,deleteWorkspace:`删除工作区`,describeTask:`描述任务`,editMessage:`编辑消息`,enterHint:`按 Enter 发送,Shift+Enter 换行。`,expandSidebar:`展开侧边栏`,importWorkspace:`导入工作区`,loadingModels:`正在加载模型...`,modelsTruncated:`当前显示 {{shown}} 个模型,还有 {{omitted}} 个可用;搜索即可查找。`,searchModels:`搜索可用模型`,searchModelsPlaceholder:`搜索服务商、模型名称或 ID...`,searchingModels:`正在搜索模型...`,noMatchingModels:`没有匹配的模型`,modelSearchFailed:`模型搜索失败,请重试。`,modelSearchTruncated:`还有 {{omitted}} 个匹配模型未显示。`,modelPreparing:`正在准备任务...`,modelRetrying:`模型请求重试中...`,modelRunning:`正在运行...`,newSession:`新建会话`,noConversations:`暂无对话`,noMatching:`没有匹配的会话`,noModels:`没有可用模型`,noOutput:`无输出`,noSessions:`暂无会话`,openSidebar:`打开侧边栏`,promptMessage:`向当前 Web 会话发送消息`,promptReadonly:`非当前会话不能接收消息`,promptStart:`选择一个工作区开始`,promptTask:`描述你想要构建的任务`,queuedHint:`当前回合结束后将发送消息。`,reconnecting:`正在重连`,removeWorkspace:`从侧边栏移除`,renameConversation:`重命名会话`,renameWorkspace:`重命名工作区`,save:`保存`,searchConversations:`搜索会话`,searchPlaceholder:`搜索会话...`,selectModel:`选择模型`,selectThinking:`选择思考等级`,selectWorkspace:`选择工作区`,send:`发送`,stepsLabel:`个步骤`,switchingSession:`正在切换会话...`,thinkingActive:`思考中...`,thinkingActiveLevel:`思考中({{level}})...`,thinkingDone:`思考过程`,thinkingDraftHint:`请先选择工作区并创建会话。`,thinkingInactiveHint:`只有当前会话可以更改思考等级。`,thinkingLevelMismatch:`当前确认的思考等级不在此模型支持范围内;选择其它等级即可修正。`,thinkingLockedRunning:`请先停止当前轮次,再更改思考等级。`,thinkingModelPendingHint:`请等待模型切换完成。`,thinkingNotConfirmed:`思考等级未获确认,请重试。`,thinkingPendingHint:`正在应用思考等级...`,thinkingUnsupported:`暂不支持思考`,thinkingUnsupportedHint:`尚未选择模型,或当前模型不支持思考。`,unavailable:`不可用`,ungrouped:`未分组`,untitledSession:`新会话`,workspaceDeleteConfirm:`文件夹与会话记录会保留,其中的会话会被放到“未分组”;再次打开此目录时将是一个干净的工作区。`,workspaceName:`工作区名称`,workspaces:`工作区`}}},Vx=navigator.language?.toLowerCase().startsWith(`zh`)?`zh`:`en`;Pt.use($t).init({fallbackLng:`en`,initAsync:!1,interpolation:{escapeValue:!1},lng:Vx,resources:Bx}),document.documentElement.lang=Vx===`zh`?`zh-CN`:`en`;var Hx=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}},Ux=10,Wx=13,Gx=32,Kx=6;function qx(e){if(typeof e==`function`)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{maxBufferSize:t,onComment:n,onError:r,onEvent:i,onId:a,onRetry:o}=e,s=[],c=0,l=!0,u,d=``,f=0,p,m=!1,h=!1,g=!1;function _(e){if(m)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(l&&(l=!1,e.charCodeAt(0)===65279?e=e.slice(1):e.charCodeAt(0)===239&&e.charCodeAt(1)===187&&e.charCodeAt(2)===191&&(e=e.slice(3))),(h||g)&&(e=v(e),!e))return;if(!s.length){let t=S(e);t!==``&&y(t),x();return}if(e.indexOf(` -`)===-1&&e.indexOf(`\r`)===-1){if(c1?`Workflow results · ${n.length} runs`:`Workflow ${String(n[0]?.runId||`result`)}`,body:a,status:i})}return null}function Ix(e){return[``,`[]`,`{}`,`null`].includes(e.trim())}function Lx(e,t){let n=(e.selectedSession?.entries??[]).flatMap(e=>e.type===`message`&&e.message?[{key:e.id,timestamp:e.timestamp,message:e.message}]:[]),r=new Set(n.map(e=>`${e.message.role||``}:${e.message.content}`)),i=new Set(n.flatMap(e=>e.message.role===`toolResult`&&e.message.toolCallId?[e.message.toolCallId]:[]));for(let e of t)(e.message.role===`toolResult`&&e.message.toolCallId?i.has(e.message.toolCallId):r.has(`${e.message.role||``}:${e.message.content}`))||n.push({key:e.key,timestamp:new Date().toISOString(),message:e.message});return n}function Rx(e,t){let n=[];for(let t of e){let e=n.at(-1);t.groupable&&e?.grouped?e.rows.push(t):n.push({grouped:!!t.groupable,rows:[t]})}return n.map(e=>{let n=`${e.grouped?`group`:`rows`}-${e.rows[0]?.key}`;return!e.grouped||e.rows.length<4?(0,V.jsx)(w.Fragment,{children:e.rows.map(e=>(0,V.jsx)(w.Fragment,{children:e.content},e.key))},n):(0,V.jsxs)(`details`,{className:`tool-group ${e.rows.some(e=>e.error)?`error`:``}`,children:[(0,V.jsxs)(`summary`,{children:[(0,V.jsx)(`span`,{className:`details-mark`,"aria-hidden":`true`}),(0,V.jsx)(`span`,{className:`tool-group-icons`,"aria-hidden":`true`,children:e.rows.slice(0,4).map(e=>(0,V.jsx)(w.Fragment,{children:e.icon},e.key))}),(0,V.jsxs)(`span`,{children:[e.rows.length,` `,t]})]}),(0,V.jsx)(`div`,{className:`tool-group-body`,children:e.rows.map(e=>(0,V.jsx)(w.Fragment,{children:e.content},e.key))})]},n)})}function zx(e){let{t}=sn(),n=(0,w.useRef)(null),r=(0,w.useRef)(!0),i=(0,w.useRef)(void 0),a=(0,w.useRef)(e.scrollToBottom),o=(0,w.useMemo)(()=>Lx(e.snapshot,e.liveMessages),[e.snapshot,e.liveMessages]),s=e.snapshot.selectedSession,c=s?.id===e.snapshot.currentSessionId,{rows:l,turns:u}=(0,w.useMemo)(()=>{let n=new Map,r=new Set,i=new Set,a=e.snapshot.runtime.liveTools??[];o.forEach(({message:e})=>{e.role===`toolResult`&&e.toolCallId&&n.set(e.toolCallId,e),e.parts?.forEach(e=>{e.type===`toolCall`&&e.id&&Ku(e.name)&&i.add(e.id),e.type===`toolCall`&&e.id&&/^(subagent|workflow)/u.test(e.name)&&r.add(e.id)})});let l=[],u=0,d=-1;for(let e=o.length-1;e>=0;e--)if(o[e]?.message.role===`user`){d=e;break}let f=new Set,p=-1;return o.forEach(({message:e},t)=>{e.role===`user`?(p>=0&&f.add(p),p=-1):e.role===`assistant`&&e.content.trim()&&(p=t)}),p>=0&&f.add(p),{rows:o.flatMap((p,m)=>{let h=p.message;if(h.role===`custom`)return[{key:p.key,content:(0,V.jsx)(`article`,{className:`message-row assistant detail-only`,children:(0,V.jsx)(`div`,{className:`message-content`,children:(0,V.jsx)(Fx,{message:h})})})}];if(h.role===`user`)return u++,l.push({id:u,title:hl(h.content)}),[{key:p.key,content:(0,V.jsxs)(`article`,{className:`message-row user`,id:`turn-${u}`,children:[(0,V.jsx)(`div`,{className:`message-content`,children:(0,V.jsx)(`div`,{className:`message-body`,children:h.content})}),(0,V.jsx)(Px,{content:h.content,editable:c&&m===d,timestamp:p.timestamp,onResend:e.onResend})]})}];if(h.role===`assistant`){let t=[];return h.parts?.forEach((r,i)=>{if(r.type===`thinking`){let n=c&&e.liveRunning&&m===o.length-1;t.push({key:`${p.key}-thinking-${i}`,icon:(0,V.jsx)(ye,{}),content:(0,V.jsx)(`article`,{className:`message-row assistant detail-only`,children:(0,V.jsx)(`div`,{className:`message-content`,children:(0,V.jsx)(Nx,{body:r.text,active:n,level:n?e.snapshot.thinking?.level:void 0,start:e.thinkingStarts[p.key],duration:e.thinkingDurations[p.key]})})})})}if(r.type===`toolCall`){let e=r.id?a.find(e=>e.call.id===r.id):void 0,o=r.id?n.get(r.id):void 0,c=o??e?.result,l=Ku(r.name)?(0,V.jsx)(bx,{call:r,result:c,liveState:o?void 0:e?.state,cwd:s?.cwd},`${p.key}-${r.id||i}-evidence`):jx(r,c),u=Cx(r.arguments),d=Dx(r.name);t.push({key:`${p.key}-tool-${r.id||i}`,groupable:!l||Ku(r.name),error:!!c?.isError,icon:d,content:(0,V.jsx)(`article`,{className:`message-row assistant detail-only`,children:(0,V.jsx)(`div`,{className:`message-content`,children:l||(0,V.jsx)(kx,{body:r.name===`bash`&&typeof u.command==`string`?u.command:r.arguments,icon:d,name:r.name||`tool`,summary:Ox(r.name,u),status:Tx(c)})})})})}}),h.content.trim()&&t.push({key:`${p.key}-answer`,content:(0,V.jsxs)(`article`,{className:`message-row assistant`,children:[(0,V.jsx)(`div`,{className:`message-content`,children:(0,V.jsx)(_x,{children:h.content})}),f.has(m)&&(0,V.jsx)(Px,{content:h.content,editable:!1,timestamp:p.timestamp,onResend:e.onResend})]})}),t}if(h.role===`toolResult`){if(h.toolCallId&&i.has(h.toolCallId)||h.toolCallId&&r.has(h.toolCallId))return[];let e=h.toolName?.startsWith(`subagent`)?`subagent`:h.toolName?.startsWith(`workflow`)?`workflow`:null,n=Tx(h),a=h.toolName||`tool`,o=e===`subagent`?(0,V.jsx)(P,{},`${p.key}-icon`):e===`workflow`?(0,V.jsx)(Ie,{},`${p.key}-icon`):Dx(a),s=e?(0,V.jsx)(Ax,{family:e,title:`${a.replaceAll(`_`,` `)} · ${dl(h.content)}`,body:h.content,status:n},`${p.key}-card`):Ix(h.content)?(0,V.jsxs)(`div`,{className:`tool-line-empty`,children:[(0,V.jsx)(`span`,{className:`tool-icon`,children:o}),(0,V.jsx)(`span`,{className:`tool-name`,children:a}),(0,V.jsx)(`span`,{className:`tool-summary`,children:t(`noOutput`)}),(0,V.jsx)(Ex,{status:n})]},`${p.key}-empty`):(0,V.jsx)(kx,{body:h.content,icon:o,name:a,summary:dl(h.content),status:n},`${p.key}-evidence`);return[{key:p.key,groupable:!e,error:n===`error`,icon:o,content:(0,V.jsx)(`article`,{className:`message-row assistant detail-only`,children:(0,V.jsx)(`div`,{className:`message-content`,children:s})})}]}return[]}),turns:l}},[c,o,e.liveRunning,e.onResend,e.snapshot.thinking?.level,e.thinkingDurations,e.thinkingStarts,e.snapshot.runtime.liveTools,s?.cwd,t]);(0,w.useLayoutEffect)(()=>{let t=n.current;if(!t||!s)return;let o=i.current!==s.path,c=a.current!==e.scrollToBottom;a.current=e.scrollToBottom,(o||c||r.current)&&(r.current=!0,typeof t.scrollTo==`function`?t.scrollTo({top:t.scrollHeight,behavior:`instant`}):t.scrollTop=t.scrollHeight),i.current=s.path},[s,o,e.scrollToBottom]);let d=c&&(e.snapshot.runtime.status===`running`||e.liveRunning),f=e.liveRetry?`${t(`modelRetrying`)} (${e.liveRetry.attempt}/${e.liveRetry.maxAttempts})`:e.livePhase===`preparing`?t(`modelPreparing`):t(`modelRunning`);return(0,V.jsxs)(xx,{sessionId:s?.id,children:[(0,V.jsxs)(`div`,{ref:n,className:`conversation`,role:`log`,"aria-label":`Conversation`,onScroll:e=>{let t=e.currentTarget;r.current=t.scrollTop+t.clientHeight>=t.scrollHeight-48},children:[Rx(l,t(`stepsLabel`)),d&&(0,V.jsxs)(`div`,{className:`conversation-running`,role:`status`,"aria-live":`polite`,children:[(0,V.jsx)(`span`,{className:`conversation-running-dot`}),(0,V.jsx)(`span`,{children:f})]})]}),u.length>1&&(0,V.jsx)(`nav`,{className:`turn-rail`,"aria-label":t(`conversationTurns`),children:u.map(e=>(0,V.jsxs)(`button`,{className:`turn-tick`,type:`button`,title:e.title,onClick:()=>document.getElementById(`turn-${e.id}`)?.scrollIntoView({block:`start`,behavior:`smooth`}),children:[(0,V.jsx)(`span`,{className:`turn-tick-mark`}),(0,V.jsx)(`span`,{className:`turn-tick-label`,children:e.title})]},e.id))})]})}function Bx(e,t){return t(`workspaceChangesStatus_${e}`)}function Vx({sessionId:e,cwd:t}){let{t:n}=sn(),r=(0,w.useMemo)(()=>new ed,[]),[i,a]=(0,w.useState)(0),[o,s]=(0,w.useState)(null),[c,l]=(0,w.useState)(null),[u,d]=(0,w.useState)(null);(0,w.useEffect)(()=>{let i=new AbortController;return s(null),l(null),(async()=>{try{let a=await r.workspaceChanges(e,i.signal);if(a.sessionId!==e||a.cwd!==t)throw Error(n(`workspaceChangesChanged`));if(i.signal.aborted)return;s(a),d(e=>e&&a.files.some(t=>t.path===e)?e:a.files[0]?.path??null)}catch(e){i.signal.aborted||l(e instanceof Error?e.message:n(`workspaceChangesUnavailable`))}})(),()=>i.abort()},[r,t,i,e,n]);let f=o?.files.find(e=>e.path===u),p=o?.baseline,m=o===null&&c===null;return(0,V.jsxs)(`section`,{className:`workspace-changes`,"aria-label":n(`workspaceChanges`),children:[(0,V.jsxs)(`header`,{className:`workspace-changes-heading`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h2`,{children:n(`workspaceChangesHeading`)}),(0,V.jsx)(`p`,{className:`workspace-changes-subtitle`,children:t})]}),(0,V.jsx)(`button`,{type:`button`,className:`icon-button`,"aria-label":n(`workspaceChangesRefresh`),title:n(`workspaceChangesRefresh`),disabled:m,onClick:()=>a(e=>e+1),children:(0,V.jsx)(Ee,{})})]}),m&&(0,V.jsx)(`p`,{role:`status`,children:n(`workspaceChangesLoading`)}),c&&(0,V.jsx)(`p`,{className:`workspace-changes-warning`,role:`alert`,children:c}),o&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`dl`,{className:`workspace-changes-meta`,children:[(0,V.jsx)(`dt`,{children:n(`workspaceChangesWorkspace`)}),(0,V.jsx)(`dd`,{children:o.repositoryRoot??o.cwd}),(0,V.jsx)(`dt`,{children:n(`workspaceChangesComparison`)}),(0,V.jsx)(`dd`,{children:p?.kind===`head`?n(`workspaceChangesHead`,{commit:p.commit}):p?.kind===`empty-tree`?n(`workspaceChangesEmptyTree`):n(`unknownState`)})]}),o.status===`clean`&&(0,V.jsx)(`p`,{role:`status`,children:n(`workspaceChangesClean`)}),o.status===`not-repository`&&(0,V.jsx)(`p`,{role:`status`,children:n(`workspaceChangesNotRepository`)}),o.status===`unavailable`&&(0,V.jsx)(`p`,{className:`workspace-changes-warning`,role:`alert`,children:o.error??n(`workspaceChangesUnavailable`)}),o.truncation.truncated&&(0,V.jsxs)(`p`,{className:`workspace-changes-warning`,role:`status`,children:[o.truncation.statusTruncated?n(`workspaceChangesStatusTruncated`):n(`workspaceChangesTruncated`),o.truncation.filesOmitted>0&&` ${n(`workspaceChangesFilesOmitted`,{count:o.truncation.filesOmitted})}`,o.truncation.diffsTruncated>0&&` ${n(`workspaceChangesDiffsTruncated`,{count:o.truncation.diffsTruncated})}`]}),o.files.length>0?(0,V.jsxs)(`div`,{className:`workspace-changes-body`,children:[(0,V.jsx)(`nav`,{className:`workspace-changes-list`,"aria-label":n(`workspaceChangesFiles`),children:o.files.map(e=>(0,V.jsxs)(`button`,{type:`button`,className:`workspace-change-file`,"aria-pressed":u===e.path,onClick:()=>d(e.path),children:[(0,V.jsxs)(`span`,{className:`workspace-change-file-main`,children:[(0,V.jsx)(`strong`,{children:e.path}),e.previousPath&&(0,V.jsxs)(`small`,{children:[`← `,e.previousPath]})]}),(0,V.jsxs)(`span`,{className:`workspace-change-file-meta`,children:[(0,V.jsx)(`span`,{children:Bx(e.status,n)}),(0,V.jsx)(`span`,{children:e.binary?n(`workspaceChangesBinaryShort`):`+${e.additions??`?`} -${e.deletions??`?`}`})]})]},e.path))}),(0,V.jsx)(`section`,{className:`workspace-change-detail`,"aria-label":n(`workspaceChangesDiff`),children:f?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`header`,{children:(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h3`,{children:f.path}),(0,V.jsxs)(`p`,{children:[Bx(f.status,n),f.previousPath?` · ${f.previousPath}`:``]})]})}),f.diffStatus===`binary`?(0,V.jsx)(`p`,{children:n(`workspaceChangesBinary`)}):f.diffStatus===`unavailable`?(0,V.jsx)(`p`,{className:`workspace-changes-warning`,children:f.error??n(`workspaceChangesDiffUnavailable`)}):(0,V.jsx)(`pre`,{children:f.diff||n(`workspaceChangesNoDiff`)}),f.truncated&&(0,V.jsx)(`p`,{className:`workspace-changes-warning`,children:n(`workspaceChangesDiffTruncated`)})]}):(0,V.jsx)(`p`,{children:n(`workspaceChangesSelectFile`)})})]}):o.status===`changed`&&(0,V.jsx)(`p`,{className:`workspace-changes-warning`,role:`status`,children:n(`workspaceChangesNoFiles`)}),(0,V.jsx)(`p`,{className:`workspace-changes-updated`,children:n(`workspaceChangesCheckedAt`,{time:new Date(o.checkedAt).toLocaleTimeString()})})]})]})}var Hx={en:{translation:{conversationView:`Conversation view`,chatView:`Chat`,trajectory:`Trajectory`,trajectoryScope:`Recorded Session messages in order, not execution durations or the complete model request.`,trajectoryRunning:`Work is active. This view updates as saved records arrive; in-flight text is available in Chat.`,trajectoryTruncated:`Loaded history is partial: {{entries}} entries omitted, {{parts}} parts omitted, {{messages}} messages truncated.`,trajectoryEmpty:`No saved records yet.`,trajectoryOverview:`Record sequence overview`,trajectoryEarlier:`Show earlier records ({{count}} remaining in loaded history)`,trajectoryDetails:`Record details`,trajectoryRecordedAt:`Record timestamp`,trajectoryEvidenceTruncated:`This evidence was truncated in the Session projection.`,trajectoryArguments:`Tool arguments`,trajectoryRecordedContent:`Recorded content`,trajectoryThinking:`Recorded model reasoning`,trajectoryOutput:`Tool result`,trajectoryMissingResult:`No unambiguous result is included in the loaded records. This does not imply the tool is still running.`,trajectoryStructured:`Structured result`,trajectoryEventOnly:`Only this event’s type and timestamp are available.`,trajectory_user:`User prompt`,trajectory_assistant:`Assistant`,trajectory_call:`Tool call`,trajectory_result:`Unpaired result`,trajectory_event:`Session event`,trajectory_returned:`Tool returned successfully; background work may still be active.`,trajectory_error:`Tool returned an error`,trajectory_unknown:`Outcome not established`,workspaceChanges:`Changes`,workspaceChangesHeading:`Workspace changes`,workspaceChangesRefresh:`Refresh workspace changes`,workspaceChangesLoading:`Reading workspace changes…`,workspaceChangesChanged:`The active workspace changed. Refresh the view.`,workspaceChangesUnavailable:`Workspace changes are unavailable.`,workspaceChangesWorkspace:`Workspace`,workspaceChangesComparison:`Comparison`,workspaceChangesHead:`HEAD {{commit}}`,workspaceChangesEmptyTree:`Empty tree (no HEAD)`,workspaceChangesClean:`Working tree is clean.`,workspaceChangesNotRepository:`This workspace is not a Git repository.`,workspaceChangesStatusTruncated:`The Git status list exceeded the display limit; the list may be incomplete.`,workspaceChangesTruncated:`Some workspace change details are truncated to keep this view bounded.`,workspaceChangesFilesOmitted:`{{count}} files omitted.`,workspaceChangesDiffsTruncated:`{{count}} diffs truncated.`,workspaceChangesFiles:`Changed files`,workspaceChangesDiff:`File diff`,workspaceChangesBinaryShort:`binary`,workspaceChangesBinary:`Binary file; no textual diff is available.`,workspaceChangesDiffUnavailable:`This diff could not be read. Refresh to try again.`,workspaceChangesNoDiff:`No textual diff is available for this file.`,workspaceChangesDiffTruncated:`This file diff is truncated; refresh cannot expand the bounded view.`,workspaceChangesNoFiles:`Git reported changes, but no file details are available.`,workspaceChangesSelectFile:`Select a file to inspect its diff.`,workspaceChangesCheckedAt:`Checked at {{time}} · refresh for the latest state`,workspaceChangesStatus_added:`Added`,workspaceChangesStatus_copied:`Copied`,workspaceChangesStatus_deleted:`Deleted`,workspaceChangesStatus_modified:`Modified`,workspaceChangesStatus_renamed:`Renamed`,workspaceChangesStatus_unmerged:`Unmerged`,workspaceChangesStatus_untracked:`Untracked`,runtimeStatus:`Runtime status`,refreshStatus:`Refresh status`,terminalDetails:`Terminal details`,inspectionChanged:`The active session changed. Reopen this panel.`,inspectionUnavailable:`Details are unavailable.`,inspectionLoading:`Loading status…`,thinkingUnavailable:`Thinking state is unavailable.`,trustUnavailable:`Project trust status is unavailable.`,authUnavailable:`Provider status is unavailable.`,executionState:`State`,terminalCommand:`Command`,terminalDirectory:`Directory`,startedAt:`Started`,exitCode:`Exit code`,detailTruncated:`Some details are shortened to keep this view bounded.`,standardOutput:`Standard output`,standardError:`Standard error`,outputTruncated:`{{count}} bytes omitted from this output view.`,outputRecovery:`The runtime reports a retained log. This view shows only a bounded excerpt.`,modelAndThinking:`Model and reasoning`,selectedModel:`Current model`,thinkingLevel:`Thinking level`,availableThinking:`Available levels`,unknownState:`Unknown`,projectTrust:`Project trust`,trust_trusted:`This session trusts the workspace.`,trust_untrusted:`Trust for this workspace has been denied.`,trust_restricted:`Project resources are restricted pending a trust decision.`,trust_unknown:`Trust state is not available.`,trustRefreshNeeded:`The saved decision and active session differ. Refresh the session through Pi to apply it.`,providerAvailability:`Provider credentials`,credentialConfigured:`Configured`,credentialMissing:`Not configured`,noProviders:`No providers reported.`,providersBounded:`This provider list is truncated.`,authNotVerified:`Configured credentials do not guarantee a successful model request.`,configurationViaPi:`Read-only status. Manage model credentials and trust through Pi; manage OpenPI options with /openpi-setup.`,statusCaptured:`Snapshot at {{time}} · refresh for the latest state`,conversationViews:`Conversation views`,currentConversations:`Current`,archivedConversations:`Archived`,restoreConversation:`Restore conversation`,restoringConversation:`Restoring…`,loadedArchives:`Archived conversations in the loaded history`,loadedHistoryBounded:`{{sessions}} more sessions and {{workspaces}} workspace summaries are not loaded. Search covers the loaded list only.`,noLoadedArchives:`No archived conversations in this loaded list.`,restoreFailed:`Could not confirm restoration. Refresh and try again.`,execution_running:`Running`,execution_done:`Completed`,execution_killed:`Stopped`,execution_timed_out:`Timed out`,execution_failed:`Failed`,execution_uncertain:`Uncertain`,activeOnlyHint:`Only the active Web session accepts messages.`,acceptedHint:`Message accepted by OpenPI Web.`,promptAdmissionUnknown:`It is unclear whether the last message was received.`,promptAdmissionUnknownDetail:`Review the refreshed Session history and runtime status before deciding. Sending as a new message may create a duplicate message.`,promptAdmissionCheckingDetail:`Checking the latest Session history and runtime status before resend options are enabled.`,promptAdmissionVerificationFailedDetail:`Could not refresh the latest Session history and runtime status. Check again before sending as a new message.`,abandonAdmission:`Don't resend for now`,retryAdmissionCheck:`Check again`,sendAsNew:`Send as new message`,sendingAsNew:`Sending…`,stopTurn:`Stop current turn`,stoppingTurn:`Stopping current turn…`,stoppedTurn:`Current turn stopped.`,pendingFollowUpsHint:`{{count}} messages queued`,addWorkspace:`Add workspace`,addWorkspaceMenu:`Add workspace...`,archiveConversation:`Archive conversation`,cancel:`Cancel`,chooseWorkspaceHint:`Choose a workspace and describe the work`,close:`Close`,closeSearch:`Close search`,collapseSidebar:`Collapse sidebar`,confirmEdit:`OK`,connected:`Connected`,connecting:`Connecting`,conversationName:`Conversation name`,conversationOptions:`Conversation options`,conversationTurns:`Conversation turns`,commands:`Slash commands`,commandsLoading:`Loading commands...`,commandsUnavailable:`Commands are temporarily unavailable.`,commandsNoMatch:`No matching commands.`,commandsBounded:`{{count}} more commands are not shown.`,commandSessionRequired:`Commands require an active Web session.`,commandUnsupported:`Not supported in Web`,commandAcceptsArguments:`Accepts arguments`,commandSource_extension:`Extension`,commandSource_prompt:`Prompt template`,commandSource_skill:`Skill`,copiedMessage:`Copied`,copyMessage:`Copy message`,copyFailed:`Copy failed. Please select and copy the message manually.`,deleteWorkspace:`Delete workspace`,describeTask:`Describe a task`,editMessage:`Edit message`,enterHint:`Enter to send, Shift+Enter for a new line.`,expandSidebar:`Expand sidebar`,importWorkspace:`Import workspace`,loadingModels:`Loading models...`,modelsTruncated:`Showing {{shown}} models. {{omitted}} more are available; search to find them.`,searchModels:`Search available models`,searchModelsPlaceholder:`Search provider, model name, or ID...`,searchingModels:`Searching models...`,noMatchingModels:`No matching models`,modelSearchFailed:`Could not search models. Try again.`,modelSearchTruncated:`{{omitted}} matching models are not shown.`,modelPreparing:`Preparing task...`,modelRetrying:`Retrying model request...`,modelRunning:`Working...`,newSession:`New session`,noConversations:`No conversations yet`,noMatching:`No matching conversations`,noModels:`No models available`,noOutput:`no output`,noSessions:`No sessions`,openSidebar:`Open sidebar`,promptMessage:`Send a message to the active Web session`,promptReadonly:`A non-active session cannot receive prompts`,promptStart:`Choose a workspace to begin.`,promptTask:`Describe what you want to build.`,queuedHint:`The message will be queued after the current turn.`,reconnecting:`Reconnecting`,removeWorkspace:`Remove from sidebar`,renameConversation:`Rename conversation`,renameWorkspace:`Rename workspace`,save:`Save`,searchConversations:`Search conversations`,searchPlaceholder:`Search conversations...`,selectModel:`Select model`,selectThinking:`Select thinking level`,selectWorkspace:`Select workspace`,send:`Send`,stepsLabel:`steps`,switchingSession:`Switching session...`,thinkingActive:`Thinking...`,thinkingActiveLevel:`Thinking ({{level}})...`,thinkingDone:`Thinking`,thinkingDraftHint:`Choose a workspace and create a session first.`,thinkingInactiveHint:`Only the active session can change its thinking level.`,thinkingLevelMismatch:`The confirmed thinking level is not offered by the current model. Choosing another level will correct it.`,thinkingLockedRunning:`Stop the current turn before changing the thinking level.`,thinkingModelPendingHint:`Wait for the model change to finish.`,thinkingNotConfirmed:`Thinking level was not confirmed. Please try again.`,thinkingPendingHint:`Applying the thinking level...`,thinkingUnsupported:`Thinking is unavailable`,thinkingUnsupportedHint:`No model is selected, or the current model does not support thinking.`,unavailable:`Unavailable`,ungrouped:`Ungrouped`,untitledSession:`New session`,workspaceDeleteConfirm:`The folder and conversation records will be kept. Its conversations will move to Ungrouped.`,workspaceName:`Workspace name`,workspaces:`Workspaces`}},zh:{translation:{conversationView:`会话视图`,chatView:`对话`,trajectory:`执行轨迹`,trajectoryScope:`按记录顺序展示会话消息,不表示执行耗时,也不是完整模型请求。`,trajectoryRunning:`任务仍在进行。已保存记录到达后自动更新;实时生成内容可在“对话”中查看。`,trajectoryTruncated:`当前历史不完整:省略 {{entries}} 条记录、{{parts}} 个内容片段,{{messages}} 条消息被截断。`,trajectoryEmpty:`尚无已保存记录。`,trajectoryOverview:`记录顺序总览`,trajectoryEarlier:`显示更早记录(已加载历史中还有 {{count}} 条)`,trajectoryDetails:`记录详情`,trajectoryRecordedAt:`记录时间`,trajectoryEvidenceTruncated:`此证据在会话投影中已被截断。`,trajectoryArguments:`工具参数`,trajectoryRecordedContent:`已记录内容`,trajectoryThinking:`模型返回的推理内容`,trajectoryOutput:`工具结果`,trajectoryMissingResult:`当前记录中没有可明确配对的结果。这不表示工具仍在运行。`,trajectoryStructured:`结构化结果`,trajectoryEventOnly:`当前仅提供此事件的类型和记录时间。`,trajectory_user:`用户 Prompt`,trajectory_assistant:`模型消息`,trajectory_call:`工具调用`,trajectory_result:`未配对结果`,trajectory_event:`会话事件`,trajectory_returned:`工具已成功返回;其启动的后台任务可能仍在进行。`,trajectory_error:`工具返回错误`,trajectory_unknown:`尚无法确定结果`,workspaceChanges:`改动`,workspaceChangesHeading:`工作区改动`,workspaceChangesRefresh:`刷新工作区改动`,workspaceChangesLoading:`正在读取工作区改动…`,workspaceChangesChanged:`当前工作区已变化,请刷新此视图。`,workspaceChangesUnavailable:`暂时无法读取工作区改动。`,workspaceChangesWorkspace:`工作区`,workspaceChangesComparison:`比较基准`,workspaceChangesHead:`HEAD {{commit}}`,workspaceChangesEmptyTree:`空树(尚无 HEAD)`,workspaceChangesClean:`工作区没有改动。`,workspaceChangesNotRepository:`当前工作区不是 Git 仓库。`,workspaceChangesStatusTruncated:`Git 状态列表超过显示上限,当前列表可能不完整。`,workspaceChangesTruncated:`部分工作区改动已截断,以限制视图大小。`,workspaceChangesFilesOmitted:`省略 {{count}} 个文件。`,workspaceChangesDiffsTruncated:`{{count}} 个 Diff 已截断。`,workspaceChangesFiles:`改动文件`,workspaceChangesDiff:`文件 Diff`,workspaceChangesBinaryShort:`二进制`,workspaceChangesBinary:`二进制文件,没有可显示的文本 Diff。`,workspaceChangesDiffUnavailable:`暂时无法读取此 Diff,请刷新重试。`,workspaceChangesNoDiff:`此文件没有可显示的文本 Diff。`,workspaceChangesDiffTruncated:`此文件 Diff 已截断;刷新也不会突破视图上限。`,workspaceChangesNoFiles:`Git 报告存在改动,但暂时无法提供文件详情。`,workspaceChangesSelectFile:`请选择一个文件查看 Diff。`,workspaceChangesCheckedAt:`采集于 {{time}} · 刷新查看最新状态`,workspaceChangesStatus_added:`新增`,workspaceChangesStatus_copied:`复制`,workspaceChangesStatus_deleted:`删除`,workspaceChangesStatus_modified:`修改`,workspaceChangesStatus_renamed:`重命名`,workspaceChangesStatus_unmerged:`未合并`,workspaceChangesStatus_untracked:`未跟踪`,runtimeStatus:`运行状态`,refreshStatus:`刷新状态`,terminalDetails:`终端详情`,inspectionChanged:`当前会话已切换,请重新打开详情。`,inspectionUnavailable:`暂时无法读取详情。`,inspectionLoading:`正在读取状态…`,thinkingUnavailable:`暂时无法读取思考等级。`,trustUnavailable:`暂时无法读取项目信任状态。`,authUnavailable:`暂时无法读取服务商状态。`,executionState:`状态`,terminalCommand:`命令`,terminalDirectory:`目录`,startedAt:`启动时间`,exitCode:`退出码`,detailTruncated:`部分详情已截断,以限制页面加载量。`,standardOutput:`标准输出`,standardError:`错误输出`,outputTruncated:`此输出视图省略了 {{count}} 字节。`,outputRecovery:`运行时报告已保留日志;此处仅显示有大小限制的片段。`,modelAndThinking:`模型与思考`,selectedModel:`当前模型`,thinkingLevel:`思考等级`,availableThinking:`支持的等级`,unknownState:`未知`,projectTrust:`项目信任`,trust_trusted:`当前会话信任此工作区。`,trust_untrusted:`此工作区的信任已被拒绝。`,trust_restricted:`项目资源受到限制,等待信任决定。`,trust_unknown:`尚无法确定信任状态。`,trustRefreshNeeded:`保存的信任决定与当前会话不同,请通过 Pi 刷新会话后生效。`,providerAvailability:`服务商凭据`,credentialConfigured:`已配置`,credentialMissing:`未配置`,noProviders:`未发现服务商。`,providersBounded:`服务商列表已截断。`,authNotVerified:`凭据已配置不代表模型请求一定成功。`,configurationViaPi:`此处为只读状态。模型凭据与信任由 Pi 管理,OpenPI 选项通过 /openpi-setup 配置。`,statusCaptured:`采集于 {{time}} · 刷新查看最新状态`,conversationViews:`会话视图`,currentConversations:`当前`,archivedConversations:`已归档`,restoreConversation:`恢复会话`,restoringConversation:`正在恢复…`,loadedArchives:`已加载历史中的归档会话`,loadedHistoryBounded:`另有 {{sessions}} 个会话和 {{workspaces}} 个工作区摘要未加载。搜索仅覆盖已加载列表。`,noLoadedArchives:`已加载列表中没有归档会话。`,restoreFailed:`暂时无法确认恢复结果,请刷新后重试。`,execution_running:`运行中`,execution_done:`已完成`,execution_killed:`已停止`,execution_timed_out:`已超时`,execution_failed:`失败`,execution_uncertain:`状态不确定`,activeOnlyHint:`只有当前 Web 会话可以接收消息。`,stopTurn:`停止当前轮次`,stoppingTurn:`正在停止当前轮次…`,stoppedTurn:`当前轮次已停止。`,pendingFollowUpsHint:`{{count}} 条消息正在排队`,acceptedHint:`OpenPI Web 已接收消息。`,promptAdmissionUnknown:`无法确认上次发送的消息是否已被接收。`,promptAdmissionUnknownDetail:`请先核对已刷新的会话历史和运行状态,再决定下一步。作为新消息发送可能产生重复消息。`,promptAdmissionCheckingDetail:`正在核对最新的会话历史和运行状态,核对完成前不能作为新消息发送。`,promptAdmissionVerificationFailedDetail:`暂时无法刷新最新的会话历史和运行状态。请重新核对后再决定是否作为新消息发送。`,abandonAdmission:`暂不重新发送`,retryAdmissionCheck:`重新核对`,sendAsNew:`作为新消息发送`,sendingAsNew:`正在发送…`,addWorkspace:`添加工作区`,addWorkspaceMenu:`添加工作区...`,archiveConversation:`归档会话`,cancel:`取消`,chooseWorkspaceHint:`选择工作区并描述任务`,close:`关闭`,closeSearch:`关闭搜索`,collapseSidebar:`收起侧边栏`,confirmEdit:`确定`,connected:`已连接`,connecting:`正在连接`,conversationName:`会话名称`,conversationOptions:`会话选项`,conversationTurns:`会话轮次`,commands:`斜杠命令`,commandsLoading:`正在加载命令…`,commandsUnavailable:`暂时无法读取命令。`,commandsNoMatch:`没有匹配的命令。`,commandsBounded:`另有 {{count}} 个命令未显示。`,commandSessionRequired:`命令仅在已创建的 Web 会话中可用。`,commandUnsupported:`当前 Web 不支持`,commandAcceptsArguments:`可输入参数`,commandSource_extension:`扩展命令`,commandSource_prompt:`提示词模板`,commandSource_skill:`技能`,copiedMessage:`已复制`,copyMessage:`复制消息`,copyFailed:`复制失败,请选中消息后手动复制。`,deleteWorkspace:`删除工作区`,describeTask:`描述任务`,editMessage:`编辑消息`,enterHint:`按 Enter 发送,Shift+Enter 换行。`,expandSidebar:`展开侧边栏`,importWorkspace:`导入工作区`,loadingModels:`正在加载模型...`,modelsTruncated:`当前显示 {{shown}} 个模型,还有 {{omitted}} 个可用;搜索即可查找。`,searchModels:`搜索可用模型`,searchModelsPlaceholder:`搜索服务商、模型名称或 ID...`,searchingModels:`正在搜索模型...`,noMatchingModels:`没有匹配的模型`,modelSearchFailed:`模型搜索失败,请重试。`,modelSearchTruncated:`还有 {{omitted}} 个匹配模型未显示。`,modelPreparing:`正在准备任务...`,modelRetrying:`模型请求重试中...`,modelRunning:`正在运行...`,newSession:`新建会话`,noConversations:`暂无对话`,noMatching:`没有匹配的会话`,noModels:`没有可用模型`,noOutput:`无输出`,noSessions:`暂无会话`,openSidebar:`打开侧边栏`,promptMessage:`向当前 Web 会话发送消息`,promptReadonly:`非当前会话不能接收消息`,promptStart:`选择一个工作区开始`,promptTask:`描述你想要构建的任务`,queuedHint:`当前回合结束后将发送消息。`,reconnecting:`正在重连`,removeWorkspace:`从侧边栏移除`,renameConversation:`重命名会话`,renameWorkspace:`重命名工作区`,save:`保存`,searchConversations:`搜索会话`,searchPlaceholder:`搜索会话...`,selectModel:`选择模型`,selectThinking:`选择思考等级`,selectWorkspace:`选择工作区`,send:`发送`,stepsLabel:`个步骤`,switchingSession:`正在切换会话...`,thinkingActive:`思考中...`,thinkingActiveLevel:`思考中({{level}})...`,thinkingDone:`思考过程`,thinkingDraftHint:`请先选择工作区并创建会话。`,thinkingInactiveHint:`只有当前会话可以更改思考等级。`,thinkingLevelMismatch:`当前确认的思考等级不在此模型支持范围内;选择其它等级即可修正。`,thinkingLockedRunning:`请先停止当前轮次,再更改思考等级。`,thinkingModelPendingHint:`请等待模型切换完成。`,thinkingNotConfirmed:`思考等级未获确认,请重试。`,thinkingPendingHint:`正在应用思考等级...`,thinkingUnsupported:`暂不支持思考`,thinkingUnsupportedHint:`尚未选择模型,或当前模型不支持思考。`,unavailable:`不可用`,ungrouped:`未分组`,untitledSession:`新会话`,workspaceDeleteConfirm:`文件夹与会话记录会保留,其中的会话会被放到“未分组”;再次打开此目录时将是一个干净的工作区。`,workspaceName:`工作区名称`,workspaces:`工作区`}}},Ux=navigator.language?.toLowerCase().startsWith(`zh`)?`zh`:`en`;Pt.use($t).init({fallbackLng:`en`,initAsync:!1,interpolation:{escapeValue:!1},lng:Ux,resources:Hx}),document.documentElement.lang=Ux===`zh`?`zh-CN`:`en`;var Wx=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}},Gx=10,Kx=13,qx=32,Jx=6;function Yx(e){if(typeof e==`function`)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{maxBufferSize:t,onComment:n,onError:r,onEvent:i,onId:a,onRetry:o}=e,s=[],c=0,l=!0,u,d=``,f=0,p,m=!1,h=!1,g=!1;function _(e){if(m)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(l&&(l=!1,e.charCodeAt(0)===65279?e=e.slice(1):e.charCodeAt(0)===239&&e.charCodeAt(1)===187&&e.charCodeAt(2)===191&&(e=e.slice(3))),(h||g)&&(e=v(e),!e))return;if(!s.length){let t=S(e);t!==``&&y(t),x();return}if(e.indexOf(` +`)===-1&&e.indexOf(`\r`)===-1){if(c0&&i?.({id:u,event:p,data:d}),u=void 0,d=``,f=0,p=void 0,t=n+1,n=e.indexOf(` -`,t);continue}let r=e.charCodeAt(t);if(Jx(e,t,r)){let r=e.charCodeAt(t+5)===Gx?t+6:t+5,o=e.slice(r,n);if(f===0&&e.charCodeAt(n+1)===Ux){u!==void 0&&a?.(u),i?.({id:u,event:p,data:o}),u=void 0,d=``,p=void 0,t=n+2,n=e.indexOf(` -`,t);continue}d=f===0?o:`${d}\n${o}`,f++}else Yx(e,t,r)?p=e.slice(e.charCodeAt(t+6)===Gx?t+7:t+6,n)||void 0:C(e,t,n);t=n+1,n=e.indexOf(` +`,t);continue}let r=e.charCodeAt(t);if(Xx(e,t,r)){let r=e.charCodeAt(t+5)===qx?t+6:t+5,o=e.slice(r,n);if(f===0&&e.charCodeAt(n+1)===Gx){u!==void 0&&a?.(u),i?.({id:u,event:p,data:o}),u=void 0,d=``,p=void 0,t=n+2,n=e.indexOf(` +`,t);continue}d=f===0?o:`${d}\n${o}`,f++}else Zx(e,t,r)?p=e.slice(e.charCodeAt(t+6)===qx?t+7:t+6,n)||void 0:C(e,t,n);t=n+1,n=e.indexOf(` `,t)}return e.slice(t)}for(;t20?`${e.slice(0,20)}…`:e}"`,{type:`unknown-field`,field:e,value:t,line:n}))}}function T(){u!==void 0&&a?.(u),f>0&&i?.({id:u,event:p,data:d}),u=void 0,d=``,f=0,p=void 0}function E(e={}){if(e.consume&&s.length>0){let e=s.join(``);C(e,0,e.length)}l=!0,u=void 0,d=``,f=0,p=void 0,s.length=0,c=0,m=!1,h=!1,g=!1}return{feed:_,reset:E}}function Jx(e,t,n){return n===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function Yx(e,t,n){return n===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}function Xx(e,t){let n=1;for(;nt.abort();e.signal.addEventListener(`abort`,n,{once:!0}),e.signal.aborted&&n();let r=window.setTimeout(n,45e3),i=await fetch(`/events?cursor=${e.cursor}`,{headers:e.client.headers(),signal:t.signal}).finally(()=>{window.clearTimeout(r),e.signal.removeEventListener(`abort`,n)});if(i.status===409)throw new Zx(`event replay expired`);if(!i.ok||!i.body)throw Error(`event connection failed`);e.onConnected();let a=e.cursor,o=0,s=qx({onComment(t){t.trim()===`heartbeat`&&++o>=4&&(o=0,e.onHeartbeat?.())},onEvent(t){let n=JSON.parse(t.data);if(!Number.isSafeInteger(n.sequence))throw new Zx(`invalid event cursor`);if(!(n.sequence<=a)){if(n.sequence!==a+1)throw new Zx(`event cursor gap`);if(a=n.sequence,n.type===`state_invalidated`)throw new Zx(`state invalidated`);e.onEvent(n)}}}),c=i.body.getReader(),l=new TextDecoder;try{for(;!e.signal.aborted;){let t,n,r=c.read(),i=new Promise((r,i)=>{n=()=>i(Error(`event stream aborted`)),e.signal.addEventListener(`abort`,n,{once:!0}),e.signal.aborted&&n(),t=window.setTimeout(()=>i(Error(`event stream stalled`)),45e3)}),{done:a,value:o}=await Promise.race([r,i]).finally(()=>{window.clearTimeout(t),n&&e.signal.removeEventListener(`abort`,n)});if(a)throw Error(`event connection closed`);s.feed(l.decode(o,{stream:!0}))}}finally{await c.cancel().catch(()=>void 0)}}function $x(e,t,n){if([`session_start`,`session_switched`,`session_created`].includes(t))return[];if([`agent_settled`,`turn_settled`].includes(t))return e.map(e=>e.state===`running`?{...e,state:`unknown`}:e);if(!t.startsWith(`tool_execution_`))return e;let r=n.toolCallId;if(typeof r!=`string`||r.length>500)return e;let i=e.find(e=>e.call.id===r);if(i&&i.state!==`running`&&(i.state!==`unknown`||t!==`tool_execution_end`))return e;let a=Uu(n.call),o=a.type===`toolCall`&&typeof a.name==`string`&&typeof a.arguments==`string`?a:i?.call;if(!o||o.evidenceTruncated&&o.id?.includes(`[truncated]`))return e;let s=Uu(n.result),c={call:o,result:typeof s.content==`string`?s:i?.result,state:t===`tool_execution_end`?n.isError===!0?`failed`:`returned`:`running`},l=[...e.filter(e=>e.call.id!==r),c].slice(-32);for(;l.length>0&&new TextEncoder().encode(JSON.stringify(l)).byteLength>524288;)l.shift();return l}var eS=`openpi.collapsed-workspaces`,tS=`openpi.sidebar-collapsed`,nS=new Set([`agent_start`,`turn_started`,`turn_settled`,`agent_settled`,`prompt_settled`,`message_end`,`tool_execution_end`,`session_start`,`session_switched`,`session_progress`,`prompt_failed`,`model_select`,`workspace_imported`,`workspace_removed`,`workspace_renamed`,`session_renamed`,`session_archived`,`session_unarchived`,`session_created`,`prompt_accepted`,`runtime_changed`]);function rS(e){try{let t=JSON.parse(window.sessionStorage.getItem(e)||`[]`);return new Set(Array.isArray(t)?t.filter(e=>typeof e==`string`):[])}catch{return new Set}}function iS(e){try{return window.sessionStorage.getItem(e)===`true`}catch{return!1}}function aS(e,t){try{window.sessionStorage.setItem(e,JSON.stringify(t))}catch{}}function oS(e,t){return t.aborted?Promise.resolve():new Promise(n=>{let r=()=>{window.clearTimeout(i),t.removeEventListener(`abort`,r),n()},i=window.setTimeout(r,e);t.addEventListener(`abort`,r,{once:!0})})}function sS(e=new ed,t={}){let n=t.consumeEvents??Qx,r=0,i=0,a=0,o=null,s=null,c=null,l=null,u=Promise.resolve(),d=null,f=!1,p=!1,m=null,h=null,g=0,_=null,v=0,y=!1,b=0,x=0,S=null,C=-1,w=null,T=0,E=new Set,D=new Set,O=(e,t)=>{if(typeof t==`string`)for(e.add(t);e.size>32;){let t=e.values().next().value;t&&e.delete(t)}},k=()=>({activeTurn:null,turnCancellationPending:!1,turnTerminalStatus:null,pendingFollowUpsReceipt:null,liveMessages:[],liveRunning:!1,livePhase:`idle`,liveRetry:null,thinkingStarts:{},thinkingDurations:{}}),A=()=>(g++,h?.abort(),h=null,{modelSearch:{query:``,status:`idle`,models:[],totalMatches:0,matchesOmitted:0,error:null}}),j=()=>({sessionId:null,status:`idle`,commands:[],totalAvailable:0,commandsOmitted:0,error:null}),M=(e,t)=>({liveRunning:t===`running`||!e,livePhase:t===`running`?`running`:e?`idle`:`preparing`});return un((t,N)=>{let P=e=>{t({notice:e instanceof Error?e.message:String(e)})},ee=e=>{let t=N().snapshot;return e.epoch===r&&N().selectedWorkspace===e.workspacePath&&t?.currentSessionId===e.sessionId&&t.selectedSession?.id===e.sessionId&&t.selectedSession.cwd===e.workspacePath&&(!e.sessionPath||t.selectedSession.path===e.sessionPath)},F=()=>{T++,w?.abort(),w=null,t({commandDiscovery:j()})},I=async(n,i,a)=>{if(N().modelSelectionPending)return!1;t({modelSelectionPending:!0});try{let o=await e.selectModel(n.provider,n.id,a);if(i!==r||a!==N().snapshot?.selectedSession?.id)return!1;if(o.provider!==n.provider||o.id!==n.id||!o.current)throw Error(`Model selection was not confirmed. Please select a model again.`);if(!await N().actions.refreshSnapshot({epoch:i})||i!==r||a!==N().snapshot?.selectedSession?.id)return!1;let s=N().snapshot?.models.find(e=>e.current);if(s?.provider!==n.provider||s.id!==n.id)throw Error(`The Session model changed. Please select a model again.`);return t({draftModel:null,notice:null}),!0}catch(e){return i===r&&a===N().snapshot?.selectedSession?.id&&P(e),!1}finally{i===r&&t({modelSelectionPending:!1})}},L=(e=160)=>{if(f){p=!0;return}d===null&&(d=window.setTimeout(async()=>{d=null,f=!0;try{await N().actions.refreshSnapshot()}finally{f=!1,p&&(p=!1,L())}},e))},te=()=>{S=null,x=0,C=-1},ne=()=>{let e=N().snapshot;if(!e)return;S&&C!==r&&te();let n=e.thinking;if(n){if(!S||n.revision>=x){S=n,x=n.revision,C=r;return}n!==S&&t({snapshot:{...e,thinking:S}})}},re=e=>{S&&C!==r&&te(),e&&e.revision>=x&&(S=e,x=e.revision,C=r),ne()},R=()=>{_=null,v++,y=!1,t({thinkingPendingLevel:null})},z=async()=>{let t=r,n=N().snapshot?.selectedSession?.id;if(n)try{let i=await e.thinking(n,new AbortController().signal);if(t!==r||n!==N().snapshot?.selectedSession?.id)return;re(i)}catch{}},ie=async()=>{if(y)return;y=!0;let n=++b;try{for(;_!==null;){let n=_,i=v,a=r,o=N().snapshot?.selectedSession?.id;if(!o||N().modelSelectionPending){R();return}if(N().snapshot?.thinking?.level===n){i===v&&(_=null,t({thinkingPendingLevel:null}));continue}let s;try{s=await e.setThinkingLevel(o,n)}catch(e){if(a!==r)return;if(i!==v)continue;R(),P(e),z();return}if(a!==r||o!==N().snapshot?.selectedSession?.id)return;if(i===v){if(s.level!==n){R(),P(Error(Pt.t(`thinkingNotConfirmed`)));return}re(s),_=null,t({thinkingPendingLevel:null}),L();return}}}finally{n===b&&(y=!1)}},ae=e=>{let n=N(),i=e.detail??{},a=i.sessionId,l=[`session_start`,`session_switched`,`session_created`].includes(e.type);if(n.cursor!==null&&e.sequence<=n.cursor)return;t({cursor:e.sequence});let u=n.promptAdmissionRecovery,d=u?.commandId;if(typeof i.commandId==`string`&&i.commandId===d&&[`prompt_accepted`,`prompt_failed`,`prompt_settled`,`turn_started`,`turn_settled`].includes(e.type)){let r=e.type!==`prompt_failed`;t({promptAdmissionRecovery:null,promptAdmissionResolution:r&&u?{commandId:u.commandId,content:u.content}:n.promptAdmissionResolution,liveMessages:r&&u&&!n.liveMessages.some(e=>e.key===u.optimisticKey)?[...n.liveMessages,{key:u.optimisticKey,message:{role:`user`,content:u.content}}].slice(-8):n.liveMessages})}if(e.type===`runtime_changed`&&t(A()),e.type===`runtime_changed`&&F(),n.sessionSwitching&&!l){L();return}if(typeof a==`string`&&a!==n.snapshot?.currentSessionId&&!l){L();return}if(n.snapshot){let r=$x(n.snapshot.runtime.liveTools??[],e.type,i);t({snapshot:{...n.snapshot,runtime:{...n.snapshot.runtime,liveTools:r}}})}if(l){let l=i.commandId;if(typeof l==`string`&&D.has(l)){L();return}let d=i.sessionPath,f=n.snapshot?.sessions.some(e=>e.path===d),p=!1;if(c?.kind===`select`?p=c.expectedPath===d:(c?.kind===`create`&&c.commandId===l&&e.type===`session_switched`&&typeof a==`string`&&(!c.expectedSessionId||c.expectedSessionId===a)&&(typeof d!=`string`||!f)||c?.kind===`create`&&c.commandId===l&&e.type===`session_created`&&typeof a==`string`&&(!c.expectedSessionId||a===c.expectedSessionId))&&(p=!0),p&&c?.epoch!==r)return;if(p)t(k());else{F();let e=++r;R(),o=null,s=null,t({...k(),promptAdmissionPending:!1,promptAdmissionRecovery:null,promptAdmissionResolution:u?{commandId:u.commandId,content:u.content}:n.promptAdmissionResolution,selectedPath:typeof d==`string`?d:null,draftModel:n.workspaceDraft?n.draftModel:null,modelSelectionPending:!1,sessionSwitching:!0}),N().actions.refreshSnapshot({epoch:e}).then(n=>{e===r&&t({selectedPath:n?N().selectedPath:null,sessionSwitching:!1})})}}else if(e.type===`prompt_accepted`){let e=E.has(String(i.commandId??``));t({...M(e,n.livePhase),liveRetry:null,pendingFollowUpsReceipt:Number.isInteger(i.pendingFollowUps)?Number(i.pendingFollowUps):n.pendingFollowUpsReceipt})}else if(e.type===`turn_started`)t({activeTurn:{sessionId:String(i.sessionId),commandId:String(i.commandId),epoch:Number(i.epoch)},liveRunning:!0,livePhase:`running`,liveRetry:null,turnTerminalStatus:null});else if(e.type===`agent_start`)t({...i.activeTurn?{activeTurn:i.activeTurn}:{},liveRunning:!0,livePhase:`running`,liveRetry:null});else if(e.type===`turn_settled`){O(E,i.commandId);let e=n.activeTurn;e?.sessionId===i.sessionId&&e?.commandId===i.commandId&&e?.epoch===i.epoch&&t({activeTurn:null,liveRunning:!1,livePhase:`idle`,liveRetry:null,turnTerminalStatus:typeof i.outcome==`string`?i.outcome:null})}else if(e.type===`agent_settled`)t({pendingFollowUpsReceipt:null,...n.activeTurn?{}:{liveRunning:!1,livePhase:`idle`,liveRetry:null}});else if(e.type===`prompt_settled`)O(E,i.commandId),n.livePhase!==`running`&&t({liveRunning:!1,livePhase:`idle`,liveRetry:null});else if(i.message&&typeof i.message==`object`){let r=i.message,a=n.liveMessages;r.role===`user`&&(a=a.filter(e=>!e.key.startsWith(`optimistic-`)||e.message.content!==r.content));let o=typeof i.messageKey==`string`?i.messageKey:`${r.role||`message`}-${e.sequence}`,s={key:o,message:r},c=a.findIndex(e=>e.key===o);a=c>=0?a.map((e,t)=>t===c?s:e):[...a,s].slice(-8);let l={...n.thinkingStarts},u={...n.thinkingDurations};r.parts?.some(e=>e.type===`thinking`)&&(l[o]??=Date.now(),e.type===`message_end`&&(u[o]=Date.now()-l[o])),t({liveMessages:a,thinkingDurations:u,thinkingStarts:l})}if(e.type===`prompt_failed`&&(O(E,i.commandId),t({liveMessages:N().liveMessages.filter(e=>!e.key.startsWith(`optimistic-`)),liveRunning:!1,livePhase:`idle`,liveRetry:null,notice:typeof i.error==`string`?i.error:`Prompt failed`})),e.type===`auto_retry_start`&&t({liveRunning:!0,livePhase:`running`,liveRetry:{attempt:Number(i.attempt)||0,maxAttempts:Number(i.maxAttempts)||0}}),e.type===`thinking_level_changed`){let t=N().snapshot?.thinking;t&&typeof i.level==`string`&&re({...t,level:i.level,revision:e.sequence})}nS.has(e.type)&&L()},oe=async r=>{let i=500;for(;!r.aborted;){let a=!1;try{if(N().cursor===null){if(a=!0,!await N().actions.refreshSnapshot({resetCursor:!0}))throw Error(`snapshot unavailable`);a=!1}if(r.aborted)return;await n({client:e,cursor:N().cursor??0,onConnected:()=>{i=500,t({connection:`connected`})},onEvent:ae,onHeartbeat:()=>L(0),signal:r})}catch(e){if(r.aborted)return;t({connection:`reconnecting`}),!a&&await N().actions.refreshSnapshot({resetCursor:!0})||t(k()),await oS(i,r),i=Math.min(i*2,5e3),e instanceof SyntaxError&&t({notice:`Invalid event data`})}}},se={start(){m||(m=new AbortController,oe(m.signal))},stop(){m?.abort(),m=null,d!==null&&window.clearTimeout(d),d=null,R(),F()},async refreshSnapshot(n={}){let a=n.epoch??r,o=++i,c=N().selectedPath;try{let l=await e.snapshot(c);if(a!==r||o!==i)return!1;let u=typeof l.currentSessionId==`string`,d=u?l.sessions.find(e=>e.id===l.currentSessionId):void 0,f=u?l.selectedSession?.id===l.currentSessionId:l.selectedSession===void 0,p=!c||l.sessions.some(e=>e.path===c),m=!c||l.selectedSession?.path===c;if(!p||!m||!f)return t({selectedPath:null}),!n.canonicalRetry&&se.refreshSnapshot({...n,canonicalRetry:!0,epoch:a});let h=l.selectedSession?.cwd,g=l.workspaces.find(e=>e.current)?.path,_=l.workspaces.some(e=>e.path===N().selectedWorkspace)?N().selectedWorkspace:void 0,v=N().workspaceDraft?N().selectedWorkspace:l.workspaces.some(e=>e.path===h)?h:g??_??null,y=n.resetCursor;return y&&te(),N().snapshot?.currentSessionId!==l.currentSessionId&&F(),t({...y?k():{},connection:N().connection===`connecting`?`connecting`:N().connection,cursor:y||N().cursor===null?l.cursor:Math.max(N().cursor??0,l.cursor),activeTurn:l.runtime.activeTurn??null,livePhase:l.runtime.status===`running`?`running`:!N().promptAdmissionPending&&!s?`idle`:N().livePhase,liveRetry:l.runtime.status!==`running`&&!N().promptAdmissionPending&&!s?null:N().liveRetry,liveRunning:l.runtime.status===`running`?!0:!N().promptAdmissionPending&&!s?!1:N().liveRunning,selectedPath:d?.path??l.selectedSession?.path??null,selectedWorkspace:v,snapshot:l,...A()}),re(),!0}catch(e){return a!==r||o!==i?!1:(t({connection:`unavailable`}),P(e),!1)}},async chooseWorkspace(){let t=r;try{let n=await e.chooseWorkspace();if(t!==r||n.cancelled||!n.path)return;se.setWorkspace(n.path),await se.refreshSnapshot()}catch(e){t===r&&P(e)}},setWorkspace(e){let n=N();e===n.selectedWorkspace&&!n.sessionSwitching||(++r,l=null,R(),F(),o=null,s=null,t({...k(),...A(),selectedWorkspace:e,workspaceDraft:!0,sessionSwitching:!1,modelSelectionPending:!1,promptAdmissionPending:!1,promptAdmissionRecovery:null,promptAdmissionResolution:n.promptAdmissionRecovery?{commandId:n.promptAdmissionRecovery.commandId,content:n.promptAdmissionRecovery.content}:n.promptAdmissionResolution,notice:null}))},async renameWorkspace(t,n){try{await e.renameWorkspace(t,n),await se.refreshSnapshot()}catch(e){throw P(e),e}},async removeWorkspace(n){try{await e.removeWorkspace(n),N().selectedWorkspace===n&&F(),t({selectedPath:null,selectedWorkspace:N().selectedWorkspace===n?null:N().selectedWorkspace}),await se.refreshSnapshot()}catch(e){P(e)}},async createSession(n){if(!n||N().modelSelectionPending)return null;let i=N(),a=++r;R(),F();let d=(l?.workspacePath===n?l.commandId:void 0)??globalThis.crypto?.randomUUID?.()??`web-create-${Date.now()}-${a}`;l={workspacePath:n,commandId:d},o=null,s=null,t({...k(),...A(),mobileSidebarOpen:!1,promptAdmissionPending:!1,promptAdmissionRecovery:null,promptAdmissionResolution:i.promptAdmissionRecovery?{commandId:i.promptAdmissionRecovery.commandId,content:i.promptAdmissionRecovery.content}:i.promptAdmissionResolution,selectedPath:null,selectedWorkspace:n,workspaceDraft:!0,sessionSwitching:!0});let f=null,p=u.then(async()=>{if(a===r){c={commandId:d,epoch:a,expectedPath:null,kind:`create`};try{let i=await e.createSession(n,d);if(a!==r)return;if(i.cancelled||i.commandId!==d||typeof i.sessionId!=`string`||!i.sessionId||i.sessionId.length>128||i.sessionPath!==void 0&&!i.sessionPath)throw Error(`Session creation did not return a valid target identity.`);let o={epoch:a,sessionId:i.sessionId,sessionPath:i.sessionPath??null,workspacePath:n};c?.epoch===a&&(c.expectedSessionId=o.sessionId,c.expectedPath=o.sessionPath),t({selectedPath:o.sessionPath});let s=await se.refreshSnapshot({epoch:a});if(!s&&a===r&&(s=await se.refreshSnapshot({epoch:a})),a!==r)return;if(!s)throw Error(`The created Session could not be confirmed. Please try again.`);if(!ee(o)){l=null,P(Error(`The created Session is no longer active in the selected workspace. Please try again.`));return}t({workspaceDraft:!1,notice:null});let u=N().draftModel;if(u&&!await I(u,a,o.sessionId))return;if(N().workspaceDraft||!ee(o)){l=null,P(Error(`The created Session is no longer active in the selected workspace. Please try again.`));return}f=o,l=null}catch(e){if(a!==r)return;t({selectedPath:null}),P(e),await se.refreshSnapshot({epoch:a})}finally{O(D,d),c?.epoch===a&&(c=null),a===r&&t({sessionSwitching:!1})}}});return u=p.catch(()=>void 0),await p,a===r?f:null},async selectSession(n){if(!n)return;l=null;let i=N();F(),t({...A(),workspaceDraft:!1,draftModel:null,modelSelectionPending:!1});let a=++r;R(),o=null,s=null,t({...k(),mobileSidebarOpen:!1,promptAdmissionPending:!1,promptAdmissionRecovery:null,promptAdmissionResolution:i.promptAdmissionRecovery?{commandId:i.promptAdmissionRecovery.commandId,content:i.promptAdmissionRecovery.content}:i.promptAdmissionResolution,selectedPath:n,sessionSwitching:!0});let d=u.then(async()=>{if(a===r){c={epoch:a,expectedPath:n,kind:`select`};try{if(await e.selectSession(n),a!==r)return;await se.refreshSnapshot({epoch:a})||t({selectedPath:null})}catch(e){if(a!==r)return;t({selectedPath:null}),P(e),await se.refreshSnapshot({epoch:a})}finally{c?.epoch===a&&(c=null),a===r&&t({sessionSwitching:!1})}}});u=d.catch(()=>void 0),await d},async renameSession(t,n){try{await e.renameSession(t,n),await se.refreshSnapshot()}catch(e){throw P(e),e}},async archiveSession(t){try{await e.archiveSession(t),await se.refreshSnapshot()}catch(e){P(e)}},async unarchiveSession(t){let n=r;try{return await e.unarchiveSession(t),n!==r||await se.refreshSnapshot({epoch:n})}catch(e){return n===r&&P(e),!1}},async selectModel(e){let[n,...i]=e.split(`/`),a=i.join(`/`),o=N();if(!n||!a||o.sessionSwitching||o.modelSelectionPending||o.promptAdmissionPending||!o.workspaceDraft&&(o.liveRunning||o.snapshot?.runtime.status===`running`))return;let s=o.snapshot?.selectedSession?.id;if(o.workspaceDraft||!s&&!o.snapshot?.currentSessionId){let e=[...o.snapshot?.models??[],...o.modelSearch.models].find(e=>e.provider===n&&e.id===a);e&&t({draftModel:e,notice:null});return}!s||s!==o.snapshot?.currentSessionId||(R(),await I({provider:n,id:a},r,s))},async searchModels(n){let a=n.trim();if(!a){t(A());return}h?.abort();let o=new AbortController;h=o;let s=++g,c=r,l=i,u=N().snapshot?.currentSessionId;t({modelSearch:{query:a,status:`loading`,models:[],totalMatches:0,matchesOmitted:0,error:null}});try{let n=await e.searchModels(a,u,o.signal);if(o.signal.aborted||c!==r||l!==i||s!==g)return;t({modelSearch:{query:a,status:`ready`,models:n.models,totalMatches:n.totalMatches,matchesOmitted:n.truncation.matchesOmitted,error:null}})}catch(e){if(o.signal.aborted||c!==r||l!==i||s!==g)return;t({modelSearch:{query:a,status:`error`,models:[],totalMatches:0,matchesOmitted:0,error:e instanceof Error?e.message:String(e)}})}finally{h===o&&(h=null)}},clearModelSearch(){t(A())},selectThinking(e){let n=N(),r=n.snapshot?.thinking,i=n.snapshot?.selectedSession?.id;!e||!r?.supported||n.sessionSwitching||n.modelSelectionPending||n.workspaceDraft||!i||i!==n.snapshot?.currentSessionId||n.liveRunning||n.snapshot?.runtime.status===`running`||e!==(n.thinkingPendingLevel??r.level)&&(_=e,v++,t({thinkingPendingLevel:e}),ie())},async cancelActiveTurn(){let n=N().activeTurn??N().snapshot?.runtime.activeTurn;if(!n||N().turnCancellationPending||N().sessionSwitching)return;let i=r;t({turnCancellationPending:!0});try{await e.cancelActiveTurn(n)}catch(e){if(i!==r)return;await se.refreshSnapshot({epoch:i}),i===r&&P(e)}finally{i===r&&t({turnCancellationPending:!1})}},async sendPrompt(n){let i=n.trim(),c=N(),l=c.promptAdmissionRecovery,u=l?.phase===`submitting`?l:null,d=c.selectedWorkspace;if(!d||!i||c.sessionSwitching||c.promptAdmissionPending||l&&!u||c.promptAdmissionResolution||c.modelSelectionPending||c.thinkingPendingLevel!==null)return!1;let f=N().workspaceDraft||!N().snapshot?.selectedSession?.id,p=f?await se.createSession(d):null;if(f&&!p)return N().notice||t({notice:`The active Session changed before the first message was sent. Your message was not sent.`}),!1;if(f&&N().draftModel)return!1;let m=N().snapshot?.selectedSession,h=p??(m?{epoch:r,sessionId:m.id,sessionPath:m.path,workspacePath:d}:null);if(!h||N().workspaceDraft||!ee(h)||N().sessionSwitching||N().promptAdmissionPending||u&&(N().promptAdmissionRecovery?.commandId!==u.commandId||N().promptAdmissionRecovery?.phase!==`submitting`))return!1;let{epoch:g,sessionId:_}=h,v=N().draftModel;if(v&&!await I(v,g,_)||N().workspaceDraft||!ee(h)||u&&(N().promptAdmissionRecovery?.commandId!==u.commandId||N().promptAdmissionRecovery?.phase!==`submitting`))return!1;let y=++a,b=s?.sessionId===_&&s.content===i,x=b?s.commandId:globalThis.crypto?.randomUUID?.()??`web-prompt-${Date.now()}-${y}`,S=b?s.optimisticKey:`optimistic-${x}`;s={sessionId:_,content:i,commandId:x,optimisticKey:S},o=y,t({liveMessages:b?N().liveMessages:[...N().liveMessages,{key:S,message:{role:`user`,content:i}}].slice(-8),notice:null,pendingFollowUpsReceipt:null,turnTerminalStatus:null,promptAdmissionPending:!0,scrollToBottom:N().scrollToBottom+1});try{let n=await e.prompt(_,i,x,b);if(g!==r||o!==y)return!1;let a=E.has(n.id);return s?.commandId===x&&(s=null),t({...M(a,N().livePhase),pendingFollowUpsReceipt:n.pendingFollowUps??null,...u&&N().promptAdmissionRecovery?.commandId===u.commandId?{promptAdmissionRecovery:null}:{}}),L(120),!0}catch(e){if(g!==r||o!==y)return!1;if(e instanceof Qu&&e.code===`COMMAND_ADMISSION_UNKNOWN`&&s?.commandId===x){let e=s;s=null,t({liveRunning:!1,livePhase:`idle`,liveRetry:null,notice:null,promptAdmissionPending:!1,promptAdmissionRecovery:{...e,phase:`checking`}});let n=await se.refreshSnapshot({resetCursor:!0,epoch:g}),r=N().promptAdmissionRecovery;return r?.commandId===x&&t({promptAdmissionRecovery:{...r,phase:n?`ready`:`verification-failed`}}),!1}return e instanceof Qu&&[`WORKSPACE_REQUIRED`,`SESSION_CONFLICT`,`PROMPT_REJECTED`,`COMMAND_CONFLICT`,`PROMPT_ADMISSION_CAPACITY`].includes(e.code??``)?(s?.commandId===x&&(s=null),t({liveMessages:N().liveMessages.filter(e=>e.key!==S),livePhase:`idle`,liveRetry:null,liveRunning:!1}),P(e),!1):(t({liveRunning:!0,livePhase:N().livePhase===`running`?`running`:`preparing`,liveRetry:null}),P(e),!1)}finally{g===r&&o===y&&(o=null,t({promptAdmissionPending:!1}))}},async checkPromptAdmissionRecovery(){let e=N().promptAdmissionRecovery;if(!e||e.phase!==`verification-failed`)return;let n=r;t({notice:null,promptAdmissionRecovery:{...e,phase:`checking`}});let i=await se.refreshSnapshot({resetCursor:!0,epoch:n}),a=N().promptAdmissionRecovery;a?.commandId===e.commandId&&a.phase===`checking`&&t({promptAdmissionRecovery:{...a,phase:i?`ready`:`verification-failed`}})},async sendPromptAsNew(e){let n=N().promptAdmissionRecovery;if(!n||n.phase!==`ready`||n.sessionId!==N().snapshot?.selectedSession?.id)return!1;let r=e.trim();if(!r)return!1;t({promptAdmissionRecovery:{...n,phase:`submitting`},notice:null});let i=!1;try{return i=await se.sendPrompt(r),i}finally{let e=N().promptAdmissionRecovery;e?.commandId===n.commandId&&e.phase===`submitting`&&t({promptAdmissionRecovery:i?null:{...e,phase:`ready`}})}},abandonPromptAdmission(){let e=N().promptAdmissionRecovery;!e||e.phase===`submitting`||t({liveMessages:N().liveMessages.filter(t=>t.key!==e.optimisticKey),notice:null,promptAdmissionRecovery:null})},acknowledgePromptAdmissionResolution(e){N().promptAdmissionResolution?.commandId===e&&t({promptAdmissionResolution:null})},async discoverCommands(){let n=N(),i=n.snapshot?.selectedSession?.id;if(n.workspaceDraft||!i||i!==n.snapshot?.currentSessionId||n.sessionSwitching){F();return}if(n.commandDiscovery.sessionId===i&&(n.commandDiscovery.status===`loading`||n.commandDiscovery.status===`ready`))return;let a=r,o=++T;w?.abort();let s=new AbortController;w=s,t({commandDiscovery:{sessionId:i,status:`loading`,commands:[],totalAvailable:0,commandsOmitted:0,error:null}});try{let n=await e.commands(i,s.signal);if(s.signal.aborted||a!==r||o!==T||i!==N().snapshot?.currentSessionId)return;t({commandDiscovery:{sessionId:i,status:`ready`,commands:n.commands,totalAvailable:n.totalAvailable,commandsOmitted:n.truncation.commandsOmitted,error:null}})}catch(e){if(s.signal.aborted||a!==r||o!==T)return;t({commandDiscovery:{sessionId:i,status:`error`,commands:[],totalAvailable:0,commandsOmitted:0,error:e instanceof Error?e.message:String(e)}})}finally{w===s&&(w=null)}},clearCommandDiscovery:F,setQuery(e){t({query:e})},setSearchOpen(e){t({searchOpen:e,...e?{}:{query:``}})},toggleWorkspace(e){let n=new Set(N().collapsed);n.has(e)?n.delete(e):n.add(e),aS(eS,[...n]),t({collapsed:n})},toggleSidebar(e){if(e){t({mobileSidebarOpen:!N().mobileSidebarOpen});return}let n=!N().sidebarCollapsed;try{window.sessionStorage.setItem(tS,String(n))}catch{}t({sidebarCollapsed:n})},closeMobileSidebar(){t({mobileSidebarOpen:!1})},clearNotice(){t({notice:null})}};return{activeTurn:null,turnCancellationPending:!1,turnTerminalStatus:null,pendingFollowUpsReceipt:null,snapshot:null,cursor:null,selectedPath:null,selectedWorkspace:null,workspaceDraft:!1,draftModel:null,modelSelectionPending:!1,modelSearch:{query:``,status:`idle`,models:[],totalMatches:0,matchesOmitted:0,error:null},collapsed:rS(eS),sidebarCollapsed:iS(tS),mobileSidebarOpen:!1,query:``,searchOpen:!1,connection:`connecting`,notice:null,liveMessages:[],liveRunning:!1,livePhase:`idle`,liveRetry:null,thinkingStarts:{},thinkingDurations:{},promptAdmissionPending:!1,promptAdmissionRecovery:null,promptAdmissionResolution:null,sessionSwitching:!1,scrollToBottom:0,thinkingPendingLevel:null,commandDiscovery:j(),actions:se}})}var cS=sS();function lS(){let e=fn(cS),{t}=sn(),{actions:n}=e,r=(0,w.useRef)(null),[i,a]=(0,w.useState)(()=>window.matchMedia?.(`(max-width: 760px)`).matches??!1),o=i&&e.mobileSidebarOpen;(0,w.useEffect)(()=>{let e=window.matchMedia?.(`(max-width: 760px)`);if(!e)return;let t=()=>{a(e.matches),e.matches||n.closeMobileSidebar()};return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[n]);let[s,c]=(0,w.useState)(`chat`),[l,u]=(0,w.useState)(null),d=e.snapshot?.models.find(e=>e.current),f=JSON.stringify([d?.provider,d?.id]),p=t=>{let n=e.snapshot,r=n?.selectedSession;e.workspaceDraft||!n||!r||e.sessionSwitching||r.id!==n.currentSessionId||u({sessionId:r.id,sessionPath:r.path,cwd:r.cwd,model:d?.label??``,modelKey:f,terminalId:t})},m=l&&!e.workspaceDraft&&!e.sessionSwitching&&l.sessionId===e.snapshot?.currentSessionId&&l.sessionPath===e.snapshot?.selectedSession?.path&&l.modelKey===f;(0,w.useEffect)(()=>{l&&!m&&u(null)},[l,m]),(0,w.useEffect)(()=>(n.start(),n.stop),[n]);let h=e.workspaceDraft?void 0:e.snapshot?.selectedSession,g=h?.entries.some(e=>e.type===`message`&&e.message)||e.liveMessages.length>0,_=!h||!g,v=(0,w.useCallback)(e=>n.sendPrompt(e),[n]);return(0,V.jsxs)(`div`,{className:`app-shell ${e.sidebarCollapsed?`sidebar-collapsed`:``} ${e.mobileSidebarOpen?`sidebar-open`:``}`,children:[(0,V.jsx)(rd,{snapshot:e.snapshot,selectedPath:e.workspaceDraft?null:e.selectedPath,selectedWorkspace:e.selectedWorkspace,collapsed:e.collapsed,query:e.query,searchOpen:e.searchOpen,mobileOpen:o,returnFocusRef:r,actions:n}),e.sidebarCollapsed&&(0,V.jsx)(`button`,{className:`sidebar-expand`,type:`button`,"aria-label":t(`expandSidebar`),title:t(`expandSidebar`),onClick:()=>n.toggleSidebar(!1),children:(0,V.jsx)(Se,{})}),(0,V.jsxs)(`main`,{inert:o,className:`conversation-shell ${h?`has-view`:``} ${_&&(e.workspaceDraft||s===`chat`)?`landing`:``}`,children:[(0,V.jsx)(`h1`,{className:`sr-only`,children:`OpenPI`}),(0,V.jsxs)(`header`,{className:`mobile-header`,children:[(0,V.jsx)(`button`,{ref:r,type:`button`,"aria-label":t(`openSidebar`),"aria-controls":`session-sidebar`,"aria-expanded":o,onClick:()=>n.toggleSidebar(!0),children:(0,V.jsx)(be,{})}),(0,V.jsx)(`span`,{className:`connection-state ${e.connection}`,children:t(e.connection)})]}),h&&(0,V.jsxs)(`fieldset`,{className:`conversation-view-switch`,"aria-label":t(`conversationView`),children:[(0,V.jsx)(`button`,{type:`button`,"aria-pressed":s===`chat`,onClick:()=>c(`chat`),children:t(`chatView`)}),(0,V.jsx)(`button`,{type:`button`,"aria-pressed":s===`trajectory`,onClick:()=>c(`trajectory`),children:t(`trajectory`)})]}),e.sessionSwitching?(0,V.jsx)(`div`,{className:`conversation switching`,role:`status`,children:(0,V.jsxs)(`div`,{className:`conversation-running`,children:[(0,V.jsx)(`span`,{className:`conversation-running-dot`}),(0,V.jsx)(`span`,{children:t(`switchingSession`)})]})}):s===`trajectory`&&h&&e.snapshot?(0,V.jsx)(od,{snapshot:e.snapshot,running:e.liveRunning},h.path):_?(0,V.jsx)(`section`,{className:`conversation landing-conversation`,"aria-label":`Conversation`,children:(0,V.jsx)(`div`,{className:`landing-welcome`,children:(0,V.jsx)(hn,{animated:!0})})}):e.snapshot?(0,V.jsx)(zx,{snapshot:e.snapshot,liveMessages:e.liveMessages,liveRunning:e.liveRunning,livePhase:e.livePhase,liveRetry:e.liveRetry,thinkingStarts:e.thinkingStarts,thinkingDurations:e.thinkingDurations,scrollToBottom:e.scrollToBottom,onResend:v}):null,(0,V.jsx)(lu,{workspaceDraft:e.workspaceDraft,draftModel:e.draftModel,modelSelectionPending:e.modelSelectionPending,modelSearch:e.modelSearch,thinkingPendingLevel:e.thinkingPendingLevel,onInspect:p,activeTurn:e.activeTurn,turnCancellationPending:e.turnCancellationPending,turnTerminalStatus:e.turnTerminalStatus,pendingFollowUpsReceipt:e.pendingFollowUpsReceipt,commandDiscovery:e.commandDiscovery,snapshot:e.snapshot,selectedPath:e.selectedPath,selectedWorkspace:e.selectedWorkspace,sessionSwitching:e.sessionSwitching,promptAdmissionPending:e.promptAdmissionPending,promptAdmissionRecovery:e.promptAdmissionRecovery,promptAdmissionResolution:e.promptAdmissionResolution,liveRunning:e.liveRunning,landing:_,actions:n}),e.notice&&(0,V.jsxs)(`div`,{className:`notice`,role:`alert`,children:[(0,V.jsx)(`span`,{children:e.notice}),(0,V.jsx)(`button`,{type:`button`,"aria-label":t(`close`),onClick:n.clearNotice,children:(0,V.jsx)(Re,{})})]})]}),m&&(0,V.jsx)(td,{target:l,onClose:()=>u(null)},`${l.sessionId}:${l.sessionPath}:${l.terminalId??`status`}`),(0,V.jsx)(`button`,{className:`sidebar-scrim`,type:`button`,tabIndex:-1,"aria-hidden":`true`,"aria-label":t(`close`),onClick:n.closeMobileSidebar})]})}var uS={base:{k1xSpc:`xjp7ctv`,kMwMTN:`x1tgivj0`,kMv6JI:`x9ynric`,$$css:!0},light:{kQNsl9:`x19aimcq`,$$css:!0},dark:{kQNsl9:`xntwwlm`,$$css:!0},system:{kQNsl9:`x108lcm5`,$$css:!0}},dS=w.createContext(!1);dS.displayName=`ThemeNestingContext`;var fS=new Set,pS=0;function mS(e){let t=(0,w.useId)();(0,w.useInsertionEffect)(()=>{if(e.__built)return;let n=`astryx-theme-${e.name}`;if(fS.has(n))return;`${e.name}`,`${e.name}${e.name}${e.name}${e.name}`;let{prose:r,component:i}=Fs(e),a=Ps();fS.add(n);let o=[()=>fS.delete(n)];if(a){if(pS++===0){let e=document.createElement(`style`);e.setAttribute(Zr(`theme-base`),``),e.textContent=`@layer astryx-base {\n${a}\n}`,document.head.appendChild(e)}o.push(()=>{--pS===0&&document.querySelector(`style[${Zr(`theme-base`)}]`)?.remove()})}if(r){let n=document.createElement(`style`);n.setAttribute(Zr(`theme-prose`),e.name),n.setAttribute(Zr(`id`),t),n.textContent=`@layer reset {\n${r}\n}`,document.head.appendChild(n)}if(i){let n=document.createElement(`style`);n.setAttribute(Zr(`theme`),e.name),n.setAttribute(Zr(`id`),t),n.textContent=`@layer astryx-theme {\n${i}\n}`,document.head.appendChild(n)}return(r||i)&&o.push(()=>{let n=document.querySelector(`style[${Zr(`theme-prose`)}="${e.name}"][${Zr(`id`)}="${t}"]`),r=document.querySelector(`style[${Zr(`theme`)}="${e.name}"][${Zr(`id`)}="${t}"]`);n?.remove(),r?.remove()}),()=>{for(let e of o)e()}},[e,t])}function hS(e,t,n){Fc(()=>{if(!e&&!(typeof document>`u`))return t===`light`||t===`dark`?document.documentElement.setAttribute(`data-theme`,t):document.documentElement.removeAttribute(`data-theme`),document.documentElement.setAttribute(Zr(`theme`),n),()=>{document.documentElement.removeAttribute(`data-theme`),document.documentElement.removeAttribute(Zr(`theme`))}},[e,t,n])}function gS({theme:e,mode:t=`system`,children:n}){let r=(0,w.use)(dS);cs(e),mS(e),hS(r,t,e.name);let i=t===`dark`?uS.dark:t===`light`?uS.light:uS.system,a=(0,w.useMemo)(()=>({theme:e,mode:t}),[e,t]);return(0,V.jsx)(Ls,{value:a,children:(0,V.jsx)(dS,{value:!0,children:(0,V.jsx)(`div`,{...bn(uS.base,i),"data-astryx-theme":e.name,"data-theme":t===`system`?void 0:t,children:n})})})}gS.displayName=`Theme`;var _S={size:`1em`,"aria-hidden":!0},vS={name:`neutral`,__built:!0,tokens:{"--font-size-4xs":`0.375rem`,"--font-size-3xs":`0.4375rem`,"--font-size-2xs":`0.5rem`,"--font-size-xs":`0.625rem`,"--font-size-sm":`0.75rem`,"--font-size-base":`0.875rem`,"--font-size-lg":`1.0625rem`,"--font-size-xl":`1.25rem`,"--font-size-2xl":`1.5rem`,"--font-size-3xl":`1.8125rem`,"--font-size-4xl":`2.1875rem`,"--font-size-5xl":`2.625rem`,"--text-heading-1-size":`var(--font-size-2xl)`,"--text-heading-1-weight":`var(--font-weight-semibold)`,"--text-heading-1-leading":`1.3333`,"--text-heading-2-size":`var(--font-size-xl)`,"--text-heading-2-weight":`var(--font-weight-semibold)`,"--text-heading-2-leading":`1.4`,"--text-heading-3-size":`var(--font-size-lg)`,"--text-heading-3-weight":`var(--font-weight-bold)`,"--text-heading-3-leading":`1.4118`,"--text-heading-4-size":`var(--font-size-base)`,"--text-heading-4-weight":`var(--font-weight-bold)`,"--text-heading-4-leading":`1.4286`,"--text-heading-5-size":`var(--font-size-sm)`,"--text-heading-5-weight":`var(--font-weight-semibold)`,"--text-heading-5-leading":`1.6667`,"--text-heading-6-size":`var(--font-size-xs)`,"--text-heading-6-weight":`var(--font-weight-semibold)`,"--text-heading-6-leading":`1.6`,"--text-body-size":`var(--font-size-base)`,"--text-body-weight":`var(--font-weight-normal)`,"--text-body-leading":`1.4286`,"--text-large-size":`var(--font-size-lg)`,"--text-large-weight":`var(--font-weight-semibold)`,"--text-large-leading":`1.4118`,"--text-label-size":`var(--font-size-base)`,"--text-label-weight":`var(--font-weight-medium)`,"--text-label-leading":`1.4286`,"--text-code-size":`var(--font-size-base)`,"--text-code-weight":`var(--font-weight-normal)`,"--text-code-leading":`1.4286`,"--text-supporting-size":`var(--font-size-sm)`,"--text-supporting-weight":`var(--font-weight-normal)`,"--text-supporting-leading":`1.6667`,"--text-display-1-size":`var(--font-size-5xl)`,"--text-display-1-weight":`var(--font-weight-normal)`,"--text-display-1-leading":`1.2381`,"--text-display-2-size":`var(--font-size-4xl)`,"--text-display-2-weight":`var(--font-weight-normal)`,"--text-display-2-leading":`1.2571`,"--text-display-3-size":`var(--font-size-3xl)`,"--text-display-3-weight":`var(--font-weight-normal)`,"--text-display-3-leading":`1.3793`,"--duration-fast-min":`95ms`,"--duration-fast":`125ms`,"--duration-fast-max":`165ms`,"--duration-medium-min":`225ms`,"--duration-medium":`300ms`,"--duration-medium-max":`400ms`,"--duration-slow-min":`525ms`,"--duration-slow":`700ms`,"--duration-slow-max":`935ms`,"--font-family-body":`Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif`,"--font-family-heading":`Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif`,"--font-family-code":`ui-monospace, "SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace`,"--color-syntax-keyword":`light-dark(#700084, #efa8ff)`,"--color-syntax-string":`light-dark(#005600, #a6d2a2)`,"--color-syntax-comment":`light-dark(#737373, #a3a3a3)`,"--color-syntax-number":`light-dark(#6e3500, #ffb37f)`,"--color-syntax-function":`light-dark(#00458c, #a0caff)`,"--color-syntax-type":`light-dark(#700084, #efa8ff)`,"--color-syntax-variable":`light-dark(#171717, #e5e5e5)`,"--color-syntax-operator":`light-dark(#737373, #a3a3a3)`,"--color-syntax-constant":`light-dark(#6e3500, #ffb37f)`,"--color-syntax-tag":`light-dark(#89001a, #ffaeaa)`,"--color-syntax-attribute":`light-dark(#584400, #eec12f)`,"--color-syntax-property":`light-dark(#005348, #83dac9)`,"--color-syntax-punctuation":`light-dark(#6e6e6e, #a0a0a0)`,"--color-syntax-background":`light-dark(#fafafa, #0a0a0a)`,"--color-background-surface":`light-dark(#ffffff, #262626)`,"--color-background-body":`light-dark(#f1f1f1, #1b1b1b)`,"--color-background-card":`light-dark(#ffffff, #1b1b1b)`,"--color-background-popover":`light-dark(#ffffff, #1b1b1b)`,"--color-background-muted":`light-dark(#f1f1f1, #1b1b1b)`,"--color-accent":`light-dark(#262626, #ebebeb)`,"--color-accent-muted":`light-dark(#f1f1f1, #262626)`,"--color-neutral":`light-dark(#0000000F, #FFFFFF1A)`,"--color-overlay":`light-dark(#00000080, #000000CC)`,"--color-overlay-hover":`light-dark(#0000000D, #FFFFFF0D)`,"--color-overlay-pressed":`light-dark(#0000001A, #FFFFFF1A)`,"--color-text-primary":`light-dark(#171717, #fafafa)`,"--color-text-secondary":`light-dark(#525252, #a3a3a3)`,"--color-text-disabled":`light-dark(#a3a3a3, #525252)`,"--color-text-accent":`light-dark(#262626, #ebebeb)`,"--color-on-dark":`#ffffff`,"--color-on-light":`#171717`,"--color-on-accent":`light-dark(#ffffff, #171717)`,"--color-on-success":`light-dark(#ffffff, #171717)`,"--color-on-error":`light-dark(#ffffff, #171717)`,"--color-on-warning":`#171717`,"--color-icon-accent":`light-dark(#262626, #ebebeb)`,"--color-icon-primary":`light-dark(#171717, #fafafa)`,"--color-icon-secondary":`light-dark(#737373, #a3a3a3)`,"--color-icon-disabled":`light-dark(#a3a3a3, #525252)`,"--color-success":`light-dark(#007004, #9fe59b)`,"--color-error":`light-dark(#a50c25, #ffc6c1)`,"--color-warning":`light-dark(#745b00, #fdcf4f)`,"--color-success-muted":`light-dark(#c5e5c0, #84c9803D)`,"--color-error-muted":`light-dark(#facecb, #ff9e973D)`,"--color-warning-muted":`light-dark(#f8da9d, #deb4333D)`,"--color-border":`light-dark(#00000014, #FFFFFF1A)`,"--color-border-emphasized":`light-dark(#d4d4d4, #525252)`,"--color-skeleton":`light-dark(#ebebeb, #525252)`,"--color-shadow":`light-dark(#0000001A, #0000004D)`,"--color-tint-hover":`light-dark(black, white)`,"--color-background-red":`light-dark(#facecb, #ff9e973D)`,"--color-border-red":`light-dark(#e6bab8, #ff6f6c)`,"--color-icon-red":`light-dark(#89001a, #ff9e97)`,"--color-text-red":`light-dark(#89001a, #ffc6c1)`,"--color-background-orange":`light-dark(#fad0b5, #ffa2583D)`,"--color-border-orange":`light-dark(#e6bda2, #e2883e)`,"--color-icon-orange":`light-dark(#6e3500, #ffa258)`,"--color-text-orange":`light-dark(#6e3500, #ffc9a2)`,"--color-background-yellow":`light-dark(#f8da9d, #deb4333D)`,"--color-border-yellow":`light-dark(#e4c279, #c0990e)`,"--color-icon-yellow":`light-dark(#584400, #deb433)`,"--color-text-yellow":`light-dark(#584400, #fdcf4f)`,"--color-background-green":`light-dark(#c5e5c0, #84c9803D)`,"--color-border-green":`light-dark(#b2d1ac, #69ad67)`,"--color-icon-green":`light-dark(#0c5700, #84c980)`,"--color-text-green":`light-dark(#0c5700, #9fe59b)`,"--color-background-teal":`light-dark(#a5e3d6, #7ec6b83D)`,"--color-border-teal":`light-dark(#94d6c8, #63ab9d)`,"--color-icon-teal":`light-dark(#005348, #7ec6b8)`,"--color-text-teal":`light-dark(#005348, #99e2d3)`,"--color-background-cyan":`light-dark(#a3e0ef, #83c2d43D)`,"--color-border-cyan":`light-dark(#91d3e3, #67a7b8)`,"--color-icon-cyan":`light-dark(#00505f, #83c2d4)`,"--color-text-cyan":`light-dark(#00505f, #9edef0)`,"--color-background-blue":`light-dark(#c4ddfb, #9eb7ff3D)`,"--color-border-blue":`light-dark(#b1c9e7, #6d9cfe)`,"--color-icon-blue":`light-dark(#00458c, #9eb7ff)`,"--color-text-blue":`light-dark(#00458c, #c7d3ff)`,"--color-background-purple":`light-dark(#eccef3, #f297ff3D)`,"--color-border-purple":`light-dark(#d8bbdf, #dd74f0)`,"--color-icon-purple":`light-dark(#700084, #f297ff)`,"--color-text-purple":`light-dark(#700084, #fac1ff)`,"--color-background-pink":`light-dark(#fccadc, #ff99c33D)`,"--color-border-pink":`light-dark(#e7b7c8, #f273aa)`,"--color-icon-pink":`light-dark(#83004b, #ff99c3)`,"--color-text-pink":`light-dark(#83004b, #ffc3da)`,"--color-background-gray":`light-dark(#e5e5e5, var(--color-neutral))`,"--color-border-gray":`light-dark(#d4d4d4, #262626)`,"--color-icon-gray":`light-dark(#525252, #a3a3a3)`,"--color-text-gray":`light-dark(#262626, #e5e5e5)`,"--radius-none":`0px`,"--radius-inner":`0.375rem`,"--radius-element":`0.625rem`,"--radius-container":`0.75rem`,"--radius-page":`1.75rem`,"--radius-full":`9999px`,"--shadow-low":`0 2px 4px light-dark(oklch(0 0 0 / 5%), oklch(0 0 0 / 25%)), 0 4px 8px light-dark(oklch(0 0 0 / 10%), oklch(0 0 0 / 40%)), inset 0 0 0 1px light-dark(transparent, oklch(1 0 0 / 8%))`,"--shadow-med":`0 2px 4px light-dark(oklch(0 0 0 / 5%), oklch(0 0 0 / 35%)), 0 4px 12px light-dark(oklch(0 0 0 / 10%), oklch(0 0 0 / 50%)), inset 0 0 0 1px light-dark(transparent, oklch(1 0 0 / 12%))`,"--shadow-high":`0 4px 6px light-dark(oklch(0 0 0 / 10%), oklch(0 0 0 / 50%)), 0 12px 24px light-dark(oklch(0 0 0 / 15%), oklch(0 0 0 / 70%)), inset 0 0 0 1px light-dark(transparent, oklch(1 0 0 / 15%))`,"--shadow-inset-hover":`inset 0px 0px 0px 2px #0074e24D`,"--shadow-inset-selected":`inset 0px 0px 0px 2px #0074e280`,"--shadow-inset-success":`inset 0px 0px 0px 2px #1981004D`,"--shadow-inset-warning":`inset 0px 0px 0px 2px #ffce2f4D`,"--shadow-inset-error":`inset 0px 0px 0px 2px #e33f4a4D`},components:{heading:{"level:1":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-1-size)`,fontWeight:`var(--text-heading-1-weight)`,lineHeight:`var(--text-heading-1-leading)`},"level:2":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-2-size)`,fontWeight:`var(--text-heading-2-weight)`,lineHeight:`var(--text-heading-2-leading)`},"level:3":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-3-size)`,fontWeight:`var(--text-heading-3-weight)`,lineHeight:`var(--text-heading-3-leading)`},"level:4":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-4-size)`,fontWeight:`var(--text-heading-4-weight)`,lineHeight:`var(--text-heading-4-leading)`},"level:5":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-5-size)`,fontWeight:`var(--text-heading-5-weight)`,lineHeight:`var(--text-heading-5-leading)`},"level:6":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-6-size)`,fontWeight:`var(--text-heading-6-weight)`,lineHeight:`var(--text-heading-6-leading)`},"type:display-1":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-1-size)`,lineHeight:`var(--text-display-1-leading)`},"type:display-2":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-2-size)`,lineHeight:`var(--text-display-2-leading)`},"type:display-3":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-3-size)`,lineHeight:`var(--text-display-3-leading)`}},text:{"type:body":{fontFamily:`var(--font-family-body)`,fontSize:`var(--text-body-size)`,lineHeight:`var(--text-body-leading)`},"type:large":{fontFamily:`var(--font-family-body)`,fontSize:`var(--text-large-size)`,lineHeight:`var(--text-large-leading)`},"type:label":{fontFamily:`var(--font-family-body)`,fontSize:`var(--text-label-size)`,lineHeight:`var(--text-label-leading)`},"type:code":{fontFamily:`var(--font-family-code)`,fontSize:`var(--text-code-size)`,lineHeight:`var(--text-code-leading)`},"type:supporting":{fontFamily:`var(--font-family-body)`,fontSize:`var(--text-supporting-size)`,lineHeight:`var(--text-supporting-leading)`},"type:display-1":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-1-size)`,lineHeight:`var(--text-display-1-leading)`},"type:display-2":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-2-size)`,lineHeight:`var(--text-display-2-leading)`},"type:display-3":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-3-size)`,lineHeight:`var(--text-display-3-leading)`}},button:{"variant:destructive":{backgroundColor:`var(--color-error-muted)`,color:`var(--color-error)`}},badge:{"variant:info":{backgroundColor:`light-dark(#0074e2, #6d9cfe)`,color:`light-dark(#ffffff, #171717)`},"variant:neutral":{backgroundColor:`var(--color-background-gray)`,color:`var(--color-text-gray)`},"variant:success":{backgroundColor:`light-dark(#198100, #64af4c)`,color:`light-dark(#ffffff, #171717)`},"variant:warning":{backgroundColor:`#ffce2f`,color:`#171717`},"variant:error":{backgroundColor:`light-dark(#c9303a, #ff705d)`,color:`light-dark(#ffffff, #171717)`},"variant:red":{backgroundColor:`var(--color-background-red)`,color:`var(--color-text-red)`},"variant:orange":{backgroundColor:`var(--color-background-orange)`,color:`var(--color-text-orange)`},"variant:yellow":{backgroundColor:`var(--color-background-yellow)`,color:`var(--color-text-yellow)`},"variant:green":{backgroundColor:`var(--color-background-green)`,color:`var(--color-text-green)`},"variant:teal":{backgroundColor:`var(--color-background-teal)`,color:`var(--color-text-teal)`},"variant:cyan":{backgroundColor:`var(--color-background-cyan)`,color:`var(--color-text-cyan)`},"variant:blue":{backgroundColor:`var(--color-background-blue)`,color:`var(--color-text-blue)`},"variant:purple":{backgroundColor:`var(--color-background-purple)`,color:`var(--color-text-purple)`},"variant:pink":{backgroundColor:`var(--color-background-pink)`,color:`var(--color-text-pink)`},"variant:gray":{backgroundColor:`var(--color-background-gray)`,color:`var(--color-text-gray)`}},statusdot:{"variant:success":{backgroundColor:`light-dark(#198100, #64af4c)`},"variant:warning":{backgroundColor:`#ffce2f`},"variant:error":{backgroundColor:`light-dark(#c9303a, #ff705d)`},"variant:accent":{backgroundColor:`light-dark(#0074e2, #6d9cfe)`}},banner:{"status:info":{"--color-accent-muted":`var(--color-background-blue)`,"--color-text-primary":`var(--color-text-blue)`,"--color-text-secondary":`var(--color-text-blue)`,"--color-accent":`var(--color-text-blue)`},"status:success":{"--color-text-primary":`var(--color-text-green)`,"--color-text-secondary":`var(--color-text-green)`,"--color-success":`var(--color-text-green)`},"status:warning":{"--color-text-primary":`var(--color-text-yellow)`,"--color-text-secondary":`var(--color-text-yellow)`,"--color-warning":`var(--color-text-yellow)`},"status:error":{"--color-text-primary":`var(--color-text-red)`,"--color-text-secondary":`var(--color-text-red)`,"--color-error":`var(--color-text-red)`}},switch:{base:{"--color-background-gray":`var(--color-border-emphasized)`}},progressbar:{base:{"--color-background-muted":`var(--color-border-emphasized)`},"variant:accent":{"--color-accent":`#0074e2`},"variant:success":{"--color-success":`#198100`},"variant:warning":{"--color-warning":`#ffce2f`},"variant:error":{"--color-error":`#c9303a`}},card:{base:{padding:`var(--spacing-3)`}},section:{base:{padding:`var(--spacing-3)`}}},__onDark:{tokens:{"color-scheme":`dark`,"--color-text-primary":`var(--color-on-dark)`,"--color-icon-primary":`var(--color-on-dark)`,"--color-accent":`var(--color-on-dark)`}},__onLight:{tokens:{"color-scheme":`light`,"--color-text-primary":`var(--color-on-light)`,"--color-icon-primary":`var(--color-on-light)`,"--color-accent":`var(--color-on-light)`}},icons:{close:(0,V.jsx)(Re,{..._S}),chevronDown:(0,V.jsx)(te,{..._S}),chevronLeft:(0,V.jsx)(ne,{..._S}),chevronRight:(0,V.jsx)(re,{..._S}),chevronsLeft:(0,V.jsx)(R,{..._S}),chevronsRight:(0,V.jsx)(z,{..._S}),check:(0,V.jsx)(L,{..._S}),success:(0,V.jsx)(ie,{..._S}),error:(0,V.jsx)(ae,{..._S}),warning:(0,V.jsx)(Fe,{..._S}),info:(0,V.jsx)(ve,{..._S}),calendar:(0,V.jsx)(F,{..._S}),clock:(0,V.jsx)(se,{..._S}),externalLink:(0,V.jsx)(de,{..._S}),menu:(0,V.jsx)(be,{..._S}),moreHorizontal:(0,V.jsx)(ue,{..._S}),search:(0,V.jsx)(De,{..._S}),arrowUp:(0,V.jsx)(N,{..._S}),arrowDown:(0,V.jsx)(j,{..._S}),arrowsUpDown:(0,V.jsx)(M,{..._S}),funnel:(0,V.jsx)(ge,{..._S}),eyeSlash:(0,V.jsx)(fe,{..._S}),viewColumns:(0,V.jsx)(ce,{..._S}),copy:(0,V.jsx)(le,{..._S}),checkDouble:(0,V.jsx)(I,{..._S}),wrench:(0,V.jsx)(Le,{..._S}),stop:(0,V.jsx)(Me,{..._S}),microphone:(0,V.jsx)(xe,{..._S})}};function yS({children:e}){let t=fn(cS,e=>e.snapshot?.preferences?.theme)??`system`,[n,r]=(0,w.useState)(()=>window.matchMedia?.(`(prefers-color-scheme: dark)`).matches??!1);(0,w.useEffect)(()=>{let e=window.matchMedia?.(`(prefers-color-scheme: dark)`);if(!e)return;let t=()=>r(e.matches);return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]);let i=t===`dark`||t===`system`&&n?`dark`:`light`;return(0,w.useEffect)(()=>{document.documentElement.dataset.theme=i},[i]),(0,V.jsx)(cn,{i18n:Pt,children:(0,V.jsx)(gS,{theme:vS,mode:i,children:e})})}var bS=document.getElementById(`root`);if(!bS)throw Error(`OpenPI Web root is missing`);(0,ze.createRoot)(bS).render((0,V.jsx)(w.StrictMode,{children:(0,V.jsx)(yS,{children:(0,V.jsx)(lS,{})})})); \ No newline at end of file +`,t),i=-1;if(n!==-1&&r!==-1?i=n20?`${e.slice(0,20)}…`:e}"`,{type:`unknown-field`,field:e,value:t,line:n}))}}function T(){u!==void 0&&a?.(u),f>0&&i?.({id:u,event:p,data:d}),u=void 0,d=``,f=0,p=void 0}function E(e={}){if(e.consume&&s.length>0){let e=s.join(``);C(e,0,e.length)}l=!0,u=void 0,d=``,f=0,p=void 0,s.length=0,c=0,m=!1,h=!1,g=!1}return{feed:_,reset:E}}function Xx(e,t,n){return n===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function Zx(e,t,n){return n===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}function Qx(e,t){let n=1;for(;nt.abort();e.signal.addEventListener(`abort`,n,{once:!0}),e.signal.aborted&&n();let r=window.setTimeout(n,45e3),i=await fetch(`/events?cursor=${e.cursor}`,{headers:e.client.headers(),signal:t.signal}).finally(()=>{window.clearTimeout(r),e.signal.removeEventListener(`abort`,n)});if(i.status===409)throw new $x(`event replay expired`);if(!i.ok||!i.body)throw Error(`event connection failed`);e.onConnected();let a=e.cursor,o=0,s=Yx({onComment(t){t.trim()===`heartbeat`&&++o>=4&&(o=0,e.onHeartbeat?.())},onEvent(t){let n=JSON.parse(t.data);if(!Number.isSafeInteger(n.sequence))throw new $x(`invalid event cursor`);if(!(n.sequence<=a)){if(n.sequence!==a+1)throw new $x(`event cursor gap`);if(a=n.sequence,n.type===`state_invalidated`)throw new $x(`state invalidated`);e.onEvent(n)}}}),c=i.body.getReader(),l=new TextDecoder;try{for(;!e.signal.aborted;){let t,n,r=c.read(),i=new Promise((r,i)=>{n=()=>i(Error(`event stream aborted`)),e.signal.addEventListener(`abort`,n,{once:!0}),e.signal.aborted&&n(),t=window.setTimeout(()=>i(Error(`event stream stalled`)),45e3)}),{done:a,value:o}=await Promise.race([r,i]).finally(()=>{window.clearTimeout(t),n&&e.signal.removeEventListener(`abort`,n)});if(a)throw Error(`event connection closed`);s.feed(l.decode(o,{stream:!0}))}}finally{await c.cancel().catch(()=>void 0)}}function tS(e,t,n){if([`session_start`,`session_switched`,`session_created`].includes(t))return[];if([`agent_settled`,`turn_settled`].includes(t))return e.map(e=>e.state===`running`?{...e,state:`unknown`}:e);if(!t.startsWith(`tool_execution_`))return e;let r=n.toolCallId;if(typeof r!=`string`||r.length>500)return e;let i=e.find(e=>e.call.id===r);if(i&&i.state!==`running`&&(i.state!==`unknown`||t!==`tool_execution_end`))return e;let a=Uu(n.call),o=a.type===`toolCall`&&typeof a.name==`string`&&typeof a.arguments==`string`?a:i?.call;if(!o||o.evidenceTruncated&&o.id?.includes(`[truncated]`))return e;let s=Uu(n.result),c={call:o,result:typeof s.content==`string`?s:i?.result,state:t===`tool_execution_end`?n.isError===!0?`failed`:`returned`:`running`},l=[...e.filter(e=>e.call.id!==r),c].slice(-32);for(;l.length>0&&new TextEncoder().encode(JSON.stringify(l)).byteLength>524288;)l.shift();return l}var nS=`openpi.collapsed-workspaces`,rS=`openpi.sidebar-collapsed`,iS=new Set([`agent_start`,`turn_started`,`turn_settled`,`agent_settled`,`prompt_settled`,`message_end`,`tool_execution_end`,`session_start`,`session_switched`,`session_progress`,`prompt_failed`,`model_select`,`workspace_imported`,`workspace_removed`,`workspace_renamed`,`session_renamed`,`session_archived`,`session_unarchived`,`session_created`,`prompt_accepted`,`runtime_changed`]);function aS(e){try{let t=JSON.parse(window.sessionStorage.getItem(e)||`[]`);return new Set(Array.isArray(t)?t.filter(e=>typeof e==`string`):[])}catch{return new Set}}function oS(e){try{return window.sessionStorage.getItem(e)===`true`}catch{return!1}}function sS(e,t){try{window.sessionStorage.setItem(e,JSON.stringify(t))}catch{}}function cS(e,t){return t.aborted?Promise.resolve():new Promise(n=>{let r=()=>{window.clearTimeout(i),t.removeEventListener(`abort`,r),n()},i=window.setTimeout(r,e);t.addEventListener(`abort`,r,{once:!0})})}function lS(e=new ed,t={}){let n=t.consumeEvents??eS,r=0,i=0,a=0,o=null,s=null,c=null,l=null,u=Promise.resolve(),d=null,f=!1,p=!1,m=null,h=null,g=0,_=null,v=0,y=!1,b=0,x=0,S=null,C=-1,w=null,T=0,E=new Set,D=new Set,O=(e,t)=>{if(typeof t==`string`)for(e.add(t);e.size>32;){let t=e.values().next().value;t&&e.delete(t)}},k=()=>({activeTurn:null,turnCancellationPending:!1,turnTerminalStatus:null,pendingFollowUpsReceipt:null,liveMessages:[],liveRunning:!1,livePhase:`idle`,liveRetry:null,thinkingStarts:{},thinkingDurations:{}}),A=()=>(g++,h?.abort(),h=null,{modelSearch:{query:``,status:`idle`,models:[],totalMatches:0,matchesOmitted:0,error:null}}),j=()=>({sessionId:null,status:`idle`,commands:[],totalAvailable:0,commandsOmitted:0,error:null}),M=(e,t)=>({liveRunning:t===`running`||!e,livePhase:t===`running`?`running`:e?`idle`:`preparing`});return un((t,N)=>{let P=e=>{t({notice:e instanceof Error?e.message:String(e)})},ee=e=>{let t=N().snapshot;return e.epoch===r&&N().selectedWorkspace===e.workspacePath&&t?.currentSessionId===e.sessionId&&t.selectedSession?.id===e.sessionId&&t.selectedSession.cwd===e.workspacePath&&(!e.sessionPath||t.selectedSession.path===e.sessionPath)},F=()=>{T++,w?.abort(),w=null,t({commandDiscovery:j()})},I=async(n,i,a)=>{if(N().modelSelectionPending)return!1;t({modelSelectionPending:!0});try{let o=await e.selectModel(n.provider,n.id,a);if(i!==r||a!==N().snapshot?.selectedSession?.id)return!1;if(o.provider!==n.provider||o.id!==n.id||!o.current)throw Error(`Model selection was not confirmed. Please select a model again.`);if(!await N().actions.refreshSnapshot({epoch:i})||i!==r||a!==N().snapshot?.selectedSession?.id)return!1;let s=N().snapshot?.models.find(e=>e.current);if(s?.provider!==n.provider||s.id!==n.id)throw Error(`The Session model changed. Please select a model again.`);return t({draftModel:null,notice:null}),!0}catch(e){return i===r&&a===N().snapshot?.selectedSession?.id&&P(e),!1}finally{i===r&&t({modelSelectionPending:!1})}},L=(e=160)=>{if(f){p=!0;return}d===null&&(d=window.setTimeout(async()=>{d=null,f=!0;try{await N().actions.refreshSnapshot()}finally{f=!1,p&&(p=!1,L())}},e))},te=()=>{S=null,x=0,C=-1},ne=()=>{let e=N().snapshot;if(!e)return;S&&C!==r&&te();let n=e.thinking;if(n){if(!S||n.revision>=x){S=n,x=n.revision,C=r;return}n!==S&&t({snapshot:{...e,thinking:S}})}},re=e=>{S&&C!==r&&te(),e&&e.revision>=x&&(S=e,x=e.revision,C=r),ne()},R=()=>{_=null,v++,y=!1,t({thinkingPendingLevel:null})},z=async()=>{let t=r,n=N().snapshot?.selectedSession?.id;if(n)try{let i=await e.thinking(n,new AbortController().signal);if(t!==r||n!==N().snapshot?.selectedSession?.id)return;re(i)}catch{}},ie=async()=>{if(y)return;y=!0;let n=++b;try{for(;_!==null;){let n=_,i=v,a=r,o=N().snapshot?.selectedSession?.id;if(!o||N().modelSelectionPending){R();return}if(N().snapshot?.thinking?.level===n){i===v&&(_=null,t({thinkingPendingLevel:null}));continue}let s;try{s=await e.setThinkingLevel(o,n)}catch(e){if(a!==r)return;if(i!==v)continue;R(),P(e),z();return}if(a!==r||o!==N().snapshot?.selectedSession?.id)return;if(i===v){if(s.level!==n){R(),P(Error(Pt.t(`thinkingNotConfirmed`)));return}re(s),_=null,t({thinkingPendingLevel:null}),L();return}}}finally{n===b&&(y=!1)}},ae=e=>{let n=N(),i=e.detail??{},a=i.sessionId,l=[`session_start`,`session_switched`,`session_created`].includes(e.type);if(n.cursor!==null&&e.sequence<=n.cursor)return;t({cursor:e.sequence});let u=n.promptAdmissionRecovery,d=u?.commandId;if(typeof i.commandId==`string`&&i.commandId===d&&[`prompt_accepted`,`prompt_failed`,`prompt_settled`,`turn_started`,`turn_settled`].includes(e.type)){let r=e.type!==`prompt_failed`;t({promptAdmissionRecovery:null,promptAdmissionResolution:r&&u?{commandId:u.commandId,content:u.content}:n.promptAdmissionResolution,liveMessages:r&&u&&!n.liveMessages.some(e=>e.key===u.optimisticKey)?[...n.liveMessages,{key:u.optimisticKey,message:{role:`user`,content:u.content}}].slice(-8):n.liveMessages})}if(e.type===`runtime_changed`&&t(A()),e.type===`runtime_changed`&&F(),n.sessionSwitching&&!l){L();return}if(typeof a==`string`&&a!==n.snapshot?.currentSessionId&&!l){L();return}if(n.snapshot){let r=tS(n.snapshot.runtime.liveTools??[],e.type,i);t({snapshot:{...n.snapshot,runtime:{...n.snapshot.runtime,liveTools:r}}})}if(l){let l=i.commandId;if(typeof l==`string`&&D.has(l)){L();return}let d=i.sessionPath,f=n.snapshot?.sessions.some(e=>e.path===d),p=!1;if(c?.kind===`select`?p=c.expectedPath===d:(c?.kind===`create`&&c.commandId===l&&e.type===`session_switched`&&typeof a==`string`&&(!c.expectedSessionId||c.expectedSessionId===a)&&(typeof d!=`string`||!f)||c?.kind===`create`&&c.commandId===l&&e.type===`session_created`&&typeof a==`string`&&(!c.expectedSessionId||a===c.expectedSessionId))&&(p=!0),p&&c?.epoch!==r)return;if(p)t(k());else{F();let e=++r;R(),o=null,s=null,t({...k(),promptAdmissionPending:!1,promptAdmissionRecovery:null,promptAdmissionResolution:u?{commandId:u.commandId,content:u.content}:n.promptAdmissionResolution,selectedPath:typeof d==`string`?d:null,draftModel:n.workspaceDraft?n.draftModel:null,modelSelectionPending:!1,sessionSwitching:!0}),N().actions.refreshSnapshot({epoch:e}).then(n=>{e===r&&t({selectedPath:n?N().selectedPath:null,sessionSwitching:!1})})}}else if(e.type===`prompt_accepted`){let e=E.has(String(i.commandId??``));t({...M(e,n.livePhase),liveRetry:null,pendingFollowUpsReceipt:Number.isInteger(i.pendingFollowUps)?Number(i.pendingFollowUps):n.pendingFollowUpsReceipt})}else if(e.type===`turn_started`)t({activeTurn:{sessionId:String(i.sessionId),commandId:String(i.commandId),epoch:Number(i.epoch)},liveRunning:!0,livePhase:`running`,liveRetry:null,turnTerminalStatus:null});else if(e.type===`agent_start`)t({...i.activeTurn?{activeTurn:i.activeTurn}:{},liveRunning:!0,livePhase:`running`,liveRetry:null});else if(e.type===`turn_settled`){O(E,i.commandId);let e=n.activeTurn;e?.sessionId===i.sessionId&&e?.commandId===i.commandId&&e?.epoch===i.epoch&&t({activeTurn:null,liveRunning:!1,livePhase:`idle`,liveRetry:null,turnTerminalStatus:typeof i.outcome==`string`?i.outcome:null})}else if(e.type===`agent_settled`)t({pendingFollowUpsReceipt:null,...n.activeTurn?{}:{liveRunning:!1,livePhase:`idle`,liveRetry:null}});else if(e.type===`prompt_settled`)O(E,i.commandId),n.livePhase!==`running`&&t({liveRunning:!1,livePhase:`idle`,liveRetry:null});else if(i.message&&typeof i.message==`object`){let r=i.message,a=n.liveMessages;r.role===`user`&&(a=a.filter(e=>!e.key.startsWith(`optimistic-`)||e.message.content!==r.content));let o=typeof i.messageKey==`string`?i.messageKey:`${r.role||`message`}-${e.sequence}`,s={key:o,message:r},c=a.findIndex(e=>e.key===o);a=c>=0?a.map((e,t)=>t===c?s:e):[...a,s].slice(-8);let l={...n.thinkingStarts},u={...n.thinkingDurations};r.parts?.some(e=>e.type===`thinking`)&&(l[o]??=Date.now(),e.type===`message_end`&&(u[o]=Date.now()-l[o])),t({liveMessages:a,thinkingDurations:u,thinkingStarts:l})}if(e.type===`prompt_failed`&&(O(E,i.commandId),t({liveMessages:N().liveMessages.filter(e=>!e.key.startsWith(`optimistic-`)),liveRunning:!1,livePhase:`idle`,liveRetry:null,notice:typeof i.error==`string`?i.error:`Prompt failed`})),e.type===`auto_retry_start`&&t({liveRunning:!0,livePhase:`running`,liveRetry:{attempt:Number(i.attempt)||0,maxAttempts:Number(i.maxAttempts)||0}}),e.type===`thinking_level_changed`){let t=N().snapshot?.thinking;t&&typeof i.level==`string`&&re({...t,level:i.level,revision:e.sequence})}iS.has(e.type)&&L()},oe=async r=>{let i=500;for(;!r.aborted;){let a=!1;try{if(N().cursor===null){if(a=!0,!await N().actions.refreshSnapshot({resetCursor:!0}))throw Error(`snapshot unavailable`);a=!1}if(r.aborted)return;await n({client:e,cursor:N().cursor??0,onConnected:()=>{i=500,t({connection:`connected`})},onEvent:ae,onHeartbeat:()=>L(0),signal:r})}catch(e){if(r.aborted)return;t({connection:`reconnecting`}),!a&&await N().actions.refreshSnapshot({resetCursor:!0})||t(k()),await cS(i,r),i=Math.min(i*2,5e3),e instanceof SyntaxError&&t({notice:`Invalid event data`})}}},se={start(){m||(m=new AbortController,oe(m.signal))},stop(){m?.abort(),m=null,d!==null&&window.clearTimeout(d),d=null,R(),F()},async refreshSnapshot(n={}){let a=n.epoch??r,o=++i,c=N().selectedPath;try{let l=await e.snapshot(c);if(a!==r||o!==i)return!1;let u=typeof l.currentSessionId==`string`,d=u?l.sessions.find(e=>e.id===l.currentSessionId):void 0,f=u?l.selectedSession?.id===l.currentSessionId:l.selectedSession===void 0,p=!c||l.sessions.some(e=>e.path===c),m=!c||l.selectedSession?.path===c;if(!p||!m||!f)return t({selectedPath:null}),!n.canonicalRetry&&se.refreshSnapshot({...n,canonicalRetry:!0,epoch:a});let h=l.selectedSession?.cwd,g=l.workspaces.find(e=>e.current)?.path,_=l.workspaces.some(e=>e.path===N().selectedWorkspace)?N().selectedWorkspace:void 0,v=N().workspaceDraft?N().selectedWorkspace:l.workspaces.some(e=>e.path===h)?h:g??_??null,y=n.resetCursor;return y&&te(),N().snapshot?.currentSessionId!==l.currentSessionId&&F(),t({...y?k():{},connection:N().connection===`connecting`?`connecting`:N().connection,cursor:y||N().cursor===null?l.cursor:Math.max(N().cursor??0,l.cursor),activeTurn:l.runtime.activeTurn??null,livePhase:l.runtime.status===`running`?`running`:!N().promptAdmissionPending&&!s?`idle`:N().livePhase,liveRetry:l.runtime.status!==`running`&&!N().promptAdmissionPending&&!s?null:N().liveRetry,liveRunning:l.runtime.status===`running`?!0:!N().promptAdmissionPending&&!s?!1:N().liveRunning,selectedPath:d?.path??l.selectedSession?.path??null,selectedWorkspace:v,snapshot:l,...A()}),re(),!0}catch(e){return a!==r||o!==i?!1:(t({connection:`unavailable`}),P(e),!1)}},async chooseWorkspace(){let t=r;try{let n=await e.chooseWorkspace();if(t!==r||n.cancelled||!n.path)return;se.setWorkspace(n.path),await se.refreshSnapshot()}catch(e){t===r&&P(e)}},setWorkspace(e){let n=N();e===n.selectedWorkspace&&!n.sessionSwitching||(++r,l=null,R(),F(),o=null,s=null,t({...k(),...A(),selectedWorkspace:e,workspaceDraft:!0,sessionSwitching:!1,modelSelectionPending:!1,promptAdmissionPending:!1,promptAdmissionRecovery:null,promptAdmissionResolution:n.promptAdmissionRecovery?{commandId:n.promptAdmissionRecovery.commandId,content:n.promptAdmissionRecovery.content}:n.promptAdmissionResolution,notice:null}))},async renameWorkspace(t,n){try{await e.renameWorkspace(t,n),await se.refreshSnapshot()}catch(e){throw P(e),e}},async removeWorkspace(n){try{await e.removeWorkspace(n),N().selectedWorkspace===n&&F(),t({selectedPath:null,selectedWorkspace:N().selectedWorkspace===n?null:N().selectedWorkspace}),await se.refreshSnapshot()}catch(e){P(e)}},async createSession(n){if(!n||N().modelSelectionPending)return null;let i=N(),a=++r;R(),F();let d=(l?.workspacePath===n?l.commandId:void 0)??globalThis.crypto?.randomUUID?.()??`web-create-${Date.now()}-${a}`;l={workspacePath:n,commandId:d},o=null,s=null,t({...k(),...A(),mobileSidebarOpen:!1,promptAdmissionPending:!1,promptAdmissionRecovery:null,promptAdmissionResolution:i.promptAdmissionRecovery?{commandId:i.promptAdmissionRecovery.commandId,content:i.promptAdmissionRecovery.content}:i.promptAdmissionResolution,selectedPath:null,selectedWorkspace:n,workspaceDraft:!0,sessionSwitching:!0});let f=null,p=u.then(async()=>{if(a===r){c={commandId:d,epoch:a,expectedPath:null,kind:`create`};try{let i=await e.createSession(n,d);if(a!==r)return;if(i.cancelled||i.commandId!==d||typeof i.sessionId!=`string`||!i.sessionId||i.sessionId.length>128||i.sessionPath!==void 0&&!i.sessionPath)throw Error(`Session creation did not return a valid target identity.`);let o={epoch:a,sessionId:i.sessionId,sessionPath:i.sessionPath??null,workspacePath:n};c?.epoch===a&&(c.expectedSessionId=o.sessionId,c.expectedPath=o.sessionPath),t({selectedPath:o.sessionPath});let s=await se.refreshSnapshot({epoch:a});if(!s&&a===r&&(s=await se.refreshSnapshot({epoch:a})),a!==r)return;if(!s)throw Error(`The created Session could not be confirmed. Please try again.`);if(!ee(o)){l=null,P(Error(`The created Session is no longer active in the selected workspace. Please try again.`));return}t({workspaceDraft:!1,notice:null});let u=N().draftModel;if(u&&!await I(u,a,o.sessionId))return;if(N().workspaceDraft||!ee(o)){l=null,P(Error(`The created Session is no longer active in the selected workspace. Please try again.`));return}f=o,l=null}catch(e){if(a!==r)return;t({selectedPath:null}),P(e),await se.refreshSnapshot({epoch:a})}finally{O(D,d),c?.epoch===a&&(c=null),a===r&&t({sessionSwitching:!1})}}});return u=p.catch(()=>void 0),await p,a===r?f:null},async selectSession(n){if(!n)return;l=null;let i=N();F(),t({...A(),workspaceDraft:!1,draftModel:null,modelSelectionPending:!1});let a=++r;R(),o=null,s=null,t({...k(),mobileSidebarOpen:!1,promptAdmissionPending:!1,promptAdmissionRecovery:null,promptAdmissionResolution:i.promptAdmissionRecovery?{commandId:i.promptAdmissionRecovery.commandId,content:i.promptAdmissionRecovery.content}:i.promptAdmissionResolution,selectedPath:n,sessionSwitching:!0});let d=u.then(async()=>{if(a===r){c={epoch:a,expectedPath:n,kind:`select`};try{if(await e.selectSession(n),a!==r)return;await se.refreshSnapshot({epoch:a})||t({selectedPath:null})}catch(e){if(a!==r)return;t({selectedPath:null}),P(e),await se.refreshSnapshot({epoch:a})}finally{c?.epoch===a&&(c=null),a===r&&t({sessionSwitching:!1})}}});u=d.catch(()=>void 0),await d},async renameSession(t,n){try{await e.renameSession(t,n),await se.refreshSnapshot()}catch(e){throw P(e),e}},async archiveSession(t){try{await e.archiveSession(t),await se.refreshSnapshot()}catch(e){P(e)}},async unarchiveSession(t){let n=r;try{return await e.unarchiveSession(t),n!==r||await se.refreshSnapshot({epoch:n})}catch(e){return n===r&&P(e),!1}},async selectModel(e){let[n,...i]=e.split(`/`),a=i.join(`/`),o=N();if(!n||!a||o.sessionSwitching||o.modelSelectionPending||o.promptAdmissionPending||!o.workspaceDraft&&(o.liveRunning||o.snapshot?.runtime.status===`running`))return;let s=o.snapshot?.selectedSession?.id;if(o.workspaceDraft||!s&&!o.snapshot?.currentSessionId){let e=[...o.snapshot?.models??[],...o.modelSearch.models].find(e=>e.provider===n&&e.id===a);e&&t({draftModel:e,notice:null});return}!s||s!==o.snapshot?.currentSessionId||(R(),await I({provider:n,id:a},r,s))},async searchModels(n){let a=n.trim();if(!a){t(A());return}h?.abort();let o=new AbortController;h=o;let s=++g,c=r,l=i,u=N().snapshot?.currentSessionId;t({modelSearch:{query:a,status:`loading`,models:[],totalMatches:0,matchesOmitted:0,error:null}});try{let n=await e.searchModels(a,u,o.signal);if(o.signal.aborted||c!==r||l!==i||s!==g)return;t({modelSearch:{query:a,status:`ready`,models:n.models,totalMatches:n.totalMatches,matchesOmitted:n.truncation.matchesOmitted,error:null}})}catch(e){if(o.signal.aborted||c!==r||l!==i||s!==g)return;t({modelSearch:{query:a,status:`error`,models:[],totalMatches:0,matchesOmitted:0,error:e instanceof Error?e.message:String(e)}})}finally{h===o&&(h=null)}},clearModelSearch(){t(A())},selectThinking(e){let n=N(),r=n.snapshot?.thinking,i=n.snapshot?.selectedSession?.id;!e||!r?.supported||n.sessionSwitching||n.modelSelectionPending||n.workspaceDraft||!i||i!==n.snapshot?.currentSessionId||n.liveRunning||n.snapshot?.runtime.status===`running`||e!==(n.thinkingPendingLevel??r.level)&&(_=e,v++,t({thinkingPendingLevel:e}),ie())},async cancelActiveTurn(){let n=N().activeTurn??N().snapshot?.runtime.activeTurn;if(!n||N().turnCancellationPending||N().sessionSwitching)return;let i=r;t({turnCancellationPending:!0});try{await e.cancelActiveTurn(n)}catch(e){if(i!==r)return;await se.refreshSnapshot({epoch:i}),i===r&&P(e)}finally{i===r&&t({turnCancellationPending:!1})}},async sendPrompt(n){let i=n.trim(),c=N(),l=c.promptAdmissionRecovery,u=l?.phase===`submitting`?l:null,d=c.selectedWorkspace;if(!d||!i||c.sessionSwitching||c.promptAdmissionPending||l&&!u||c.promptAdmissionResolution||c.modelSelectionPending||c.thinkingPendingLevel!==null)return!1;let f=N().workspaceDraft||!N().snapshot?.selectedSession?.id,p=f?await se.createSession(d):null;if(f&&!p)return N().notice||t({notice:`The active Session changed before the first message was sent. Your message was not sent.`}),!1;if(f&&N().draftModel)return!1;let m=N().snapshot?.selectedSession,h=p??(m?{epoch:r,sessionId:m.id,sessionPath:m.path,workspacePath:d}:null);if(!h||N().workspaceDraft||!ee(h)||N().sessionSwitching||N().promptAdmissionPending||u&&(N().promptAdmissionRecovery?.commandId!==u.commandId||N().promptAdmissionRecovery?.phase!==`submitting`))return!1;let{epoch:g,sessionId:_}=h,v=N().draftModel;if(v&&!await I(v,g,_)||N().workspaceDraft||!ee(h)||u&&(N().promptAdmissionRecovery?.commandId!==u.commandId||N().promptAdmissionRecovery?.phase!==`submitting`))return!1;let y=++a,b=s?.sessionId===_&&s.content===i,x=b?s.commandId:globalThis.crypto?.randomUUID?.()??`web-prompt-${Date.now()}-${y}`,S=b?s.optimisticKey:`optimistic-${x}`;s={sessionId:_,content:i,commandId:x,optimisticKey:S},o=y,t({liveMessages:b?N().liveMessages:[...N().liveMessages,{key:S,message:{role:`user`,content:i}}].slice(-8),notice:null,pendingFollowUpsReceipt:null,turnTerminalStatus:null,promptAdmissionPending:!0,scrollToBottom:N().scrollToBottom+1});try{let n=await e.prompt(_,i,x,b);if(g!==r||o!==y)return!1;let a=E.has(n.id);return s?.commandId===x&&(s=null),t({...M(a,N().livePhase),pendingFollowUpsReceipt:n.pendingFollowUps??null,...u&&N().promptAdmissionRecovery?.commandId===u.commandId?{promptAdmissionRecovery:null}:{}}),L(120),!0}catch(e){if(g!==r||o!==y)return!1;if(e instanceof Qu&&e.code===`COMMAND_ADMISSION_UNKNOWN`&&s?.commandId===x){let e=s;s=null,t({liveRunning:!1,livePhase:`idle`,liveRetry:null,notice:null,promptAdmissionPending:!1,promptAdmissionRecovery:{...e,phase:`checking`}});let n=await se.refreshSnapshot({resetCursor:!0,epoch:g}),r=N().promptAdmissionRecovery;return r?.commandId===x&&t({promptAdmissionRecovery:{...r,phase:n?`ready`:`verification-failed`}}),!1}return e instanceof Qu&&[`WORKSPACE_REQUIRED`,`SESSION_CONFLICT`,`PROMPT_REJECTED`,`COMMAND_CONFLICT`,`PROMPT_ADMISSION_CAPACITY`].includes(e.code??``)?(s?.commandId===x&&(s=null),t({liveMessages:N().liveMessages.filter(e=>e.key!==S),livePhase:`idle`,liveRetry:null,liveRunning:!1}),P(e),!1):(t({liveRunning:!0,livePhase:N().livePhase===`running`?`running`:`preparing`,liveRetry:null}),P(e),!1)}finally{g===r&&o===y&&(o=null,t({promptAdmissionPending:!1}))}},async checkPromptAdmissionRecovery(){let e=N().promptAdmissionRecovery;if(!e||e.phase!==`verification-failed`)return;let n=r;t({notice:null,promptAdmissionRecovery:{...e,phase:`checking`}});let i=await se.refreshSnapshot({resetCursor:!0,epoch:n}),a=N().promptAdmissionRecovery;a?.commandId===e.commandId&&a.phase===`checking`&&t({promptAdmissionRecovery:{...a,phase:i?`ready`:`verification-failed`}})},async sendPromptAsNew(e){let n=N().promptAdmissionRecovery;if(!n||n.phase!==`ready`||n.sessionId!==N().snapshot?.selectedSession?.id)return!1;let r=e.trim();if(!r)return!1;t({promptAdmissionRecovery:{...n,phase:`submitting`},notice:null});let i=!1;try{return i=await se.sendPrompt(r),i}finally{let e=N().promptAdmissionRecovery;e?.commandId===n.commandId&&e.phase===`submitting`&&t({promptAdmissionRecovery:i?null:{...e,phase:`ready`}})}},abandonPromptAdmission(){let e=N().promptAdmissionRecovery;!e||e.phase===`submitting`||t({liveMessages:N().liveMessages.filter(t=>t.key!==e.optimisticKey),notice:null,promptAdmissionRecovery:null})},acknowledgePromptAdmissionResolution(e){N().promptAdmissionResolution?.commandId===e&&t({promptAdmissionResolution:null})},async discoverCommands(){let n=N(),i=n.snapshot?.selectedSession?.id;if(n.workspaceDraft||!i||i!==n.snapshot?.currentSessionId||n.sessionSwitching){F();return}if(n.commandDiscovery.sessionId===i&&(n.commandDiscovery.status===`loading`||n.commandDiscovery.status===`ready`))return;let a=r,o=++T;w?.abort();let s=new AbortController;w=s,t({commandDiscovery:{sessionId:i,status:`loading`,commands:[],totalAvailable:0,commandsOmitted:0,error:null}});try{let n=await e.commands(i,s.signal);if(s.signal.aborted||a!==r||o!==T||i!==N().snapshot?.currentSessionId)return;t({commandDiscovery:{sessionId:i,status:`ready`,commands:n.commands,totalAvailable:n.totalAvailable,commandsOmitted:n.truncation.commandsOmitted,error:null}})}catch(e){if(s.signal.aborted||a!==r||o!==T)return;t({commandDiscovery:{sessionId:i,status:`error`,commands:[],totalAvailable:0,commandsOmitted:0,error:e instanceof Error?e.message:String(e)}})}finally{w===s&&(w=null)}},clearCommandDiscovery:F,setQuery(e){t({query:e})},setSearchOpen(e){t({searchOpen:e,...e?{}:{query:``}})},toggleWorkspace(e){let n=new Set(N().collapsed);n.has(e)?n.delete(e):n.add(e),sS(nS,[...n]),t({collapsed:n})},toggleSidebar(e){if(e){t({mobileSidebarOpen:!N().mobileSidebarOpen});return}let n=!N().sidebarCollapsed;try{window.sessionStorage.setItem(rS,String(n))}catch{}t({sidebarCollapsed:n})},closeMobileSidebar(){t({mobileSidebarOpen:!1})},clearNotice(){t({notice:null})}};return{activeTurn:null,turnCancellationPending:!1,turnTerminalStatus:null,pendingFollowUpsReceipt:null,snapshot:null,cursor:null,selectedPath:null,selectedWorkspace:null,workspaceDraft:!1,draftModel:null,modelSelectionPending:!1,modelSearch:{query:``,status:`idle`,models:[],totalMatches:0,matchesOmitted:0,error:null},collapsed:aS(nS),sidebarCollapsed:oS(rS),mobileSidebarOpen:!1,query:``,searchOpen:!1,connection:`connecting`,notice:null,liveMessages:[],liveRunning:!1,livePhase:`idle`,liveRetry:null,thinkingStarts:{},thinkingDurations:{},promptAdmissionPending:!1,promptAdmissionRecovery:null,promptAdmissionResolution:null,sessionSwitching:!1,scrollToBottom:0,thinkingPendingLevel:null,commandDiscovery:j(),actions:se}})}var uS=lS();function dS(){let e=fn(uS),{t}=sn(),{actions:n}=e,r=(0,w.useRef)(null),[i,a]=(0,w.useState)(()=>window.matchMedia?.(`(max-width: 760px)`).matches??!1),o=i&&e.mobileSidebarOpen;(0,w.useEffect)(()=>{let e=window.matchMedia?.(`(max-width: 760px)`);if(!e)return;let t=()=>{a(e.matches),e.matches||n.closeMobileSidebar()};return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[n]);let[s,c]=(0,w.useState)(`chat`),[l,u]=(0,w.useState)(null),d=e.snapshot?.models.find(e=>e.current),f=JSON.stringify([d?.provider,d?.id]),p=t=>{let n=e.snapshot,r=n?.selectedSession;e.workspaceDraft||!n||!r||e.sessionSwitching||r.id!==n.currentSessionId||u({sessionId:r.id,sessionPath:r.path,cwd:r.cwd,model:d?.label??``,modelKey:f,terminalId:t})},m=l&&!e.workspaceDraft&&!e.sessionSwitching&&l.sessionId===e.snapshot?.currentSessionId&&l.sessionPath===e.snapshot?.selectedSession?.path&&l.modelKey===f;(0,w.useEffect)(()=>{l&&!m&&u(null)},[l,m]),(0,w.useEffect)(()=>(n.start(),n.stop),[n]);let h=e.workspaceDraft?void 0:e.snapshot?.selectedSession,g=h?.entries.some(e=>e.type===`message`&&e.message)||e.liveMessages.length>0,_=!h||!g,v=(0,w.useCallback)(e=>n.sendPrompt(e),[n]);return(0,V.jsxs)(`div`,{className:`app-shell ${e.sidebarCollapsed?`sidebar-collapsed`:``} ${e.mobileSidebarOpen?`sidebar-open`:``}`,children:[(0,V.jsx)(rd,{snapshot:e.snapshot,selectedPath:e.workspaceDraft?null:e.selectedPath,selectedWorkspace:e.selectedWorkspace,collapsed:e.collapsed,query:e.query,searchOpen:e.searchOpen,mobileOpen:o,returnFocusRef:r,actions:n}),e.sidebarCollapsed&&(0,V.jsx)(`button`,{className:`sidebar-expand`,type:`button`,"aria-label":t(`expandSidebar`),title:t(`expandSidebar`),onClick:()=>n.toggleSidebar(!1),children:(0,V.jsx)(Se,{})}),(0,V.jsxs)(`main`,{inert:o,className:`conversation-shell ${h?`has-view`:``} ${_&&(e.workspaceDraft||s===`chat`)?`landing`:``}`,children:[(0,V.jsx)(`h1`,{className:`sr-only`,children:`OpenPI`}),(0,V.jsxs)(`header`,{className:`mobile-header`,children:[(0,V.jsx)(`button`,{ref:r,type:`button`,"aria-label":t(`openSidebar`),"aria-controls":`session-sidebar`,"aria-expanded":o,onClick:()=>n.toggleSidebar(!0),children:(0,V.jsx)(be,{})}),(0,V.jsx)(`span`,{className:`connection-state ${e.connection}`,children:t(e.connection)})]}),h&&(0,V.jsxs)(`fieldset`,{className:`conversation-view-switch`,"aria-label":t(`conversationView`),children:[(0,V.jsx)(`button`,{type:`button`,"aria-pressed":s===`chat`,onClick:()=>c(`chat`),children:t(`chatView`)}),(0,V.jsx)(`button`,{type:`button`,"aria-pressed":s===`trajectory`,onClick:()=>c(`trajectory`),children:t(`trajectory`)}),(0,V.jsx)(`button`,{type:`button`,"aria-pressed":s===`changes`,onClick:()=>c(`changes`),children:t(`workspaceChanges`)})]}),e.sessionSwitching?(0,V.jsx)(`div`,{className:`conversation switching`,role:`status`,children:(0,V.jsxs)(`div`,{className:`conversation-running`,children:[(0,V.jsx)(`span`,{className:`conversation-running-dot`}),(0,V.jsx)(`span`,{children:t(`switchingSession`)})]})}):s===`trajectory`&&h&&e.snapshot?(0,V.jsx)(od,{snapshot:e.snapshot,running:e.liveRunning},h.path):s===`changes`&&h?(0,V.jsx)(Vx,{sessionId:h.id,cwd:h.cwd},h.id):_?(0,V.jsx)(`section`,{className:`conversation landing-conversation`,"aria-label":`Conversation`,children:(0,V.jsx)(`div`,{className:`landing-welcome`,children:(0,V.jsx)(hn,{animated:!0})})}):e.snapshot?(0,V.jsx)(zx,{snapshot:e.snapshot,liveMessages:e.liveMessages,liveRunning:e.liveRunning,livePhase:e.livePhase,liveRetry:e.liveRetry,thinkingStarts:e.thinkingStarts,thinkingDurations:e.thinkingDurations,scrollToBottom:e.scrollToBottom,onResend:v}):null,(0,V.jsx)(lu,{workspaceDraft:e.workspaceDraft,draftModel:e.draftModel,modelSelectionPending:e.modelSelectionPending,modelSearch:e.modelSearch,thinkingPendingLevel:e.thinkingPendingLevel,onInspect:p,activeTurn:e.activeTurn,turnCancellationPending:e.turnCancellationPending,turnTerminalStatus:e.turnTerminalStatus,pendingFollowUpsReceipt:e.pendingFollowUpsReceipt,commandDiscovery:e.commandDiscovery,snapshot:e.snapshot,selectedPath:e.selectedPath,selectedWorkspace:e.selectedWorkspace,sessionSwitching:e.sessionSwitching,promptAdmissionPending:e.promptAdmissionPending,promptAdmissionRecovery:e.promptAdmissionRecovery,promptAdmissionResolution:e.promptAdmissionResolution,liveRunning:e.liveRunning,landing:_,actions:n}),e.notice&&(0,V.jsxs)(`div`,{className:`notice`,role:`alert`,children:[(0,V.jsx)(`span`,{children:e.notice}),(0,V.jsx)(`button`,{type:`button`,"aria-label":t(`close`),onClick:n.clearNotice,children:(0,V.jsx)(Re,{})})]})]}),m&&(0,V.jsx)(td,{target:l,onClose:()=>u(null)},`${l.sessionId}:${l.sessionPath}:${l.terminalId??`status`}`),(0,V.jsx)(`button`,{className:`sidebar-scrim`,type:`button`,tabIndex:-1,"aria-hidden":`true`,"aria-label":t(`close`),onClick:n.closeMobileSidebar})]})}var fS={base:{k1xSpc:`xjp7ctv`,kMwMTN:`x1tgivj0`,kMv6JI:`x9ynric`,$$css:!0},light:{kQNsl9:`x19aimcq`,$$css:!0},dark:{kQNsl9:`xntwwlm`,$$css:!0},system:{kQNsl9:`x108lcm5`,$$css:!0}},pS=w.createContext(!1);pS.displayName=`ThemeNestingContext`;var mS=new Set,hS=0;function gS(e){let t=(0,w.useId)();(0,w.useInsertionEffect)(()=>{if(e.__built)return;let n=`astryx-theme-${e.name}`;if(mS.has(n))return;`${e.name}`,`${e.name}${e.name}${e.name}${e.name}`;let{prose:r,component:i}=Fs(e),a=Ps();mS.add(n);let o=[()=>mS.delete(n)];if(a){if(hS++===0){let e=document.createElement(`style`);e.setAttribute(Zr(`theme-base`),``),e.textContent=`@layer astryx-base {\n${a}\n}`,document.head.appendChild(e)}o.push(()=>{--hS===0&&document.querySelector(`style[${Zr(`theme-base`)}]`)?.remove()})}if(r){let n=document.createElement(`style`);n.setAttribute(Zr(`theme-prose`),e.name),n.setAttribute(Zr(`id`),t),n.textContent=`@layer reset {\n${r}\n}`,document.head.appendChild(n)}if(i){let n=document.createElement(`style`);n.setAttribute(Zr(`theme`),e.name),n.setAttribute(Zr(`id`),t),n.textContent=`@layer astryx-theme {\n${i}\n}`,document.head.appendChild(n)}return(r||i)&&o.push(()=>{let n=document.querySelector(`style[${Zr(`theme-prose`)}="${e.name}"][${Zr(`id`)}="${t}"]`),r=document.querySelector(`style[${Zr(`theme`)}="${e.name}"][${Zr(`id`)}="${t}"]`);n?.remove(),r?.remove()}),()=>{for(let e of o)e()}},[e,t])}function _S(e,t,n){Fc(()=>{if(!e&&!(typeof document>`u`))return t===`light`||t===`dark`?document.documentElement.setAttribute(`data-theme`,t):document.documentElement.removeAttribute(`data-theme`),document.documentElement.setAttribute(Zr(`theme`),n),()=>{document.documentElement.removeAttribute(`data-theme`),document.documentElement.removeAttribute(Zr(`theme`))}},[e,t,n])}function vS({theme:e,mode:t=`system`,children:n}){let r=(0,w.use)(pS);cs(e),gS(e),_S(r,t,e.name);let i=t===`dark`?fS.dark:t===`light`?fS.light:fS.system,a=(0,w.useMemo)(()=>({theme:e,mode:t}),[e,t]);return(0,V.jsx)(Ls,{value:a,children:(0,V.jsx)(pS,{value:!0,children:(0,V.jsx)(`div`,{...bn(fS.base,i),"data-astryx-theme":e.name,"data-theme":t===`system`?void 0:t,children:n})})})}vS.displayName=`Theme`;var yS={size:`1em`,"aria-hidden":!0},bS={name:`neutral`,__built:!0,tokens:{"--font-size-4xs":`0.375rem`,"--font-size-3xs":`0.4375rem`,"--font-size-2xs":`0.5rem`,"--font-size-xs":`0.625rem`,"--font-size-sm":`0.75rem`,"--font-size-base":`0.875rem`,"--font-size-lg":`1.0625rem`,"--font-size-xl":`1.25rem`,"--font-size-2xl":`1.5rem`,"--font-size-3xl":`1.8125rem`,"--font-size-4xl":`2.1875rem`,"--font-size-5xl":`2.625rem`,"--text-heading-1-size":`var(--font-size-2xl)`,"--text-heading-1-weight":`var(--font-weight-semibold)`,"--text-heading-1-leading":`1.3333`,"--text-heading-2-size":`var(--font-size-xl)`,"--text-heading-2-weight":`var(--font-weight-semibold)`,"--text-heading-2-leading":`1.4`,"--text-heading-3-size":`var(--font-size-lg)`,"--text-heading-3-weight":`var(--font-weight-bold)`,"--text-heading-3-leading":`1.4118`,"--text-heading-4-size":`var(--font-size-base)`,"--text-heading-4-weight":`var(--font-weight-bold)`,"--text-heading-4-leading":`1.4286`,"--text-heading-5-size":`var(--font-size-sm)`,"--text-heading-5-weight":`var(--font-weight-semibold)`,"--text-heading-5-leading":`1.6667`,"--text-heading-6-size":`var(--font-size-xs)`,"--text-heading-6-weight":`var(--font-weight-semibold)`,"--text-heading-6-leading":`1.6`,"--text-body-size":`var(--font-size-base)`,"--text-body-weight":`var(--font-weight-normal)`,"--text-body-leading":`1.4286`,"--text-large-size":`var(--font-size-lg)`,"--text-large-weight":`var(--font-weight-semibold)`,"--text-large-leading":`1.4118`,"--text-label-size":`var(--font-size-base)`,"--text-label-weight":`var(--font-weight-medium)`,"--text-label-leading":`1.4286`,"--text-code-size":`var(--font-size-base)`,"--text-code-weight":`var(--font-weight-normal)`,"--text-code-leading":`1.4286`,"--text-supporting-size":`var(--font-size-sm)`,"--text-supporting-weight":`var(--font-weight-normal)`,"--text-supporting-leading":`1.6667`,"--text-display-1-size":`var(--font-size-5xl)`,"--text-display-1-weight":`var(--font-weight-normal)`,"--text-display-1-leading":`1.2381`,"--text-display-2-size":`var(--font-size-4xl)`,"--text-display-2-weight":`var(--font-weight-normal)`,"--text-display-2-leading":`1.2571`,"--text-display-3-size":`var(--font-size-3xl)`,"--text-display-3-weight":`var(--font-weight-normal)`,"--text-display-3-leading":`1.3793`,"--duration-fast-min":`95ms`,"--duration-fast":`125ms`,"--duration-fast-max":`165ms`,"--duration-medium-min":`225ms`,"--duration-medium":`300ms`,"--duration-medium-max":`400ms`,"--duration-slow-min":`525ms`,"--duration-slow":`700ms`,"--duration-slow-max":`935ms`,"--font-family-body":`Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif`,"--font-family-heading":`Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif`,"--font-family-code":`ui-monospace, "SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace`,"--color-syntax-keyword":`light-dark(#700084, #efa8ff)`,"--color-syntax-string":`light-dark(#005600, #a6d2a2)`,"--color-syntax-comment":`light-dark(#737373, #a3a3a3)`,"--color-syntax-number":`light-dark(#6e3500, #ffb37f)`,"--color-syntax-function":`light-dark(#00458c, #a0caff)`,"--color-syntax-type":`light-dark(#700084, #efa8ff)`,"--color-syntax-variable":`light-dark(#171717, #e5e5e5)`,"--color-syntax-operator":`light-dark(#737373, #a3a3a3)`,"--color-syntax-constant":`light-dark(#6e3500, #ffb37f)`,"--color-syntax-tag":`light-dark(#89001a, #ffaeaa)`,"--color-syntax-attribute":`light-dark(#584400, #eec12f)`,"--color-syntax-property":`light-dark(#005348, #83dac9)`,"--color-syntax-punctuation":`light-dark(#6e6e6e, #a0a0a0)`,"--color-syntax-background":`light-dark(#fafafa, #0a0a0a)`,"--color-background-surface":`light-dark(#ffffff, #262626)`,"--color-background-body":`light-dark(#f1f1f1, #1b1b1b)`,"--color-background-card":`light-dark(#ffffff, #1b1b1b)`,"--color-background-popover":`light-dark(#ffffff, #1b1b1b)`,"--color-background-muted":`light-dark(#f1f1f1, #1b1b1b)`,"--color-accent":`light-dark(#262626, #ebebeb)`,"--color-accent-muted":`light-dark(#f1f1f1, #262626)`,"--color-neutral":`light-dark(#0000000F, #FFFFFF1A)`,"--color-overlay":`light-dark(#00000080, #000000CC)`,"--color-overlay-hover":`light-dark(#0000000D, #FFFFFF0D)`,"--color-overlay-pressed":`light-dark(#0000001A, #FFFFFF1A)`,"--color-text-primary":`light-dark(#171717, #fafafa)`,"--color-text-secondary":`light-dark(#525252, #a3a3a3)`,"--color-text-disabled":`light-dark(#a3a3a3, #525252)`,"--color-text-accent":`light-dark(#262626, #ebebeb)`,"--color-on-dark":`#ffffff`,"--color-on-light":`#171717`,"--color-on-accent":`light-dark(#ffffff, #171717)`,"--color-on-success":`light-dark(#ffffff, #171717)`,"--color-on-error":`light-dark(#ffffff, #171717)`,"--color-on-warning":`#171717`,"--color-icon-accent":`light-dark(#262626, #ebebeb)`,"--color-icon-primary":`light-dark(#171717, #fafafa)`,"--color-icon-secondary":`light-dark(#737373, #a3a3a3)`,"--color-icon-disabled":`light-dark(#a3a3a3, #525252)`,"--color-success":`light-dark(#007004, #9fe59b)`,"--color-error":`light-dark(#a50c25, #ffc6c1)`,"--color-warning":`light-dark(#745b00, #fdcf4f)`,"--color-success-muted":`light-dark(#c5e5c0, #84c9803D)`,"--color-error-muted":`light-dark(#facecb, #ff9e973D)`,"--color-warning-muted":`light-dark(#f8da9d, #deb4333D)`,"--color-border":`light-dark(#00000014, #FFFFFF1A)`,"--color-border-emphasized":`light-dark(#d4d4d4, #525252)`,"--color-skeleton":`light-dark(#ebebeb, #525252)`,"--color-shadow":`light-dark(#0000001A, #0000004D)`,"--color-tint-hover":`light-dark(black, white)`,"--color-background-red":`light-dark(#facecb, #ff9e973D)`,"--color-border-red":`light-dark(#e6bab8, #ff6f6c)`,"--color-icon-red":`light-dark(#89001a, #ff9e97)`,"--color-text-red":`light-dark(#89001a, #ffc6c1)`,"--color-background-orange":`light-dark(#fad0b5, #ffa2583D)`,"--color-border-orange":`light-dark(#e6bda2, #e2883e)`,"--color-icon-orange":`light-dark(#6e3500, #ffa258)`,"--color-text-orange":`light-dark(#6e3500, #ffc9a2)`,"--color-background-yellow":`light-dark(#f8da9d, #deb4333D)`,"--color-border-yellow":`light-dark(#e4c279, #c0990e)`,"--color-icon-yellow":`light-dark(#584400, #deb433)`,"--color-text-yellow":`light-dark(#584400, #fdcf4f)`,"--color-background-green":`light-dark(#c5e5c0, #84c9803D)`,"--color-border-green":`light-dark(#b2d1ac, #69ad67)`,"--color-icon-green":`light-dark(#0c5700, #84c980)`,"--color-text-green":`light-dark(#0c5700, #9fe59b)`,"--color-background-teal":`light-dark(#a5e3d6, #7ec6b83D)`,"--color-border-teal":`light-dark(#94d6c8, #63ab9d)`,"--color-icon-teal":`light-dark(#005348, #7ec6b8)`,"--color-text-teal":`light-dark(#005348, #99e2d3)`,"--color-background-cyan":`light-dark(#a3e0ef, #83c2d43D)`,"--color-border-cyan":`light-dark(#91d3e3, #67a7b8)`,"--color-icon-cyan":`light-dark(#00505f, #83c2d4)`,"--color-text-cyan":`light-dark(#00505f, #9edef0)`,"--color-background-blue":`light-dark(#c4ddfb, #9eb7ff3D)`,"--color-border-blue":`light-dark(#b1c9e7, #6d9cfe)`,"--color-icon-blue":`light-dark(#00458c, #9eb7ff)`,"--color-text-blue":`light-dark(#00458c, #c7d3ff)`,"--color-background-purple":`light-dark(#eccef3, #f297ff3D)`,"--color-border-purple":`light-dark(#d8bbdf, #dd74f0)`,"--color-icon-purple":`light-dark(#700084, #f297ff)`,"--color-text-purple":`light-dark(#700084, #fac1ff)`,"--color-background-pink":`light-dark(#fccadc, #ff99c33D)`,"--color-border-pink":`light-dark(#e7b7c8, #f273aa)`,"--color-icon-pink":`light-dark(#83004b, #ff99c3)`,"--color-text-pink":`light-dark(#83004b, #ffc3da)`,"--color-background-gray":`light-dark(#e5e5e5, var(--color-neutral))`,"--color-border-gray":`light-dark(#d4d4d4, #262626)`,"--color-icon-gray":`light-dark(#525252, #a3a3a3)`,"--color-text-gray":`light-dark(#262626, #e5e5e5)`,"--radius-none":`0px`,"--radius-inner":`0.375rem`,"--radius-element":`0.625rem`,"--radius-container":`0.75rem`,"--radius-page":`1.75rem`,"--radius-full":`9999px`,"--shadow-low":`0 2px 4px light-dark(oklch(0 0 0 / 5%), oklch(0 0 0 / 25%)), 0 4px 8px light-dark(oklch(0 0 0 / 10%), oklch(0 0 0 / 40%)), inset 0 0 0 1px light-dark(transparent, oklch(1 0 0 / 8%))`,"--shadow-med":`0 2px 4px light-dark(oklch(0 0 0 / 5%), oklch(0 0 0 / 35%)), 0 4px 12px light-dark(oklch(0 0 0 / 10%), oklch(0 0 0 / 50%)), inset 0 0 0 1px light-dark(transparent, oklch(1 0 0 / 12%))`,"--shadow-high":`0 4px 6px light-dark(oklch(0 0 0 / 10%), oklch(0 0 0 / 50%)), 0 12px 24px light-dark(oklch(0 0 0 / 15%), oklch(0 0 0 / 70%)), inset 0 0 0 1px light-dark(transparent, oklch(1 0 0 / 15%))`,"--shadow-inset-hover":`inset 0px 0px 0px 2px #0074e24D`,"--shadow-inset-selected":`inset 0px 0px 0px 2px #0074e280`,"--shadow-inset-success":`inset 0px 0px 0px 2px #1981004D`,"--shadow-inset-warning":`inset 0px 0px 0px 2px #ffce2f4D`,"--shadow-inset-error":`inset 0px 0px 0px 2px #e33f4a4D`},components:{heading:{"level:1":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-1-size)`,fontWeight:`var(--text-heading-1-weight)`,lineHeight:`var(--text-heading-1-leading)`},"level:2":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-2-size)`,fontWeight:`var(--text-heading-2-weight)`,lineHeight:`var(--text-heading-2-leading)`},"level:3":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-3-size)`,fontWeight:`var(--text-heading-3-weight)`,lineHeight:`var(--text-heading-3-leading)`},"level:4":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-4-size)`,fontWeight:`var(--text-heading-4-weight)`,lineHeight:`var(--text-heading-4-leading)`},"level:5":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-5-size)`,fontWeight:`var(--text-heading-5-weight)`,lineHeight:`var(--text-heading-5-leading)`},"level:6":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-heading-6-size)`,fontWeight:`var(--text-heading-6-weight)`,lineHeight:`var(--text-heading-6-leading)`},"type:display-1":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-1-size)`,lineHeight:`var(--text-display-1-leading)`},"type:display-2":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-2-size)`,lineHeight:`var(--text-display-2-leading)`},"type:display-3":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-3-size)`,lineHeight:`var(--text-display-3-leading)`}},text:{"type:body":{fontFamily:`var(--font-family-body)`,fontSize:`var(--text-body-size)`,lineHeight:`var(--text-body-leading)`},"type:large":{fontFamily:`var(--font-family-body)`,fontSize:`var(--text-large-size)`,lineHeight:`var(--text-large-leading)`},"type:label":{fontFamily:`var(--font-family-body)`,fontSize:`var(--text-label-size)`,lineHeight:`var(--text-label-leading)`},"type:code":{fontFamily:`var(--font-family-code)`,fontSize:`var(--text-code-size)`,lineHeight:`var(--text-code-leading)`},"type:supporting":{fontFamily:`var(--font-family-body)`,fontSize:`var(--text-supporting-size)`,lineHeight:`var(--text-supporting-leading)`},"type:display-1":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-1-size)`,lineHeight:`var(--text-display-1-leading)`},"type:display-2":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-2-size)`,lineHeight:`var(--text-display-2-leading)`},"type:display-3":{fontFamily:`var(--font-family-heading)`,fontSize:`var(--text-display-3-size)`,lineHeight:`var(--text-display-3-leading)`}},button:{"variant:destructive":{backgroundColor:`var(--color-error-muted)`,color:`var(--color-error)`}},badge:{"variant:info":{backgroundColor:`light-dark(#0074e2, #6d9cfe)`,color:`light-dark(#ffffff, #171717)`},"variant:neutral":{backgroundColor:`var(--color-background-gray)`,color:`var(--color-text-gray)`},"variant:success":{backgroundColor:`light-dark(#198100, #64af4c)`,color:`light-dark(#ffffff, #171717)`},"variant:warning":{backgroundColor:`#ffce2f`,color:`#171717`},"variant:error":{backgroundColor:`light-dark(#c9303a, #ff705d)`,color:`light-dark(#ffffff, #171717)`},"variant:red":{backgroundColor:`var(--color-background-red)`,color:`var(--color-text-red)`},"variant:orange":{backgroundColor:`var(--color-background-orange)`,color:`var(--color-text-orange)`},"variant:yellow":{backgroundColor:`var(--color-background-yellow)`,color:`var(--color-text-yellow)`},"variant:green":{backgroundColor:`var(--color-background-green)`,color:`var(--color-text-green)`},"variant:teal":{backgroundColor:`var(--color-background-teal)`,color:`var(--color-text-teal)`},"variant:cyan":{backgroundColor:`var(--color-background-cyan)`,color:`var(--color-text-cyan)`},"variant:blue":{backgroundColor:`var(--color-background-blue)`,color:`var(--color-text-blue)`},"variant:purple":{backgroundColor:`var(--color-background-purple)`,color:`var(--color-text-purple)`},"variant:pink":{backgroundColor:`var(--color-background-pink)`,color:`var(--color-text-pink)`},"variant:gray":{backgroundColor:`var(--color-background-gray)`,color:`var(--color-text-gray)`}},statusdot:{"variant:success":{backgroundColor:`light-dark(#198100, #64af4c)`},"variant:warning":{backgroundColor:`#ffce2f`},"variant:error":{backgroundColor:`light-dark(#c9303a, #ff705d)`},"variant:accent":{backgroundColor:`light-dark(#0074e2, #6d9cfe)`}},banner:{"status:info":{"--color-accent-muted":`var(--color-background-blue)`,"--color-text-primary":`var(--color-text-blue)`,"--color-text-secondary":`var(--color-text-blue)`,"--color-accent":`var(--color-text-blue)`},"status:success":{"--color-text-primary":`var(--color-text-green)`,"--color-text-secondary":`var(--color-text-green)`,"--color-success":`var(--color-text-green)`},"status:warning":{"--color-text-primary":`var(--color-text-yellow)`,"--color-text-secondary":`var(--color-text-yellow)`,"--color-warning":`var(--color-text-yellow)`},"status:error":{"--color-text-primary":`var(--color-text-red)`,"--color-text-secondary":`var(--color-text-red)`,"--color-error":`var(--color-text-red)`}},switch:{base:{"--color-background-gray":`var(--color-border-emphasized)`}},progressbar:{base:{"--color-background-muted":`var(--color-border-emphasized)`},"variant:accent":{"--color-accent":`#0074e2`},"variant:success":{"--color-success":`#198100`},"variant:warning":{"--color-warning":`#ffce2f`},"variant:error":{"--color-error":`#c9303a`}},card:{base:{padding:`var(--spacing-3)`}},section:{base:{padding:`var(--spacing-3)`}}},__onDark:{tokens:{"color-scheme":`dark`,"--color-text-primary":`var(--color-on-dark)`,"--color-icon-primary":`var(--color-on-dark)`,"--color-accent":`var(--color-on-dark)`}},__onLight:{tokens:{"color-scheme":`light`,"--color-text-primary":`var(--color-on-light)`,"--color-icon-primary":`var(--color-on-light)`,"--color-accent":`var(--color-on-light)`}},icons:{close:(0,V.jsx)(Re,{...yS}),chevronDown:(0,V.jsx)(te,{...yS}),chevronLeft:(0,V.jsx)(ne,{...yS}),chevronRight:(0,V.jsx)(re,{...yS}),chevronsLeft:(0,V.jsx)(R,{...yS}),chevronsRight:(0,V.jsx)(z,{...yS}),check:(0,V.jsx)(L,{...yS}),success:(0,V.jsx)(ie,{...yS}),error:(0,V.jsx)(ae,{...yS}),warning:(0,V.jsx)(Fe,{...yS}),info:(0,V.jsx)(ve,{...yS}),calendar:(0,V.jsx)(F,{...yS}),clock:(0,V.jsx)(se,{...yS}),externalLink:(0,V.jsx)(de,{...yS}),menu:(0,V.jsx)(be,{...yS}),moreHorizontal:(0,V.jsx)(ue,{...yS}),search:(0,V.jsx)(De,{...yS}),arrowUp:(0,V.jsx)(N,{...yS}),arrowDown:(0,V.jsx)(j,{...yS}),arrowsUpDown:(0,V.jsx)(M,{...yS}),funnel:(0,V.jsx)(ge,{...yS}),eyeSlash:(0,V.jsx)(fe,{...yS}),viewColumns:(0,V.jsx)(ce,{...yS}),copy:(0,V.jsx)(le,{...yS}),checkDouble:(0,V.jsx)(I,{...yS}),wrench:(0,V.jsx)(Le,{...yS}),stop:(0,V.jsx)(Me,{...yS}),microphone:(0,V.jsx)(xe,{...yS})}};function xS({children:e}){let t=fn(uS,e=>e.snapshot?.preferences?.theme)??`system`,[n,r]=(0,w.useState)(()=>window.matchMedia?.(`(prefers-color-scheme: dark)`).matches??!1);(0,w.useEffect)(()=>{let e=window.matchMedia?.(`(prefers-color-scheme: dark)`);if(!e)return;let t=()=>r(e.matches);return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]);let i=t===`dark`||t===`system`&&n?`dark`:`light`;return(0,w.useEffect)(()=>{document.documentElement.dataset.theme=i},[i]),(0,V.jsx)(cn,{i18n:Pt,children:(0,V.jsx)(vS,{theme:bS,mode:i,children:e})})}var SS=document.getElementById(`root`);if(!SS)throw Error(`OpenPI Web root is missing`);(0,ze.createRoot)(SS).render((0,V.jsx)(w.StrictMode,{children:(0,V.jsx)(xS,{children:(0,V.jsx)(dS,{})})})); \ No newline at end of file diff --git a/web/dist/styles.css b/web/dist/styles.css index da2cc019..1da985f4 100644 --- a/web/dist/styles.css +++ b/web/dist/styles.css @@ -1,3 +1,3 @@ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-outline-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer reset{:where(*){box-sizing:border-box;border:0 solid}:where(html){-webkit-text-size-adjust:100%;tab-size:4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;line-height:1.5}@media (prefers-color-scheme:dark){:where(html){--lightningcss-light: ;--lightningcss-dark:initial}}:where(body){line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}:where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(h1,h2,h3,h4,h5,h6,p,blockquote,figure,pre,dl,dd){margin:0}:where(a){color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}:where(b,strong){font-weight:bolder}:where(code,kbd,samp,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}:where(small){font-size:80%}:where(sub,sup){vertical-align:baseline;font-size:75%;line-height:0;position:relative}:where(sub){bottom:-.25em}:where(sup){top:-.5em}:where(ol,ul,menu){margin:0;padding:0;list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){vertical-align:middle;display:block}:where(img,video){max-width:100%;height:auto}:where([data-astryx-aspect-ratio-override=cover],[data-astryx-aspect-ratio-override=contain])>:where(*){width:100%;height:100%}:where([data-astryx-aspect-ratio-override=cover])>:where(img,video){object-fit:cover}:where([data-astryx-aspect-ratio-override=contain])>:where(img,video){object-fit:contain}:where(button,input,optgroup,select,textarea){font:inherit;color:inherit;margin:0;padding:0}:where(button,[type=button],[type=reset],[type=submit]){appearance:button;background-color:#0000;background-image:none}:where(button,[role=button]){cursor:pointer}:where(:disabled,[aria-disabled=true]){cursor:default}:where(textarea){resize:vertical}:where(){opacity:1;color:var(--color-text-secondary,#9ca3af);-webkit-appearance:none}:where(fieldset){margin:0;padding:0}:where(legend){padding:0}:where(table){text-indent:0;border-color:inherit;border-collapse:collapse}:where(hr){height:0;color:inherit;border-top-width:1px}:where(summary){display:list-item}:where(dialog){outline:none;padding:0}:where([hidden]){display:none}:where(html){-webkit-tap-highlight-color:transparent}:where(html[data-theme=light]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:where(html[data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:where(html:not([data-theme])){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:where(html:not([data-theme])){--lightningcss-light: ;--lightningcss-dark:initial}}:where([data-astryx-media=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:where([data-astryx-media=light]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@scope([data-astryx-theme=neutral]) to ([data-astryx-theme]){:where(h1,h2,h3,h4,h5,h6){font-family:var(--font-family-heading);color:var(--color-text-primary)}:where(h1){font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:1.3333}:where(h2){font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:1.4}:where(h3){font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1.4118}:where(h4){font-size:var(--font-size-base);font-weight:var(--font-weight-bold);line-height:1.4286}:where(h5){font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.6667}:where(h6){font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.6}:where(p){font-family:var(--font-family-body);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-primary);line-height:1.4286}:where(small){font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-secondary);line-height:1.6667}:where(code,pre){font-family:var(--font-family-code);font-size:var(--font-size-base);line-height:1.4286}:where(hr){border:none;border-top:1px solid var(--color-border)}}}@layer theme{:root,:host{--container-xl:36rem;--font-weight-normal:var(--font-weight-normal);--font-weight-medium:var(--font-weight-medium);--font-weight-semibold:var(--font-weight-semibold);--font-weight-bold:var(--font-weight-bold);--default-font-family:var(--font-family-body);--default-mono-font-family:var(--font-family-code);--color-accent:var(--color-text-accent);--color-overlay:var(--color-overlay);--color-accent-muted:var(--color-accent-muted);--color-on-accent:var(--color-on-accent);--color-neutral:var(--color-neutral);--color-overlay-hover:var(--color-overlay-hover);--color-overlay-pressed:var(--color-overlay-pressed);--color-tint-hover:var(--color-tint-hover);--color-success:var(--color-success);--color-success-muted:var(--color-success-muted);--color-on-success:var(--color-on-success);--color-error:var(--color-error);--color-error-muted:var(--color-error-muted);--color-on-error:var(--color-on-error);--color-warning:var(--color-warning);--color-warning-muted:var(--color-warning-muted);--color-on-warning:var(--color-on-warning);--color-border:var(--color-border);--color-on-dark:var(--color-on-dark);--color-on-light:var(--color-on-light);--color-skeleton:var(--color-skeleton);--color-track:var(--color-track);--color-shadow:var(--color-shadow);--radius-none:var(--radius-none);--radius-full:var(--radius-full)}}@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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration: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:where(:not(iframe)){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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer astryx-base{@property --x---_avatar-group-overlap{syntax:"*";inherits:false}@property --x---_codeblock-gutter-width{syntax:"*";inherits:false}@property --x---_hover-delay{syntax:"*";inherits:false}@property --x---_tab-indicator-bottom{syntax:"*";inherits:false}@property --x---container-max-height{syntax:"*";inherits:false}@property --x---layout-content-width{syntax:"*";inherits:false}@property --x-126w13d{syntax:"*";inherits:false}@property --x-4drmnv{syntax:"*";inherits:false}@property --x-animationDelay{syntax:"*";inherits:false}@property --x-aspectRatio{syntax:"*";inherits:false}@property --x-backgroundColor{syntax:"*";inherits:false}@property --x-borderWidth{syntax:"*";inherits:false}@property --x-bottom{syntax:"*";inherits:false}@property --x-counterReset{syntax:"*";inherits:false}@property --x-fontSize{syntax:"*";inherits:false}@property --x-gap{syntax:"*";inherits:false}@property --x-gridAutoRows{syntax:"*";inherits:false}@property --x-gridTemplateColumns{syntax:"*";inherits:false}@property --x-height{syntax:"*";inherits:false}@property --x-inlineSize{syntax:"*";inherits:false}@property --x-insetInlineEnd{syntax:"*";inherits:false}@property --x-insetInlineStart{syntax:"*";inherits:false}@property --x-marginBlock{syntax:"*";inherits:false}@property --x-marginBlockEnd{syntax:"*";inherits:false}@property --x-marginBlockStart{syntax:"*";inherits:false}@property --x-marginInline{syntax:"*";inherits:false}@property --x-marginInlineEnd{syntax:"*";inherits:false}@property --x-marginInlineStart{syntax:"*";inherits:false}@property --x-maxHeight{syntax:"*";inherits:false}@property --x-maxWidth{syntax:"*";inherits:false}@property --x-minHeight{syntax:"*";inherits:false}@property --x-minWidth{syntax:"*";inherits:false}@property --x-paddingBlock{syntax:"*";inherits:false}@property --x-paddingInline{syntax:"*";inherits:false}@property --x-paddingInlineEnd{syntax:"*";inherits:false}@property --x-paddingInlineStart{syntax:"*";inherits:false}@property --x-qthpiu{syntax:"*";inherits:false}@property --x-sj6hyi{syntax:"*";inherits:false}@property --x-top{syntax:"*";inherits:false}@property --x-transform{syntax:"*";inherits:false}@property --x-WebkitLineClamp{syntax:"*";inherits:false}@property --x-width{syntax:"*";inherits:false}@property --x-1dd27dc{syntax:"*";inherits:true}@property --x-owu7oy{syntax:"*";inherits:true}@keyframes x188b6p3-B{0%{color:inherit}to{color:#0000}}@keyframes xuvekqa-B{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}@keyframes x1tut0r7-B{0%{opacity:.3;transform:rotateX(52deg)scale(.86)}50%{opacity:1;transform:rotateX(0)scale(1)}to{opacity:.3;transform:rotateX(-52deg)scale(.86)}}@keyframes x13kz0yu-B{0%,to{opacity:1}50%{opacity:.5}}@keyframes x18re5ia-B{0%{opacity:0}to{opacity:1}}@keyframes xgnty7z-B{0%{opacity:.25}to{opacity:1}}@keyframes xtut5q7-B{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@keyframes x1k48ry3-B{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes x11lauxq-B{0%{opacity:0;transform:translate(var(--dialog-dir-x,0px),var(--dialog-dir-y,16px)) scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes xu7jd1z-B{0%{opacity:0;transform:translateX(var(--spacing-2)) scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes xwmkjkf-B{0%{opacity:0;transform:translateX(calc(-1 * var(--spacing-2))) scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes x1ahk7ht-B{0%{opacity:0;transform:translateY(var(--spacing-2)) scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes xv1hr86-B{0%{opacity:0;transform:translateY(calc(-1 * var(--spacing-2))) scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes x1b6yrix-B{0%{opacity:0;transform:translateY(var(--spacing-2))}to{opacity:1;transform:translateY(0)}}@keyframes xiylxmw-B{0%{opacity:0;transform:translateY(calc(-1 * var(--spacing-2)))}to{opacity:1;transform:translateY(0)}}@keyframes xqng64z-B{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes x1c2q33o-B{0%{transform:translate(100%)}to{transform:translate(-250%)}}@keyframes xr3m334-B{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes x1xhkexc-B{0%{opacity:0;width:0;margin-inline-end:0}to{opacity:1;width:14px;margin-inline-end:var(--spacing-1)}}:root,.xafi2nm{--border-width:1px}:root,.xj0fimd{--color-accent:var(--lightningcss-light,#0064e0)var(--lightningcss-dark,#2694fe);--color-accent-muted:var(--lightningcss-light,#0082fb33)var(--lightningcss-dark,#0082fb3f);--color-on-accent:#fff;--color-neutral:var(--lightningcss-light,#0536591a)var(--lightningcss-dark,#dfe2e533);--color-background-surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1f1f22);--color-background-body:var(--lightningcss-light,#f1f4f7)var(--lightningcss-dark,#111112);--color-overlay:var(--lightningcss-light,#01122866)var(--lightningcss-dark,#11111299);--color-overlay-hover:var(--lightningcss-light,#0536590c)var(--lightningcss-dark,#ffffff0c);--color-overlay-pressed:var(--lightningcss-light,#05365919)var(--lightningcss-dark,#ffffff19);--color-background-muted:var(--lightningcss-light,#0536590c)var(--lightningcss-dark,#1111127f);--color-text-primary:var(--lightningcss-light,#0a1317)var(--lightningcss-dark,#dfe2e5);--color-text-secondary:var(--lightningcss-light,#4e606f)var(--lightningcss-dark,#aaafb5);--color-text-disabled:var(--lightningcss-light,#a4b0bc)var(--lightningcss-dark,#6f747c);--color-text-accent:var(--lightningcss-light,#0064e0)var(--lightningcss-dark,#3e9efb);--color-on-dark:#fff;--color-on-light:#000;--color-icon-accent:var(--lightningcss-light,#0064e0)var(--lightningcss-dark,#2694fe);--color-icon-primary:var(--lightningcss-light,#0a1317)var(--lightningcss-dark,#dfe2e5);--color-icon-secondary:var(--lightningcss-light,#4e606f)var(--lightningcss-dark,#aaafb5);--color-icon-disabled:var(--lightningcss-light,#a4b0bc)var(--lightningcss-dark,#6f747c);--color-background-card:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1f1f22);--color-background-popover:var(--lightningcss-light,#fff)var(--lightningcss-dark,#28292c);--color-background-inverted:var(--lightningcss-light,#0a1317)var(--lightningcss-dark,#fff);--color-background-error-inverted:var(--lightningcss-light,#aa071e)var(--lightningcss-dark,#e3193b);--color-success:#0d8626;--color-success-muted:var(--lightningcss-light,#0b991f33)var(--lightningcss-dark,#0b991f3f);--color-on-success:#fff;--color-error:var(--lightningcss-light,#e3193b)var(--lightningcss-dark,#f5394f);--color-error-muted:var(--lightningcss-light,#e3193b33)var(--lightningcss-dark,#f5394f3f);--color-on-error:#fff;--color-warning:var(--lightningcss-light,#e9af08)var(--lightningcss-dark,#f2c00b);--color-warning-muted:var(--lightningcss-light,#e2a40033)var(--lightningcss-dark,#e2a4003f);--color-on-warning:#0a1317;--color-border:var(--lightningcss-light,#05365919)var(--lightningcss-dark,#f2f4f619);--color-border-emphasized:var(--lightningcss-light,#ccd3db)var(--lightningcss-dark,#494d53);--color-skeleton:var(--lightningcss-light,#ccd3db)var(--lightningcss-dark,#5a5e66);--color-track:var(--lightningcss-light,#ccd3db)var(--lightningcss-dark,#5a5e66);--color-shadow:var(--lightningcss-light,#0536591a)var(--lightningcss-dark,#0000004d);--color-tint-hover:var(--lightningcss-light,#000)var(--lightningcss-dark,#fff);--color-background-blue:#0171e333;--color-border-blue:var(--lightningcss-light,#0064e0)var(--lightningcss-dark,#2694fe);--color-icon-blue:var(--lightningcss-light,#0064e0)var(--lightningcss-dark,#2694fe);--color-text-blue:var(--lightningcss-light,#042f97)var(--lightningcss-dark,#afd7ff);--color-background-cyan:#03a7d733;--color-border-cyan:var(--lightningcss-light,#089dd0)var(--lightningcss-dark,#0171a4);--color-icon-cyan:var(--lightningcss-light,#00acc1)var(--lightningcss-dark,#26c6da);--color-text-cyan:var(--lightningcss-light,#014975)var(--lightningcss-dark,#a1eef9);--color-background-gray:var(--lightningcss-light,#0a131733)var(--lightningcss-dark,#666a724c);--color-border-gray:var(--lightningcss-light,#647685)var(--lightningcss-dark,#748695);--color-icon-gray:var(--lightningcss-light,#4e606f)var(--lightningcss-dark,#aaafb5);--color-text-gray:var(--lightningcss-light,#0a1317)var(--lightningcss-dark,#e7eaed);--color-background-green:#24bb5e33;--color-border-green:var(--lightningcss-light,#0d8626)var(--lightningcss-dark,#0b991f);--color-icon-green:var(--lightningcss-light,#0d8626)var(--lightningcss-dark,#26a756);--color-text-green:var(--lightningcss-light,#09441f)var(--lightningcss-dark,#a5f690);--color-background-orange:#f2790233;--color-border-orange:var(--lightningcss-light,#eb6e00)var(--lightningcss-dark,#b34a01);--color-icon-orange:var(--lightningcss-light,#e9690b)var(--lightningcss-dark,#fb8c00);--color-text-orange:var(--lightningcss-light,#6b2203)var(--lightningcss-dark,#fdb876);--color-background-pink:#e638b333;--color-border-pink:var(--lightningcss-light,#f351c0)var(--lightningcss-dark,#c02294);--color-icon-pink:var(--lightningcss-light,#c2185b)var(--lightningcss-dark,#ec407a);--color-text-pink:var(--lightningcss-light,#650053)var(--lightningcss-dark,#feade3);--color-background-purple:#7952ff33;--color-border-purple:var(--lightningcss-light,#9081ff)var(--lightningcss-dark,#7340fe);--color-icon-purple:var(--lightningcss-light,#5b08d8)var(--lightningcss-dark,#7952ff);--color-text-purple:var(--lightningcss-light,#3e0697)var(--lightningcss-dark,#b3b0fe);--color-background-red:#e3193b33;--color-border-red:var(--lightningcss-light,#e3193b)var(--lightningcss-dark,#f5394f);--color-icon-red:var(--lightningcss-light,#d31130)var(--lightningcss-dark,#e3193b);--color-text-red:var(--lightningcss-light,#7b0210)var(--lightningcss-dark,#ffb2b8);--color-background-teal:#0db7af33;--color-border-teal:var(--lightningcss-light,#08a3a3)var(--lightningcss-dark,#08767d);--color-icon-teal:var(--lightningcss-light,#009688)var(--lightningcss-dark,#26a69a);--color-text-teal:var(--lightningcss-light,#083943)var(--lightningcss-dark,#40dccd);--color-background-yellow:#e2a40033;--color-border-yellow:var(--lightningcss-light,#c58600)var(--lightningcss-dark,#b47700);--color-icon-yellow:var(--lightningcss-light,#fbc02d)var(--lightningcss-dark,#ffee58);--color-text-yellow:var(--lightningcss-light,#753f07)var(--lightningcss-dark,#fbce03)}:root,.x14lkjui{--duration-fast-min:.13s;--duration-fast:.175s;--duration-fast-max:.23s;--duration-medium-min:.31s;--duration-medium:.41s;--duration-medium-max:.55s;--duration-slow-min:.73s;--duration-slow:.975s;--duration-slow-max:1.3s}:root,.xf09i69{--ease-standard:cubic-bezier(.24, 1, .4, 1)}:root,.xzxs3qz{--focus-outline-width:2px;--focus-outline-style:solid;--focus-outline-color:var(--color-accent);--focus-outline-offset:3px}:root,.x5tdzeq{--font-family-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-code:"SF Mono", Monaco, Consolas, monospace;--font-family-heading:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}:root,.x1q1ms06{--font-size-4xs:.375rem;--font-size-3xs:.4375rem;--font-size-2xs:.5rem;--font-size-xs:.625rem;--font-size-sm:.75rem;--font-size-base:.875rem;--font-size-lg:1.0625rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.8125rem;--font-size-4xl:2.1875rem;--font-size-5xl:2.625rem}:root,.x1ccmotb{--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700}:root,.xrw1vgx{--radius-none:0px;--radius-inner:4px;--radius-element:8px;--radius-container:12px;--radius-page:28px;--radius-chat:28px;--radius-full:9999px}:root,.xua8qm3{--shadow-low:0px 1px 1px var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#0003), 0px 2px 8px var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#0003);--shadow-med:0px 1px 2px var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#0003), 0px 2px 12px var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#0003);--shadow-high:0px 2px 2px var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#0003), 0px 8px 24px var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#0000004d);--shadow-inset-hover:inset 0px 0px 0px 2px var(--lightningcss-light,#05365926)var(--lightningcss-dark,#dfe2e533);--shadow-inset-selected:inset 0px 0px 0px 2px #0171e380;--shadow-inset-success:inset 0px 0px 0px 2px #26a7564d;--shadow-inset-warning:inset 0px 0px 0px 2px #e2a4004d;--shadow-inset-error:inset 0px 0px 0px 2px #e3193b4d}:root,.xkgjyic{--size-element-sm:28px;--size-element-md:32px;--size-element-lg:36px}:root,.x1kvdh9l{--spacing-0:0px;--spacing-0-5:2px;--spacing-1:4px;--spacing-1-5:6px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-7:28px;--spacing-8:32px;--spacing-9:36px;--spacing-10:40px;--spacing-11:44px;--spacing-12:48px}:root,.x1etlgq0{--text-heading-1-size:var(--font-size-2xl);--text-heading-1-weight:var(--font-weight-semibold);--text-heading-1-leading:1.3333;--text-heading-2-size:var(--font-size-xl);--text-heading-2-weight:var(--font-weight-semibold);--text-heading-2-leading:1.4;--text-heading-3-size:var(--font-size-lg);--text-heading-3-weight:var(--font-weight-semibold);--text-heading-3-leading:1.4118;--text-heading-4-size:var(--font-size-base);--text-heading-4-weight:var(--font-weight-semibold);--text-heading-4-leading:1.4286;--text-heading-5-size:var(--font-size-sm);--text-heading-5-weight:var(--font-weight-semibold);--text-heading-5-leading:1.6667;--text-heading-6-size:var(--font-size-xs);--text-heading-6-weight:var(--font-weight-semibold);--text-heading-6-leading:1.6;--text-body-size:var(--font-size-base);--text-body-weight:var(--font-weight-normal);--text-body-leading:1.4286;--text-large-size:var(--font-size-lg);--text-large-weight:var(--font-weight-semibold);--text-large-leading:1.4118;--text-label-size:var(--font-size-base);--text-label-weight:var(--font-weight-medium);--text-label-leading:1.4286;--text-code-size:var(--font-size-base);--text-code-weight:var(--font-weight-normal);--text-code-leading:1.4286;--text-supporting-size:var(--font-size-sm);--text-supporting-weight:var(--font-weight-normal);--text-supporting-leading:1.6667;--text-display-1-size:var(--font-size-5xl);--text-display-1-weight:var(--font-weight-normal);--text-display-1-leading:1.2381;--text-display-2-size:var(--font-size-4xl);--text-display-2-weight:var(--font-weight-normal);--text-display-2-leading:1.2571;--text-display-3-size:var(--font-size-3xl);--text-display-3-weight:var(--font-weight-normal);--text-display-3-leading:1.2414}.xlz5hwt{--_avatar-group-overlap:var(--x---_avatar-group-overlap)}.xdarwi0{--_avatar-radius:var(--radius-element)}.xeincmr{--_avatar-radius:var(--radius-full)}.x877142{--_avatar-radius:var(--radius-none)}.xh8ntw8{--_button-radius:calc(var(--radius-element) - var(--spacing-1))}.xcw7vlg{--_button-radius:max(var(--radius-element),calc(var(--_chat-composer-radius) - var(--_chat-composer-padding)))}.x1rjw8qi{--_button-radius:var(--radius-full)}.xw28qpl{--_card-elevation:0 0 transparent}.xnpe7fx{--_card-elevation:var(--shadow-high)}.x1nn8khe{--_card-elevation:var(--shadow-low)}.x1ovzxg0{--_card-elevation:var(--shadow-med)}.x2kkz0m{--_card-radius:var(--radius-container)}.xr9ms2c{--_card-ring:inset 0 0 0 2px var(--color-accent)}.xgwwt2v{--_card-ring:inset 0 0 0 2px var(--color-border-blue)}.xcdi0x3{--_card-ring:inset 0 0 0 2px var(--color-border-cyan)}.x1m1zkwp{--_card-ring:inset 0 0 0 2px var(--color-border-gray)}.x1485227{--_card-ring:inset 0 0 0 2px var(--color-border-green)}.x1cclxpp{--_card-ring:inset 0 0 0 2px var(--color-border-orange)}.xzs6dn4{--_card-ring:inset 0 0 0 2px var(--color-border-pink)}.x9zgi83{--_card-ring:inset 0 0 0 2px var(--color-border-purple)}.xo8718j{--_card-ring:inset 0 0 0 2px var(--color-border-red)}.xp4e5fy{--_card-ring:inset 0 0 0 2px var(--color-border-teal)}.x1glw7ee{--_card-ring:inset 0 0 0 2px var(--color-border-yellow)}.x3zsw4j{--_card-ring:inset 0 0 0 2px var(--selectable-card-ring-color)}.x18zce08{--_chat-composer-padding:var(--spacing-2)}.xk0ittl{--_chat-composer-padding:var(--spacing-3)}.xx161y6{--_chat-composer-radius:var(--radius-chat)}.xtk08jq{--_codeblock-gutter-width:var(--x---_codeblock-gutter-width)}.x9pmotm{--_conceal-opacity:0}.x1kgmhs9{--_conceal-opacity:1}.xvuvksw{--_dialog-radius:var(--radius-container)}.xgory14{--_dropdown-menu-padding:var(--spacing-1)}.x1fcsqxe{--_dropdown-menu-radius:var(--radius-container)}.x13l1x9d{--_fade-delay:0s}.x1832zxr{--_field-radius:var(--radius-element)}.xgzxwq1{--_focus-outline-offset:0}.x17wzz1v{--_focus-outline:none}.xhg274n{--_hover-delay:0s}.x8xu23y{--_hover-delay:var(--x---_hover-delay)}.xqwz7mz{--_hovercard-radius:var(--radius-container)}.xqxtgf4{--_input-clear-hit-content:none}.xtoycft{--_input-clear-hit-inset:0px}.xqlix59{--_item-description-color:var(--color-error)}.xufyqxy{--_item-label-color:var(--color-error)}.xiki222{--_popover-radius:var(--radius-container)}.xdjmrzf{--_reveal-delay-reduced:0s,0s}.x1dejzja{--_reveal-delay:0s,0s}.x1xiarpw{--_reveal-delay:0s,var(--duration-fast)}.xct0gwe{--_reveal-opacity:0}.x5setjs{--_reveal-opacity:1}.xp0pj8v{--_reveal-position:absolute}.x1r6s5ct{--_reveal-position:static}.x1f17rg1{--_section-padding-propagated:initial}.x2ccaqq{--_section-padding-propagated:var(--spacing-0-5)}.x7mo41q{--_section-padding-propagated:var(--spacing-0)}.xxa843v{--_section-padding-propagated:var(--spacing-1-5)}.x1j3iakl{--_section-padding-propagated:var(--spacing-1)}.x4h2jfd{--_section-padding-propagated:var(--spacing-10)}.xezgk69{--_section-padding-propagated:var(--spacing-2)}.x1wtz8uf{--_section-padding-propagated:var(--spacing-3)}.x5wdj8h{--_section-padding-propagated:var(--spacing-4)}.xgjndll{--_section-padding-propagated:var(--spacing-5)}.x15i4jqh{--_section-padding-propagated:var(--spacing-6)}.xmb9lpv{--_section-padding-propagated:var(--spacing-8)}.x18jk3ff{--_segmented-control-padding:var(--spacing-0-5)}.x9icjy1{--_segmented-control-radius:var(--radius-element)}.x69vvuq{--_spinner-box-size:calc(var(--_spinner-ring-diameter) + var(--_spinner-ring-stroke) * 2)}.x2lq4xu{--_spinner-ring-diameter:var(--spinner-diameter)}.x10qssua{--_spinner-ring-stroke:var(--spinner-stroke-width)}.xficto1{--_tab-indicator-bottom:calc(-1 * (var(--spacing-1) + var(--border-width)))}.xbrl7fg{--_tab-indicator-bottom:var(--x---_tab-indicator-bottom)}.x78b515{--_tab-strip-bleed:0px}.x1kdpo6e{--_textarea-inline-padding:var(--spacing-2)}.x1ur4yav{--_thumbnail-hit-inset:0px}.x87gnkx{--_toast-slide-y:calc(-1 * var(--spacing-2))}.x1heqljd{--_toast-slide-y:var(--spacing-2)}.x16bblx1{--button-focus-offset:var(--focus-outline-offset)}.x1v15ycx{--button-icon-only-aspect:1 / 1}.x1mtvhk1{--color-syntax-background:transparent}.x18nyedi{--container-max-height:var(--x---container-max-height)}.xax9j7h{--container-padding-block-end:0px}.x1omyuck{--container-padding-block-end:var(--astryx-card-padding-block-end,var(--astryx-card-padding,var(--spacing-4)))}.x1gvthzm{--container-padding-block-end:var(--astryx-dialog-padding-block-end,var(--astryx-dialog-padding,var(--spacing-4)))}.xek4msv{--container-padding-block-end:var(--astryx-section-padding-block-end,var(--_section-padding-propagated,var(--astryx-section-padding,var(--spacing-4))))}.xi9ns85{--container-padding-block-end:var(--layout-padding-inner-y,var(--spacing-4))}.x1xjq73n{--container-padding-block-end:var(--layout-padding-outer-y,var(--spacing-4))}.x1cao3zv{--container-padding-block-end:var(--spacing-0-5)}.xkunwnr{--container-padding-block-end:var(--spacing-0)}.xv53x8y{--container-padding-block-end:var(--spacing-1-5)}.x57a7ii{--container-padding-block-end:var(--spacing-1)}.x15vxphk{--container-padding-block-end:var(--spacing-10)}.x4bg2x9{--container-padding-block-end:var(--spacing-11)}.x186mjxr{--container-padding-block-end:var(--spacing-12)}.x1lsgcmx{--container-padding-block-end:var(--spacing-2)}.x1q3ppug{--container-padding-block-end:var(--spacing-3)}.x4hfsld{--container-padding-block-end:var(--spacing-4)}.xbib2ws{--container-padding-block-end:var(--spacing-5)}.x1q8d17g{--container-padding-block-end:var(--spacing-6)}.x1yqogew{--container-padding-block-end:var(--spacing-7)}.x8lgq76{--container-padding-block-end:var(--spacing-8)}.x1f7f9rt{--container-padding-block-end:var(--spacing-9)}.x1047aw6{--container-padding-block-start:0px}.x1rqz8me{--container-padding-block-start:var(--astryx-card-padding-block-start,var(--astryx-card-padding,var(--spacing-4)))}.x1g2kccc{--container-padding-block-start:var(--astryx-dialog-padding-block-start,var(--astryx-dialog-padding,var(--spacing-4)))}.xnw7zt4{--container-padding-block-start:var(--astryx-section-padding-block-start,var(--_section-padding-propagated,var(--astryx-section-padding,var(--spacing-4))))}.xjmgx01{--container-padding-block-start:var(--layout-padding-inner-y,var(--spacing-4))}.xzz8v79{--container-padding-block-start:var(--layout-padding-outer-y,var(--spacing-4))}.xvdf9ev{--container-padding-block-start:var(--spacing-0-5)}.x1i3qcxz{--container-padding-block-start:var(--spacing-0)}.x1kbx601{--container-padding-block-start:var(--spacing-1-5)}.xnsckjb{--container-padding-block-start:var(--spacing-1)}.x17h9kl7{--container-padding-block-start:var(--spacing-10)}.x1rdjxae{--container-padding-block-start:var(--spacing-11)}.xecwdl6{--container-padding-block-start:var(--spacing-12)}.xa8b4fq{--container-padding-block-start:var(--spacing-2)}.x11k4f5r{--container-padding-block-start:var(--spacing-3)}.xm01sq8{--container-padding-block-start:var(--spacing-4)}.xp8wdkl{--container-padding-block-start:var(--spacing-5)}.x1hmud4d{--container-padding-block-start:var(--spacing-6)}.x1c00sag{--container-padding-block-start:var(--spacing-7)}.xfv60at{--container-padding-block-start:var(--spacing-8)}.x14fzdu7{--container-padding-block-start:var(--spacing-9)}.xjsfl84{--container-padding-inline-end:0px}.x1ihxwbr{--container-padding-inline-end:var(--astryx-card-padding-inline-end,var(--astryx-card-padding-inline,var(--astryx-card-padding,var(--spacing-4))))}.x11h1f2o{--container-padding-inline-end:var(--astryx-dialog-padding-inline-end,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,var(--spacing-4))))}.xu1wldr{--container-padding-inline-end:var(--astryx-section-padding-inline-end,var(--astryx-section-padding-inline,var(--_section-padding-propagated,var(--astryx-section-padding,var(--spacing-4)))))}.xikqloz{--container-padding-inline-end:var(--layout-padding-inner-x,var(--spacing-4))}.xqpvj4r{--container-padding-inline-end:var(--layout-padding-outer-x,var(--spacing-4))}.x1wz3t3y{--container-padding-inline-end:var(--spacing-0-5)}.x91ghl5{--container-padding-inline-end:var(--spacing-0)}.xntetml{--container-padding-inline-end:var(--spacing-1-5)}.x2oyxnl{--container-padding-inline-end:var(--spacing-1)}.xx5lg5w{--container-padding-inline-end:var(--spacing-10)}.x1nmgbqg{--container-padding-inline-end:var(--spacing-11)}.x1wsfsk2{--container-padding-inline-end:var(--spacing-12)}.xcas3b9{--container-padding-inline-end:var(--spacing-2)}.xu0ipoa{--container-padding-inline-end:var(--spacing-3)}.xs0pscg{--container-padding-inline-end:var(--spacing-4)}.xgkj7vj{--container-padding-inline-end:var(--spacing-5)}.x94cj42{--container-padding-inline-end:var(--spacing-6)}.x11tj35w{--container-padding-inline-end:var(--spacing-7)}.x1b9k1pi{--container-padding-inline-end:var(--spacing-8)}.x19w02kr{--container-padding-inline-end:var(--spacing-9)}.xrhngw9{--container-padding-inline-start:0px}.xjmlhfd{--container-padding-inline-start:var(--astryx-card-padding-inline-start,var(--astryx-card-padding-inline,var(--astryx-card-padding,var(--spacing-4))))}.x1tewnwq{--container-padding-inline-start:var(--astryx-dialog-padding-inline-start,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,var(--spacing-4))))}.x19lemt0{--container-padding-inline-start:var(--astryx-section-padding-inline-start,var(--astryx-section-padding-inline,var(--_section-padding-propagated,var(--astryx-section-padding,var(--spacing-4)))))}.x408pgh{--container-padding-inline-start:var(--layout-padding-inner-x,var(--spacing-4))}.xdvaxxn{--container-padding-inline-start:var(--layout-padding-outer-x,var(--spacing-4))}.x14ws0sr{--container-padding-inline-start:var(--spacing-0-5)}.x1gu2k80{--container-padding-inline-start:var(--spacing-0)}.x176g23i{--container-padding-inline-start:var(--spacing-1-5)}.x1cvlban{--container-padding-inline-start:var(--spacing-1)}.xserb3f{--container-padding-inline-start:var(--spacing-10)}.xziclwo{--container-padding-inline-start:var(--spacing-11)}.x1iiwihq{--container-padding-inline-start:var(--spacing-12)}.x1xlrr2o{--container-padding-inline-start:var(--spacing-2)}.xfdwxua{--container-padding-inline-start:var(--spacing-3)}.x1dlhslv{--container-padding-inline-start:var(--spacing-4)}.x1s81nki{--container-padding-inline-start:var(--spacing-5)}.x1ep0dkj{--container-padding-inline-start:var(--spacing-6)}.x157xojc{--container-padding-inline-start:var(--spacing-7)}.xw1diwv{--container-padding-inline-start:var(--spacing-8)}.xraca2a{--container-padding-inline-start:var(--spacing-9)}.x1qfzo5y{--indicator-color:transparent}.x4906uf{--layout-content-width:var(--x---layout-content-width)}.x1qfll2g{--layout-padding-inner-x:initial}.x4poyjn{--layout-padding-inner-x:var(--astryx-card-padding-inline-start,var(--astryx-card-padding-inline,var(--astryx-card-padding,var(--spacing-4))))}.x2so38{--layout-padding-inner-x:var(--astryx-dialog-padding-inline-start,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,var(--spacing-4))))}.x1v3gmnx{--layout-padding-inner-x:var(--astryx-section-padding-inline-start,var(--astryx-section-padding-inline,var(--_section-padding-propagated,var(--astryx-section-padding,var(--spacing-4)))))}.xlriy2h{--layout-padding-inner-x:var(--spacing-0-5)}.xj1bl4l{--layout-padding-inner-x:var(--spacing-0)}.xd38f90{--layout-padding-inner-x:var(--spacing-1-5)}.x6uuyak{--layout-padding-inner-x:var(--spacing-1)}.x1vf4qco{--layout-padding-inner-x:var(--spacing-10)}.xsmamsf{--layout-padding-inner-x:var(--spacing-11)}.x2xk2xj{--layout-padding-inner-x:var(--spacing-12)}.xxqksqd{--layout-padding-inner-x:var(--spacing-2)}.x1fyui2f{--layout-padding-inner-x:var(--spacing-3)}.x1i2ajwi{--layout-padding-inner-x:var(--spacing-4)}.x1tac27u{--layout-padding-inner-x:var(--spacing-5)}.x1ntgf3t{--layout-padding-inner-x:var(--spacing-6)}.xhjd9tl{--layout-padding-inner-x:var(--spacing-7)}.xn7c84u{--layout-padding-inner-x:var(--spacing-8)}.xeqkbsz{--layout-padding-inner-x:var(--spacing-9)}.xyvxpqs{--layout-padding-inner-y:initial}.x1u1kw4e{--layout-padding-inner-y:var(--astryx-card-padding-block-start,var(--astryx-card-padding,var(--spacing-4)))}.xinu7xd{--layout-padding-inner-y:var(--astryx-dialog-padding-block-start,var(--astryx-dialog-padding,var(--spacing-4)))}.x15yx5hm{--layout-padding-inner-y:var(--astryx-section-padding-block-start,var(--_section-padding-propagated,var(--astryx-section-padding,var(--spacing-4))))}.x180h0y5{--layout-padding-inner-y:var(--spacing-0-5)}.xwuefyo{--layout-padding-inner-y:var(--spacing-0)}.x1g8jpzm{--layout-padding-inner-y:var(--spacing-1-5)}.xmpug6m{--layout-padding-inner-y:var(--spacing-1)}.x18gbwmk{--layout-padding-inner-y:var(--spacing-10)}.x14zymzj{--layout-padding-inner-y:var(--spacing-11)}.xzfpkx9{--layout-padding-inner-y:var(--spacing-12)}.x1lksgje{--layout-padding-inner-y:var(--spacing-2)}.x4j7gld{--layout-padding-inner-y:var(--spacing-3)}.x1s3ehtl{--layout-padding-inner-y:var(--spacing-4)}.x1rj5eim{--layout-padding-inner-y:var(--spacing-5)}.x1ftgg6u{--layout-padding-inner-y:var(--spacing-6)}.x1ho74vh{--layout-padding-inner-y:var(--spacing-7)}.xm2cs6f{--layout-padding-inner-y:var(--spacing-8)}.x1vsq92b{--layout-padding-inner-y:var(--spacing-9)}.x1wbjvqu{--layout-padding-outer-x:0px}.xdt8ak2{--layout-padding-outer-x:initial}.x14rzhog{--layout-padding-outer-x:var(--astryx-card-padding-inline-start,var(--astryx-card-padding-inline,var(--astryx-card-padding,var(--spacing-4))))}.x1hsjncj{--layout-padding-outer-x:var(--astryx-dialog-padding-inline-start,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,var(--spacing-4))))}.x15i0zw9{--layout-padding-outer-x:var(--astryx-section-padding-inline-start,var(--astryx-section-padding-inline,var(--_section-padding-propagated,var(--astryx-section-padding,var(--spacing-4)))))}.xihiwg7{--layout-padding-outer-x:var(--spacing-0-5)}.xswhm3q{--layout-padding-outer-x:var(--spacing-0)}.x1u93lgd{--layout-padding-outer-x:var(--spacing-1-5)}.xc96xmq{--layout-padding-outer-x:var(--spacing-1)}.x1jdf5a4{--layout-padding-outer-x:var(--spacing-10)}.x1hct0t0{--layout-padding-outer-x:var(--spacing-11)}.x11cyqoe{--layout-padding-outer-x:var(--spacing-12)}.x15dxnc0{--layout-padding-outer-x:var(--spacing-2)}.xadgj3j{--layout-padding-outer-x:var(--spacing-3)}.x1v56qcf{--layout-padding-outer-x:var(--spacing-4)}.x1nzs0gl{--layout-padding-outer-x:var(--spacing-5)}.x1c3n52a{--layout-padding-outer-x:var(--spacing-6)}.x1gfiokx{--layout-padding-outer-x:var(--spacing-7)}.x1t3kfz{--layout-padding-outer-x:var(--spacing-8)}.xzr4qsh{--layout-padding-outer-x:var(--spacing-9)}.xzxxx64{--layout-padding-outer-y:0px}.x1rs4lu4{--layout-padding-outer-y:initial}.xjej9fs{--layout-padding-outer-y:var(--astryx-card-padding-block-start,var(--astryx-card-padding,var(--spacing-4)))}.x1pui4bz{--layout-padding-outer-y:var(--astryx-dialog-padding-block-start,var(--astryx-dialog-padding,var(--spacing-4)))}.x1vw4zgg{--layout-padding-outer-y:var(--astryx-section-padding-block-start,var(--_section-padding-propagated,var(--astryx-section-padding,var(--spacing-4))))}.x1vj96e0{--layout-padding-outer-y:var(--spacing-0-5)}.x1mzf5mb{--layout-padding-outer-y:var(--spacing-0)}.xd3dqby{--layout-padding-outer-y:var(--spacing-1-5)}.x1gpfxoh{--layout-padding-outer-y:var(--spacing-1)}.x26l4wa{--layout-padding-outer-y:var(--spacing-10)}.x10zktp0{--layout-padding-outer-y:var(--spacing-11)}.x1yz3n6a{--layout-padding-outer-y:var(--spacing-12)}.x10pz7y9{--layout-padding-outer-y:var(--spacing-2)}.x1p6yq3h{--layout-padding-outer-y:var(--spacing-3)}.xx738ci{--layout-padding-outer-y:var(--spacing-4)}.x6yxws5{--layout-padding-outer-y:var(--spacing-5)}.x180vrwl{--layout-padding-outer-y:var(--spacing-6)}.x1q6rme1{--layout-padding-outer-y:var(--spacing-7)}.xid7e43{--layout-padding-outer-y:var(--spacing-8)}.x1t5kicu{--layout-padding-outer-y:var(--spacing-9)}.xnpej1e{--radius-element:var(--radius-full)}.x11rj6l1{--selectable-card-ring-color:var(--color-accent)}.xkce8z9{--separator-display:flex}.x1uzk0gl{--spinner-color:currentColor}.xt1b8mc{--spinner-color:var(--color-accent)}.x13u6jys{--spinner-color:var(--color-on-dark)}.x1jevo6s{--spinner-color:var(--color-text-secondary)}.x11wm0hx{--spinner-diameter:10px}.x15pu9g6{--spinner-diameter:14px}.x1w424tr{--spinner-diameter:18px}.x1orj1z9{--spinner-diameter:28px}.xls98ul{--spinner-stroke-width:2px}.xr0wkrm{--spinner-stroke-width:3px}.x7y2bof{--spinner-stroke-width:4px}.xbfzqbu{--spinner-track-color:currentColor}.x1ufpcf6{--spinner-track-color:var(--color-on-dark)}.xspt9s2{--spinner-track-color:var(--color-track)}.xpa4xmd{--tree-list-indent:var(--spacing-4)}.x1xbi2jf{--tree-list-row-gap:var(--spacing-0-5)}.x1wfyzv7:focus-within{--_fade-delay:0s}.xqchwus:focus-visible{--_focus-outline-offset:var(--focus-outline-offset)}.xqih627:focus-visible{--_focus-outline:var(--focus-outline-width) var(--focus-outline-style) var(--focus-outline-color)}.x1z42dm:focus-within{--_reveal-delay-reduced:0s,0s}.x1mjsb9v:focus-within{--_reveal-delay:0s,0s}.xi33vf3:focus-within{--_reveal-opacity:1}.xoa21yc:focus-within{--_reveal-position:static}.x11woleg:focus-visible,.x1my2cv6.x1my2cv6:hover:where(:not(:disabled,[aria-disabled=true])){--indicator-color:var(--color-accent)}.x158n88w:has(:focus-visible){--_tab-strip-bleed:calc(var(--focus-outline-width) + var(--focus-outline-offset))}.x1ibt0lz:first-child{--separator-display:none}.x1rht92:nth-child(2n){--table-row-overlay:var(--color-background-muted)}@media (any-pointer:coarse){.x1hl81f0.x1hl81f0{--_fade-delay:0s}}@media (pointer:coarse){.xp8r40j.xp8r40j{--_input-clear-hit-content:""}.x181bpwf.x181bpwf{--_input-clear-hit-inset:-2px}}@media (any-pointer:coarse){.xm1aeao.xm1aeao{--_reveal-delay-reduced:0s,0s}.x1pn63d7.x1pn63d7{--_reveal-delay:0s,0s}.xi7d7de.xi7d7de{--_reveal-opacity:1}.xarvkxi.xarvkxi{--_reveal-position:static}}@media (pointer:coarse){.x1h9khjt.x1h9khjt{--_thumbnail-hit-inset:-2px}}@media (hover:hover){.x1316hva.x1316hva.x1316hva:hover:where(:not(:disabled,[aria-disabled=true])){--_conceal-opacity:0}.xuzfaso.xuzfaso.xuzfaso:hover:where(:not(:disabled,[aria-disabled=true])){--_conceal-opacity:1}.xq03417.xq03417.xq03417:hover:where(:not(:disabled,[aria-disabled=true])){--_fade-delay:0s}.x14nxqze.x14nxqze.x14nxqze:hover:where(:not(:disabled,[aria-disabled=true])){--_fade-delay:var(--_hover-delay,0s)}.xap96qf.xap96qf.xap96qf:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-delay-reduced:0s,0s}.xvd8mm8.xvd8mm8.xvd8mm8:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-delay-reduced:var(--_hover-delay,0s),var(--_hover-delay,0s)}.x1t6fdr0.x1t6fdr0.x1t6fdr0:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-delay:0s,0s}.x1tx49wl.x1tx49wl.x1tx49wl:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-delay:0s,var(--duration-fast)}.xi1ebb6.xi1ebb6.xi1ebb6:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-delay:var(--_hover-delay,0s),var(--_hover-delay,0s)}.xfqgg65.xfqgg65.xfqgg65:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-opacity:0}.x2xrgwu.x2xrgwu.x2xrgwu:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-opacity:1}.x17ock8y.x17ock8y.x17ock8y:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-position:absolute}.x1or4zte.x1or4zte.x1or4zte:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-position:static}.xc01ov8.xc01ov8.xc01ov8:hover:where(:not(:disabled,[aria-disabled=true])){--table-row-overlay:var(--color-overlay-hover)}}.xln7xf2:not(#\#){font:inherit}.x15r89dc:not(#\#){grid-area:1/1}.x10a8y8t:not(#\#){inset:0}.x1anvkwx:not(#\#){inset:auto}.xh3736h:not(#\#){inset:unset}.xkdpibf:not(#\#){margin:-1px}.x1ghz6dp:not(#\#){margin:0}.xkib98w:not(#\#){margin:8px}.x1bpp3o7:not(#\#){margin:auto}.x1n5sqmh:not(#\#){margin:calc(-1 * (var(--spacing-2) - var(--spacing-1) + 1px))}.x1717udv:not(#\#){padding:0}.x1tamke2:not(#\#){padding:16px}.x1i3ajwb:not(#\#){padding:2px}.xfawy5m:not(#\#){padding:4px}.x1b50gpf:not(#\#){padding:calc(var(--_chat-composer-padding) - var(--border-width))}.x18oj4ui:not(#\#){padding:var(--_chat-composer-padding)}.xpoxszi:not(#\#){padding:var(--_segmented-control-padding)}.xtozwh:not(#\#){padding:var(--spacing-1) var(--spacing-2)}.x9epnlk:not(#\#){padding:var(--spacing-1)}.x15nmkw0:not(#\#){padding:var(--spacing-2) 0}.xlsj2fj:not(#\#){padding:var(--spacing-2)}.x1b2ylru:not(#\#){padding:var(--spacing-3)}.x1shk3sm:not(#\#){padding:var(--spacing-4)}.x1y5lnwp:focus:not(#\#){margin:0}.xg8s4dl:not(#\#):not(#\#){animation-range:cover}.x9r1u3d:not(#\#):not(#\#){border-color:#0000}.xad5do:not(#\#):not(#\#){border-color:var(--color-accent)}.x1touxvs:not(#\#):not(#\#){border-color:var(--color-background-surface)}.xlee4gx:not(#\#):not(#\#){border-color:var(--color-border-blue)}.xb1xfl:not(#\#):not(#\#){border-color:var(--color-border-cyan)}.xvy26l8:not(#\#):not(#\#){border-color:var(--color-border-emphasized)}.x1w9ec3u:not(#\#):not(#\#){border-color:var(--color-border-gray)}.xy90a9n:not(#\#):not(#\#){border-color:var(--color-border-green)}.xloqurj:not(#\#):not(#\#){border-color:var(--color-border-orange)}.x1czkbn8:not(#\#):not(#\#){border-color:var(--color-border-pink)}.xq98wne:not(#\#):not(#\#){border-color:var(--color-border-purple)}.xjqgoec:not(#\#):not(#\#){border-color:var(--color-border-red)}.x1r9gxr1:not(#\#):not(#\#){border-color:var(--color-border-teal)}.x1kpnwn1:not(#\#):not(#\#){border-color:var(--color-border-yellow)}.x14i3s5s:not(#\#):not(#\#){border-color:var(--color-border)}.x1ofxpqo:not(#\#):not(#\#){border-color:var(--color-error)}.x16m2moy:not(#\#):not(#\#){border-color:var(--color-success)}.xqcx1ss:not(#\#):not(#\#){border-color:var(--color-text-primary)}.x8wg1ba:not(#\#):not(#\#){border-color:var(--color-warning)}.x2u8bby:not(#\#):not(#\#){border-radius:0}.x1nj7uno:not(#\#):not(#\#){border-radius:1px}.x16rqkct:not(#\#):not(#\#){border-radius:50%}.xur7f20:not(#\#):not(#\#){border-radius:8px}.x1pjcqnp:not(#\#):not(#\#){border-radius:inherit}.x1ws5lxm:not(#\#):not(#\#){border-radius:max(0px,calc(var(--_dropdown-menu-radius,var(--spacing-2)) - var(--_dropdown-menu-padding,var(--spacing-1))))}.xc910v0:not(#\#):not(#\#){border-radius:max(0px,calc(var(--_segmented-control-radius) - var(--_segmented-control-padding)))}.xbc78cj:not(#\#):not(#\#){border-radius:var(--_avatar-radius)}.x1vf2byn:not(#\#):not(#\#){border-radius:var(--_banner-radius,var(--radius-container))}.x1jxw6zd:not(#\#):not(#\#){border-radius:var(--_button-radius,var(--radius-element))}.xy0xnkn:not(#\#):not(#\#){border-radius:var(--_button-radius,var(--radius-full))}.x153u1i6:not(#\#):not(#\#){border-radius:var(--_card-radius)}.x1xunbrq:not(#\#):not(#\#){border-radius:var(--_chat-composer-radius)}.xuacgfc:not(#\#):not(#\#){border-radius:var(--_dialog-radius)}.x1n97fys:not(#\#):not(#\#){border-radius:var(--_dropdown-menu-radius)}.xvdfih8:not(#\#):not(#\#){border-radius:var(--_field-radius)}.x7a53xk:not(#\#):not(#\#){border-radius:var(--_hovercard-radius)}.x11m9jtl:not(#\#):not(#\#){border-radius:var(--_popover-radius)}.x1hapoqb:not(#\#):not(#\#){border-radius:var(--_segmented-control-radius)}.xashgol:not(#\#):not(#\#){border-radius:var(--radius-chat)}.x1hviunn:not(#\#):not(#\#){border-radius:var(--radius-container)}.xh6dtrn:not(#\#):not(#\#){border-radius:var(--radius-element)}.xjspbzw:not(#\#):not(#\#){border-radius:var(--radius-full)}.xx3sua9:not(#\#):not(#\#){border-radius:var(--radius-inner)}.xwksslw:not(#\#):not(#\#){border-radius:var(--radius-none)}.xbsl7fq:not(#\#):not(#\#){border-style:dashed}.xng3xce:not(#\#):not(#\#){border-style:none}.x1y0btm7:not(#\#):not(#\#){border-style:solid}.xc342km:not(#\#):not(#\#){border-width:0}.xmkeg23:not(#\#):not(#\#){border-width:1px}.xdh2fpr:not(#\#):not(#\#){border-width:2px}.x1litavf:not(#\#):not(#\#){border-width:var(--border-width)}.x1mw0n95:not(#\#):not(#\#){border-width:var(--x-borderWidth)}.x1somy94:not(#\#):not(#\#){flex:0 0 0}.x3psx0u:not(#\#):not(#\#){flex:none}.x1cqoux5:not(#\#):not(#\#){flex:1 1 0}.x845mor:not(#\#):not(#\#){flex:1}.xfoc8du:not(#\#):not(#\#){flex:40px}.x12lumcd:not(#\#):not(#\#){flex:auto}.x98rzlu:not(#\#):not(#\#){flex:1}.xxhr3t:not(#\#):not(#\#){gap:0}.x1jnr06f:not(#\#):not(#\#){gap:4px}.x167g77z:not(#\#):not(#\#){gap:8px}.x14kbac9:not(#\#):not(#\#){gap:inherit}.x1lsbc85:not(#\#):not(#\#){gap:var(--spacing-0-5)}.xsn7fz1:not(#\#):not(#\#){gap:var(--spacing-0)}.x1s4dlld:not(#\#):not(#\#){gap:var(--spacing-1-5)}.xzye2dw:not(#\#):not(#\#){gap:var(--spacing-1)}.x3hoi3v:not(#\#):not(#\#){gap:var(--spacing-10)}.xpec5dj:not(#\#):not(#\#){gap:var(--spacing-2) var(--spacing-4)}.x1txdalj:not(#\#):not(#\#){gap:var(--spacing-2)}.xlaq8a2:not(#\#):not(#\#){gap:var(--spacing-3) var(--spacing-4)}.xjcht0a:not(#\#):not(#\#){gap:var(--spacing-3)}.x18g69wz:not(#\#):not(#\#){gap:var(--spacing-4)}.x9mgr7n:not(#\#):not(#\#){gap:var(--spacing-5)}.x1qh66ti:not(#\#):not(#\#){gap:var(--spacing-6)}.x4t41sb:not(#\#):not(#\#){gap:var(--spacing-8)}.x1pidvrl:not(#\#):not(#\#){gap:var(--x-gap)}.xgkxs2y:not(#\#):not(#\#){grid-column:1}.x1ms6mhf:not(#\#):not(#\#){grid-row:1}.x10no89f:not(#\#):not(#\#){inset-block:0}.x17y0mx6:not(#\#):not(#\#){inset-inline:0}.xe8uvvx:not(#\#):not(#\#){list-style:none}.x81ka23:not(#\#):not(#\#){margin-block:calc(-1 * (var(--spacing-3) - var(--spacing-2)))}.xhzvc8f:not(#\#):not(#\#){margin-block:calc(-1 * var(--spacing-2))}.xqixskq:not(#\#):not(#\#){margin-block:calc(var(--size-element-md) / 2 - var(--spacing-2) - var(--text-heading-2-size) * var(--text-heading-2-leading) / 2)}.xsq74q5:not(#\#):not(#\#){margin-block:var(--spacing-1)}.x1g06x3t:not(#\#):not(#\#){margin-block:var(--spacing-2)}.x1oqu0vw:not(#\#):not(#\#){margin-block:var(--x-marginBlock)}.xvueqy4:not(#\#):not(#\#){margin-inline:auto}.xi5l473:not(#\#):not(#\#){margin-inline:calc(-1 * (var(--_tab-strip-bleed)))}.xtedp8i:not(#\#):not(#\#){margin-inline:calc(-1 * var(--spacing-1))}.x1ho7dyk:not(#\#):not(#\#){margin-inline:calc(-1 * var(--spacing-2))}.x1ng9b9t:not(#\#):not(#\#){margin-inline:calc(-1 * var(--spacing-4))}.xhrcg97:not(#\#):not(#\#){margin-inline:var(--spacing-1)}.xvlecxo:not(#\#):not(#\#){margin-inline:var(--x-marginInline)}.x1a2a7pz:not(#\#):not(#\#){outline:none}.xaw4jrz:not(#\#):not(#\#){outline:var(--_focus-outline,none)}.xysyzu8:not(#\#):not(#\#){overflow:auto}.x7giv3:not(#\#):not(#\#){overflow:clip}.xb3r6kr:not(#\#):not(#\#){overflow:hidden}.x1rea2x4:not(#\#):not(#\#){overflow:visible}.xish69e:not(#\#):not(#\#){overscroll-behavior:contain}.x8du1vd:not(#\#):not(#\#){overscroll-behavior:none}.xt970qd:not(#\#):not(#\#){padding-block:0}.x1vn5h1t:not(#\#):not(#\#){padding-block:calc((var(--size-element-lg) - var(--spacing-5) - 2 * var(--border-width)) / 2)}.x1ioay2v:not(#\#):not(#\#){padding-block:calc((var(--size-element-md) - var(--spacing-5) - 2 * var(--border-width)) / 2)}.x1ecmfrv:not(#\#):not(#\#){padding-block:calc((var(--size-element-sm) - var(--spacing-5) - 2 * var(--border-width)) / 2)}.x1x7cmac:not(#\#):not(#\#){padding-block:calc(var(--spacing-1) - 1px)}.xwo4yc8:not(#\#):not(#\#){padding-block:calc(var(--tree-list-row-gap,0px) / 2)}.x13f7esw:not(#\#):not(#\#){padding-block:var(--spacing-0-5)}.x1hp7d8q:not(#\#):not(#\#){padding-block:var(--spacing-0)}.x1vofgu7:not(#\#):not(#\#){padding-block:var(--spacing-1-5)}.xu0wf1k:not(#\#):not(#\#){padding-block:var(--spacing-1)}.xce4md1:not(#\#):not(#\#){padding-block:var(--spacing-2)}.x8o8v82:not(#\#):not(#\#){padding-block:var(--spacing-3)}.x1na6nto:not(#\#):not(#\#){padding-block:var(--spacing-4)}.xq6koh6:not(#\#):not(#\#){padding-block:var(--spacing-6)}.xmfvnks:not(#\#):not(#\#){padding-block:var(--spacing-8)}.x1giekp1:not(#\#):not(#\#){padding-block:var(--x-paddingBlock)}.x1uameg1:not(#\#):not(#\#){padding-block:118px}.xnjsko4:not(#\#):not(#\#){padding-inline:0}.xx2oswg:not(#\#):not(#\#){padding-inline:calc(var(--spacing-1) - 1px)}.x2hg6jq:not(#\#):not(#\#){padding-inline:calc(var(--spacing-1) + var(--border-width))}.x1kpkw9v:not(#\#):not(#\#){padding-inline:var(--_tab-strip-bleed)}.x1w6f3ag:not(#\#):not(#\#){padding-inline:var(--_textarea-inline-padding)}.xkjnx3w:not(#\#):not(#\#){padding-inline:var(--spacing-0-5)}.x17a0aqu:not(#\#):not(#\#){padding-inline:var(--spacing-0)}.x4ezzuc:not(#\#):not(#\#){padding-inline:var(--spacing-1-5)}.x7a5moj:not(#\#):not(#\#){padding-inline:var(--spacing-1)}.xixulwi:not(#\#):not(#\#){padding-inline:var(--spacing-10)}.xf314gf:not(#\#):not(#\#){padding-inline:var(--spacing-2)}.xrrkdod:not(#\#):not(#\#){padding-inline:var(--spacing-3)}.x1pzlopt:not(#\#):not(#\#){padding-inline:var(--spacing-4)}.xzz68wx:not(#\#):not(#\#){padding-inline:var(--spacing-5)}.xm7rs69:not(#\#):not(#\#){padding-inline:var(--spacing-6)}.x6xnjw4:not(#\#):not(#\#){padding-inline:var(--spacing-8)}.x30g6up:not(#\#):not(#\#){padding-inline:var(--x-paddingInline)}.x1ku5rj1:not(#\#):not(#\#){place-items:center}.x1xif8ns:not(#\#):not(#\#){scroll-padding-inline:calc(var(--_tab-strip-bleed) + var(--spacing-8))}.xdf8p4l:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-0-5)}.x9lgdif:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-0)}.x1w8vatw:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-1-5)}.x1u2972t:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-1)}.xw959t8:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-10)}.x1mfb6cv:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-2)}.xpnzzb2:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-3)}.x3m3szd:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-4)}.x1vx7sv0:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-5)}.x1mvw9yj:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-6)}.x1xn2tv3:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-8)}.xhfbhpw:not(#\#):not(#\#){scroll-snap-type:x mandatory}.x168l2et:not(#\#):not(#\#){scroll-snap-type:y mandatory}.xmqliwb:not(#\#):not(#\#){text-decoration:line-through}.x1hl2dhg:not(#\#):not(#\#){text-decoration:none}.x1bvjpef:not(#\#):not(#\#){text-decoration:underline}.xrg7dcy:not(#\#):not(#\#){transition:box-shadow var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.xb0j27v:not(#\#):not(#\#){transition:grid-template-rows var(--duration-medium) var(--ease-standard)}.xq2gx43:not(#\#):not(#\#){transition:none}.x1ey1afo:not(#\#):not(#\#){transition:opacity var(--duration-fast)}.x1ob6yzd:not(#\#):not(#\#){transition:transform var(--duration-fast) var(--ease-standard)}.x6q1khz:focus-within:not(#\#):not(#\#){border-color:var(--color-accent)}.xk2sxw7:focus-within:not(#\#):not(#\#){border-color:var(--color-error)}.xyq33ac:focus-within:not(#\#):not(#\#){border-color:var(--color-success)}.xa1yw2k:focus-within:not(#\#):not(#\#){border-color:var(--color-warning)}.xafswnp.xafswnp:where(.x1iwu4tg:has(:focus-visible) *):not(#\#):not(#\#){outline:var(--focus-outline-width) var(--focus-outline-style) var(--focus-outline-color)}.x1dordxg:focus-within:not(#\#):not(#\#){overflow:visible}.x16s19ga:has(:focus-visible):not(#\#):not(#\#){outline:var(--focus-outline-width) var(--focus-outline-style) var(--focus-outline-color)}.x64lkcz:focus:not(#\#):not(#\#){border-color:var(--color-error)}.x1lglk5v:focus:not(#\#):not(#\#){border-color:var(--color-success)}.x12sck4v:focus:not(#\#):not(#\#){border-color:var(--color-warning)}.x1uvtmcs:focus:not(#\#):not(#\#){outline:none}.xomzh7y:focus:not(#\#):not(#\#){overflow:visible}.xh2mrf5:focus:not(#\#):not(#\#){padding-block:var(--spacing-2)}.x1cf3d6k:focus:not(#\#):not(#\#){padding-inline:var(--spacing-4)}@media (forced-colors:active){.x1w1tqly.x1w1tqly:not(#\#):not(#\#){border-color:canvastext}.xmnqt3w.xmnqt3w:not(#\#):not(#\#){border-color:graytext}.xx61lck.xx61lck:not(#\#):not(#\#){border-style:solid}.x13rsnn2.x13rsnn2:not(#\#):not(#\#){border-width:1px}}@media (width<=480px){.x1a1jff.x1a1jff:not(#\#):not(#\#){gap:var(--spacing-4)}}@media (prefers-reduced-motion:reduce){.x9kvfbb.x9kvfbb:not(#\#):not(#\#){transition:none}}@media (hover:hover){.x1ozl1p1.x1ozl1p1.x1ozl1p1:where(.x1odsvnm:hover *):not(#\#):not(#\#){border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.x1ozl1p1.x1ozl1p1.x1ozl1p1:where(.x1odsvnm:hover *):not(#\#):not(#\#){border-color:color-mix(in srgb,var(--color-accent),var(--color-tint-hover) 15%)}}.xilc7fp.xilc7fp.xilc7fp:where(.x1odsvnm:hover *):not(#\#):not(#\#){border-color:var(--color-border-emphasized)}@supports (color:color-mix(in lab, red, red)){.xilc7fp.xilc7fp.xilc7fp:where(.x1odsvnm:hover *):not(#\#):not(#\#){border-color:color-mix(in srgb,var(--color-border-emphasized),var(--color-tint-hover) 20%)}}.x61roa7.x61roa7.x61roa7:where(.x1odsvnm:hover *):not(#\#):not(#\#){border-color:var(--color-border)}.x1xwh4np.x1xwh4np.x1xwh4np:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#){border-color:var(--color-border-emphasized)}.x13nosk6.x13nosk6.x13nosk6:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#){text-decoration:underline}}.x1lugfcp:not(#\#):not(#\#):not(#\#){-webkit-appearance:none}.x67t5t6:not(#\#):not(#\#):not(#\#){-webkit-backdrop-filter:blur(12px)}.x1ua5tub:not(#\#):not(#\#):not(#\#){-webkit-box-orient:vertical}.x1yhjpo9:not(#\#):not(#\#):not(#\#){-webkit-line-clamp:var(--x-WebkitLineClamp)}.xiy8rlo:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(#0000,#000 24px)}.x1bv1mxo:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(#0000,#000 36px)}.xo9xo30:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(#0000,#000 48px)}.xt2iwb0:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(#0000,#0000)}.x5lxg6s:not(#\#):not(#\#):not(#\#){-webkit-overflow-scrolling:touch}.x1i10hfl:not(#\#):not(#\#):not(#\#){-webkit-tap-highlight-color:transparent}.xg7jpbn:not(#\#):not(#\#):not(#\#){-webkit-text-fill-color:transparent}.xpdipgo:not(#\#):not(#\#):not(#\#){-webkit-touch-callout:none}.x8gbvx8:not(#\#):not(#\#):not(#\#){align-content:flex-start}.x1pha0wt:not(#\#):not(#\#):not(#\#){align-items:baseline}.x6s0dn4:not(#\#):not(#\#):not(#\#){align-items:center}.xpqajaz:not(#\#):not(#\#):not(#\#){align-items:end}.xuk3077:not(#\#):not(#\#):not(#\#){align-items:flex-end}.x1cy8zhl:not(#\#):not(#\#):not(#\#){align-items:flex-start}.x7a106z:not(#\#):not(#\#):not(#\#){align-items:start}.x1qjc9v5:not(#\#):not(#\#):not(#\#){align-items:stretch}.xoi2r2e:not(#\#):not(#\#):not(#\#){align-self:baseline}.xamitd3:not(#\#):not(#\#):not(#\#){align-self:center}.xpvyfi4:not(#\#):not(#\#):not(#\#){align-self:flex-end}.xqcrz7y:not(#\#):not(#\#):not(#\#){align-self:flex-start}.x1y8v6su:not(#\#):not(#\#):not(#\#){align-self:start}.xkh2ocl:not(#\#):not(#\#):not(#\#){align-self:stretch}.x7dpabl:not(#\#):not(#\#):not(#\#){anchor-name:--outline-active}.x17yabm6:not(#\#):not(#\#):not(#\#){animation-delay:var(--duration-medium-min)}.xvo38ju:not(#\#):not(#\#):not(#\#){animation-delay:var(--x-animationDelay)}.xpz12be:not(#\#):not(#\#):not(#\#){animation-direction:alternate}.xmg6eyc:not(#\#):not(#\#):not(#\#){animation-duration:1.5s}.xjlvqhv:not(#\#):not(#\#):not(#\#){animation-duration:1ms}.x1c74tu6:not(#\#):not(#\#):not(#\#){animation-duration:2s}.xwms9i0:not(#\#):not(#\#):not(#\#){animation-duration:auto}.x9uej1z:not(#\#):not(#\#):not(#\#){animation-duration:var(--duration-fast-max)}.xb2rp9n:not(#\#):not(#\#):not(#\#){animation-duration:var(--duration-fast)}.xqgcaz:not(#\#):not(#\#):not(#\#){animation-duration:var(--duration-medium-max)}.x12wqnr7:not(#\#):not(#\#):not(#\#){animation-duration:var(--duration-medium)}.x14qxm4i:not(#\#):not(#\#):not(#\#){animation-duration:var(--duration-slow-min)}.xskzprw:not(#\#):not(#\#):not(#\#){animation-fill-mode:backwards}.x1u6ievf:not(#\#):not(#\#):not(#\#){animation-fill-mode:both}.x10e4vud:not(#\#):not(#\#):not(#\#){animation-fill-mode:forwards}.xa4qsjk:not(#\#):not(#\#):not(#\#){animation-iteration-count:infinite}.x1ewfqum:not(#\#):not(#\#):not(#\#){animation-name:x11lauxq-B}.xcx56e2:not(#\#):not(#\#):not(#\#){animation-name:x13kz0yu-B}.x1ffowhz:not(#\#):not(#\#):not(#\#){animation-name:x188b6p3-B}.xqcmdr3:not(#\#):not(#\#):not(#\#){animation-name:x18re5ia-B}.x3psbcj:not(#\#):not(#\#):not(#\#){animation-name:x1ahk7ht-B}.x1dvww92:not(#\#):not(#\#):not(#\#){animation-name:x1b6yrix-B}.x97zbip:not(#\#):not(#\#):not(#\#){animation-name:x1k48ry3-B}.x1gbn2au:not(#\#):not(#\#):not(#\#){animation-name:x1xhkexc-B}.xeuoslp:not(#\#):not(#\#):not(#\#){animation-name:xgnty7z-B}.x1srr2gu:not(#\#):not(#\#):not(#\#){animation-name:xiylxmw-B}.x1ka1v4i:not(#\#):not(#\#):not(#\#){animation-name:xqng64z-B}.xozk8ic:not(#\#):not(#\#):not(#\#){animation-name:xr3m334-B}.x1mta51n:not(#\#):not(#\#):not(#\#){animation-name:xtut5q7-B}.xck01x9:not(#\#):not(#\#):not(#\#){animation-name:xu7jd1z-B}.xl1vlw0:not(#\#):not(#\#):not(#\#){animation-name:xv1hr86-B}.x1i331go:not(#\#):not(#\#):not(#\#){animation-name:xwmkjkf-B}.x190lv1:not(#\#):not(#\#):not(#\#){animation-timeline:view(y)}.x4hg4is:not(#\#):not(#\#):not(#\#){animation-timing-function:ease-in-out}.x1esw782:not(#\#):not(#\#):not(#\#){animation-timing-function:linear}.x193epu2:not(#\#):not(#\#):not(#\#){animation-timing-function:steps(10,end)}.x128ha8g:not(#\#):not(#\#):not(#\#){animation-timing-function:var(--ease-standard)}.xjyslct:not(#\#):not(#\#):not(#\#){appearance:none}.x1plog1:not(#\#):not(#\#):not(#\#){aspect-ratio:1}.xioom0i:not(#\#):not(#\#):not(#\#){aspect-ratio:var(--button-icon-only-aspect)}.x10y9f9r:not(#\#):not(#\#):not(#\#){aspect-ratio:var(--x-aspectRatio)}.xvn2z4z:not(#\#):not(#\#):not(#\#){-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.xlp1x4z:not(#\#):not(#\#):not(#\#){backface-visibility:hidden}.xx83zyx:not(#\#):not(#\#):not(#\#){background-clip:padding-box}.x1rkw3yq:not(#\#):not(#\#):not(#\#){background-color:#fff9}.xtwfq29:not(#\#):not(#\#):not(#\#){background-color:currentColor}.xgcd1z6:not(#\#):not(#\#):not(#\#){background-color:inherit}.xcpsgoo:not(#\#):not(#\#):not(#\#){background-color:#00000080}.xjbqb8w:not(#\#):not(#\#):not(#\#){background-color:#0000}.xgcxg3y:not(#\#):not(#\#):not(#\#){background-color:var(--color-accent-muted)}.x1ewilqj:not(#\#):not(#\#):not(#\#){background-color:var(--color-accent)}.x1o0wnni:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-blue)}.x1eiddq6:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-body)}.x1de1mus:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-card)}.x1rgj867:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-cyan)}.x1l5t2a3:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-error-inverted)}.xspzpui:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-gray)}.x1sqjeoo:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-green)}.xenstv7:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-inverted)}.xwmxj5m:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-muted)}.x1e9xt6e:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-orange)}.xnpoty2:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-pink)}.x1prclbq:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-popover)}.x16i6n6f:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-purple)}.x1cibrc5:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-red)}.x10xzikg:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-surface)}.x1jtji5o:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-teal)}.x1bo7t0x:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-yellow)}.x7njt3n:not(#\#):not(#\#):not(#\#){background-color:var(--color-border-emphasized)}.x1m4xfpy:not(#\#):not(#\#):not(#\#){background-color:var(--color-border)}.x1pritpl:not(#\#):not(#\#):not(#\#){background-color:var(--color-error-muted)}.x1pjz0fi:not(#\#):not(#\#):not(#\#){background-color:var(--color-error)}.xowkcby:not(#\#):not(#\#):not(#\#){background-color:var(--color-icon-primary)}.x1q5y3ey:not(#\#):not(#\#):not(#\#){background-color:var(--color-icon-secondary)}.x17x4s8c:not(#\#):not(#\#):not(#\#){background-color:var(--color-neutral)}.x1azo05:not(#\#):not(#\#):not(#\#){background-color:var(--color-on-accent)}.xfba6wv:not(#\#):not(#\#):not(#\#){background-color:var(--color-on-error)}.x9mohwv:not(#\#):not(#\#):not(#\#){background-color:var(--color-on-success)}.xmgwp2l:not(#\#):not(#\#):not(#\#){background-color:var(--color-on-warning)}.x1lmrjuc:not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-hover)}.xi89dp7:not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-pressed)}.x1u4601x:not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay)}.xprdx6m:not(#\#):not(#\#):not(#\#){background-color:var(--color-skeleton)}.xu13z74:not(#\#):not(#\#):not(#\#){background-color:var(--color-success-muted)}.xdsz4j9:not(#\#):not(#\#):not(#\#){background-color:var(--color-success)}.xzyc27v:not(#\#):not(#\#):not(#\#){background-color:var(--color-syntax-background)}.x16fr6go:not(#\#):not(#\#):not(#\#){background-color:var(--color-text-disabled)}.x19aspcf:not(#\#):not(#\#):not(#\#){background-color:var(--color-text-primary)}.xdomwnj:not(#\#):not(#\#):not(#\#){background-color:var(--color-text-secondary)}.xdsb6cv:not(#\#):not(#\#):not(#\#){background-color:var(--color-track)}.x24i8r5:not(#\#):not(#\#):not(#\#){background-color:var(--color-warning-muted)}.x1q8g9m5:not(#\#):not(#\#):not(#\#){background-color:var(--color-warning)}.x1fd97le:not(#\#):not(#\#):not(#\#){background-color:var(--table-sticky-background,var(--color-background-card))}.xl8spv7:not(#\#):not(#\#):not(#\#){background-color:var(--x-backgroundColor)}.xafqdz2:not(#\#):not(#\#):not(#\#){background-image:linear-gradient(to bottom,var(--color-background-surface) 60%,transparent)}.x1vrk509:not(#\#):not(#\#):not(#\#){background-image:linear-gradient(var(--color-background-muted),var(--color-background-muted))}.x14bno8m:not(#\#):not(#\#):not(#\#){background-image:linear-gradient(var(--color-neutral),var(--color-neutral))}.x18o3ruo:not(#\#):not(#\#):not(#\#){background-image:none}.x1mwwwfo:not(#\#):not(#\#):not(#\#){border-collapse:collapse}.x16uus16:not(#\#):not(#\#):not(#\#){border-end-end-radius:0}.x1eprgri:not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--_banner-radius,var(--radius-container))}.x6k0y1c:not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--_chat-composer-radius)}.xoao14b:not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--_field-radius)}.x14i3lts:not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--radius-element)}.x1dgc8on:not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--radius-full)}.x1whkvtz:not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--radius-inner)}.xbiv7yw:not(#\#):not(#\#):not(#\#){border-end-start-radius:0}.x1k5g1gk:not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--_banner-radius,var(--radius-container))}.xkvxy4d:not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--_chat-composer-radius)}.xquck67:not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--radius-element)}.x1wc3881:not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--radius-full)}.xrfs2vl:not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--radius-inner)}.xl0t3rv:not(#\#):not(#\#):not(#\#){border-inline-end-color:var(--color-border-emphasized)}.x1gejf6u:not(#\#):not(#\#):not(#\#){border-inline-end-color:var(--color-border)}.x18b5jzi:not(#\#):not(#\#):not(#\#){border-inline-end-style:solid}.x1lun4ml:not(#\#):not(#\#):not(#\#){border-inline-end-width:1px}.xw8tdv1:not(#\#):not(#\#):not(#\#){border-inline-end-width:var(--border-width)}.x14ydlgx:not(#\#):not(#\#):not(#\#){border-inline-start-color:var(--color-border-emphasized)}.x1j92z86:not(#\#):not(#\#):not(#\#){border-inline-start-color:var(--color-border)}.xrvmtm5:not(#\#):not(#\#):not(#\#){border-inline-start-color:var(--color-on-accent)}.x1t7ytsu:not(#\#):not(#\#):not(#\#){border-inline-start-style:solid}.xpilrb4:not(#\#):not(#\#):not(#\#){border-inline-start-width:1px}.xgbv0en:not(#\#):not(#\#):not(#\#){border-inline-start-width:var(--border-width)}.xtpqe59:not(#\#):not(#\#):not(#\#){border-inline-start-width:var(--spacing-0-5)}.x1gukg7c:not(#\#):not(#\#):not(#\#){border-spacing:0}.x1ga7v0g:not(#\#):not(#\#):not(#\#){border-start-end-radius:0}.x13nour3:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--_banner-radius,var(--radius-container))}.xzc3kxz:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--_chat-composer-radius)}.x1g2gkjz:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--_field-radius)}.xg0tfu:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--radius-chat)}.x7hs6f1:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--radius-container)}.x8agd5o:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--radius-full)}.x126per9:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--radius-inner)}.x15mokao:not(#\#):not(#\#):not(#\#){border-start-start-radius:0}.xwxb7qi:not(#\#):not(#\#):not(#\#){border-start-start-radius:var(--_banner-radius,var(--radius-container))}.xy7p8pm:not(#\#):not(#\#):not(#\#){border-start-start-radius:var(--_chat-composer-radius)}.x1n70msy:not(#\#):not(#\#):not(#\#){border-start-start-radius:var(--radius-chat)}.x81l70g:not(#\#):not(#\#):not(#\#){border-start-start-radius:var(--radius-container)}.x19415el:not(#\#):not(#\#):not(#\#){border-start-start-radius:var(--radius-full)}.x3qb8m:not(#\#):not(#\#):not(#\#){border-start-start-radius:var(--radius-inner)}.x183tx6i:not(#\#):not(#\#):not(#\#){border-start-start-radius:var(--radius-page)}.x1lp15jv:not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 1px var(--color-border-emphasized)}.x1er153n:not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 1px var(--color-border)}.x1iobdd1:not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 1px var(--color-text-primary)}.x1gnnqk1:not(#\#):not(#\#):not(#\#){box-shadow:none}.x1p8z4y0:not(#\#):not(#\#):not(#\#){box-shadow:var(--_card-ring,0 0 transparent),var(--_card-elevation,0 0 transparent)}.x1kcpxr7:not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-high)}.x1i5ehqx:not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-low)}.x14hfi27:not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-med)}.x9f619:not(#\#):not(#\#):not(#\#){box-sizing:border-box}.x1afcbsf:not(#\#):not(#\#):not(#\#){box-sizing:content-box}.xbuiw85:not(#\#):not(#\#):not(#\#){caret-color:#0000}.xxugrtn:not(#\#):not(#\#):not(#\#){caret-color:var(--color-accent)}.x1hyvwdk:not(#\#):not(#\#):not(#\#){clip-path:inset(50%)}.xzpqnlu:not(#\#):not(#\#):not(#\#){clip:rect(0,0,0,0)}.xntwwlm:not(#\#):not(#\#):not(#\#){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.x108lcm5:not(#\#):not(#\#):not(#\#){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){.x108lcm5:not(#\#):not(#\#):not(#\#){--lightningcss-light: ;--lightningcss-dark:initial}}.x19aimcq:not(#\#):not(#\#):not(#\#){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.xj8ax7g:not(#\#):not(#\#):not(#\#){color:red}.x1heor9g:not(#\#):not(#\#):not(#\#){color:inherit}.x19co3pv:not(#\#):not(#\#):not(#\#){color:#0000}.x1gb3s7i:not(#\#):not(#\#):not(#\#){color:var(--_item-description-color,var(--color-text-secondary))}.x5tbw38:not(#\#):not(#\#):not(#\#){color:var(--_item-label-color,var(--color-text-primary))}.xqwr325:not(#\#):not(#\#):not(#\#){color:var(--color-accent)}.xrkvqaz:not(#\#):not(#\#):not(#\#){color:var(--color-background-surface)}.xjt36v0:not(#\#):not(#\#):not(#\#){color:var(--color-error)}.x1fns2mt:not(#\#):not(#\#):not(#\#){color:var(--color-icon-blue)}.x157w0xa:not(#\#):not(#\#):not(#\#){color:var(--color-icon-cyan)}.xqa6c3m:not(#\#):not(#\#):not(#\#){color:var(--color-icon-disabled)}.x1eyinzz:not(#\#):not(#\#):not(#\#){color:var(--color-icon-gray)}.xmxeech:not(#\#):not(#\#):not(#\#){color:var(--color-icon-green)}.xxu74a4:not(#\#):not(#\#):not(#\#){color:var(--color-icon-orange)}.x1kxxfg5:not(#\#):not(#\#):not(#\#){color:var(--color-icon-pink)}.xtbr613:not(#\#):not(#\#):not(#\#){color:var(--color-icon-primary)}.xzdw94u:not(#\#):not(#\#):not(#\#){color:var(--color-icon-purple)}.xeffzf7:not(#\#):not(#\#):not(#\#){color:var(--color-icon-red)}.xv9yike:not(#\#):not(#\#):not(#\#){color:var(--color-icon-secondary)}.x1f3zxcb:not(#\#):not(#\#):not(#\#){color:var(--color-icon-teal)}.x1g6zdft:not(#\#):not(#\#):not(#\#){color:var(--color-icon-yellow)}.x17wrial:not(#\#):not(#\#):not(#\#){color:var(--color-on-accent)}.x9e3rv5:not(#\#):not(#\#):not(#\#){color:var(--color-on-dark)}.x1m024r3:not(#\#):not(#\#):not(#\#){color:var(--color-on-error)}.xri61p4:not(#\#):not(#\#):not(#\#){color:var(--color-on-success)}.xrebv38:not(#\#):not(#\#):not(#\#){color:var(--color-on-warning)}.xtjic6:not(#\#):not(#\#):not(#\#){color:var(--color-success)}.x1mjzq1q:not(#\#):not(#\#):not(#\#){color:var(--color-syntax-comment)}.xdfisg:not(#\#):not(#\#):not(#\#){color:var(--color-syntax-variable)}.xjse4m1:not(#\#):not(#\#):not(#\#){color:var(--color-text-accent)}.x1vvqiwl:not(#\#):not(#\#):not(#\#){color:var(--color-text-blue)}.x1txnczv:not(#\#):not(#\#):not(#\#){color:var(--color-text-cyan)}.xnbbluu:not(#\#):not(#\#):not(#\#){color:var(--color-text-disabled)}.xru1t7f:not(#\#):not(#\#):not(#\#){color:var(--color-text-gray)}.xltfdvo:not(#\#):not(#\#):not(#\#){color:var(--color-text-green)}.xm47u9q:not(#\#):not(#\#):not(#\#){color:var(--color-text-orange)}.xiuofww:not(#\#):not(#\#):not(#\#){color:var(--color-text-pink)}.x1tgivj0:not(#\#):not(#\#):not(#\#){color:var(--color-text-primary)}.x1m9wyeb:not(#\#):not(#\#):not(#\#){color:var(--color-text-purple)}.x1joocv1:not(#\#):not(#\#):not(#\#){color:var(--color-text-red)}.xv1l7n4:not(#\#):not(#\#):not(#\#){color:var(--color-text-secondary)}.x9x0lbs:not(#\#):not(#\#):not(#\#){color:var(--color-text-teal)}.xdhq94a:not(#\#):not(#\#):not(#\#){color:var(--color-text-yellow)}.xs3pv69:not(#\#):not(#\#):not(#\#){color:var(--color-warning)}.xf5zn4v:not(#\#):not(#\#):not(#\#){column-gap:calc(var(--spacing-3) + var(--border-width) + var(--spacing-4))}.x1kihgfc:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-0-5)}.x1o57wo1:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-0)}.x1thn6ci:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-1-5)}.x1lfs0n9:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-1)}.x1p37tyl:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-10)}.xak3so:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-2)}.xewh9hi:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-3)}.xty4p9g:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-4)}.x1eqhezk:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-5)}.x3qlgwd:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-6)}.xicv188:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-8)}.xawy1a7:not(#\#):not(#\#):not(#\#){contain:layout style}.x12h1iku:not(#\#):not(#\#):not(#\#){container-type:inline-size}.xb5mbof:not(#\#):not(#\#):not(#\#){content-visibility:auto}.xfrknyr:not(#\#):not(#\#):not(#\#){counter-increment:astryx-list}.xif0320:not(#\#):not(#\#):not(#\#){counter-reset:astryx-list}.x1khind5:not(#\#):not(#\#):not(#\#){counter-reset:var(--x-counterReset)}.xicojor:not(#\#):not(#\#):not(#\#){cursor:col-resize}.xt0e3qv:not(#\#):not(#\#):not(#\#){cursor:default}.x7eptgl:not(#\#):not(#\#):not(#\#){cursor:ew-resize}.x1jm3nie:not(#\#):not(#\#):not(#\#){cursor:grab}.xi9pz9s:not(#\#):not(#\#):not(#\#){cursor:grabbing}.xmper1u:not(#\#):not(#\#):not(#\#){cursor:inherit}.x1ypdohk:not(#\#):not(#\#):not(#\#){cursor:pointer}.xyozgr7:not(#\#):not(#\#):not(#\#){cursor:row-resize}.x1ed109x:not(#\#):not(#\#):not(#\#){cursor:text}.x1huxd7x:not(#\#):not(#\#):not(#\#){cursor:zoom-in}.x104kibb:not(#\#):not(#\#):not(#\#){display:-webkit-box}.x1lliihq:not(#\#):not(#\#):not(#\#){display:block}.xjp7ctv:not(#\#):not(#\#):not(#\#){display:contents}.x78zum5:not(#\#):not(#\#):not(#\#){display:flex}.xrvj5dj:not(#\#):not(#\#):not(#\#){display:grid}.x1rg5ohu:not(#\#):not(#\#):not(#\#){display:inline-block}.x3nfvp2:not(#\#):not(#\#):not(#\#){display:inline-flex}.xwz0xwf:not(#\#):not(#\#):not(#\#){display:inline-grid}.xt0psk2:not(#\#):not(#\#):not(#\#){display:inline}.x1s85apg:not(#\#):not(#\#):not(#\#){display:none}.x11ke7fs:not(#\#):not(#\#):not(#\#){display:var(--separator-display)}.xbh8q5q:not(#\#):not(#\#):not(#\#){fill:none}.x1r8uery:not(#\#):not(#\#):not(#\#){flex-basis:0}.xrjwirl:not(#\#):not(#\#):not(#\#){flex-basis:196px}.xjpgo6f:not(#\#):not(#\#):not(#\#){flex-basis:200px}.xchdapg:not(#\#):not(#\#):not(#\#){flex-basis:300px}.xgualba:not(#\#):not(#\#):not(#\#){flex-basis:8rem}.xdl72j9:not(#\#):not(#\#):not(#\#){flex-basis:auto}.x3ieub6:not(#\#):not(#\#):not(#\#){flex-direction:column-reverse}.xdt5ytf:not(#\#):not(#\#):not(#\#){flex-direction:column}.x15zctf7:not(#\#):not(#\#):not(#\#){flex-direction:row-reverse}.x1q0g3np:not(#\#):not(#\#):not(#\#){flex-direction:row}.x1c4vz4f:not(#\#):not(#\#):not(#\#){flex-grow:0}.x1iyjqo2:not(#\#):not(#\#):not(#\#){flex-grow:1}.xgyuaek:not(#\#):not(#\#):not(#\#){flex-grow:2}.x2lah0s:not(#\#):not(#\#):not(#\#){flex-shrink:0}.xs83m0k:not(#\#):not(#\#):not(#\#){flex-shrink:1}.x1g3ib7:not(#\#):not(#\#):not(#\#){flex-shrink:10}.xozqiw3:not(#\#):not(#\#):not(#\#){flex-wrap:nowrap}.x8hhl5t:not(#\#):not(#\#):not(#\#){flex-wrap:wrap-reverse}.x1a02dak:not(#\#):not(#\#):not(#\#){flex-wrap:wrap}.xjb2p0i:not(#\#):not(#\#):not(#\#){font-family:inherit}.x9ynric:not(#\#):not(#\#):not(#\#){font-family:var(--font-family-body)}.x9m5x89:not(#\#):not(#\#):not(#\#){font-family:var(--font-family-code)}.x1g81bgm:not(#\#):not(#\#):not(#\#){font-family:var(--font-family-heading)}.xboafo0:not(#\#):not(#\#):not(#\#){font-size:.75rem}.x1603h9y:not(#\#):not(#\#):not(#\#){font-size:1.25rem}.xngnso2:not(#\#):not(#\#):not(#\#){font-size:1.5rem}.x1k6wstc:not(#\#):not(#\#):not(#\#){font-size:10px}.xfifm61:not(#\#):not(#\#):not(#\#){font-size:12px}.xif65rj:not(#\#):not(#\#):not(#\#){font-size:14px}.x1j61zf2:not(#\#):not(#\#):not(#\#){font-size:16px}.x1jchvi3:not(#\#):not(#\#):not(#\#){font-size:1rem}.xwsyq91:not(#\#):not(#\#):not(#\#){font-size:20px}.x1qlqyl8:not(#\#):not(#\#):not(#\#){font-size:inherit}.xhs0kqb:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-2xl)}.x16a80zy:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-2xs)}.x10srzze:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-3xl)}.x10p7juq:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-3xs)}.xqcvi3d:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-4xl)}.xxc45ev:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-4xs)}.x1j29vfg:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-base)}.xc7cgfe:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-lg)}.x1eqnyfr:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-sm)}.x1wqms48:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-xl)}.x51wmvv:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-xs)}.xho7bvi:not(#\#):not(#\#):not(#\#){font-size:var(--spacing-4)}.xjm74w1:not(#\#):not(#\#):not(#\#){font-size:var(--text-body-size)}.xp03k98:not(#\#):not(#\#):not(#\#){font-size:var(--text-code-size)}.xsub3ws:not(#\#):not(#\#):not(#\#){font-size:var(--text-display-1-size)}.x1yego12:not(#\#):not(#\#):not(#\#){font-size:var(--text-display-2-size)}.xlgnzhf:not(#\#):not(#\#):not(#\#){font-size:var(--text-display-3-size)}.xcg7oai:not(#\#):not(#\#):not(#\#){font-size:var(--text-heading-1-size)}.x1xvnhcw:not(#\#):not(#\#):not(#\#){font-size:var(--text-heading-2-size)}.xii13ha:not(#\#):not(#\#):not(#\#){font-size:var(--text-heading-3-size)}.x8tkxat:not(#\#):not(#\#):not(#\#){font-size:var(--text-heading-4-size)}.xsgqta0:not(#\#):not(#\#):not(#\#){font-size:var(--text-heading-5-size)}.xw5ohdf:not(#\#):not(#\#):not(#\#){font-size:var(--text-heading-6-size)}.xcr08ib:not(#\#):not(#\#):not(#\#){font-size:var(--text-label-size)}.x18juvz8:not(#\#):not(#\#):not(#\#){font-size:var(--text-large-size)}.x141an7d:not(#\#):not(#\#):not(#\#){font-size:var(--text-supporting-size)}.xdmh292:not(#\#):not(#\#):not(#\#){font-size:var(--x-fontSize)}.x1j61x8r:not(#\#):not(#\#):not(#\#){font-style:normal}.xss6m8b:not(#\#):not(#\#):not(#\#){font-variant-numeric:tabular-nums}.xk50ysn:not(#\#):not(#\#):not(#\#){font-weight:500}.x1s688f:not(#\#):not(#\#):not(#\#){font-weight:600}.x1pd3egz:not(#\#):not(#\#):not(#\#){font-weight:inherit}.x1lvx875:not(#\#):not(#\#):not(#\#){font-weight:var(--font-weight-bold)}.x1e4wzip:not(#\#):not(#\#):not(#\#){font-weight:var(--font-weight-medium)}.x1sodnla:not(#\#):not(#\#):not(#\#){font-weight:var(--font-weight-normal)}.x2mo6ok:not(#\#):not(#\#):not(#\#){font-weight:var(--font-weight-semibold)}.xxovm9e:not(#\#):not(#\#):not(#\#){font-weight:var(--text-body-weight)}.xx3eeay:not(#\#):not(#\#):not(#\#){font-weight:var(--text-code-weight)}.x1txul5o:not(#\#):not(#\#):not(#\#){font-weight:var(--text-display-1-weight)}.x1y36c3f:not(#\#):not(#\#):not(#\#){font-weight:var(--text-display-2-weight)}.x1on40hk:not(#\#):not(#\#):not(#\#){font-weight:var(--text-display-3-weight)}.x1v68xuy:not(#\#):not(#\#):not(#\#){font-weight:var(--text-heading-1-weight)}.x12yy4cs:not(#\#):not(#\#):not(#\#){font-weight:var(--text-heading-2-weight)}.x1jcxfy8:not(#\#):not(#\#):not(#\#){font-weight:var(--text-heading-3-weight)}.x2hcmsi:not(#\#):not(#\#):not(#\#){font-weight:var(--text-heading-4-weight)}.xno150v:not(#\#):not(#\#):not(#\#){font-weight:var(--text-heading-5-weight)}.x1pw4frv:not(#\#):not(#\#):not(#\#){font-weight:var(--text-heading-6-weight)}.xmhvcl5:not(#\#):not(#\#):not(#\#){font-weight:var(--text-label-weight)}.x149oux8:not(#\#):not(#\#):not(#\#){font-weight:var(--text-large-weight)}.xv8on6e:not(#\#):not(#\#):not(#\#){font-weight:var(--text-supporting-weight)}.x1kzknox:not(#\#):not(#\#):not(#\#){forced-color-adjust:none}.xu6a5m6:not(#\#):not(#\#):not(#\#){grid-auto-columns:1fr}.x1mt1orb:not(#\#):not(#\#):not(#\#){grid-auto-flow:column}.xhij9v2:not(#\#):not(#\#):not(#\#){grid-auto-rows:var(--x-gridAutoRows)}.xcrlgei:not(#\#):not(#\#):not(#\#){grid-column-start:1}.x1agbcgv:not(#\#):not(#\#):not(#\#){grid-row-start:1}.x134kloy:not(#\#):not(#\#):not(#\#){grid-template-columns:1fr auto 1fr}.x52fmzj:not(#\#):not(#\#):not(#\#){grid-template-columns:1fr auto}.x1y6fwsi:not(#\#):not(#\#):not(#\#){grid-template-columns:1fr}.x1g3yg12:not(#\#):not(#\#):not(#\#){grid-template-columns:auto 1fr auto}.x1pmbctz:not(#\#):not(#\#):not(#\#){grid-template-columns:auto 1fr}.x1wthsqz:not(#\#):not(#\#):not(#\#){grid-template-columns:auto repeat(7,1fr)}.x1mzazjb:not(#\#):not(#\#):not(#\#){grid-template-columns:repeat(7,1fr)}.x189bvgu:not(#\#):not(#\#):not(#\#){grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.x1xx4m37:not(#\#):not(#\#):not(#\#){grid-template-columns:var(--_codeblock-gutter-width) 1fr}.xqketvx:not(#\#):not(#\#):not(#\#){grid-template-columns:var(--x-gridTemplateColumns)}.xihq33y:not(#\#):not(#\#):not(#\#){grid-template-rows:0fr}.x1tu4anv:not(#\#):not(#\#):not(#\#){grid-template-rows:1fr}.xy8nx85:not(#\#):not(#\#):not(#\#){grid-template-rows:repeat(6,1fr)}.xtijo5x:not(#\#):not(#\#):not(#\#){inset-inline-end:0}.xz03a8w:not(#\#):not(#\#):not(#\#){inset-inline-end:2px}.x1oinnt5:not(#\#):not(#\#):not(#\#){inset-inline-end:calc((var(--size-element-md) - 20px) / 2 - 1px)}.x8qlsd8:not(#\#):not(#\#):not(#\#){inset-inline-end:calc((var(--size-element-sm) - 20px) / 2 - 1px)}.x13oyzgk:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--_textarea-inline-padding)}.xy3asu9:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--spacing-1)}.x72tfeb:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--spacing-2)}.x1mcfs9z:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--spacing-3)}.xqxgn94:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--x-insetInlineEnd)}.x1o0tod:not(#\#):not(#\#):not(#\#){inset-inline-start:0}.x9p6ekw:not(#\#):not(#\#):not(#\#){inset-inline-start:14px}.xaoy8p5:not(#\#):not(#\#):not(#\#){inset-inline-start:2px}.xbudbmw:not(#\#):not(#\#):not(#\#){inset-inline-start:50%}.x1kiyvbf:not(#\#):not(#\#):not(#\#){inset-inline-start:var(--_textarea-inline-padding)}.x1ybfrjj:not(#\#):not(#\#):not(#\#){inset-inline-start:var(--spacing-3)}.x1lxsm33:not(#\#):not(#\#):not(#\#){inset-inline-start:var(--x-insetInlineStart)}.xc8icb0:not(#\#):not(#\#):not(#\#){isolation:isolate}.xl56j7k:not(#\#):not(#\#):not(#\#){justify-content:center}.x13a6bvl:not(#\#):not(#\#):not(#\#){justify-content:flex-end}.x1nhvcw1:not(#\#):not(#\#):not(#\#){justify-content:flex-start}.x1l1ennw:not(#\#):not(#\#):not(#\#){justify-content:space-around}.x1qughib:not(#\#):not(#\#):not(#\#){justify-content:space-between}.xaw8158:not(#\#):not(#\#):not(#\#){justify-content:space-evenly}.x1o2pa38:not(#\#):not(#\#):not(#\#){justify-items:center}.x4xo5sw:not(#\#):not(#\#):not(#\#){justify-items:end}.x619ttb:not(#\#):not(#\#):not(#\#){justify-items:start}.xl4xnwh:not(#\#):not(#\#):not(#\#){justify-items:stretch}.x7v7x1q:not(#\#):not(#\#):not(#\#){justify-self:center}.x1lqcxt8:not(#\#):not(#\#):not(#\#){justify-self:start}.x14ju556:not(#\#):not(#\#):not(#\#){line-height:0}.xo5v014:not(#\#):not(#\#):not(#\#){line-height:1}.x19v9tvf:not(#\#):not(#\#):not(#\#){line-height:22px}.x15bjb6t:not(#\#):not(#\#):not(#\#){line-height:inherit}.x1ojctns:not(#\#):not(#\#):not(#\#){line-height:var(--spacing-4)}.x7acx1w:not(#\#):not(#\#):not(#\#){line-height:var(--spacing-5)}.xw6l6zx:not(#\#):not(#\#):not(#\#){line-height:var(--text-body-leading)}.x17iicif:not(#\#):not(#\#):not(#\#){line-height:var(--text-code-leading)}.x112ttwr:not(#\#):not(#\#):not(#\#){line-height:var(--text-display-1-leading)}.xh0iwvy:not(#\#):not(#\#):not(#\#){line-height:var(--text-display-2-leading)}.x1ujwuaq:not(#\#):not(#\#):not(#\#){line-height:var(--text-display-3-leading)}.xfmsba7:not(#\#):not(#\#):not(#\#){line-height:var(--text-heading-1-leading)}.x1cpk1wn:not(#\#):not(#\#):not(#\#){line-height:var(--text-heading-2-leading)}.xwjzt0u:not(#\#):not(#\#):not(#\#){line-height:var(--text-heading-3-leading)}.xqerer:not(#\#):not(#\#):not(#\#){line-height:var(--text-heading-4-leading)}.xo3gurs:not(#\#):not(#\#):not(#\#){line-height:var(--text-heading-5-leading)}.xeixjfn:not(#\#):not(#\#):not(#\#){line-height:var(--text-heading-6-leading)}.x1kq96og:not(#\#):not(#\#):not(#\#){line-height:var(--text-label-leading)}.xf74fhv:not(#\#):not(#\#):not(#\#){line-height:var(--text-large-leading)}.x1ltkj2j:not(#\#):not(#\#):not(#\#){line-height:var(--text-supporting-leading)}.x3ct3a4:not(#\#):not(#\#):not(#\#){list-style-type:none}.x14z9mp:not(#\#):not(#\#):not(#\#){margin-inline-end:0}.x1fcf3bl:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(-1 * var(--container-padding-inline-end,0px))}.x1kpg4um:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(-1 * var(--layout-padding-inner-x,var(--spacing-4)))}.xkd40ry:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(-1 * var(--spacing-1))}.x3kzqx6:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(-1 * var(--spacing-2))}.xmequkd:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(var(--spacing-1) * -1)}.xnur1sd:not(#\#):not(#\#):not(#\#){margin-inline-end:var(--spacing-1)}.x1c9tiao:not(#\#):not(#\#):not(#\#){margin-inline-end:var(--x-marginInlineEnd)}.x1qfufaz:not(#\#):not(#\#):not(#\#){margin-inline-start:-8px}.x1lziwak:not(#\#):not(#\#):not(#\#){margin-inline-start:0}.xvc5jky:not(#\#):not(#\#):not(#\#){margin-inline-start:auto}.xd10s4z:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(-1 * var(--border-width))}.xojxgvx:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(-1 * var(--container-padding-inline-start,0px))}.x1wim8z0:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(-1 * var(--layout-padding-inner-x,var(--spacing-4)))}.x1s1akpx:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(-1 * var(--spacing-2))}.x1xrm450:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(var(--spacing-2) - var(--spacing-1) + 1px)}.x12vn87o:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--_tree-indent,0px)}.xladpz9:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--spacing-0-5)}.x11g1kdw:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--spacing-1)}.x1l10yog:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--spacing-6)}.x4lel18:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--x-marginInlineStart)}.xkm2don:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(#0000,#000 24px);mask-image:linear-gradient(#0000,#000 24px)}.xw26lqc:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(#0000,#000 36px);mask-image:linear-gradient(#0000,#000 36px)}.xr5yg4x:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(#0000,#000 48px);mask-image:linear-gradient(#0000,#000 48px)}.xtdd0ob:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(to left,transparent 0%,#0000004d 2px,black var(--spacing-1));-webkit-mask-image:linear-gradient(to left,transparent 0%,#0000004d 2px,black var(--spacing-1));-webkit-mask-image:linear-gradient(to left,transparent 0%,#0000004d 2px,black var(--spacing-1));mask-image:linear-gradient(to left,transparent 0%,#0000004d 2px,black var(--spacing-1))}.xoj6v2h:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));-webkit-mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));-webkit-mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)))}.x1b5cd1y:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(to right,transparent 0%,#0000004d 2px,black var(--spacing-1),black calc(100% - var(--spacing-1)),#0000004d calc(100% - 2px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#0000004d 2px,black var(--spacing-1),black calc(100% - var(--spacing-1)),#0000004d calc(100% - 2px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#0000004d 2px,black var(--spacing-1),black calc(100% - var(--spacing-1)),#0000004d calc(100% - 2px),transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#0000004d 2px,black var(--spacing-1),black calc(100% - var(--spacing-1)),#0000004d calc(100% - 2px),transparent 100%)}.x1ujl4f5:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(to right,transparent 0%,#0000004d 2px,black var(--spacing-1));-webkit-mask-image:linear-gradient(to right,transparent 0%,#0000004d 2px,black var(--spacing-1));-webkit-mask-image:linear-gradient(to right,transparent 0%,#0000004d 2px,black var(--spacing-1));mask-image:linear-gradient(to right,transparent 0%,#0000004d 2px,black var(--spacing-1))}.xq05pg6:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)),black calc(100% - calc(var(--_tab-strip-bleed) + var(--spacing-8))),transparent calc(100% - var(--_tab-strip-bleed)));-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)),black calc(100% - calc(var(--_tab-strip-bleed) + var(--spacing-8))),transparent calc(100% - var(--_tab-strip-bleed)));-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)),black calc(100% - calc(var(--_tab-strip-bleed) + var(--spacing-8))),transparent calc(100% - var(--_tab-strip-bleed)));mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)),black calc(100% - calc(var(--_tab-strip-bleed) + var(--spacing-8))),transparent calc(100% - var(--_tab-strip-bleed)))}.x1hua2o0:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)))}.x1cb67k9:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(#0000,#0000);mask-image:linear-gradient(#0000,#0000)}.xw4ya9i:not(#\#):not(#\#):not(#\#){-webkit-mask-image:none;mask-image:none}.x19kjcj4:not(#\#):not(#\#):not(#\#){object-fit:contain}.xl1xv1r:not(#\#):not(#\#):not(#\#){object-fit:cover}.x1xyvc85:not(#\#):not(#\#):not(#\#){opacity:.15}.xvpkmg4:not(#\#):not(#\#):not(#\#){opacity:.25}.xuzhngd:not(#\#):not(#\#):not(#\#){opacity:.3}.x3onkmb:not(#\#):not(#\#):not(#\#){opacity:.35}.xbyyjgo:not(#\#):not(#\#):not(#\#){opacity:.5}.x197sbye:not(#\#):not(#\#):not(#\#){opacity:.6}.xg01cxk:not(#\#):not(#\#):not(#\#){opacity:0}.x1hc1fzr:not(#\#):not(#\#):not(#\#){opacity:1}.x1wnsjo:not(#\#):not(#\#):not(#\#){opacity:var(--_conceal-opacity,1)}.xgsobzw:not(#\#):not(#\#):not(#\#){opacity:var(--_reveal-opacity,1)}.x1i7u4iq:not(#\#):not(#\#):not(#\#){opacity:var(--_toast-swipe-opacity,1)}.x1clqncf:not(#\#):not(#\#):not(#\#){order:-1}.x1g77sc7:not(#\#):not(#\#):not(#\#){order:0}.x1wfwxd8:not(#\#):not(#\#):not(#\#){outline-offset:0}.x1kvmbwa:not(#\#):not(#\#):not(#\#){outline-offset:var(--_focus-outline-offset,0)}.x1t137rt:not(#\#):not(#\#):not(#\#){outline-style:none}.x1k57tk5:not(#\#):not(#\#):not(#\#){outline-width:0}.x9y5y3v:not(#\#):not(#\#):not(#\#){overflow-clip-margin:1px}.xj0a0fe:not(#\#):not(#\#):not(#\#){overflow-wrap:anywhere}.x1mzt3pk:not(#\#):not(#\#):not(#\#){overflow-wrap:break-word}.x1h4wwuj:not(#\#):not(#\#):not(#\#){overflow-wrap:normal}.xyri2b:not(#\#):not(#\#):not(#\#){padding-inline-end:0}.x1g2apga:not(#\#):not(#\#):not(#\#){padding-inline-end:calc(var(--_textarea-inline-padding) + var(--spacing-12))}.xp2dy4z:not(#\#):not(#\#):not(#\#){padding-inline-end:calc(var(--_textarea-inline-padding) + var(--spacing-6))}.x12frdag:not(#\#):not(#\#):not(#\#){padding-inline-end:calc(var(--container-padding-inline-end) - var(--border-width))}.x1g0rcpp:not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--spacing-4),env(safe-area-inset-right,0px))}.x1by8st6:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--astryx-dialog-padding-inline-end,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,max(var(--spacing-4),env(safe-area-inset-right,0px)))))}.x17sfb9:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--astryx-number-input-padding-inline-end,var(--astryx-number-input-padding-inline,var(--astryx-number-input-padding,var(--spacing-2))))}.x64h4k7:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--container-padding-inline-end)}.x1peupej:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--layout-padding-inner-x,var(--spacing-4))}.xpc6k2p:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--layout-padding-outer-x,var(--spacing-4))}.x1le3yxw:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-0-5)}.x1s0aq8i:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-0)}.x17hk9do:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-1-5)}.x1nryj5t:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-1)}.x160ivqr:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-10)}.x1djylfy:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-2)}.x1t818jl:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-3)}.xnjyzlh:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-4)}.xdbrk9v:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-5)}.x1we12cn:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-6)}.x1q91b2g:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-8)}.x120eax6:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--x-paddingInlineEnd)}.x1c1uobl:not(#\#):not(#\#):not(#\#){padding-inline-start:0}.x1f43n9v:not(#\#):not(#\#):not(#\#){padding-inline-start:calc(16px + var(--spacing-1-5))}.x1b6te9z:not(#\#):not(#\#):not(#\#){padding-inline-start:calc(var(--_textarea-inline-padding) + var(--spacing-6))}.xs19ii7:not(#\#):not(#\#):not(#\#){padding-inline-start:calc(var(--container-padding-inline-start) - var(--border-width))}.x2a0j69:not(#\#):not(#\#):not(#\#){padding-inline-start:calc(var(--spacing-2) - var(--spacing-1) + 1px)}.xf4btlh:not(#\#):not(#\#):not(#\#){padding-inline-start:max(var(--spacing-4),env(safe-area-inset-left,0px))}.xqmdmw:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--astryx-dialog-padding-inline-start,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,max(var(--spacing-4),env(safe-area-inset-left,0px)))))}.x1jni19p:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--astryx-number-input-padding-inline-start,var(--astryx-number-input-padding-inline,var(--astryx-number-input-padding,var(--spacing-2))))}.x1c35znw:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--container-padding-inline-start)}.xwjyata:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--layout-padding-inner-x,var(--spacing-4))}.x139j0dd:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--layout-padding-outer-x,var(--spacing-4))}.x138rykx:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-0-5)}.x18gyask:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-0)}.xfti1ec:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-1-5)}.x1vsv5vr:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-1)}.xqp078j:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-10)}.xc8afjc:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-11)}.x19b7t93:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-12)}.x12gdq22:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-2)}.x126nfab:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-3)}.x1rey3nv:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-4)}.x1blguxw:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-5)}.x31w388:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-6)}.xchaq28:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-7)}.x1j3hnjz:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-8)}.xnvo3vl:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--x-paddingInlineStart)}.x201tam:not(#\#):not(#\#):not(#\#){perspective:520px}.x67bb7w:not(#\#):not(#\#):not(#\#){pointer-events:auto}.x47corl:not(#\#):not(#\#):not(#\#){pointer-events:none}.x1tsffl5:not(#\#):not(#\#):not(#\#){position-anchor:--outline-active}.x10l6tqk:not(#\#):not(#\#):not(#\#){position:absolute}.xixxii4:not(#\#):not(#\#):not(#\#){position:fixed}.x1n2onr6:not(#\#):not(#\#):not(#\#){position:relative}.x1uhb9sk:not(#\#):not(#\#):not(#\#){position:static}.x7wzq59:not(#\#):not(#\#):not(#\#){position:sticky}.x1mf7ja4:not(#\#):not(#\#):not(#\#){position:var(--_reveal-position,static)}.xio8zfp:not(#\#):not(#\#):not(#\#){r:calc(var(--_spinner-ring-diameter) / 2)}.xtt52l0:not(#\#):not(#\#):not(#\#){resize:none}.x288g5:not(#\#):not(#\#):not(#\#){resize:vertical}.xajebq8:not(#\#):not(#\#):not(#\#){row-gap:calc(var(--spacing-1) - 1px)}.x1tw44j4:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-0-5)}.x6yxi7o:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-0)}.xhq53yo:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-1-5)}.x1ngg2t4:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-1)}.x1xpicb7:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-10)}.x1x7z4sm:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-2)}.x4olc9o:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-3)}.xtx9w7w:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-4)}.x1iu6piu:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-5)}.xczp1bk:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-6)}.xgx0vcf:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-8)}.xkcv6ua:not(#\#):not(#\#):not(#\#){scroll-behavior:smooth}.xrw9175:not(#\#):not(#\#):not(#\#){scroll-padding-block-end:48px}.x1hdbdi8:not(#\#):not(#\#):not(#\#){scroll-snap-align:center}.x1bhewko:not(#\#):not(#\#):not(#\#){scroll-snap-align:start}.x1rohswg:not(#\#):not(#\#):not(#\#){scrollbar-width:none}.x1vy8frr:not(#\#):not(#\#):not(#\#){stroke-dasharray:calc(var(--_spinner-ring-diameter) * 1.1781) calc(var(--_spinner-ring-diameter) * 1.9635)}.x1owpc8m:not(#\#):not(#\#):not(#\#){stroke-linecap:round}.x7bo2k:not(#\#):not(#\#):not(#\#){stroke-opacity:.3}.x1smxkh6:not(#\#):not(#\#):not(#\#){stroke-opacity:.302}.x1g350g8:not(#\#):not(#\#):not(#\#){stroke-opacity:1}.xgw3ha0:not(#\#):not(#\#):not(#\#){stroke-width:var(--_spinner-ring-stroke)}.xtve3lm:not(#\#):not(#\#):not(#\#){stroke:var(--spinner-color)}.xalkhop:not(#\#):not(#\#):not(#\#){stroke:var(--spinner-track-color)}.xeq4nuv:not(#\#):not(#\#):not(#\#){tab-size:2}.x1drmoe9:not(#\#):not(#\#):not(#\#){table-layout:auto}.x140o2bo:not(#\#):not(#\#):not(#\#){table-layout:fixed}.x2b8uid:not(#\#):not(#\#):not(#\#){text-align:center}.xp4054r:not(#\#):not(#\#):not(#\#){text-align:end}.x16tdsg8:not(#\#):not(#\#):not(#\#){text-align:inherit}.x1yc453h:not(#\#):not(#\#):not(#\#){text-align:start}.x1b2iylo:not(#\#):not(#\#):not(#\#){text-box-edge:cap alphabetic}.xwgcxoh:not(#\#):not(#\#):not(#\#){text-box-trim:trim-both}.xycaml9:not(#\#):not(#\#):not(#\#){-webkit-text-decoration-color:var(--color-border-emphasized);-webkit-text-decoration-color:var(--color-border-emphasized);-webkit-text-decoration-color:var(--color-border-emphasized);text-decoration-color:var(--color-border-emphasized)}.xujl8zx:not(#\#):not(#\#):not(#\#){text-decoration-line:underline}.xev0dqp:not(#\#):not(#\#):not(#\#){text-decoration-style:dashed}.xlyipyv:not(#\#):not(#\#):not(#\#){text-overflow:ellipsis}.xtvhhri:not(#\#):not(#\#):not(#\#){text-transform:uppercase}.xrys4gj:not(#\#):not(#\#):not(#\#){text-underline-offset:2px}.x11b3rvo:not(#\#):not(#\#):not(#\#){text-underline-offset:var(--spacing-0-5)}.x1w2vvpw:not(#\#):not(#\#):not(#\#){text-wrap:balance}.xebhuq6:not(#\#):not(#\#):not(#\#){text-wrap:nowrap}.x1fzhlzt:not(#\#):not(#\#):not(#\#){text-wrap:pretty}.xk4td0m:not(#\#):not(#\#):not(#\#){text-wrap:wrap}.x5ve5x3:not(#\#):not(#\#):not(#\#){touch-action:none}.x1bblx7b:not(#\#):not(#\#):not(#\#){touch-action:pan-x}.xx69xxh:not(#\#):not(#\#):not(#\#){touch-action:pan-y}.x1g0ag68:not(#\#):not(#\#):not(#\#){transform-origin:50%}.x1oyok0e:not(#\#):not(#\#):not(#\#){transform-style:preserve-3d}.x1c071of:not(#\#):not(#\#):not(#\#){transform:none}.x7p49u4:not(#\#):not(#\#):not(#\#){transform:rotate(0)}.x19jd1h0:not(#\#):not(#\#):not(#\#){transform:rotate(180deg)}.x1iffjtl:not(#\#):not(#\#):not(#\#){transform:rotate(90deg)}.x3oybdh:not(#\#):not(#\#):not(#\#){transform:scale(1)}.x11lhmoz:not(#\#):not(#\#):not(#\#){transform:translate(-50%,-50%)}.x1m9mm8y:not(#\#):not(#\#):not(#\#){transform:translate(-50%,50%)}.xv8yid9:not(#\#):not(#\#):not(#\#){transform:translate(25%,25%)}.x4v1no5:not(#\#):not(#\#):not(#\#){transform:translate(50%,50%)}.x5i6ehr:not(#\#):not(#\#):not(#\#){transform:translate(-100%)}.xuuh30:not(#\#):not(#\#):not(#\#){transform:translate(-50%)}.xbryuvx:not(#\#):not(#\#):not(#\#){transform:translate(0)}.xumwmo6:not(#\#):not(#\#):not(#\#){transform:translate(100%)}.xv5t66b:not(#\#):not(#\#):not(#\#){transform:translate(12px)}.x15481yp:not(#\#):not(#\#):not(#\#){transform:translate(14px)}.xitnhlw:not(#\#):not(#\#):not(#\#){transform:translate(50%)}.x105ttfm:not(#\#):not(#\#):not(#\#){transform:translateY(-100%)}.x19xzu86:not(#\#):not(#\#):not(#\#){transform:translateY(-3px)scale(.985)}.x1bvilyr:not(#\#):not(#\#):not(#\#){transform:translateY(-4px)}.x1cb1t30:not(#\#):not(#\#):not(#\#){transform:translateY(-50%)}.xp0htlv:not(#\#):not(#\#):not(#\#){transform:translateY(-6px)scale(.97)}.xnn1q72:not(#\#):not(#\#):not(#\#){transform:translateY(0)}.x1weeur4:not(#\#):not(#\#):not(#\#){transform:translateY(100%)}.x131p8rn:not(#\#):not(#\#):not(#\#){transform:translateY(50%)}.x149p1fo:not(#\#):not(#\#):not(#\#){transform:translateY(var(--_toast-swipe-exit-y,var(--_toast-swipe-y,var(--_toast-slide-y,var(--spacing-2))))) scale(var(--_toast-swipe-scale,1))}.x1qk3xlt:not(#\#):not(#\#):not(#\#){transform:translateY(var(--_toast-swipe-y,0px)) scale(var(--_toast-swipe-scale,1))}.x11wx31z:not(#\#):not(#\#):not(#\#){transform:var(--x-qthpiu)}.xsqj5wx:not(#\#):not(#\#):not(#\#){transform:var(--x-transform)}.xd00j3c:not(#\#):not(#\#):not(#\#){transition-behavior:allow-discrete}.x5h36tt:not(#\#):not(#\#):not(#\#){transition-delay:.15s}.x1ahifba:not(#\#):not(#\#):not(#\#){transition-delay:0s}.x4avkj2:not(#\#):not(#\#):not(#\#){transition-delay:var(--_fade-delay,0s)}.x1rq8cwj:not(#\#):not(#\#):not(#\#){transition-delay:var(--_reveal-delay,0s,0s)}.x10b1n17:not(#\#):not(#\#):not(#\#){transition-delay:var(--duration-fast)}.x11bq7d0:not(#\#):not(#\#):not(#\#){transition-duration:60ms}.xx6bhzk:not(#\#):not(#\#):not(#\#){transition-duration:.15s}.x13dflua:not(#\#):not(#\#):not(#\#){transition-duration:.2s}.xjd9b36:not(#\#):not(#\#):not(#\#){transition-duration:1ms}.x2rcmwa:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-fast-max)}.xkvfbh3:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-fast-min)}.x1tw3moq:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-fast),0s}.xuedmi6:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-fast)}.xgneliz:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-medium-min)}.x80gvsz:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-medium)}.x1eaenvl:not(#\#):not(#\#):not(#\#){transition-property:background-color,border-color,color}.xts7igz:not(#\#):not(#\#):not(#\#){transition-property:background-color,border-color}.x106061f:not(#\#):not(#\#):not(#\#){transition-property:background-color,box-shadow}.xzo0q3i:not(#\#):not(#\#):not(#\#){transition-property:background-color,color,border-color}.xs2xxs2:not(#\#):not(#\#):not(#\#){transition-property:background-color,color}.x1e8aii2:not(#\#):not(#\#):not(#\#){transition-property:background-color,opacity}.x15406qy:not(#\#):not(#\#):not(#\#){transition-property:background-color}.xrafxwg:not(#\#):not(#\#):not(#\#){transition-property:background-image,background-color,color,opacity,transform}.x12qzo2w:not(#\#):not(#\#):not(#\#){transition-property:background-image}.x1tv3a4w:not(#\#):not(#\#):not(#\#){transition-property:border-color,box-shadow,background-color}.x12zzom9:not(#\#):not(#\#):not(#\#){transition-property:border-color,box-shadow}.xshfolx:not(#\#):not(#\#):not(#\#){transition-property:border-color}.x16mfhj0:not(#\#):not(#\#):not(#\#){transition-property:box-shadow,border-color}.xkdsq27:not(#\#):not(#\#):not(#\#){transition-property:box-shadow}.x1vix5yk:not(#\#):not(#\#):not(#\#){transition-property:color,background-color,box-shadow}.x1gbuem2:not(#\#):not(#\#):not(#\#){transition-property:color,background-color}.x1jbe559:not(#\#):not(#\#):not(#\#){transition-property:color,font-weight}.x1mpt4pi:not(#\#):not(#\#):not(#\#){transition-property:color,-webkit-text-decoration,text-decoration}.xt3l3uh:not(#\#):not(#\#):not(#\#){transition-property:color}.xrgi2yo:not(#\#):not(#\#):not(#\#){transition-property:display}.xjshnde:not(#\#):not(#\#):not(#\#){transition-property:grid-template-rows,padding}.x1qn9uv2:not(#\#):not(#\#):not(#\#){transition-property:grid-template-rows}.x157bb6t:not(#\#):not(#\#):not(#\#){transition-property:-webkit-mask-image,mask-image}.x13b0p5u:not(#\#):not(#\#):not(#\#){transition-property:none}.x1wbls7o:not(#\#):not(#\#):not(#\#){transition-property:opacity,background-color,transform}.xnpjden:not(#\#):not(#\#):not(#\#){transition-property:opacity,background-color}.xsm4mo9:not(#\#):not(#\#):not(#\#){transition-property:opacity,display,overlay}.x1n1p2mu:not(#\#):not(#\#):not(#\#){transition-property:opacity,position}.x1apppo2:not(#\#):not(#\#):not(#\#){transition-property:opacity,transform,max-width}.x4bbghf:not(#\#):not(#\#):not(#\#){transition-property:opacity,transform,overlay,display}.x6o7n8i:not(#\#):not(#\#):not(#\#){transition-property:opacity,transform}.xxup5nn:not(#\#):not(#\#):not(#\#){transition-property:opacity,visibility,transform}.x1jl3cmp:not(#\#):not(#\#):not(#\#){transition-property:opacity,visibility}.x19991ni:not(#\#):not(#\#):not(#\#){transition-property:opacity}.x1xuz8iz:not(#\#):not(#\#):not(#\#){transition-property:top,height}.x18dpk69:not(#\#):not(#\#):not(#\#){transition-property:transform,background-color}.x12pfavo:not(#\#):not(#\#):not(#\#){transition-property:transform,color}.xwcsmn1:not(#\#):not(#\#):not(#\#){transition-property:transform,opacity}.xh3q6i0:not(#\#):not(#\#):not(#\#){transition-property:transform,width,height}.x11xpdln:not(#\#):not(#\#):not(#\#){transition-property:transform}.x74b7sa:not(#\#):not(#\#):not(#\#){transition-property:visibility}.xxrbq2n:not(#\#):not(#\#):not(#\#){transition-property:width}.xv2sgk5:not(#\#):not(#\#):not(#\#){transition-timing-function:cubic-bezier(.3,0,.6,.6)}.x9lcvmn:not(#\#):not(#\#):not(#\#){transition-timing-function:ease-out}.xcj1dhv:not(#\#):not(#\#):not(#\#){transition-timing-function:linear}.xlr8y92:not(#\#):not(#\#):not(#\#){transition-timing-function:var(--ease-standard)}.x3sa99s:not(#\#):not(#\#):not(#\#){translate:0 -50%}.x87ps6o:not(#\#):not(#\#):not(#\#){-webkit-user-select:none;user-select:none}.x11njtxf:not(#\#):not(#\#):not(#\#){vertical-align:baseline}.x3ajldb:not(#\#):not(#\#):not(#\#){vertical-align:bottom}.xxymvpz:not(#\#):not(#\#):not(#\#){vertical-align:middle}.x1v0h343:not(#\#):not(#\#):not(#\#){vertical-align:super}.x16dsc37:not(#\#):not(#\#):not(#\#){vertical-align:top}.xlshs6z:not(#\#):not(#\#):not(#\#){visibility:hidden}.xnpuxes:not(#\#):not(#\#):not(#\#){visibility:visible}.xeaf4i8:not(#\#):not(#\#):not(#\#){white-space:normal}.xuxw1ft:not(#\#):not(#\#):not(#\#){white-space:nowrap}.x126k92a:not(#\#):not(#\#):not(#\#){white-space:pre-wrap}.x1sdyfia:not(#\#):not(#\#):not(#\#){white-space:pre}.x1q1rmc8:not(#\#):not(#\#):not(#\#){will-change:transform,opacity}.x1so62im:not(#\#):not(#\#):not(#\#){will-change:transform}.x1yn0g08:not(#\#):not(#\#):not(#\#){word-break:break-all}.x13faqbe:not(#\#):not(#\#):not(#\#){word-break:break-word}.x1lldw8n:not(#\#):not(#\#):not(#\#){word-break:normal}.x1ja2u2z:not(#\#):not(#\#):not(#\#){z-index:0}.x1vjfegm:not(#\#):not(#\#):not(#\#){z-index:1}.xfo81ep:not(#\#):not(#\#):not(#\#){z-index:1000}.xhtitgo:not(#\#):not(#\#):not(#\#){z-index:2}.xzkaem6:not(#\#):not(#\#):not(#\#){z-index:3}.x6cuj84:not(#\#):not(#\#):not(#\#){z-index:500}.x1q2oy4v:not(#\#):not(#\#):not(#\#){z-index:9999}.x1v2claj.x1v2claj:where(.x84s7jz:focus-within *):not(#\#):not(#\#):not(#\#){opacity:1}.x3730vf.x3730vf:where(.x84s7jz:focus-within *):not(#\#):not(#\#):not(#\#){pointer-events:auto}.xuqivmr.xuqivmr:where(.x84s7jz:focus-within *):not(#\#):not(#\#):not(#\#){transform:translateY(0)}.x7v6acp.x7v6acp:where(.x84s7jz:focus-within *):not(#\#):not(#\#):not(#\#){visibility:visible}.x5um2zc.x5um2zc:where(.x1twag4g:first-child *):not(#\#):not(#\#):not(#\#),.x1se5z8o.x1se5z8o:where(.x1twag4g:last-child *):not(#\#):not(#\#):not(#\#){visibility:hidden}@supports (animation-timeline:view()){.x1iu2jvn.x1iu2jvn:not(#\#):not(#\#):not(#\#){animation-name:x1tut0r7-B}}.xfd3fxj:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){animation-name:x1c2q33o-B}.x1vxsm5i:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){animation-name:xu7jd1z-B}.x18lne9g:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){animation-name:xwmkjkf-B}.x1spg45b.x1spg45b:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:var(--color-accent)}.x1rmb4wm:not(:has(~:not([popover]):not(template))):not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--radius-element)}.xturttb:not(:has(~:not([popover]):not(template))):not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--radius-element)}.x1tzxhge:not(:has(~:not([popover]):not(template))):not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--radius-element)}.xuihb5h:focus-within:not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px var(--color-accent-muted)}.x15ysqaf:focus-within:not(#\#):not(#\#):not(#\#){box-shadow:none}.xyavpck:focus-within:not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-med)}.x10wafsz:focus-within:not(#\#):not(#\#):not(#\#){clip-path:none}.xy5bzlh.xy5bzlh:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:var(--color-icon-primary)}.x9o1np9.x9o1np9:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:var(--color-text-primary)}.x16khyan:is(:disabled,[aria-disabled=true]):not(#\#):not(#\#):not(#\#){cursor:default}.x1y40yee:popover-open:not(#\#):not(#\#):not(#\#){display:flex}.x1sik18w:not(:first-child):not(#\#):not(#\#):not(#\#){margin-inline-start:var(--_avatar-group-overlap)}.x1nwey30:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));-webkit-mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));-webkit-mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)))}.x1rxa4r8:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)))}.x1euntei:focus-within:not(#\#):not(#\#):not(#\#),.x25t5g8:focus-visible:not(#\#):not(#\#):not(#\#),.xof6bs:is(th:hover *):not(#\#):not(#\#):not(#\#){opacity:1}.xofkqq2:popover-open:not(#\#):not(#\#):not(#\#){opacity:1}.x1e0x2sz:focus-visible:not(#\#):not(#\#):not(#\#){outline-color:var(--color-error)}.xx47ajj:focus-visible:not(#\#):not(#\#):not(#\#){outline-color:var(--focus-outline-color)}.x7s97pk:focus-visible:not(#\#):not(#\#):not(#\#){outline-offset:2px}.x13aywxo:focus-visible:not(#\#):not(#\#):not(#\#){outline-offset:var(--button-focus-offset)}.x1vwwbsn:focus-visible:not(#\#):not(#\#):not(#\#),.xwz5zln.xwz5zln:where(.x1iwu4tg:has(:focus-visible) *):not(#\#):not(#\#):not(#\#){outline-offset:var(--focus-outline-offset)}.x1jhp3zv:focus-visible:not(#\#):not(#\#):not(#\#){outline-style:var(--focus-outline-style)}.x1vidyx5:focus-visible:not(#\#):not(#\#):not(#\#){outline-width:var(--focus-outline-width)}.x1n6uwha:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--spacing-4),env(safe-area-inset-left,0px))}.xtjjor6:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){padding-inline-end:var(--astryx-dialog-padding-inline-end,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,max(var(--spacing-4),env(safe-area-inset-left,0px)))))}.x19efkpl:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){padding-inline-start:max(var(--spacing-4),env(safe-area-inset-right,0px))}.x1i7f2ot:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){padding-inline-start:var(--astryx-dialog-padding-inline-start,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,max(var(--spacing-4),env(safe-area-inset-right,0px)))))}.xbt4iw:focus-within:not(#\#):not(#\#):not(#\#){pointer-events:auto}.xo74pv5:focus-within:not(#\#):not(#\#):not(#\#){position:static}.x1mqgsch[data-astryx-scrolling]:not(#\#):not(#\#):not(#\#){scrollbar-width:none}.xaafvuh:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:scaleX(-1)rotate(0)}.x1nxqau:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:scaleX(-1)rotate(90deg)}.xgtlewx:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:scaleX(-1)}.x10fxb7p:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(-25%,25%)}.xqgnvz5:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(-50%,50%)}.xoffwj3:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(50%,-50%)}.x1df3fe5:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(-100%)}.xi9aj42:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(-12px)}.x12xz5k6:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(-14px)}.x36dvrd:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(-50%)}.xttggg:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(100%)}.x1nyx83j:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(50%)}.x9cjr8z:popover-open:not(#\#):not(#\#):not(#\#){transform:translateY(0)}.x75qhwu:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:var(--x-sj6hyi)}.x1rm9qnc:focus-within:not(#\#):not(#\#):not(#\#){z-index:1}.x1btxeh5:has(input:focus-visible):not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px var(--color-accent)}.x92e2el:has(>[data-astryx-edge-comp]:last-child):not(#\#):not(#\#):not(#\#){margin-inline-end:var(--x-4drmnv)}.x1kftj4p:has(>[data-astryx-edge-comp]:first-child):not(#\#):not(#\#):not(#\#){margin-inline-start:var(--x-126w13d)}:is(.x1uy843r:has(:focus-visible):not(#\#):not(#\#):not(#\#),.xobxmqy:has(>:first-child:focus-visible):not(#\#):not(#\#):not(#\#)){outline-color:var(--focus-outline-color)}:is(.x1jumodi:has(:focus-visible):not(#\#):not(#\#):not(#\#),.x2vr5qc:has(>:first-child:focus-visible):not(#\#):not(#\#):not(#\#)){outline-offset:var(--focus-outline-offset)}:is(.xciu248:has(:focus-visible):not(#\#):not(#\#):not(#\#),.xfd04fr:has(>:first-child:focus-visible):not(#\#):not(#\#):not(#\#)){outline-style:var(--focus-outline-style)}:is(.x11j6mr8:has(:focus-visible):not(#\#):not(#\#):not(#\#),.xmmisi4:has(>:first-child:focus-visible):not(#\#):not(#\#):not(#\#)){outline-width:var(--focus-outline-width)}.xmnmr5y:has(.astryx-nav-icon):not(#\#):not(#\#):not(#\#){padding-inline-start:0}.x1xrp5p4:first-child:not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--radius-element)}.xyf0ibl:first-child:not(#\#):not(#\#):not(#\#){border-inline-start-style:none}.x1pjv70x:first-child:not(#\#):not(#\#):not(#\#){border-inline-start-width:0}.x2qxyot:first-child:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--radius-element)}.x8eehn2:first-child:not(#\#):not(#\#):not(#\#){border-start-start-radius:var(--radius-element)}.x1pwwqoy:first-child:not(#\#):not(#\#):not(#\#){margin-inline-start:0}.x5uh4xs:first-child:not(#\#):not(#\#):not(#\#){padding-inline-start:max(var(--container-padding-inline-start,var(--spacing-2)),var(--spacing-2))}.x9bi00s:first-child:not(#\#):not(#\#):not(#\#){padding-inline-start:max(var(--container-padding-inline-start,var(--spacing-3)),var(--spacing-2))}.x18c6q21:first-child:not(#\#):not(#\#):not(#\#){padding-inline-start:max(var(--container-padding-inline-start,var(--spacing-4)),var(--spacing-2))}.x747jw7:last-child:not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--radius-element)}.x1qlsc9e:last-child:not(#\#):not(#\#):not(#\#){border-inline-end-width:0}.x11xp8u1:last-child:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--radius-element)}.xbg7gas:last-child:not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--container-padding-inline-end,var(--spacing-2)),var(--spacing-2))}.xpilulx:last-child:not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--container-padding-inline-end,var(--spacing-3)),var(--spacing-2))}.x1wzlfcn:last-child:not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--container-padding-inline-end,var(--spacing-4)),var(--spacing-2))}.x1dnou9g:nth-child(2n):not(#\#):not(#\#):not(#\#){background-color:var(--color-background-muted)}.x1c52tdz:focus:not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-hover)}.x1rsz1da:focus:not(#\#):not(#\#):not(#\#){clip-path:none}.xodanix:focus:not(#\#):not(#\#):not(#\#){inset-inline-start:var(--spacing-2)}.x1xrnuwo:focus:not(#\#):not(#\#):not(#\#){position:fixed}.x1hbpcn8:focus:not(#\#):not(#\#):not(#\#){white-space:normal}.xjtnuge:active:not(#\#):not(#\#):not(#\#){background-color:var(--color-neutral)}.xuqm82a:active:not(#\#):not(#\#):not(#\#){background-image:none}.x1pdlv7q:active:not(#\#):not(#\#):not(#\#){transform:none}.xk4oym4:active:not(#\#):not(#\#):not(#\#){transform:scale(.98)}@media (prefers-reduced-motion:reduce){.x14q22ui.x14q22ui:not(#\#):not(#\#):not(#\#){animation-delay:0s}.xnh0sag.xnh0sag:not(#\#):not(#\#):not(#\#){animation-duration:3s}.x1aquc0h.x1aquc0h:not(#\#):not(#\#):not(#\#){animation-name:none}}@media (forced-colors:active){.x9yvj25.x9yvj25:not(#\#):not(#\#):not(#\#){background-color:canvas}.xwvh9j7.xwvh9j7:not(#\#):not(#\#):not(#\#){background-color:canvastext}}@media (prefers-contrast:more) and (not (forced-colors:active)){.x1j0df82.x1j0df82:not(#\#):not(#\#):not(#\#){background-color:var(--color-skeleton)}@supports (color:color-mix(in lab, red, red)){.x1j0df82.x1j0df82:not(#\#):not(#\#):not(#\#){background-color:color-mix(in srgb,var(--color-skeleton),var(--color-text-primary) 30%)}}}@media (forced-colors:active){.x1o55y2u.x1o55y2u:not(#\#):not(#\#):not(#\#){background-color:graytext}.x1jzqe4.x1jzqe4:not(#\#):not(#\#):not(#\#){background-color:highlight}.x1sir5s4.x1sir5s4:not(#\#):not(#\#):not(#\#){background-color:highlighttext}}@media (hover:hover){.x150ydqw.x150ydqw:not(#\#):not(#\#):not(#\#){background-color:#0000}}@media (forced-colors:active){.xs5hli.xs5hli:not(#\#):not(#\#):not(#\#){color:canvastext}.x1k5gbb1.x1k5gbb1:not(#\#):not(#\#):not(#\#){color:highlighttext}}@media (hover:hover){.x2dt3px.x2dt3px:not(#\#):not(#\#):not(#\#){cursor:zoom-in}.xqwu39o.xqwu39o:not(#\#):not(#\#):not(#\#){display:flex}}@media (width<=480px){.xedohl4.xedohl4:not(#\#):not(#\#):not(#\#){display:flex}}@media (pointer:coarse){.xhj50sb.xhj50sb:not(#\#):not(#\#):not(#\#){display:none}}@media (width<=480px){.x1rpgqan.x1rpgqan:not(#\#):not(#\#):not(#\#){flex-direction:column}}@media (pointer:coarse){.x6pjikd.x6pjikd:not(#\#):not(#\#):not(#\#){font-size:max(1rem,var(--text-body-size))}.xdk3u5w.xdk3u5w:not(#\#):not(#\#):not(#\#){font-size:max(1rem,var(--text-label-size))}.x1hsn8va.x1hsn8va:not(#\#):not(#\#):not(#\#){inset-inline-start:50%}.x1jymrmb.x1jymrmb:not(#\#):not(#\#):not(#\#){margin-inline-start:auto}}@media (forced-colors:active){.x1tbh5bv.x1tbh5bv:not(#\#):not(#\#):not(#\#){opacity:1}}@media (pointer:coarse){.xozvky.xozvky:not(#\#):not(#\#):not(#\#){order:1}}@media (prefers-reduced-motion:reduce){.xg83hb1.xg83hb1:not(#\#):not(#\#):not(#\#){scroll-behavior:auto}}@media (pointer:coarse){.x8i4i9p.x8i4i9p:not(#\#):not(#\#):not(#\#){transform:translate(-50%,-50%)}}@media (prefers-reduced-motion:reduce){.xwgk2z2.xwgk2z2:not(#\#):not(#\#):not(#\#){transition-delay:var(--_reveal-delay-reduced,0s,0s)}.xsagj69.xsagj69:not(#\#):not(#\#):not(#\#){transition-duration:.01ms}.xzg1mie.xzg1mie:not(#\#):not(#\#):not(#\#){transition-duration:10ms}.xsr0bmt.xsr0bmt:not(#\#):not(#\#):not(#\#){transition-duration:0s,0s}.x12w9bfk.x12w9bfk:not(#\#):not(#\#):not(#\#){transition-duration:0s}.x4wkmsb.x4wkmsb:not(#\#):not(#\#):not(#\#){transition-property:none}}.x1anq1lc.x1anq1lc:active:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-pressed)}.xzmimnh.xzmimnh:active:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-image:linear-gradient(var(--color-overlay-pressed),var(--color-overlay-pressed)),linear-gradient(var(--color-neutral),var(--color-neutral))}.x7uyq82.x7uyq82:active:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-image:linear-gradient(var(--color-overlay-pressed),var(--color-overlay-pressed))}@media (hover:hover) and (forced-colors:none){.xcgwt1n.xcgwt1n.xcgwt1n:where(.x1iwu4tg:hover *):not(#\#):not(#\#):not(#\#){background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.xcgwt1n.xcgwt1n.xcgwt1n:where(.x1iwu4tg:hover *):not(#\#):not(#\#):not(#\#){background-color:color-mix(in srgb,var(--color-accent),var(--color-tint-hover) 15%)}}}@media (hover:hover){.x17srpfb.x17srpfb.x17srpfb:where(.x1odsvnm:hover *):not(#\#):not(#\#):not(#\#){background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.x17srpfb.x17srpfb.x17srpfb:where(.x1odsvnm:hover *):not(#\#):not(#\#):not(#\#){background-color:color-mix(in srgb,var(--color-accent),var(--color-tint-hover) 15%)}}}@media (hover:hover) and (forced-colors:none){.x1a8ae7b.x1a8ae7b.x1a8ae7b:where(.x1iwu4tg:hover *):not(#\#):not(#\#):not(#\#){background-color:var(--color-background-gray)}@supports (color:color-mix(in lab, red, red)){.x1a8ae7b.x1a8ae7b.x1a8ae7b:where(.x1iwu4tg:hover *):not(#\#):not(#\#):not(#\#){background-color:color-mix(in srgb,var(--color-background-gray),var(--color-tint-hover) 5%)}}}@media (hover:hover){.xeultfy.xeultfy.xeultfy:where(.x1odsvnm:hover *):not(#\#):not(#\#):not(#\#){background-color:var(--color-background-surface)}@supports (color:color-mix(in lab, red, red)){.xeultfy.xeultfy.xeultfy:where(.x1odsvnm:hover *):not(#\#):not(#\#):not(#\#){background-color:color-mix(in srgb,var(--color-background-surface),var(--color-tint-hover) 5%)}}.xqxnq6d.xqxnq6d.xqxnq6d:where(.x1odsvnm:hover *):not(#\#):not(#\#):not(#\#){background-color:var(--color-background-muted)}.x1pe4z86.x1pe4z86.x1pe4z86:where(.x-default-marker:hover *):not(#\#):not(#\#):not(#\#){background-color:var(--color-icon-primary)}.x1a1zr74.x1a1zr74.x1a1zr74:where(.x1u3b27q:hover *):not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-hover)}.x1t9gxa6.x1t9gxa6.x1t9gxa6:where(.x-default-marker:hover *):not(#\#):not(#\#):not(#\#){color:var(--color-text-primary)}.xcwhr9z.xcwhr9z.xcwhr9z:where(.x84s7jz:hover *):not(#\#):not(#\#):not(#\#){opacity:1}.x8ydxbz.x8ydxbz.x8ydxbz:where(.x84s7jz:hover *):not(#\#):not(#\#):not(#\#){pointer-events:auto}.x17hxqr7.x17hxqr7.x17hxqr7:where(.x84s7jz:hover *):not(#\#):not(#\#):not(#\#){transform:translateY(0)}.xneequu.xneequu.xneequu:where(.x84s7jz:hover *):not(#\#):not(#\#):not(#\#){visibility:visible}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:reduce){.xk3h8ob.xk3h8ob.xk3h8ob:not(#\#):not(#\#):not(#\#){animation-name:xuvekqa-B}}}@media (hover:hover){.xvxo0qp.xvxo0qp.xvxo0qp:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.xvxo0qp.xvxo0qp.xvxo0qp:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:color-mix(in srgb,var(--color-accent),var(--color-tint-hover) 15%)}}.x1pfkqlk.x1pfkqlk.x1pfkqlk:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:#0000}.xcu6dpe.xcu6dpe.xcu6dpe:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:var(--color-neutral)}.x1912f9e.x1912f9e.x1912f9e:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#):after,.xoevpu5.xoevpu5.xoevpu5:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-hover)}.xmvprkv.xmvprkv.xmvprkv:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-image:linear-gradient(var(--color-overlay-hover),var(--color-overlay-hover))}.x1bm8j9m.x1bm8j9m.x1bm8j9m:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-image:none}.x1telqz2.x1telqz2.x1telqz2:hover:not(:focus-within):where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.x1telqz2.x1telqz2.x1telqz2:hover:not(:focus-within):where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--color-accent) 20%,transparent)}}.x1v5wwkd.x1v5wwkd.x1v5wwkd:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.x1v5wwkd.x1v5wwkd.x1v5wwkd:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--color-accent) 20%,transparent)}}.x1xqjsvb.x1xqjsvb.x1xqjsvb:hover:not(:focus-within):where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px var(--color-border-emphasized)}@supports (color:color-mix(in lab, red, red)){.x1xqjsvb.x1xqjsvb.x1xqjsvb:hover:not(:focus-within):where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--color-border-emphasized) 30%,transparent)}}.x1s17dad.x1s17dad.x1s17dad:hover:not(:focus-within):where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:none}.x1bgmis8.x1bgmis8.x1bgmis8:hover:not(:focus-within):where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-inset-error)}.x8wp45d.x8wp45d.x8wp45d:hover:not(:focus-within):where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-inset-success)}.x9156jc.x9156jc.x9156jc:hover:not(:focus-within):where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-inset-warning)}.x1ymidup.x1ymidup.x1ymidup:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-med)}.x1rfoswn.x1rfoswn.x1rfoswn:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:var(--color-text-accent)}@supports (color:color-mix(in lab, red, red)){.x1rfoswn.x1rfoswn.x1rfoswn:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:color-mix(in srgb,var(--color-text-accent),var(--color-tint-hover) 15%)}}.xcunlro.xcunlro.xcunlro:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:var(--color-text-primary)}@supports (color:color-mix(in lab, red, red)){.xcunlro.xcunlro.xcunlro:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:color-mix(in srgb,var(--color-text-primary),var(--color-tint-hover) 15%)}}.x7jm8ul.x7jm8ul.x7jm8ul:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:var(--color-text-secondary)}@supports (color:color-mix(in lab, red, red)){.x7jm8ul.x7jm8ul.x7jm8ul:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:color-mix(in srgb,var(--color-text-secondary),var(--color-tint-hover) 15%)}}.xo5jvnm.xo5jvnm.xo5jvnm:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:var(--color-text-primary)}}@container (width<=399px){.x1alyx8p.x1alyx8p:not(#\#):not(#\#):not(#\#){flex-wrap:wrap}}@media (forced-colors:active){.x1vo6n7o.x1vo6n7o:active:not(#\#):not(#\#):not(#\#){background-color:highlight}}@media (hover:hover){.x1otsd3y.x1otsd3y.x1otsd3y:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-image:linear-gradient(var(--color-overlay-hover),var(--color-overlay-hover)),linear-gradient(var(--color-neutral),var(--color-neutral))}.xprvw0a.xprvw0a.xprvw0a:active:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-pressed)}.xo3fi6e.xo3fi6e.xo3fi6e:active:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-image:linear-gradient(var(--color-overlay-pressed),var(--color-overlay-pressed)),linear-gradient(var(--color-neutral),var(--color-neutral))}.xetgvay.xetgvay.xetgvay:active:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-image:linear-gradient(var(--color-overlay-pressed),var(--color-overlay-pressed))}@media (forced-colors:active){.x1d42zcn.x1d42zcn.x1d42zcn.x1d42zcn:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:highlight}}}.xib2hle:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-color:var(--color-border-emphasized)}.xw8gpjh:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-color:var(--color-border)}.x1q0q8m5:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-style:solid}.xso031l:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-width:1px}.xlxy82:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-width:2px}.x92x3c3:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-width:var(--border-width)}.x1mly77v:not(#\#):not(#\#):not(#\#):not(#\#){border-top-color:var(--color-border-emphasized)}.x1pc3f07:not(#\#):not(#\#):not(#\#):not(#\#){border-top-color:var(--color-border)}.x11npmm7:not(#\#):not(#\#):not(#\#):not(#\#){border-top-color:var(--color-on-accent)}.x13fuv20:not(#\#):not(#\#):not(#\#):not(#\#){border-top-style:solid}.x178xt8z:not(#\#):not(#\#):not(#\#):not(#\#){border-top-width:1px}.x11xkdxz:not(#\#):not(#\#):not(#\#):not(#\#){border-top-width:var(--border-width)}.x1ey2m1c:not(#\#):not(#\#):not(#\#):not(#\#){bottom:0}.x1c7jfne:not(#\#):not(#\#):not(#\#):not(#\#){bottom:2px}.xyi47jn:not(#\#):not(#\#):not(#\#):not(#\#){bottom:var(--_tab-indicator-bottom,-1px)}.x112dmjn:not(#\#):not(#\#):not(#\#):not(#\#){bottom:var(--spacing-1)}.x1nqzi6q:not(#\#):not(#\#):not(#\#):not(#\#){bottom:var(--x-bottom)}.xvle69y:not(#\#):not(#\#):not(#\#):not(#\#){height:.75rem}.xqtp20y:not(#\#):not(#\#):not(#\#):not(#\#){height:0}.xmll18r:not(#\#):not(#\#):not(#\#):not(#\#){height:1.25rem}.xam5rvr:not(#\#):not(#\#):not(#\#):not(#\#){height:1.5rem}.x5yr21d:not(#\#):not(#\#):not(#\#):not(#\#){height:100%}.xtdtrs8:not(#\#):not(#\#):not(#\#):not(#\#){height:100dvh}.xpyat2d:not(#\#):not(#\#):not(#\#):not(#\#){height:100px}.x1dr59a3:not(#\#):not(#\#):not(#\#):not(#\#){height:100vh}.x170jfvy:not(#\#):not(#\#):not(#\#):not(#\#){height:10px}.x1wkxgih:not(#\#):not(#\#):not(#\#):not(#\#){height:120px}.x1kpxq89:not(#\#):not(#\#):not(#\#):not(#\#){height:12px}.xhjk10j:not(#\#):not(#\#):not(#\#):not(#\#){height:140px}.x1v9usgg:not(#\#):not(#\#):not(#\#):not(#\#){height:14px}.x1ymw6g:not(#\#):not(#\#):not(#\#):not(#\#){height:160px}.xlup9mm:not(#\#):not(#\#):not(#\#):not(#\#){height:16px}.xmix8c7:not(#\#):not(#\#):not(#\#):not(#\#){height:18px}.xlzyvqe:not(#\#):not(#\#):not(#\#):not(#\#){height:1em}.xjm9jq1:not(#\#):not(#\#):not(#\#):not(#\#){height:1px}.x1l36t39:not(#\#):not(#\#):not(#\#):not(#\#){height:1rem}.x1qx5ct2:not(#\#):not(#\#):not(#\#):not(#\#){height:20px}.xxk0z11:not(#\#):not(#\#):not(#\#):not(#\#){height:24px}.x1fgtraw:not(#\#):not(#\#):not(#\#):not(#\#){height:28px}.x36qwtl:not(#\#):not(#\#):not(#\#):not(#\#){height:2px}.x10w6t97:not(#\#):not(#\#):not(#\#):not(#\#){height:32px}.xuoj239:not(#\#):not(#\#):not(#\#):not(#\#){height:3px}.x1vqgdyp:not(#\#):not(#\#):not(#\#):not(#\#){height:40px}.xsdox4t:not(#\#):not(#\#):not(#\#):not(#\#){height:48px}.xqu0tyb:not(#\#):not(#\#):not(#\#):not(#\#){height:4px}.xols6we:not(#\#):not(#\#):not(#\#):not(#\#){height:6px}.xwzfr38:not(#\#):not(#\#):not(#\#):not(#\#){height:80px}.xdk7pt:not(#\#):not(#\#):not(#\#):not(#\#){height:8px}.x1qjb5ga:not(#\#):not(#\#):not(#\#):not(#\#){height:anchor-size(--outline-active height,0px)}.xt7dq6l:not(#\#):not(#\#):not(#\#):not(#\#){height:auto}.xuk38ov:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(100% - var(--tree-list-row-gap,0px) / 2)}.xs02d24:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(100% + 1px)}.x12qplqi:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(100% + var(--container-padding-block-start,0px) + var(--container-padding-block-end,0px))}.xpa73km:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(100dvh - var(--_app-shell-header-height,0px))}.x1oglpa6:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(max(1rem,var(--text-body-size)) * var(--text-body-leading));height:1lh}.x1tpcejd:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--_sheet-budget) + 48px)}.x1uiybsj:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--size-element-lg) - 4px)}.x102lyln:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--size-element-lg) - 8px)}.x184gfjb:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--size-element-md) - 4px)}.xrmxcn7:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--size-element-md) - 8px)}.x1u5rhrp:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--size-element-md) + var(--spacing-1))}.xzj98nu:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--size-element-sm) - 4px)}.xzydfjl:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--size-element-sm) - 8px)}.x1q370uo:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--text-body-size) * var(--text-body-leading))}.x14o5nre:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--text-supporting-size) * var(--text-supporting-leading))}.xw1wawg:not(#\#):not(#\#):not(#\#):not(#\#){height:36px}.xg7h5cd:not(#\#):not(#\#):not(#\#):not(#\#){height:fit-content}.xhovv34:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--_progressbar-mark-height,8px)}.xsyqizj:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--border-width)}.x5kfih4:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--resize-handle-hit-area,16px)}.xssyfek:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--size-element-lg)}.x1ueg155:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--size-element-md)}.x6k0iem:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--size-element-sm)}.x1b2l0oc:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-0-5)}.xcenk2v:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-1-5)}.x11c6zpc:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-1)}.x1k15mir:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-12)}.xoqw5ej:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-2)}.x9gl9lo:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-3)}.x6b6gus:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-4)}.x1grt7ep:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-5)}.xvpftlf:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-6)}.x18to7ep:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-8)}.x1w0ack5:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--table-resize-height,100%)}.x1seg80s:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--text-large-size)}.x15rwvks:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--text-supporting-size)}.x16ye13r:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--x-height)}.xm8gem:not(#\#):not(#\#):not(#\#):not(#\#){height:264px}.x6hpsvf:not(#\#):not(#\#):not(#\#):not(#\#){height:28px}.x1nrll8i:not(#\#):not(#\#):not(#\#):not(#\#){left:50%}.x1jyxor1:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:-1px}.x1if0o47:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:-48px}.xat24cr:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:0}.xlgak1e:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * (max(var(--_tab-strip-bleed),calc(-1 * var(--_tab-indicator-bottom,-1px)))))}.x1z0f2p2:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * var(--_chat-composer-radius))}.x13i4uq0:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * var(--astryx-number-input-padding-block-end,var(--astryx-number-input-padding,var(--spacing-1))))}.x6h7pi7:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * var(--container-padding-block-end,0px))}.x1cdrix3:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * var(--radius-chat))}.xdrfirk:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * var(--spacing-1-5))}.xlstkdb:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-0-5)}.x14cgwvg:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-1)}.x1p37lm5:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-2)}.xep27e5:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-3)}.xwh1t77:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-4)}.x4d5cxa:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-6)}.xlm3tn6:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--x-marginBlockEnd)}.xdj266r:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:0}.xr1yuqi:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:auto}.xmqyaqf:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * (var(--_tab-strip-bleed)))}.xvyqdj1:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * anchor-size(height) - 8px)}.xckg3cf:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * var(--_chat-composer-radius))}.x5j3pgv:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * var(--astryx-number-input-padding-block-start,var(--astryx-number-input-padding,var(--spacing-1))))}.x1sa9bsh:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * var(--container-padding-block-start,0px))}.x1c40v9y:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * var(--spacing-1-5))}.x1ajqlyv:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * var(--spacing-2))}.x1233pnv:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc((1em * var(--text-body-leading) - 6px) / 2)}.xjc2qm6:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-0-5)}.xcsaf9d:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-1)}.xtbrsbv:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-2)}.xj6sv8s:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-3)}.x1s1qpeq:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-4)}.x13rv44w:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-6)}.x1vhfslr:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--x-marginBlockStart)}.xmz0i5r:not(#\#):not(#\#):not(#\#):not(#\#){max-height:100%}.x1wj9ous:not(#\#):not(#\#):not(#\#):not(#\#){max-height:100dvh}.x18s7i0i:not(#\#):not(#\#):not(#\#):not(#\#){max-height:176px}.x1xiyphd:not(#\#):not(#\#):not(#\#):not(#\#){max-height:240px}.xuyqlj2:not(#\#):not(#\#):not(#\#):not(#\#){max-height:300px}.xbhvqqn:not(#\#):not(#\#):not(#\#):not(#\#){max-height:calc(100% - var(--spacing-3))}.x14bu9tk:not(#\#):not(#\#):not(#\#):not(#\#){max-height:calc(92dvh + 48px)}.xpnbb6b:not(#\#):not(#\#):not(#\#):not(#\#){max-height:min(480px,100vh - 32px)}.x7ab17h:not(#\#):not(#\#):not(#\#):not(#\#){max-height:none}.xenllk4:not(#\#):not(#\#):not(#\#):not(#\#){max-height:var(--container-max-height,none)}.x1jols5v:not(#\#):not(#\#):not(#\#):not(#\#){max-height:var(--x-maxHeight)}.x1m189uc:not(#\#):not(#\#):not(#\#):not(#\#){max-width:0}.x193iq5w:not(#\#):not(#\#):not(#\#):not(#\#){max-width:100%}.xlbgzzq:not(#\#):not(#\#):not(#\#):not(#\#){max-width:100dvw}.x55n99s:not(#\#):not(#\#):not(#\#):not(#\#){max-width:15em}.x1ncir08:not(#\#):not(#\#):not(#\#):not(#\#){max-width:200px}.xw5ewwj:not(#\#):not(#\#):not(#\#):not(#\#){max-width:300px}.x1x67gh:not(#\#):not(#\#):not(#\#):not(#\#){max-width:32px}.xxc7z9f:not(#\#):not(#\#):not(#\#):not(#\#){max-width:360px}.x1j9u4d2:not(#\#):not(#\#):not(#\#):not(#\#){max-width:400px}.x17fpy1y:not(#\#):not(#\#):not(#\#):not(#\#){max-width:480px}.xrlsmeg:not(#\#):not(#\#):not(#\#):not(#\#){max-width:600px}.x11gisft:not(#\#):not(#\#):not(#\#):not(#\#){max-width:640px}.x1ap80js:not(#\#):not(#\#):not(#\#):not(#\#){max-width:800px}.xq8v1hd:not(#\#):not(#\#):not(#\#):not(#\#){max-width:90%}.xl6temz:not(#\#):not(#\#):not(#\#):not(#\#){max-width:max(80%,280px)}.x1m1aaou:not(#\#):not(#\#):not(#\#):not(#\#){max-width:min(960px,calc(100dvw - var(--spacing-4)))}.x1x1rfll:not(#\#):not(#\#):not(#\#):not(#\#){max-width:none}.xjl2t3p:not(#\#):not(#\#):not(#\#):not(#\#){max-width:var(--layout-content-width,none)}.xf68679:not(#\#):not(#\#):not(#\#):not(#\#){max-width:var(--x-maxWidth)}.x2lwn1j:not(#\#):not(#\#):not(#\#):not(#\#){min-height:0}.x1us19tq:not(#\#):not(#\#):not(#\#):not(#\#){min-height:100%}.x1ov3xa9:not(#\#):not(#\#):not(#\#):not(#\#){min-height:100dvh}.xz65tgg:not(#\#):not(#\#):not(#\#):not(#\#){min-height:200px}.xisnujt:not(#\#):not(#\#):not(#\#):not(#\#){min-height:20px}.xe0957l:not(#\#):not(#\#):not(#\#):not(#\#){min-height:22px}.xjwf9q1:not(#\#):not(#\#):not(#\#):not(#\#){min-height:24px}.xe0p6wg:not(#\#):not(#\#):not(#\#):not(#\#){min-height:28px}.x21xpn4:not(#\#):not(#\#):not(#\#):not(#\#){min-height:32px}.x1xf4nls:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--size-element-lg)}.x1uogy3y:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--size-element-md)}.x1gdqauq:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--size-element-sm)}.x175cymr:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--spacing-2)}.ximsjs8:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--spacing-7)}.xkoleio:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--spacing-8)}.x82snj4:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--x-minHeight)}.x1dg37ty:not(#\#):not(#\#):not(#\#):not(#\#){min-height:44px}.xeuugli:not(#\#):not(#\#):not(#\#):not(#\#){min-width:0}.x1i9suas:not(#\#):not(#\#):not(#\#):not(#\#){min-width:120px}.x1d77m7x:not(#\#):not(#\#):not(#\#):not(#\#){min-width:140px}.x5w4yej:not(#\#):not(#\#):not(#\#):not(#\#){min-width:160px}.xfb3i0g:not(#\#):not(#\#):not(#\#):not(#\#){min-width:180px}.xgomdpo:not(#\#):not(#\#):not(#\#):not(#\#){min-width:1rem}.x1jzhcrs:not(#\#):not(#\#):not(#\#):not(#\#){min-width:200px}.xt4ypqs:not(#\#):not(#\#):not(#\#):not(#\#){min-width:20px}.x12rczxh:not(#\#):not(#\#):not(#\#):not(#\#){min-width:220px}.xlm99nl:not(#\#):not(#\#):not(#\#):not(#\#){min-width:240px}.x1u2d2a2:not(#\#):not(#\#):not(#\#):not(#\#){min-width:280px}.x1fns5xo:not(#\#):not(#\#):not(#\#):not(#\#){min-width:40px}.x900493:not(#\#):not(#\#):not(#\#):not(#\#){min-width:48px}.x13n9wmd:not(#\#):not(#\#):not(#\#):not(#\#){min-width:4ch}.xfvyar9:not(#\#):not(#\#):not(#\#):not(#\#){min-width:60px}.xrzjruh:not(#\#):not(#\#):not(#\#):not(#\#){min-width:anchor-size(width)}.x8wyhu6:not(#\#):not(#\#):not(#\#):not(#\#){min-width:calc(anchor-size(width) + 16px)}.x1pshirs:not(#\#):not(#\#):not(#\#):not(#\#){min-width:fit-content}.x15mybvi:not(#\#):not(#\#):not(#\#):not(#\#){min-width:min(400px,calc(100% - var(--spacing-4)))}.x17ydmr0:not(#\#):not(#\#):not(#\#):not(#\#){min-width:var(--size-element-md)}.x1nkkqge:not(#\#):not(#\#):not(#\#):not(#\#){min-width:var(--size-element-sm)}.x18ki04u:not(#\#):not(#\#):not(#\#):not(#\#){min-width:var(--spacing-2)}.x16asifk:not(#\#):not(#\#):not(#\#):not(#\#){min-width:var(--spacing-5)}.xy8csz5:not(#\#):not(#\#):not(#\#):not(#\#){min-width:var(--spacing-7)}.xkj4a21:not(#\#):not(#\#):not(#\#):not(#\#){min-width:var(--x-minWidth)}.x1tutbut:not(#\#):not(#\#):not(#\#):not(#\#){min-width:44px}.xw2csxc:not(#\#):not(#\#):not(#\#):not(#\#){overflow-x:auto}.x6ikm8r:not(#\#):not(#\#):not(#\#):not(#\#){overflow-x:hidden}.x1odjw0f:not(#\#):not(#\#):not(#\#):not(#\#){overflow-y:auto}.x10wlt62:not(#\#):not(#\#):not(#\#):not(#\#){overflow-y:hidden}.x7p5m3t:not(#\#):not(#\#):not(#\#):not(#\#){overscroll-behavior-x:contain}.x18d9i69:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:0}.x1j85h84:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:1px}.x1wkw6tp:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:calc(env(safe-area-inset-bottom,0px) + 48px)}.x9jihrk:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:calc(var(--_chat-composer-padding) + var(--_chat-composer-radius))}.xbv1mwh:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:calc(var(--container-padding-block-end) - var(--border-width))}.xxbfulo:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:calc(var(--spacing-3) + var(--radius-chat))}.xwhchk8:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:max(var(--_tab-strip-bleed),calc(-1 * var(--_tab-indicator-bottom,-1px)))}.xew4nw4:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:max(var(--spacing-4),env(safe-area-inset-bottom,0px))}.xvpcij2:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--_chat-composer-padding)}.x1rgxemn:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--astryx-dialog-padding-block-end,var(--astryx-dialog-padding,max(var(--spacing-4),env(safe-area-inset-bottom,0px))))}.x3jnfsm:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--astryx-number-input-padding-block-end,var(--astryx-number-input-padding,var(--spacing-1)))}.xc1wllq:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--container-padding-block-end)}.xg476vw:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--layout-padding-inner-y,var(--spacing-4))}.xon7vh3:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--layout-padding-outer-y,var(--spacing-4))}.xij103a:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-0-5)}.x1l20ajd:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-0)}.x1opdxmq:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-1-5)}.xy143xn:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-1)}.x2izi54:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-10)}.x1wesfrj:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-2)}.xvmdzux:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-3)}.x1awphl8:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-4)}.x1hk98q:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-5)}.xjpqqx5:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-6)}.xekm6fs:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-7)}.x2oz4g1:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-8)}.xexx8yu:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:0}.x1htvmrp:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:calc(var(--_chat-composer-padding) + var(--_chat-composer-radius))}.x1enrzb7:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:calc(var(--border-width) + var(--spacing-1))}.x1nex4ik:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:calc(var(--container-padding-block-start) - var(--border-width))}.x1ak3mig:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:calc(var(--spacing-1-5) + var(--spacing-2))}.x1vjezoa:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:max(var(--spacing-4),env(safe-area-inset-top,0px))}.x2gtn7z:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--_chat-composer-padding)}.xlr2r7p:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--_tab-strip-bleed)}.x15ld1ci:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--astryx-dialog-padding-block-start,var(--astryx-dialog-padding,max(var(--spacing-4),env(safe-area-inset-top,0px))))}.x4kswst:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--astryx-number-input-padding-block-start,var(--astryx-number-input-padding,var(--spacing-1)))}.x14m0hsi:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--container-padding-block-start)}.xqty4a:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--layout-padding-inner-y,var(--spacing-4))}.x81pis9:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--layout-padding-outer-y,var(--spacing-4))}.xbx876j:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-0-5)}.x1ydh6w3:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-0)}.x1kwdpsa:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-1-5)}.xfsso4q:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-1)}.xk6660b:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-10)}.x1xye8es:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-2)}.x1vlblms:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-3)}.x1oa1p4a:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-4)}.xx7rijo:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-5)}.x1adxfkp:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-6)}.xoxd1wu:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-8)}.x13vifvy:not(#\#):not(#\#):not(#\#):not(#\#){top:0}.xuivejd:not(#\#):not(#\#):not(#\#):not(#\#){top:14px}.xs7f9wi:not(#\#):not(#\#):not(#\#):not(#\#){top:2px}.xwa60dl:not(#\#):not(#\#):not(#\#):not(#\#){top:50%}.x1ltwjim:not(#\#):not(#\#):not(#\#):not(#\#){top:anchor(--outline-active top,0px)}.x1nzz77m:not(#\#):not(#\#):not(#\#):not(#\#){top:calc((var(--size-element-md) - 20px) / 2 - 1px)}.xeqxqpg:not(#\#):not(#\#):not(#\#):not(#\#){top:calc((var(--size-element-sm) - 20px) / 2 - 1px)}.x7rbydg:not(#\#):not(#\#):not(#\#):not(#\#){top:calc(50% - 14px)}.x1oysc8t:not(#\#):not(#\#):not(#\#):not(#\#){top:calc(var(--size-element-lg) / 2 - 1px)}.xkmsrut:not(#\#):not(#\#):not(#\#):not(#\#){top:calc(var(--size-element-md) / 2 - 1px)}.x1968x6z:not(#\#):not(#\#):not(#\#):not(#\#){top:calc(var(--size-element-sm) / 2 - 1px)}.xht72ud:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--_app-shell-header-height,0px)}.x8d4r5l:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--spacing-1)}.xctzyg:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--spacing-2)}.xyx6v2t:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--spacing-3)}.xjbys53:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--x-top)}.x1jw3ynk:not(#\#):not(#\#):not(#\#):not(#\#){width:.75rem}.xnalus7:not(#\#):not(#\#):not(#\#):not(#\#){width:0}.xwqq7k2:not(#\#):not(#\#):not(#\#):not(#\#){width:1.25rem}.xp8d6y2:not(#\#):not(#\#):not(#\#):not(#\#){width:1.5rem}.xh8yej3:not(#\#):not(#\#):not(#\#):not(#\#){width:100%}.x1o6l61p:not(#\#):not(#\#):not(#\#):not(#\#){width:100dvw}.xn9wirt:not(#\#):not(#\#):not(#\#):not(#\#){width:100vw}.x1fsd2vl:not(#\#):not(#\#):not(#\#):not(#\#){width:10px}.xsmyaan:not(#\#):not(#\#):not(#\#):not(#\#){width:12px}.x6jxa94:not(#\#):not(#\#):not(#\#):not(#\#){width:14px}.x1kky2od:not(#\#):not(#\#):not(#\#):not(#\#){width:16px}.xzjbwwf:not(#\#):not(#\#):not(#\#):not(#\#){width:180px}.x1xp8n7a:not(#\#):not(#\#):not(#\#):not(#\#){width:18px}.x15vhz18:not(#\#):not(#\#):not(#\#):not(#\#){width:1em}.x1i1rx1s:not(#\#):not(#\#):not(#\#):not(#\#){width:1px}.xcdlrvm:not(#\#):not(#\#):not(#\#):not(#\#){width:1rem}.x1oysuqx:not(#\#):not(#\#):not(#\#):not(#\#){width:200px}.xw4jnvo:not(#\#):not(#\#):not(#\#):not(#\#){width:20px}.xafpxmx:not(#\#):not(#\#):not(#\#):not(#\#){width:240px}.xvy4d1p:not(#\#):not(#\#):not(#\#):not(#\#){width:24px}.x1hfn5x7:not(#\#):not(#\#):not(#\#):not(#\#){width:260px}.xfo62xy:not(#\#):not(#\#):not(#\#):not(#\#){width:2px}.x1td3qas:not(#\#):not(#\#):not(#\#):not(#\#){width:32px}.x1g8rjiy:not(#\#):not(#\#):not(#\#):not(#\#){width:3px}.xz84dc7:not(#\#):not(#\#):not(#\#):not(#\#){width:40%}.x1l2rt3b:not(#\#):not(#\#):not(#\#):not(#\#){width:400px}.x100vrsf:not(#\#):not(#\#):not(#\#):not(#\#){width:40px}.x51ohtg:not(#\#):not(#\#):not(#\#):not(#\#){width:4px}.x1fu8urw:not(#\#):not(#\#):not(#\#):not(#\#){width:64px}.x1v4s8kt:not(#\#):not(#\#):not(#\#):not(#\#){width:6px}.x1xc55vz:not(#\#):not(#\#):not(#\#):not(#\#){width:8px}.x1xgy17j:not(#\#):not(#\#):not(#\#):not(#\#){width:anchor-size(width)}.x14atkfc:not(#\#):not(#\#):not(#\#):not(#\#){width:auto}.xx6qvi6:not(#\#):not(#\#):not(#\#):not(#\#){width:calc(100% + var(--container-padding-inline-start,0px) + var(--container-padding-inline-end,0px))}.x1y2t9nm:not(#\#):not(#\#):not(#\#):not(#\#){width:36px}.xeq5yr9:not(#\#):not(#\#):not(#\#):not(#\#){width:fit-content}.x63cpjl:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--_progressbar-mark-width,2px)}.xjk4fl7:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--border-width)}.xkhob8h:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--resize-handle-hit-area,16px)}.x1m747yf:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--size-element-lg)}.x805d0l:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--size-element-md)}.x1fvqzum:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--size-element-sm)}.x1wu31ai:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-1-5)}.xx9zwd3:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-1)}.xhgvbfk:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-12)}.x1f0dxl5:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-2)}.x1ad1g3v:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-3)}.x12xnipv:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-4)}.xfyiiit:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-5)}.x1mtvzj0:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-6)}.xgc8j7m:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-8)}.xta46cu:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--text-large-size)}.x5livx5:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--text-supporting-size)}.x1uyokj7:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--x-inlineSize)}.x5lhr3w:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--x-width)}.x1wp2rvj.x1wp2rvj:where(.x139im0d:last-child *):not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-width:0}.x132qfvm:focus-within:not(#\#):not(#\#):not(#\#):not(#\#){height:auto}.xsg11nj.xsg11nj:where(.x-default-marker:has(>.astryx-layout-footer:not([data-divider])) *):not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:0}.x1ioh5az.x1ioh5az:where(.x-default-marker:has(>.astryx-layout-header:not([data-divider])) *):not(#\#):not(#\#):not(#\#):not(#\#){padding-top:0}.x1kw28su:focus-within:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-1)}.x10okhzq:focus-within:not(#\#):not(#\#):not(#\#):not(#\#){width:auto}.x5du68j:has(~* [data-chat-name]):not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-5)}.x1d9v4yf:first-child:not(#\#):not(#\#):not(#\#):not(#\#){border-top-style:none}.x1g31smg:first-child:not(#\#):not(#\#):not(#\#):not(#\#){border-top-width:0}.xkibk3:first-child:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * var(--container-padding-block-start,0px))}.x1vjq31q:first-child:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:0}.xlayyun:last-child:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * var(--container-padding-block-end,0px))}.xup0pd7:last-child:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:0}.x15cytp8:focus:not(#\#):not(#\#):not(#\#):not(#\#){height:auto}.x1rw3289:focus:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--spacing-2)}.x1jqxupm:focus:not(#\#):not(#\#):not(#\#):not(#\#){width:auto}@media (pointer:coarse){.x80b3aj.x80b3aj:not(#\#):not(#\#):not(#\#):not(#\#){min-height:24px}.x17aqpur.x17aqpur:not(#\#):not(#\#):not(#\#):not(#\#),.xygd9yz.xygd9yz:not(#\#):not(#\#):not(#\#):not(#\#){min-height:44px}.xkagaj0.xkagaj0:not(#\#):not(#\#):not(#\#):not(#\#){min-width:24px}.x1xrq5m.x1xrq5m:not(#\#):not(#\#):not(#\#):not(#\#),.xngvp7v.xngvp7v:not(#\#):not(#\#):not(#\#):not(#\#){min-width:44px}.xijlfn0.xijlfn0:not(#\#):not(#\#):not(#\#):not(#\#){top:50%}}@starting-style{.x1sopeo2.x1sopeo2:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){grid-template-rows:0fr}}.x1xsm0q9:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{inset:-14px}.xarstr8:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after,.xxx281p:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{inset:0}.xht581f:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{inset:var(--_input-clear-hit-inset)}.xeu5z55:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{inset:var(--_thumbnail-hit-inset)}@starting-style{.x4itv7f.x4itv7f:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){opacity:0}.x6mt36l.x6mt36l:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translate(-100%)}.x1yqmsfc.x1yqmsfc:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translate(100%)}.xub2912.xub2912:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateY(-100%)}.x12p7p72.x12p7p72:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateY(-4px)}.xhbqy3z.xhbqy3z:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateY(100%)}.x6s140c.x6s140c:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateY(var(--_toast-slide-y,var(--spacing-2)))}.x1lymnkk.x1lymnkk:is([dir=rtl] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translate(-100%)}.x14gflnl.x14gflnl:is([dir=rtl] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translate(100%)}}.x1k48kgn:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after,.xxyica1:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{border-radius:inherit}.x17gn2l9:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{grid-column:1}.xd54j2p:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{inset-block:0}.xpsyfx0:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{margin-block:0}.x1qqcexc:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{margin-inline:0}.x1x4c3m6:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{padding-block:0}.xtbxizx:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-datetime-edit{padding-block:0}@starting-style{.x5rzir7.x5rzir7:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:0}}.xkqr7wz:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{padding-inline:0}.xslb4at:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-datetime-edit{padding-inline:0}.xvtkv6q:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{transition:background-color .15s,width .15s}.x17s1k9h:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{transition:opacity .15s}.x19ds33d:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{align-self:start}.x1abwkk1:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.xyhc2n1:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{background-color:#0000}.x1tzqye7:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{background-color:var(--color-accent)}.xnixb3f:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{background-color:var(--color-overlay)}.x1i3206j:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{background-color:var(--indicator-color,transparent)}.x1uvfo0n:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{background-color:var(--table-row-overlay,transparent)}.xccdyz0:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{background-image:linear-gradient(to left,var(--color-shadow),transparent)}.x1ppu1g5:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{background-image:linear-gradient(to right,var(--color-shadow),transparent)}.xnnzo76:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{border-inline-start-color:var(--color-border)}.xvsnedh:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{border-inline-start-style:solid}.x1p96cux:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{border-inline-start-width:var(--border-width)}.xtkarl4:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{color:var(--color-syntax-punctuation)}.xnf3u0:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::placeholder{color:var(--color-text-disabled)}.xeyghm5:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::placeholder{color:var(--color-text-secondary)}.x1cpjm7i:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before,.x1s928wv:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{content:""}.x46gnpd:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{content:attr(data-line)}.xc2ndz5:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{content:counter(astryx-list) "."}.xh3pasq:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{content:var(--_input-clear-hit-content)}.xhkezso:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{display:block}.xolhmmf:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-calendar-picker-indicator{display:none}.x3nzp0f:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{font-family:var(--font-family-code)}.xekda60:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{inset-inline-end:-2px}.x1unh1gc:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{inset-inline-end:0}.xvw6utc:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{inset-inline-start:-2px}.x1iygr5g:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{inset-inline-start:0}.x1km86hw:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{inset-inline-start:calc(var(--spacing-4) + var(--_codeblock-gutter-width) + var(--spacing-3))}.x15bqym3:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-datetime-edit{line-height:inherit}.x1f74mqm:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{line-height:inherit}.xph5o2a:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{opacity:0}.xb3n6bw:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{opacity:1}.xni466t:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{opacity:var(--_sheet-scrim-opacity,1)}.x1c2idit:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{opacity:var(--table-sticky-shadow-end,0)}.x1sggmfs:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{opacity:var(--table-sticky-shadow-start,0)}.x2q1x1w:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after,.xkk1bqk:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{pointer-events:none}.x1hmns74:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before,.x1j6awrg:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{position:absolute}.x1wnbjh8:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{text-align:end}.x9rmy9g:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{text-align:start}.x1fgylwi:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transform-origin:top}.xgu12d:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transform-origin:0}.x1e8txe:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transform:scaleX(0)}.xp1ps4y:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transform:scaleX(1)}.xb5f74o:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transform:scaleY(0)}.xd30wvy:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transform:scaleY(1)}.xvs0bi2:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{transform:translate(-100%)}.x1qyefdi:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{transform:translate(100%)}.x142juwg:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{transition-behavior:allow-discrete}.xizoc3:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-delay:var(--x-owu7oy)}.x1y1nw7a:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before,.x97pup0:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{transition-duration:var(--duration-fast)}.xft5bk6:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop,.xuhr57t:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-duration:var(--duration-medium)}.x196sc62:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-duration:var(--x-1dd27dc)}.x1ywzrc5:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after,.xxcwgru:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-property:background-color}.xc0dz0a:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{transition-property:opacity,display}.x167zut7:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{transition-property:opacity}.x1hu8v7x:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-property:transform}.x1cz9k3x:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop,.xyt8op7:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-timing-function:linear}.x15h3t91:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop,.x1dlmc9c:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after,.xa5v58t:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-timing-function:var(--ease-standard)}.x1rbqspl:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{-webkit-user-select:none;user-select:none}.xy5mcqj:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{z-index:-1}.xk7vujl:is([dir=rtl] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{background-image:linear-gradient(to left,var(--color-shadow),transparent)}.xlptwl5:is([dir=rtl] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{background-image:linear-gradient(to right,var(--color-shadow),transparent)}.xdq8fwl:is([dir=rtl] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transform-origin:100%}.x1c108yo:is([dir=rtl] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{transform:translate(-100%)}.x12ayhd5:is([dir=rtl] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{transform:translate(100%)}.x1k7wiig:active:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{background-color:var(--color-overlay-pressed)}@media (prefers-reduced-motion:reduce){.xhhm9v0.xhhm9v0:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-delay:0s}.x1viac0w.x1viac0w:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{transition-duration:10ms}.x13sdc92.x13sdc92:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-duration:0s}}.xe80sof:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{bottom:-2px}.x1xrz1ek:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{bottom:0}.xu6fald:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{height:var(--_sheet-keyboard-inset,0px)}.xec4aax:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{min-height:0}.x51xajf:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{top:-2px}.x1m1drc7:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{top:0}.xkj6t0a:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{width:0}.xzkji8o:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{width:6px}.xi8c0p9:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{width:var(--indicator-width,1px)}@starting-style{.xxiuuzi.xxiuuzi:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{opacity:0}}:root{--color-data-categorical-blue:#0171e3;--color-data-categorical-orange:#eb6e00;--color-data-categorical-purple:#6b1efd;--color-data-categorical-green:#0b991f;--color-data-categorical-pink:#f351c0;--color-data-categorical-cyan:#0171a4;--color-data-categorical-red:#f5394f;--color-data-categorical-teal:#08a3a3;--color-data-categorical-brown:#965e03;--color-data-categorical-indigo:#6f8aff;--color-data-neutral:var(--lightningcss-light,#8494a3)var(--lightningcss-dark,#8c939b);--color-data-blue-5:#02165e;--color-data-blue-4:#004cbc;--color-data-blue-3:#2694fe;--color-data-blue-2:#78beff;--color-data-blue-1:#dbecff;--color-data-shamrock-5:#0b603d;--color-data-shamrock-4:#138546;--color-data-shamrock-3:#24bb5e;--color-data-shamrock-2:#8ef7aa;--color-data-shamrock-1:#d6fee4;--color-data-orange-5:#a13f04;--color-data-orange-4:#d66100;--color-data-orange-3:#fd9537;--color-data-orange-2:#fdb876;--color-data-orange-1:#ffe6cf;--color-data-pink-5:#8e1073;--color-data-pink-4:#d123a1;--color-data-pink-3:#f989d3;--color-data-pink-2:#feade3;--color-data-pink-1:#fce3f4;--color-data-purple-5:#3e0697;--color-data-purple-4:#6b1efd;--color-data-purple-3:#9081ff;--color-data-purple-2:#b3b0fe;--color-data-purple-1:#e8e8fb;--color-data-red-5:#9d0519;--color-data-red-4:#d31130;--color-data-red-3:#fb7d87;--color-data-red-2:#ffb2b8;--color-data-red-1:#fee4e6;--color-data-teal-5:#08767d;--color-data-teal-4:#0c9293;--color-data-teal-3:#0db7af;--color-data-teal-2:#6ce6d8;--color-data-teal-1:#d7fcf8;--color-data-yellow-5:#8a5001;--color-data-yellow-4:#d69804;--color-data-yellow-3:#fbce03;--color-data-yellow-2:#fcec85;--color-data-yellow-1:#fdf6ba;--color-data-gray-5:var(--lightningcss-light,#25363f)var(--lightningcss-dark,#333338);--color-data-gray-4:var(--lightningcss-light,#5d6c7b)var(--lightningcss-dark,#666a72);--color-data-gray-3:var(--lightningcss-light,#afb9c4)var(--lightningcss-dark,#b2b8be);--color-data-gray-2:var(--lightningcss-light,#ccd3db)var(--lightningcss-dark,#d0d3d6);--color-data-gray-1:var(--lightningcss-light,#f1f4f7)var(--lightningcss-dark,#f2f4f6)}}@layer astryx-theme{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@scope([data-astryx-theme=neutral]) to ([data-astryx-theme]){:scope{--font-size-4xs:.375rem;--font-size-3xs:.4375rem;--font-size-2xs:.5rem;--font-size-xs:.625rem;--font-size-sm:.75rem;--font-size-base:.875rem;--font-size-lg:1.0625rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.8125rem;--font-size-4xl:2.1875rem;--font-size-5xl:2.625rem;--text-heading-1-size:var(--font-size-2xl);--text-heading-1-weight:var(--font-weight-semibold);--text-heading-1-leading:1.3333;--text-heading-2-size:var(--font-size-xl);--text-heading-2-weight:var(--font-weight-semibold);--text-heading-2-leading:1.4;--text-heading-3-size:var(--font-size-lg);--text-heading-3-weight:var(--font-weight-bold);--text-heading-3-leading:1.4118;--text-heading-4-size:var(--font-size-base);--text-heading-4-weight:var(--font-weight-bold);--text-heading-4-leading:1.4286;--text-heading-5-size:var(--font-size-sm);--text-heading-5-weight:var(--font-weight-semibold);--text-heading-5-leading:1.6667;--text-heading-6-size:var(--font-size-xs);--text-heading-6-weight:var(--font-weight-semibold);--text-heading-6-leading:1.6;--text-body-size:var(--font-size-base);--text-body-weight:var(--font-weight-normal);--text-body-leading:1.4286;--text-large-size:var(--font-size-lg);--text-large-weight:var(--font-weight-semibold);--text-large-leading:1.4118;--text-label-size:var(--font-size-base);--text-label-weight:var(--font-weight-medium);--text-label-leading:1.4286;--text-code-size:var(--font-size-base);--text-code-weight:var(--font-weight-normal);--text-code-leading:1.4286;--text-supporting-size:var(--font-size-sm);--text-supporting-weight:var(--font-weight-normal);--text-supporting-leading:1.6667;--text-display-1-size:var(--font-size-5xl);--text-display-1-weight:var(--font-weight-normal);--text-display-1-leading:1.2381;--text-display-2-size:var(--font-size-4xl);--text-display-2-weight:var(--font-weight-normal);--text-display-2-leading:1.2571;--text-display-3-size:var(--font-size-3xl);--text-display-3-weight:var(--font-weight-normal);--text-display-3-leading:1.3793;--duration-fast-min:95ms;--duration-fast:.125s;--duration-fast-max:.165s;--duration-medium-min:.225s;--duration-medium:.3s;--duration-medium-max:.4s;--duration-slow-min:.525s;--duration-slow:.7s;--duration-slow-max:.935s;--font-family-body:Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-heading:Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-code:ui-monospace, "SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-syntax-keyword:var(--lightningcss-light,#700084)var(--lightningcss-dark,#efa8ff);--color-syntax-string:var(--lightningcss-light,#005600)var(--lightningcss-dark,#a6d2a2);--color-syntax-comment:var(--lightningcss-light,#737373)var(--lightningcss-dark,#a3a3a3);--color-syntax-number:var(--lightningcss-light,#6e3500)var(--lightningcss-dark,#ffb37f);--color-syntax-function:var(--lightningcss-light,#00458c)var(--lightningcss-dark,#a0caff);--color-syntax-type:var(--lightningcss-light,#700084)var(--lightningcss-dark,#efa8ff);--color-syntax-variable:var(--lightningcss-light,#171717)var(--lightningcss-dark,#e5e5e5);--color-syntax-operator:var(--lightningcss-light,#737373)var(--lightningcss-dark,#a3a3a3);--color-syntax-constant:var(--lightningcss-light,#6e3500)var(--lightningcss-dark,#ffb37f);--color-syntax-tag:var(--lightningcss-light,#89001a)var(--lightningcss-dark,#ffaeaa);--color-syntax-attribute:var(--lightningcss-light,#584400)var(--lightningcss-dark,#eec12f);--color-syntax-property:var(--lightningcss-light,#005348)var(--lightningcss-dark,#83dac9);--color-syntax-punctuation:var(--lightningcss-light,#6e6e6e)var(--lightningcss-dark,#a0a0a0);--color-syntax-background:var(--lightningcss-light,#fafafa)var(--lightningcss-dark,#0a0a0a);--color-background-surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#262626);--color-background-body:var(--lightningcss-light,#f1f1f1)var(--lightningcss-dark,#1b1b1b);--color-background-card:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1b1b1b);--color-background-popover:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1b1b1b);--color-background-muted:var(--lightningcss-light,#f1f1f1)var(--lightningcss-dark,#1b1b1b);--color-accent:var(--lightningcss-light,#262626)var(--lightningcss-dark,#ebebeb);--color-accent-muted:var(--lightningcss-light,#f1f1f1)var(--lightningcss-dark,#262626);--color-neutral:var(--lightningcss-light,#0000000f)var(--lightningcss-dark,#ffffff1a);--color-overlay:var(--lightningcss-light,#00000080)var(--lightningcss-dark,#000c);--color-overlay-hover:var(--lightningcss-light,#0000000d)var(--lightningcss-dark,#ffffff0d);--color-overlay-pressed:var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#ffffff1a);--color-text-primary:var(--lightningcss-light,#171717)var(--lightningcss-dark,#fafafa);--color-text-secondary:var(--lightningcss-light,#525252)var(--lightningcss-dark,#a3a3a3);--color-text-disabled:var(--lightningcss-light,#a3a3a3)var(--lightningcss-dark,#525252);--color-text-accent:var(--lightningcss-light,#262626)var(--lightningcss-dark,#ebebeb);--color-on-dark:#fff;--color-on-light:#171717;--color-on-accent:var(--lightningcss-light,#fff)var(--lightningcss-dark,#171717);--color-on-success:var(--lightningcss-light,#fff)var(--lightningcss-dark,#171717);--color-on-error:var(--lightningcss-light,#fff)var(--lightningcss-dark,#171717);--color-on-warning:#171717;--color-icon-accent:var(--lightningcss-light,#262626)var(--lightningcss-dark,#ebebeb);--color-icon-primary:var(--lightningcss-light,#171717)var(--lightningcss-dark,#fafafa);--color-icon-secondary:var(--lightningcss-light,#737373)var(--lightningcss-dark,#a3a3a3);--color-icon-disabled:var(--lightningcss-light,#a3a3a3)var(--lightningcss-dark,#525252);--color-success:var(--lightningcss-light,#007004)var(--lightningcss-dark,#9fe59b);--color-error:var(--lightningcss-light,#a50c25)var(--lightningcss-dark,#ffc6c1);--color-warning:var(--lightningcss-light,#745b00)var(--lightningcss-dark,#fdcf4f);--color-success-muted:var(--lightningcss-light,#c5e5c0)var(--lightningcss-dark,#84c9803d);--color-error-muted:var(--lightningcss-light,#facecb)var(--lightningcss-dark,#ff9e973d);--color-warning-muted:var(--lightningcss-light,#f8da9d)var(--lightningcss-dark,#deb4333d);--color-border:var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff1a);--color-border-emphasized:var(--lightningcss-light,#d4d4d4)var(--lightningcss-dark,#525252);--color-skeleton:var(--lightningcss-light,#ebebeb)var(--lightningcss-dark,#525252);--color-shadow:var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#0000004d);--color-tint-hover:var(--lightningcss-light,#000)var(--lightningcss-dark,#fff);--color-background-red:var(--lightningcss-light,#facecb)var(--lightningcss-dark,#ff9e973d);--color-border-red:var(--lightningcss-light,#e6bab8)var(--lightningcss-dark,#ff6f6c);--color-icon-red:var(--lightningcss-light,#89001a)var(--lightningcss-dark,#ff9e97);--color-text-red:var(--lightningcss-light,#89001a)var(--lightningcss-dark,#ffc6c1);--color-background-orange:var(--lightningcss-light,#fad0b5)var(--lightningcss-dark,#ffa2583d);--color-border-orange:var(--lightningcss-light,#e6bda2)var(--lightningcss-dark,#e2883e);--color-icon-orange:var(--lightningcss-light,#6e3500)var(--lightningcss-dark,#ffa258);--color-text-orange:var(--lightningcss-light,#6e3500)var(--lightningcss-dark,#ffc9a2);--color-background-yellow:var(--lightningcss-light,#f8da9d)var(--lightningcss-dark,#deb4333d);--color-border-yellow:var(--lightningcss-light,#e4c279)var(--lightningcss-dark,#c0990e);--color-icon-yellow:var(--lightningcss-light,#584400)var(--lightningcss-dark,#deb433);--color-text-yellow:var(--lightningcss-light,#584400)var(--lightningcss-dark,#fdcf4f);--color-background-green:var(--lightningcss-light,#c5e5c0)var(--lightningcss-dark,#84c9803d);--color-border-green:var(--lightningcss-light,#b2d1ac)var(--lightningcss-dark,#69ad67);--color-icon-green:var(--lightningcss-light,#0c5700)var(--lightningcss-dark,#84c980);--color-text-green:var(--lightningcss-light,#0c5700)var(--lightningcss-dark,#9fe59b);--color-background-teal:var(--lightningcss-light,#a5e3d6)var(--lightningcss-dark,#7ec6b83d);--color-border-teal:var(--lightningcss-light,#94d6c8)var(--lightningcss-dark,#63ab9d);--color-icon-teal:var(--lightningcss-light,#005348)var(--lightningcss-dark,#7ec6b8);--color-text-teal:var(--lightningcss-light,#005348)var(--lightningcss-dark,#99e2d3);--color-background-cyan:var(--lightningcss-light,#a3e0ef)var(--lightningcss-dark,#83c2d43d);--color-border-cyan:var(--lightningcss-light,#91d3e3)var(--lightningcss-dark,#67a7b8);--color-icon-cyan:var(--lightningcss-light,#00505f)var(--lightningcss-dark,#83c2d4);--color-text-cyan:var(--lightningcss-light,#00505f)var(--lightningcss-dark,#9edef0);--color-background-blue:var(--lightningcss-light,#c4ddfb)var(--lightningcss-dark,#9eb7ff3d);--color-border-blue:var(--lightningcss-light,#b1c9e7)var(--lightningcss-dark,#6d9cfe);--color-icon-blue:var(--lightningcss-light,#00458c)var(--lightningcss-dark,#9eb7ff);--color-text-blue:var(--lightningcss-light,#00458c)var(--lightningcss-dark,#c7d3ff);--color-background-purple:var(--lightningcss-light,#eccef3)var(--lightningcss-dark,#f297ff3d);--color-border-purple:var(--lightningcss-light,#d8bbdf)var(--lightningcss-dark,#dd74f0);--color-icon-purple:var(--lightningcss-light,#700084)var(--lightningcss-dark,#f297ff);--color-text-purple:var(--lightningcss-light,#700084)var(--lightningcss-dark,#fac1ff);--color-background-pink:var(--lightningcss-light,#fccadc)var(--lightningcss-dark,#ff99c33d);--color-border-pink:var(--lightningcss-light,#e7b7c8)var(--lightningcss-dark,#f273aa);--color-icon-pink:var(--lightningcss-light,#83004b)var(--lightningcss-dark,#ff99c3);--color-text-pink:var(--lightningcss-light,#83004b)var(--lightningcss-dark,#ffc3da);--color-background-gray:var(--lightningcss-light,#e5e5e5)var(--lightningcss-dark,var(--color-neutral));--color-border-gray:var(--lightningcss-light,#d4d4d4)var(--lightningcss-dark,#262626);--color-icon-gray:var(--lightningcss-light,#525252)var(--lightningcss-dark,#a3a3a3);--color-text-gray:var(--lightningcss-light,#262626)var(--lightningcss-dark,#e5e5e5);--radius-none:0px;--radius-inner:.375rem;--radius-element:.625rem;--radius-container:.75rem;--radius-page:1.75rem;--radius-full:9999px;--shadow-low:0 2px 4px var(--lightningcss-light,oklch(0% 0 0/.05))var(--lightningcss-dark,oklch(0% 0 0/.25)), 0 4px 8px var(--lightningcss-light,oklch(0% 0 0/.1))var(--lightningcss-dark,oklch(0% 0 0/.4)), inset 0 0 0 1px var(--lightningcss-light,#0000)var(--lightningcss-dark,oklch(100% 0 0/.08));--shadow-med:0 2px 4px var(--lightningcss-light,oklch(0% 0 0/.05))var(--lightningcss-dark,oklch(0% 0 0/.35)), 0 4px 12px var(--lightningcss-light,oklch(0% 0 0/.1))var(--lightningcss-dark,oklch(0% 0 0/.5)), inset 0 0 0 1px var(--lightningcss-light,#0000)var(--lightningcss-dark,oklch(100% 0 0/.12));--shadow-high:0 4px 6px var(--lightningcss-light,oklch(0% 0 0/.1))var(--lightningcss-dark,oklch(0% 0 0/.5)), 0 12px 24px var(--lightningcss-light,oklch(0% 0 0/.15))var(--lightningcss-dark,oklch(0% 0 0/.7)), inset 0 0 0 1px var(--lightningcss-light,#0000)var(--lightningcss-dark,oklch(100% 0 0/.15));--shadow-inset-hover:inset 0px 0px 0px 2px #0074e24d;--shadow-inset-selected:inset 0px 0px 0px 2px #0074e280;--shadow-inset-success:inset 0px 0px 0px 2px #1981004d;--shadow-inset-warning:inset 0px 0px 0px 2px #ffce2f4d;--shadow-inset-error:inset 0px 0px 0px 2px #e33f4a4d}.astryx-heading.level-1{font-family:var(--font-family-heading);font-size:var(--text-heading-1-size);font-weight:var(--text-heading-1-weight);line-height:var(--text-heading-1-leading)}.astryx-heading.level-2{font-family:var(--font-family-heading);font-size:var(--text-heading-2-size);font-weight:var(--text-heading-2-weight);line-height:var(--text-heading-2-leading)}.astryx-heading.level-3{font-family:var(--font-family-heading);font-size:var(--text-heading-3-size);font-weight:var(--text-heading-3-weight);line-height:var(--text-heading-3-leading)}.astryx-heading.level-4{font-family:var(--font-family-heading);font-size:var(--text-heading-4-size);font-weight:var(--text-heading-4-weight);line-height:var(--text-heading-4-leading)}.astryx-heading.level-5{font-family:var(--font-family-heading);font-size:var(--text-heading-5-size);font-weight:var(--text-heading-5-weight);line-height:var(--text-heading-5-leading)}.astryx-heading.level-6{font-family:var(--font-family-heading);font-size:var(--text-heading-6-size);font-weight:var(--text-heading-6-weight);line-height:var(--text-heading-6-leading)}.astryx-heading.display-1{font-family:var(--font-family-heading);font-size:var(--text-display-1-size);line-height:var(--text-display-1-leading)}.astryx-heading.display-2{font-family:var(--font-family-heading);font-size:var(--text-display-2-size);line-height:var(--text-display-2-leading)}.astryx-heading.display-3{font-family:var(--font-family-heading);font-size:var(--text-display-3-size);line-height:var(--text-display-3-leading)}.astryx-text.body{font-family:var(--font-family-body);font-size:var(--text-body-size);line-height:var(--text-body-leading)}.astryx-text.large{font-family:var(--font-family-body);font-size:var(--text-large-size);line-height:var(--text-large-leading)}.astryx-text.label{font-family:var(--font-family-body);font-size:var(--text-label-size);line-height:var(--text-label-leading)}.astryx-text.code{font-family:var(--font-family-code);font-size:var(--text-code-size);line-height:var(--text-code-leading)}.astryx-text.supporting{font-family:var(--font-family-body);font-size:var(--text-supporting-size);line-height:var(--text-supporting-leading)}.astryx-text.display-1{font-family:var(--font-family-heading);font-size:var(--text-display-1-size);line-height:var(--text-display-1-leading)}.astryx-text.display-2{font-family:var(--font-family-heading);font-size:var(--text-display-2-size);line-height:var(--text-display-2-leading)}.astryx-text.display-3{font-family:var(--font-family-heading);font-size:var(--text-display-3-size);line-height:var(--text-display-3-leading)}.astryx-button.destructive{background-color:var(--color-error-muted);color:var(--color-error)}.astryx-badge.info{color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#171717);background-color:var(--lightningcss-light,#0074e2)var(--lightningcss-dark,#6d9cfe)}.astryx-badge.neutral{background-color:var(--color-background-gray);color:var(--color-text-gray)}.astryx-badge.success{color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#171717);background-color:var(--lightningcss-light,#198100)var(--lightningcss-dark,#64af4c)}.astryx-badge.warning{color:#171717;background-color:#ffce2f}.astryx-badge.error{color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#171717);background-color:var(--lightningcss-light,#c9303a)var(--lightningcss-dark,#ff705d)}.astryx-badge.red{background-color:var(--color-background-red);color:var(--color-text-red)}.astryx-badge.orange{background-color:var(--color-background-orange);color:var(--color-text-orange)}.astryx-badge.yellow{background-color:var(--color-background-yellow);color:var(--color-text-yellow)}.astryx-badge.green{background-color:var(--color-background-green);color:var(--color-text-green)}.astryx-badge.teal{background-color:var(--color-background-teal);color:var(--color-text-teal)}.astryx-badge.cyan{background-color:var(--color-background-cyan);color:var(--color-text-cyan)}.astryx-badge.blue{background-color:var(--color-background-blue);color:var(--color-text-blue)}.astryx-badge.purple{background-color:var(--color-background-purple);color:var(--color-text-purple)}.astryx-badge.pink{background-color:var(--color-background-pink);color:var(--color-text-pink)}.astryx-badge.gray{background-color:var(--color-background-gray);color:var(--color-text-gray)}.astryx-statusdot.success{background-color:var(--lightningcss-light,#198100)var(--lightningcss-dark,#64af4c)}.astryx-statusdot.warning{background-color:#ffce2f}.astryx-statusdot.error{background-color:var(--lightningcss-light,#c9303a)var(--lightningcss-dark,#ff705d)}.astryx-statusdot.accent{background-color:var(--lightningcss-light,#0074e2)var(--lightningcss-dark,#6d9cfe)}.astryx-banner.info{--color-accent-muted:var(--color-background-blue);--color-text-primary:var(--color-text-blue);--color-text-secondary:var(--color-text-blue);--color-accent:var(--color-text-blue)}.astryx-banner.success{--color-text-primary:var(--color-text-green);--color-text-secondary:var(--color-text-green);--color-success:var(--color-text-green)}.astryx-banner.warning{--color-text-primary:var(--color-text-yellow);--color-text-secondary:var(--color-text-yellow);--color-warning:var(--color-text-yellow)}.astryx-banner.error{--color-text-primary:var(--color-text-red);--color-text-secondary:var(--color-text-red);--color-error:var(--color-text-red)}.astryx-switch{--color-background-gray:var(--color-border-emphasized)}.astryx-progressbar{--color-background-muted:var(--color-border-emphasized)}.astryx-progressbar.accent{--color-accent:#0074e2}.astryx-progressbar.success{--color-success:#198100}.astryx-progressbar.warning{--color-warning:#ffce2f}.astryx-progressbar.error{--color-error:#c9303a}.astryx-card{--astryx-card-padding:var(--spacing-3)}.astryx-section{--astryx-section-padding:var(--spacing-3)}.astryx-text.primary,.astryx-heading.primary{color:var(--color-text-primary)}.astryx-text.secondary,.astryx-heading.secondary{color:var(--color-text-secondary)}.astryx-text.disabled,.astryx-heading.disabled{color:var(--color-text-disabled)}.astryx-text.placeholder,.astryx-heading.placeholder{color:var(--color-text-secondary)}.astryx-text.accent,.astryx-heading.accent{color:var(--color-text-accent)}.astryx-text.size-4xs{font-size:var(--font-size-4xs)}.astryx-text.size-3xs{font-size:var(--font-size-3xs)}.astryx-text.size-2xs{font-size:var(--font-size-2xs)}.astryx-text.xsm{font-size:var(--font-size-xs)}.astryx-text.sm{font-size:var(--font-size-sm)}.astryx-text.base{font-size:var(--font-size-base)}.astryx-text.lg{font-size:var(--font-size-lg)}.astryx-text.xl{font-size:var(--font-size-xl)}.astryx-text.size-2xl{font-size:var(--font-size-2xl)}.astryx-text.size-3xl{font-size:var(--font-size-3xl)}.astryx-text.size-4xl{font-size:var(--font-size-4xl)}}@scope([data-astryx-theme=neutral]) to ([data-astryx-theme]){[data-astryx-media=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-text-primary:var(--color-on-dark);--color-icon-primary:var(--color-on-dark);--color-accent:var(--color-on-dark)}[data-astryx-media=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-text-primary:var(--color-on-light);--color-icon-primary:var(--color-on-light);--color-accent:var(--color-on-light)}}}@layer components;@layer utilities{.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}.block{display:block}.hidden{display:none}.inline{display:inline}.grow{flex-grow:1}.resize{resize:both}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:oklch(99.8% .003 87);--sidebar:oklch(97.8% .021 91);--sidebar-hover:oklch(93.5% .043 91/.65);--sidebar-active:oklch(92.8% .025 91/.82);--border:oklch(91.6% .009 248);--border-strong:oklch(86.8% .014 248);--text:oklch(26.2% .018 249);--muted:oklch(52.5% .019 249);--subtle:oklch(65.2% .016 249);--accent:oklch(51.6% .151 253);--focus:oklch(61.8% .14 251);--healthy:oklch(53.6% .12 158);--error:oklch(49.7% .187 28);--warning:oklch(56.4% .126 74);--grid-minor:oklch(27% .024 250/.03);--grid-major:oklch(27% .024 250/.07);--grid-cross:oklch(27% .024 250/.11)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{background-color:var(--sidebar);background-image:linear-gradient(to bottom, oklch(65% .04 85/.06), transparent 40%, transparent 72%, oklch(97.8% .021 91/.5)), linear-gradient(var(--grid-minor) 0 1px, transparent 1px 4px), linear-gradient(to right, var(--grid-minor) 0 1px, transparent 1px 4px), linear-gradient(var(--grid-major) 0 1px, transparent 1px 20px), linear-gradient(to right, var(--grid-major) 0 1px, transparent 1px 20px), radial-gradient(circle at center, transparent 2px, var(--sidebar) 2px 100%), linear-gradient(var(--grid-cross) 0 1px, transparent 1px 20px), linear-gradient(to right, var(--grid-cross) 0 1px, transparent 1px 20px);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-position:0 0,0 0,0 0,0 0,0 0,-10px -10px,0 0,0 0;background-size:100% 100%,4px 4px,4px 4px,20px 20px,20px 20px,20px 20px,20px 20px,20px 20px;margin:0;font:14px/1.5 ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}::selection{background:oklch(51.6% .151 253/.18)}button,input,textarea{font:inherit;letter-spacing:0}input,textarea{caret-color:var(--accent)}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:1em;height:1em;display:block}.app-shell{grid-template-columns:280px minmax(0,1fr);width:100%;height:100dvh;transition:grid-template-columns .18s;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:56px minmax(0,1fr)}.session-sidebar{z-index:20;-webkit-backdrop-filter:blur(30px)saturate(1.8)brightness(1.04);backdrop-filter:blur(30px)saturate(1.8)brightness(1.04);background-color:oklch(97.8% .021 91/.3);background-image:linear-gradient(oklch(99.8% .003 87/.42),oklch(99.8% .003 87/.08) 36%,#0000);border-right:1px solid oklch(86.8% .014 248/.5);flex-direction:column;min-height:0;padding:8px 10px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px oklch(99.8% .003 87/.6),inset -1px 0 oklch(99.8% .003 87/.3)}.session-sidebar:before{content:"";pointer-events:none;z-index:calc(10 * -1);filter:blur(1.6px);background-image:linear-gradient(oklch(27% .024 250/.07) 0 1px,#0000 1px 4px),linear-gradient(90deg,oklch(27% .024 250/.07) 0 1px,#0000 1px 4px),linear-gradient(oklch(27% .024 250/.09) 0 1px,#0000 1px 20px),linear-gradient(90deg,oklch(27% .024 250/.09) 0 1px,#0000 1px 20px);background-size:4px 4px,4px 4px,20px 20px,20px 20px;position:absolute;inset:0}.sidebar-brand{height:calc(var(--spacing-1) * 11);justify-content:space-between;align-items:center;padding:0 4px 0 6px;display:flex}.brand-lockup{color:var(--text);align-items:center;font-weight:700;line-height:1;display:inline-flex}.brand-lockup.compact{font-size:18px}.compact .pixel-mark{width:21px;height:21px;margin-left:2px;display:inline-block;position:relative}.compact .pixel-mark i{background:currentColor;width:6px;height:6px;display:block;position:absolute}.compact .pixel-mark i:first-child{top:0;left:0}.compact .pixel-mark i:nth-child(2){top:0;left:5px}.compact .pixel-mark i:nth-child(3){top:0;left:10px}.compact .pixel-mark i:nth-child(4){top:5px;left:0}.compact .pixel-mark i:nth-child(5){top:5px;left:10px}.compact .pixel-mark i:nth-child(6){top:10px;left:0}.compact .pixel-mark i:nth-child(7){top:10px;left:5px}.compact .pixel-mark i:nth-child(8){top:10px;left:15px}.compact .pixel-mark i:nth-child(9){top:15px;left:0}.compact .pixel-mark i:nth-child(10){top:15px;left:15px}.collapse-button,.icon-button,.workspace-action,.sidebar-expand{border-style:var(--tw-border-style);color:var(--muted);background-color:#0000;border-width:0;border-radius:6px;flex-shrink:0;place-items:center;transition:background-color .14s,color .14s;display:grid}.collapse-button{width:30px;height:30px}.collapse-button svg,.icon-button svg{width:18px;height:18px}.collapse-button:hover,.icon-button:hover,.workspace-action:hover,.sidebar-expand:hover{background:var(--sidebar-hover);color:var(--text)}.new-session-button{justify-content:center;align-items:center;gap:calc(var(--spacing-1) * 2);border:1px solid var(--border-strong);background:var(--page);border-radius:19px;flex-shrink:0;width:calc(100% - 4px);height:38px;margin:8px 2px 10px;font-weight:550;display:flex}.new-session-button:hover{background:oklch(99% .004 248);border-color:oklch(78% .018 248)}.new-session-button svg{width:17px;height:17px}.workspace-heading{min-height:calc(var(--spacing-1) * 8);justify-content:space-between;align-items:center;padding:0 4px 0 8px;display:flex}.workspace-heading-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:650}.workspace-actions{gap:calc(var(--spacing-1) * .5);display:flex}.icon-button{width:28px;height:28px}.session-search{align-items:center;gap:calc(var(--spacing-1) * 1.5);flex:1;min-width:0;display:none}.session-search>svg{width:14px;height:14px;color:var(--subtle)}.session-search input{border-style:var(--tw-border-style);outline-style:var(--tw-outline-style);min-width:0;height:28px;color:var(--text);background-color:#0000;border-width:0;outline-width:0;flex:1;font-size:12px}.session-search button{width:calc(var(--spacing-1) * 6);height:calc(var(--spacing-1) * 6);border-style:var(--tw-border-style);color:var(--subtle);background-color:#0000;border-width:0;place-items:center;display:grid}.session-search button svg{width:14px;height:14px}.workspace-heading.is-searching .session-search{display:flex}.workspace-heading.is-searching .workspace-heading-label,.workspace-heading.is-searching .workspace-actions{display:none}.workspace-tree{min-height:0;padding-block:var(--spacing-1);scrollbar-width:thin;scrollbar-color:oklch(58% .02 250/.45) transparent;flex:1;overflow-y:auto}.workspace-group{margin-bottom:3px}.workspace-button{min-width:0;height:34px;color:var(--muted);cursor:pointer;border-radius:6px;align-items:center;display:flex}.workspace-button:hover{background:var(--sidebar-hover);color:var(--text)}.workspace-label{border-style:var(--tw-border-style);text-align:left;background-color:#0000;border-width:0;flex:1;align-items:center;min-width:0;height:100%;display:flex}.workspace-toggle{height:100%;width:calc(var(--spacing-1) * 7);border-style:var(--tw-border-style);background-color:#0000;border-width:0;flex-shrink:0;place-items:center;display:grid}.workspace-chevron{font-size:15px;transition:transform .14s;display:block;transform:rotate(0)}.workspace-group.collapsed .workspace-chevron{transform:rotate(-90deg)}.workspace-button strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden}.workspace-row-actions{align-items:center;display:flex}.workspace-action{width:27px;height:27px}.workspace-action svg{width:14px;height:14px}.menu-action-button{width:27px!important;min-width:27px!important;height:27px!important;color:var(--muted)!important;padding:0!important}.menu-action-button svg{width:14px;height:14px}.workspace-sessions{display:grid}.workspace-group.collapsed .workspace-sessions{display:none}.session-row{align-items:center;min-width:0;display:flex;position:relative}.session{align-items:center;gap:calc(var(--spacing-1) * 2);border-style:var(--tw-border-style);text-align:left;min-width:0;height:34px;color:var(--muted);background-color:#0000;border-width:0;border-radius:6px;flex:1;padding:0 8px 0 29px;display:flex}.session:hover{background:var(--sidebar-hover);color:var(--text)}.session.active{background:var(--sidebar-active);color:var(--text)}.session-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.session-time{color:inherit;flex:none;font-size:10.5px}.session-row>.astryx-menu-trigger{right:var(--spacing-1);opacity:0;pointer-events:none;position:absolute}.session-row:hover>.astryx-menu-trigger,.session-row:focus-within>.astryx-menu-trigger{opacity:1;pointer-events:auto}.session-row:hover .session-time,.session-row:focus-within .session-time{visibility:hidden}.empty{min-height:32px;color:var(--muted);padding:7px 10px 7px 29px;font-size:12px}.sidebar-expand{top:calc(var(--spacing-1) * 2);left:calc(var(--spacing-1) * 2);z-index:30;width:40px;height:40px;position:fixed}.sidebar-expand svg{width:19px;height:19px}@media not all and (width<=760px){.sidebar-collapsed .session-sidebar{align-items:center;padding:8px}.sidebar-collapsed .sidebar-brand,.sidebar-collapsed .workspace-heading,.sidebar-collapsed .workspace-tree,.sidebar-collapsed .session-view-switch,.sidebar-collapsed .sidebar-scope-note{display:none}.sidebar-collapsed .new-session-button{background:0 0;border-color:#0000;border-radius:6px;width:40px;height:40px;margin:48px 0 0;padding:0}.sidebar-collapsed .new-session-button span{display:none}.sidebar-collapsed .new-session-button:hover{background:var(--sidebar-hover)}}.conversation-shell{grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;position:relative;container:conversation-shell/inline-size}.conversation-shell:not(.landing){background-image:linear-gradient(90deg,#0000,oklch(97.8% .021 91/.88) 90px calc(100% - 90px),#0000);background-position:50%;background-repeat:no-repeat;background-size:min(1020px,100%) 100%}.conversation-shell.landing{grid-template-rows:minmax(0,1fr)}.landing .conversation,.landing .composer-dock{grid-area:1/1}.conversation{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:oklch(58% .02 250/.45) transparent;min-height:0;overflow-y:auto}.landing-conversation{pointer-events:none;place-items:center;display:grid}.landing-welcome{text-align:center;padding:0 24px;transform:translateY(-110px)}.landing-brand{border-style:var(--tw-border-style);pointer-events:auto;background-color:#0000;border-width:0;justify-content:center;align-items:center;display:flex}.landing-brand .brand-lockup{align-items:flex-end;font-size:44px;animation:2.1s cubic-bezier(.22,1,.36,1) both brand-lockup}.landing-brand .brand-word{opacity:0;animation:2.1s cubic-bezier(.22,1,.36,1) both brand-word-slide;display:inline-block}.landing-brand .pixel-mark{width:66px;height:55px;margin-left:4px;animation:2.1s cubic-bezier(.22,1,.36,1) both pixel-nudge;display:inline-block;position:relative}.landing-brand .pixel-mark i{background-color:var(--piece,currentColor);border-radius:2px;width:11px;height:11px;animation:.35s cubic-bezier(.22,1,.36,1) both pixel-drop,2.1s both piece-to-ink;display:block;position:absolute}.landing-brand .pixel-mark i:after{content:"";border-radius:2px;animation:2.1s both piece-texture-fade;position:absolute;inset:0;box-shadow:inset 0 2px oklch(99% 0 0/.3),inset 0 -2px oklch(0% 0 0/.16),inset 2px 0 oklch(99% 0 0/.12),inset -2px 0 oklch(0% 0 0/.08)}.landing-brand .pixel-mark i:first-child{top:0;left:11px}.landing-brand .pixel-mark i:nth-child(2){top:0;left:22px}.landing-brand .pixel-mark i:nth-child(3){top:0;left:33px}.landing-brand .pixel-mark i:nth-child(4){top:11px;left:33px}.landing-brand .pixel-mark i:nth-child(5){top:11px;left:11px}.landing-brand .pixel-mark i:nth-child(6){top:22px;left:11px}.landing-brand .pixel-mark i:nth-child(7){top:22px;left:22px}.landing-brand .pixel-mark i:nth-child(8){top:33px;left:11px}.landing-brand .pixel-mark i:nth-child(9){top:22px;left:44px}.landing-brand .pixel-mark i:nth-child(10){top:33px;left:44px}.landing-brand .pixel-mark i:nth-child(11){top:44px;left:44px}.landing-brand .pixel-mark i:nth-child(12){top:44px;left:55px}.landing-brand .pixel-mark i:nth-child(13){top:44px;left:0}.landing-brand .pixel-mark i:nth-child(14){top:44px;left:11px}.landing-brand .pixel-mark i:nth-child(15){top:44px;left:22px}.landing-brand .pixel-mark i:nth-child(16){top:44px;left:33px}.landing-brand .pixel-mark i:nth-child(5),.landing-brand .pixel-mark i:nth-child(6),.landing-brand .pixel-mark i:nth-child(7),.landing-brand .pixel-mark i:nth-child(8){--piece:oklch(55% .105 37);animation-delay:.25s,0s}.landing-brand .pixel-mark i:first-child,.landing-brand .pixel-mark i:nth-child(2),.landing-brand .pixel-mark i:nth-child(3),.landing-brand .pixel-mark i:nth-child(4){--piece:oklch(52% .083 252);animation-delay:.5s,0s}.landing-brand .pixel-mark i:nth-child(9),.landing-brand .pixel-mark i:nth-child(10),.landing-brand .pixel-mark i:nth-child(11),.landing-brand .pixel-mark i:nth-child(12){--piece:oklch(66% .08 111);animation-delay:.75s,0s}.landing-brand .pixel-mark i:nth-child(13),.landing-brand .pixel-mark i:nth-child(14),.landing-brand .pixel-mark i:nth-child(15),.landing-brand .pixel-mark i:nth-child(16){--piece:oklch(69% .116 78)}.landing-brand .pixel-mark i:nth-child(11),.landing-brand .pixel-mark i:nth-child(12),.landing-brand .pixel-mark i:nth-child(13),.landing-brand .pixel-mark i:nth-child(14),.landing-brand .pixel-mark i:nth-child(15),.landing-brand .pixel-mark i:nth-child(16){opacity:0;animation:2.1s both pixel-doomed}.landing-brand .pixel-mark i:nth-child(11),.landing-brand .pixel-mark i:nth-child(12){animation-name:pixel-doomed-late}.landing-brand .pixel-mark i:nth-child(13){--dx:-12px;--rot:-22deg}.landing-brand .pixel-mark i:nth-child(14){--dx:-8px;--rot:-12deg}.landing-brand .pixel-mark i:nth-child(15){--dx:-3px;--rot:-5deg}.landing-brand .pixel-mark i:nth-child(16){--dx:3px;--rot:6deg}.landing-brand .pixel-mark i:nth-child(11){--dx:8px;--rot:14deg}.landing-brand .pixel-mark i:nth-child(12){--dx:13px;--rot:24deg}@keyframes pixel-drop{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:none}}@keyframes piece-to-ink{0%,72%{background-color:var(--piece,currentColor)}86%,to{background-color:currentColor}}@keyframes piece-texture-fade{0%,72%{opacity:1}86%,to{opacity:0}}@keyframes pixel-doomed{0%{opacity:0;transform:translateY(-40px)}13%,60%{opacity:1;transform:none}74%{opacity:.9;transform:translate(var(--dx), 14px) rotate(var(--rot)) scale(.85)}to{opacity:0;transform:translate(calc(var(--dx) * 2.5), 44px) rotate(calc(var(--rot) * 1.5)) scale(.5)}}@keyframes pixel-doomed-late{0%,33%{opacity:0;transform:translateY(-40px)}44%,60%{opacity:1;transform:none}74%{opacity:.9;transform:translate(var(--dx), 14px) rotate(var(--rot)) scale(.85)}to{opacity:0;transform:translate(calc(var(--dx) * 2.5), 44px) rotate(calc(var(--rot) * 1.5)) scale(.5)}}@keyframes brand-word-slide{0%,55%{opacity:0;transform:translate(-64px)}62%{opacity:1;transform:translate(2px)}70%,to{opacity:1;transform:none}}@keyframes brand-lockup{0%,56%{transform:translate(-52px)}64%{transform:translate(-38px)}90%,to{transform:none}}@keyframes pixel-nudge{0%,60%{transform:none}65%{transform:translateY(13px)}71%{transform:translateY(11px)}82%,to{transform:translate(-11px,11px)}}.message-row{width:min(820px,100% - 48px);margin-inline:auto;padding:18px 0 26px;position:relative}.message-row.user{justify-content:flex-end;padding-top:26px;display:flex}.message-row.assistant{width:min(840px,100% - 48px);padding:6px 0}.message-row.detail-only{padding:6px 0}.message-content{min-width:0;max-width:min(78%,620px)}.message-row.assistant .message-content{width:100%;max-width:none}.message-body{color:var(--text);overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px;line-height:1.7}.message-row.user .message-body{background:var(--sidebar-active);border-radius:18px;padding:9px 15px;box-shadow:inset 0 0 0 1px oklch(72% .06 85/.2)}.markdown{color:var(--text);overflow-wrap:anywhere;font-size:14px;line-height:1.7}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:0 0 12px}.markdown h1,.markdown h2,.markdown h3,.markdown h4{color:var(--text);margin:18px 0 8px;font-weight:650;line-height:1.3}.markdown h1{font-size:1.45em}.markdown h2{font-size:1.3em}.markdown h3{font-size:1.15em}.markdown ul,.markdown ol{margin:0 0 12px;padding-left:24px}.markdown li+li{margin-top:4px}.markdown blockquote{border:1px solid var(--border-strong);color:var(--muted);background:oklch(97% .006 249);border-radius:6px;margin:0 0 12px;padding:8px 14px}.markdown hr{border:0;border-top:1px solid var(--border);margin:18px 0}.markdown a{color:var(--accent);text-underline-offset:2px;-webkit-text-decoration:underline oklch(51.6% .151 253/.35);text-decoration:underline oklch(51.6% .151 253/.35)}.markdown code{color:oklch(35% .02 249);background:oklch(95.5% .008 249);border:1px solid oklch(86.8% .014 248/.55);border-radius:5px;padding:2px 5px;font:.9em ui-monospace,SFMono-Regular,Menlo,monospace}.markdown pre{border:1px solid var(--border);background:oklch(96.8% .006 249/.9);border-radius:8px;margin:0 0 14px;padding:12px 14px;overflow-x:auto}.markdown pre code{color:var(--text);white-space:pre;background:0 0;border:0;padding:0;font-size:12px}.markdown table{border-collapse:collapse;width:100%;margin:0 0 14px;font-size:.95em}.markdown th,.markdown td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:7px 9px}.markdown th{background:oklch(96% .007 249);font-weight:650}.markdown input[type=checkbox]{accent-color:var(--accent);margin-right:7px}.message-details{width:min(820px,100% - 4px);color:var(--muted);margin:4px auto}.message-details summary{min-height:calc(var(--spacing-1) * 9);align-items:center;gap:calc(var(--spacing-1) * 2);cursor:pointer;border-radius:7px;padding:5px 8px;font-size:12.5px;list-style:none;display:flex}.message-details summary::-webkit-details-marker{display:none}.tool-group summary::-webkit-details-marker{display:none}.message-details summary:hover{color:var(--text);background:oklch(95% .008 249/.72)}.details-mark{border-bottom:1.5px solid;border-right:1.5px solid;flex:none;width:8px;height:8px;transition:transform .14s;transform:rotate(-45deg)}.message-details[open] .details-mark,.tool-group[open]>summary .details-mark{transform:rotate(45deg)}.details-body{color:oklch(42% .018 249);white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 8px 9px 38px;font-size:12px;line-height:1.6}.tool-icon{background:oklch(55% .02 249/.1);border-radius:6px;flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.tool-icon svg{width:13px;height:13px}.details-title{align-items:baseline;gap:calc(var(--spacing-1) * 2);flex:1;min-width:0;display:flex}.tool-name{color:var(--text);flex-shrink:0;font-size:12.5px;font-weight:600}.tool-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font:11.5px ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.tool-evidence{border:1px solid var(--border);background:oklch(97% .006 249/.75);border-radius:6px;max-height:440px;padding:9px 10px;overflow:auto}.status-mark{flex-shrink:0;width:14px;height:14px}.status-mark.done{color:var(--healthy)}.status-mark.error{color:var(--error)}.status-mark.warn{color:var(--warning)}.status-mark.running{justify-content:center;align-items:center;display:flex}.status-mark.running i,.activity-chip-dot,.conversation-running-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.5s ease-out infinite conversation-pulse}.tool-line.error .tool-icon{color:var(--error);background:oklch(50% .18 28/.09)}.tool-line-empty{min-height:calc(var(--spacing-1) * 8);align-items:center;gap:calc(var(--spacing-1) * 2);color:var(--muted);padding:3px 8px;display:flex}.tool-group{border:1px solid var(--border);width:min(820px,100% - 48px);color:var(--muted);background:oklch(99% .004 249/.5);border-radius:8px;margin:6px auto;overflow:hidden}.tool-group>summary{min-height:calc(var(--spacing-1) * 9);align-items:center;gap:calc(var(--spacing-1) * 2);cursor:pointer;padding:5px 10px;font-size:12.5px;list-style:none;display:flex}.tool-group>summary:hover{background:oklch(95% .008 249/.72)}.tool-group-icons{align-items:center;gap:var(--spacing-1);display:flex}.tool-group-icons svg{width:13px;height:13px}.tool-group-body{border-top:1px solid var(--border);padding:4px 10px}.tool-group-body .message-row{width:100%;padding:0}.activity-card{border:1px solid var(--border);background:oklch(99% .004 249/.6);border-radius:8px;overflow:hidden}.activity-card summary{min-height:44px;padding:7px 10px}.activity-card .details-mark{order:3}.activity-icon{border-radius:7px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.activity-icon svg{width:16px;height:16px}.activity-card.subagent .activity-icon{color:var(--accent);background:oklch(52% .15 253/.1)}.activity-card.workflow .activity-icon{color:oklch(55% .09 310);background:oklch(55% .09 310/.12)}.activity-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.activity-title,.activity-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-title{color:var(--text);font-weight:550}.activity-meta{color:var(--subtle);font-size:11px}.activity-card .details-body{margin-left:48px}.activity-bar{gap:calc(var(--spacing-1) * 1.5);flex-wrap:wrap;width:100%;max-width:840px;margin-inline:auto;padding:0 15px 2px;display:flex}.activity-chip{align-items:center;gap:calc(var(--spacing-1) * 1.5);border:1px solid var(--border);min-width:0;max-width:320px;color:var(--muted);background:oklch(99% .004 249/.78);border-radius:999px;padding:3px 10px;font-size:11.5px;display:flex}.activity-chip>svg{width:12px;height:12px}.activity-chip-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-chip.more{color:var(--subtle)}.activity-chip.done>svg{color:var(--healthy)}.activity-chip.error>svg{color:var(--error)}.conversation-running{align-items:center;gap:calc(var(--spacing-1) * 2);width:min(840px,100% - 48px);color:var(--muted);margin-inline:auto;margin-bottom:18px;font-size:12px;display:flex}@keyframes conversation-pulse{70%{box-shadow:0 0 0 6px oklch(52% .15 253/0)}to{box-shadow:0 0 oklch(52% .15 253/0)}}.switching{align-items:center;display:flex}.message-actions{margin-top:var(--spacing-1);height:calc(var(--spacing-1) * 6);justify-content:flex-end;align-items:center;gap:var(--spacing-1);color:var(--subtle);opacity:0;font-size:10.5px;transition:opacity .12s;display:flex}.message-row:hover>.message-actions,.message-row:focus-within>.message-actions{opacity:1}.message-actions.copy-failed{opacity:1;flex-wrap:wrap;height:auto;min-height:24px}.copy-error{text-align:right;flex-basis:100%}.message-actions button{width:calc(var(--spacing-1) * 6);height:calc(var(--spacing-1) * 6);border-style:var(--tw-border-style);background-color:#0000;border-width:0;border-radius:5px;place-items:center;display:grid}.message-actions button:hover{color:var(--text);background:oklch(95% .008 249)}.message-actions svg{width:13px;height:13px}.message-editor{width:min(100%,620px);margin-left:auto}.message-editor textarea{resize:vertical;border:1px solid var(--border-strong);background:var(--page);border-radius:14px;outline:0;width:100%;min-height:52px;max-height:220px;padding:10px 14px}.message-edit-actions{margin-top:calc(var(--spacing-1) * 2);justify-content:flex-end;gap:calc(var(--spacing-1) * 2);display:flex}.message-edit-actions button{border:1px solid var(--border-strong);background:var(--page);border-radius:15px;height:30px;padding:0 14px;font-size:12.5px}.message-edit-actions .confirm{border-color:var(--text);background:var(--text);color:var(--page)}.turn-rail{z-index:10;gap:calc(var(--spacing-1) * .5);border:1px solid #0000;border-radius:8px;flex-direction:column;width:16px;max-height:70%;padding:4px 2px;transition:width .16s,background-color .16s,border-color .16s;display:flex;position:absolute;top:50%;right:24px;overflow-y:auto;transform:translateY(-50%)}.turn-rail:hover,.turn-rail:focus-within{border-color:var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:oklch(99% .004 249/.92);width:240px;padding:6px;box-shadow:0 12px 28px oklch(26% .02 249/.14)}.turn-tick{align-items:center;gap:calc(var(--spacing-1) * 2);border-style:var(--tw-border-style);background-color:#0000;border-width:0;border-radius:6px;width:100%;padding:3px 4px;display:flex}.turn-tick:hover{background:oklch(95% .008 249)}.turn-tick-mark{background:var(--subtle);border-radius:1px;flex:none;width:8px;height:2px}.turn-tick-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:12px;display:none;overflow:hidden}.turn-rail:hover .turn-tick-label,.turn-rail:focus-within .turn-tick-label{display:block}@container conversation-shell (width<=960px){.turn-rail{display:none}}.composer-dock{align-items:center;gap:calc(var(--spacing-1) * 2);flex-direction:column;padding:12px 24px 22px;display:flex}.prompt-recovery{justify-content:space-between;align-items:center;gap:calc(var(--spacing-1) * 4);width:100%;max-width:840px;color:var(--text);background:oklch(98% .025 88);border:1px solid oklch(74% .11 78);border-radius:8px;margin-inline:auto;padding:10px 12px;font-size:12px;display:flex}.prompt-recovery>div:first-child{gap:calc(var(--spacing-1) * .5);flex-direction:column;min-width:0;display:flex}.prompt-recovery strong{font-size:13px}.prompt-recovery span{color:var(--muted)}.prompt-recovery-actions{align-items:center;gap:calc(var(--spacing-1) * 2);flex-shrink:0;display:flex}.prompt-recovery-actions button{border-style:var(--tw-border-style);color:var(--muted);background:0 0;border-width:0;border-radius:6px;padding:6px 9px}.prompt-recovery-actions button:hover:not(:disabled){color:var(--text);background:oklch(93% .025 82)}.prompt-recovery-actions button.primary{background:var(--text);color:var(--page)}.prompt-recovery-actions button:disabled{opacity:.55}.landing .composer-dock{z-index:10;inset-inline:0;align-items:stretch;width:100%;padding:0 24px;position:absolute;top:calc(50% - 81px)}.workspace-picker-row{align-items:center;width:100%;min-width:0;max-width:840px;margin-inline:auto;padding-left:15px;display:flex;position:relative}.workspace-picker{max-width:260px!important;height:36px!important;color:var(--text)!important;box-shadow:none!important;background:0 0!important;border-radius:18px!important}.workspace-picker:hover,.workspace-picker[aria-expanded=true]{background:var(--sidebar-active)!important}.workspace-picker svg{width:15px;height:15px}.composer{border:1px solid var(--border-strong);background:var(--page);border-radius:18px;flex-direction:column;width:100%;max-width:840px;min-height:118px;margin-inline:auto;padding:13px 13px 10px;transition:border-color .16s,box-shadow .16s;display:flex;position:relative;box-shadow:0 8px 26px oklch(42% .06 251/.1)}.dormant-overlay{z-index:10;border-style:var(--tw-border-style);background-color:#0000;border-width:0;border-radius:18px;position:absolute;inset:0}.composer:focus-within{border-color:oklch(84% .04 87);box-shadow:0 0 0 2px oklch(84% .04 87/.28),0 8px 26px oklch(40% .04 87/.1)}.composer.dormant{box-shadow:none;cursor:pointer;border-style:dashed}.composer.dormant:hover{border-color:oklch(66% .018 249)}.composer textarea{border-style:var(--tw-border-style);outline-style:var(--tw-outline-style);resize:none;width:100%;min-width:0;min-height:52px;max-height:220px;color:var(--text);background-color:#0000;border-width:0;outline-width:0;flex:none;padding:0 2px;font-size:14px;line-height:1.55}.composer textarea::placeholder{color:var(--muted)}.slash-command-menu{z-index:30;border:1px solid var(--border-strong);background:var(--page);border-radius:8px;max-height:min(360px,48vh);position:absolute;bottom:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 34px oklch(26% .02 249/.18)}.landing .slash-command-menu{max-height:min(224px, 32vh, var(--slash-command-available-height,224px));top:calc(100% + 8px);bottom:auto}.landing .slash-command-menu[data-placement=above]{top:auto;bottom:calc(100% + 8px)}.slash-command-option{align-items:center;gap:calc(var(--spacing-1) * 3);border-style:var(--tw-border-style);text-align:left;width:100%;min-width:0;min-height:56px;color:var(--text);background:0 0;border-width:0;padding:8px 11px;display:flex}.slash-command-option+.slash-command-option{border-top:1px solid var(--border)}.slash-command-option[aria-selected=true]{background:var(--sidebar-active)}.slash-command-option:disabled{cursor:not-allowed;color:var(--subtle)}.slash-command-option:disabled[aria-selected=true]{background:var(--sidebar-hover)}.slash-command-icon{background:var(--sidebar);width:28px;height:28px;color:var(--muted);border-radius:6px;flex-shrink:0;place-items:center;display:grid}.slash-command-icon svg{width:15px;height:15px}.slash-command-copy{min-width:0;color:var(--muted);overflow-wrap:anywhere;flex-direction:column;flex:1;gap:2px;font-size:12px;line-height:1.35;display:flex}.slash-command-heading{align-items:baseline;column-gap:calc(var(--spacing-1) * 2);flex-wrap:wrap;min-width:0;display:flex}.slash-command-heading strong{color:var(--text);font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace}.slash-command-heading>span{color:var(--subtle);font-size:11px}.slash-command-option:disabled .slash-command-heading strong{color:var(--muted)}.slash-command-support{max-width:132px;color:var(--subtle);text-align:right;flex-shrink:0;font-size:11px}.slash-command-state{min-height:58px;color:var(--muted);flex-direction:column;justify-content:center;gap:3px;padding:10px 13px;font-size:12px;display:flex}.slash-command-state strong{color:var(--text);font-weight:600}.slash-command-bounded{border-top:1px solid var(--border);color:var(--subtle);padding:7px 11px;font-size:11px}.composer-toolbar{margin-top:calc(var(--spacing-1) * 2);justify-content:flex-end;align-items:center;gap:calc(var(--spacing-1) * 2);min-width:0;display:flex}.model-picker-wrap{z-index:11;min-width:0;max-width:48%;position:relative}.model-picker{min-width:150px!important;max-width:100%!important;height:auto!important;min-height:34px!important;color:var(--muted)!important;box-shadow:none!important;background:0 0!important;padding:0 9px 0 10px!important}.model-picker-label,.model-menu-item-label{overflow-wrap:anywhere;white-space:normal;min-width:0;display:block}.model-picker:hover,.model-picker[aria-expanded=true]{color:var(--text)!important;background:oklch(97% .006 249)!important}.model-picker svg{width:14px;height:14px}.model-selector,.model-selector>div{min-width:150px;max-width:100%}.model-selector>div>button{min-width:0;max-width:100%;color:var(--muted);font:inherit;padding:0 9px 0 10px}.model-selector>div>button:hover,.model-selector>div>button[aria-expanded=true]{color:var(--text)}.model-search-panel{border:1px solid var(--border-strong);background:var(--page);width:min(360px,100vw - 32px);max-height:min(420px,60dvh);color:var(--text);border-radius:8px;padding:8px;overflow:auto;box-shadow:0 12px 30px oklch(25% .03 249/.18)}.model-search-panel.searchable{min-height:156px}.model-search-truncation,.model-search-status{color:var(--muted);margin:3px 4px 8px;font-size:12px;line-height:1.45}.model-search-error{color:var(--error)}.model-search-input{align-items:center;gap:calc(var(--spacing-1) * 2);border:1px solid var(--border);background:var(--sidebar);border-radius:6px;min-height:34px;padding:0 9px;display:flex}.model-search-input svg{width:14px;height:14px;color:var(--muted);flex:none}.model-search-input input{width:100%;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;font-size:12px}.model-search-options{align-content:start;gap:2px;min-height:36px;margin-top:6px;display:grid}.model-search-option{justify-content:space-between;align-items:center;gap:calc(var(--spacing-1) * 3);width:100%;min-width:0;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:8px 9px;display:flex}.model-search-option:hover,.model-search-option:focus-visible{background:var(--sidebar-hover);outline:0}.model-search-option svg{flex:none;width:14px;height:14px}.thinking-picker-wrap{z-index:11;flex:none;position:relative}.thinking-picker{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;color:var(--muted)!important;box-shadow:none!important;background:0 0!important;border-radius:50%!important;padding:0!important}.thinking-picker:hover,.thinking-picker[aria-expanded=true]{color:var(--text)!important;background:oklch(97% .006 249)!important}.thinking-picker:disabled{opacity:.55}.thinking-picker svg{width:17px;height:17px}.thinking-picker-wrap[data-level=off] .thinking-picker{color:var(--subtle)!important}.thinking-picker-wrap[data-level=minimal] .thinking-picker{color:oklch(58% .06 249)!important}.thinking-picker-wrap[data-level=low] .thinking-picker{color:oklch(55% .09 249)!important}.thinking-picker-wrap[data-level=medium] .thinking-picker{color:oklch(52% .11 168)!important}.thinking-picker-wrap[data-level=high] .thinking-picker{color:oklch(52% .13 74)!important}.thinking-picker-wrap[data-level=xhigh] .thinking-picker,.thinking-picker-wrap[data-level=max] .thinking-picker{color:oklch(48% .16 32)!important}.thinking-picker-wrap[data-warning=true] .thinking-picker{color:var(--warning)!important}.thinking-picker-wrap[data-pending=true] .thinking-picker{animation:1.1s ease-in-out infinite thinking-picker-pulse}@keyframes thinking-picker-pulse{0%,to{opacity:1}50%{opacity:.45}}.send-button{border-style:var(--tw-border-style);background:var(--sidebar);border-width:0;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;transition:background-color .14s,transform .1s;display:grid}.send-button:hover:not(:disabled){background:var(--sidebar-hover)}.send-button:active:not(:disabled){transform:scale(.92)}.send-button:disabled{color:var(--subtle);opacity:.65}.send-button svg{width:17px;height:17px}.composer-hint{display:none}.notice{bottom:calc(var(--spacing-1) * 4);z-index:40;max-width:var(--container-xl);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);align-items:center;gap:calc(var(--spacing-1) * 3);background:var(--page);color:var(--error);border:1px solid oklch(70% .11 28);border-radius:6px;padding:9px 10px 9px 14px;font-size:12px;display:flex;position:absolute;left:50%;box-shadow:0 12px 32px oklch(26% .02 249/.18)}.notice button{width:calc(var(--spacing-1) * 6);height:calc(var(--spacing-1) * 6);border-style:var(--tw-border-style);background-color:#0000;border-width:0;place-items:center;display:grid}.notice svg{width:14px;height:14px}.mobile-header{display:none}.connection-state{align-items:center;gap:calc(var(--spacing-1) * 1.5);color:var(--healthy);font-size:11px}.connection-state:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.connection-state.reconnecting{color:var(--warning)}.connection-state.unavailable{color:var(--error)}.sidebar-scrim{display:none}.openpi-dialog{gap:calc(var(--spacing-1) * 4);color:var(--text);padding:20px;display:grid}.openpi-dialog strong{font-size:15px;font-weight:650}.openpi-dialog p{color:var(--muted);margin:0;font-size:13px;line-height:1.65}.openpi-dialog input{border:1px solid var(--border-strong);background:var(--page);border-radius:5px;width:100%;height:38px;padding:0 10px}.dialog-actions{justify-content:flex-end;gap:calc(var(--spacing-1) * 2);display:flex}.dialog-actions button{border:1px solid var(--border-strong);background:var(--page);border-radius:5px;height:34px;padding:0 13px}.dialog-actions .primary{border-color:var(--text);background:var(--text);color:var(--page)}.dialog-actions .danger{color:var(--error);border-color:oklch(80% .08 28)}@media (width<=760px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.session-sidebar{visibility:hidden;border-right:1px solid var(--border);background:var(--sidebar);-webkit-backdrop-filter:none;backdrop-filter:none;width:min(86vw,300px);transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.session-sidebar:before{display:none}.sidebar-open .session-sidebar{visibility:visible;transform:translate(0)}.sidebar-expand{display:none}.sidebar-scrim{z-index:10;border-style:var(--tw-border-style);background:oklch(20% .02 249/.28);border-width:0;position:fixed;inset:0}.sidebar-open .sidebar-scrim{display:block}.mobile-header{pointer-events:none;z-index:10;display:block;position:absolute;inset:0}.mobile-header>button{pointer-events:auto;top:calc(var(--spacing-1) * 3);left:calc(var(--spacing-1) * 3);border-style:var(--tw-border-style);background:oklch(99% .004 249/.88);border-width:0;border-radius:6px;place-items:center;width:34px;height:34px;display:grid;position:fixed}.mobile-header>button svg{width:19px;height:19px}.mobile-header .connection-state{top:calc(var(--spacing-1) * 4);right:calc(var(--spacing-1) * 3);font-size:0;display:flex;position:absolute}.message-row{width:calc(100% - 28px)}.message-row.assistant,.conversation-running{width:calc(100% - 24px)}.turn-rail{display:none}.composer-dock{padding:10px 12px 12px}.prompt-recovery{flex-direction:column;align-items:stretch}.prompt-recovery-actions{flex-wrap:wrap;justify-content:flex-end}.landing .composer-dock{padding:0 12px;top:calc(50% - 74px)}.landing-welcome{transform:translateY(-96px)}.composer{min-height:104px}.slash-command-option{align-items:flex-start}.slash-command-support{max-width:96px}.notice{width:calc(100% - 24px);bottom:12px}}@media (width<=520px){.composer-toolbar{gap:5px}.model-picker-wrap{flex:auto;max-width:100%}.model-picker{min-width:0!important}}@media (any-pointer:coarse){.session-row>.astryx-menu-trigger{opacity:1;pointer-events:auto}.session-row .session-time{visibility:hidden}.message-actions{opacity:1}}@media (prefers-reduced-motion:reduce){.app-shell,.session-sidebar,.workspace-chevron,.message-actions,.turn-rail,.details-mark{transition:none}.conversation{scroll-behavior:auto}.landing-brand .brand-lockup,.landing-brand .brand-word,.landing-brand .pixel-mark,.landing-brand .pixel-mark i,.landing-brand .pixel-mark i:after{animation:none}.landing-brand .brand-word{opacity:1}.landing-brand .pixel-mark i{background-color:currentColor}.landing-brand .pixel-mark i:after{opacity:0}.status-mark.running i,.activity-chip-dot,.conversation-running-dot,.thinking-picker-wrap[data-pending=true] .thinking-picker{animation:none}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#17191c;--sidebar:#1d2024;--sidebar-hover:#292d32;--sidebar-active:#30353b;--border:#353a40;--border-strong:#48515a;--text:#edf0f2;--muted:#a8b0b8;--subtle:#7f8993;--accent:#74a9e6;--focus:#78aee9;--healthy:#62c795;--error:#ff8c84;--warning:#e5b64f;--grid-minor:#87909908;--grid-major:#87909912;--grid-cross:#8790991c}:root[data-theme=dark] body{background-image:linear-gradient(var(--grid-minor) 1px, transparent 1px), linear-gradient(90deg, var(--grid-minor) 1px, transparent 1px)}:root[data-theme=dark] .session-sidebar{background:var(--sidebar);box-shadow:none;border-color:var(--border)}:root[data-theme=dark] .conversation-shell:not(.landing){background-image:none;background-color:var(--page)}:root[data-theme=dark] .details-body{color:var(--muted)}:root[data-theme=dark] :is(.markdown blockquote,.markdown code,.markdown pre,.markdown th,.tool-evidence,.tool-group,.activity-card,.activity-chip,.mobile-header>button){background:var(--sidebar);color:var(--text);border-color:var(--border)}:root[data-theme=dark] :is(.new-session-button:hover,.message-details summary:hover,.tool-group>summary:hover,.message-actions button:hover,.turn-tick:hover){background:var(--sidebar-hover);border-color:var(--border)}:root[data-theme=dark] :is(.turn-rail:hover,.turn-rail:focus-within){background:var(--page)}:root[data-theme=dark] .model-picker:hover,:root[data-theme=dark] .model-picker[aria-expanded=true],:root[data-theme=dark] .model-selector>div>button:hover,:root[data-theme=dark] .model-selector>div>button[aria-expanded=true]{background:var(--sidebar-hover)!important}:root[data-theme=dark] .slash-command-icon{background:var(--sidebar-hover)}:root[data-theme=dark] .model-picker:hover,:root[data-theme=dark] .model-picker[aria-expanded=true],:root[data-theme=dark] .thinking-picker:hover,:root[data-theme=dark] .thinking-picker[aria-expanded=true]{background:var(--sidebar-hover)!important}.session-view-switch{border:0;border:1px solid var(--border);border-radius:8px;gap:4px;min-width:0;margin:0 12px 8px;padding:4px;display:flex}.session-view-switch button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;flex:1;padding:6px 10px}.session-view-switch button[aria-pressed=true]{background:var(--sidebar-hover);font-weight:600}.sidebar-scope-note{color:var(--muted);margin:4px 18px 10px;font-size:12px;line-height:1.5}.inspection-panel{max-height:min(80dvh,760px);color:var(--text);padding:24px;overflow-y:auto}.inspection-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.inspection-heading h2{margin:0;font-size:18px}.inspection-subtitle{color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0;font-size:12px}.inspection-actions{flex-shrink:0;gap:6px;display:flex}.inspection-section{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.inspection-section h3{margin:0 0 12px;font-size:14px;font-weight:600}.inspection-section dl{grid-template-columns:100px minmax(0,1fr);gap:10px 16px;margin:0;font-size:13px;display:grid}.inspection-section dt{color:var(--muted)}.inspection-section dd{overflow-wrap:anywhere;margin:0}.inspection-section p{font-size:13px;line-height:1.6}.inspection-note,.inspection-updated{color:var(--muted);font-size:12px;line-height:1.6}.inspection-updated{margin:20px 0 0}.inspection-warning{color:var(--text);border-left:2px solid var(--warning);overflow-wrap:anywhere;padding:8px 10px;font-size:13px}.provider-status{overflow-wrap:anywhere;justify-content:space-between;gap:16px;margin:10px 0;font-size:13px;display:flex}.provider-status>:last-child{color:var(--muted);flex-shrink:0}.terminal-evidence{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--sidebar-hover);border-radius:6px;max-height:260px;padding:12px;font-size:12px;line-height:1.6;overflow:auto}button.activity-chip{cursor:pointer;font:inherit}button.activity-chip:hover{filter:brightness(1.15)}@media (width<=600px){.inspection-panel{padding:18px}.inspection-section dl{grid-template-columns:72px minmax(0,1fr);gap:8px}}.conversation-view-switch{z-index:15;background:var(--page);border:0;border-radius:8px;align-self:flex-start;gap:4px;margin:10px 24px 0;padding:3px;display:flex;position:absolute;top:0;left:30px}.conversation-view-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 14px}.conversation-view-switch button[aria-pressed=true]{color:var(--text);background:var(--page);box-shadow:0 1px 3px #0001}.trajectory{flex-direction:column;padding:66px 28px 22px;display:flex;overflow:auto}.trajectory-heading h2{margin:0 0 8px;font-size:20px}.trajectory-heading p{color:var(--muted);margin:6px 0;font-size:12px}.trajectory-overview{flex-shrink:0;gap:6px;padding:14px 0;display:flex;overflow-x:auto}.trajectory-point{border:1px solid var(--border);height:30px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;flex:0 0 30px}.trajectory-point.call{border-radius:6px}.trajectory-point[aria-pressed=true]{background:var(--text);color:var(--page)}.trajectory-body{grid-template-columns:minmax(200px,34%) minmax(0,1fr);align-items:start;gap:24px;display:grid}.trajectory-ledger ol{border-left:1px solid var(--border);margin:0;padding-left:24px}.trajectory-ledger li{color:var(--muted);padding:0 0 8px 2px;font-size:11px}.trajectory-record{text-align:left;width:100%;color:var(--text);cursor:pointer;overflow-wrap:anywhere;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:5px;padding:10px;display:flex}.trajectory-record[aria-pressed=true]{border-color:var(--border);background:var(--sidebar-hover)}.trajectory-kind,.trajectory-preview,.trajectory-metadata{color:var(--muted);font-size:11px}.trajectory-preview{white-space:pre-wrap;max-height:40px;overflow:hidden}.trajectory-inspector{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:12px;min-width:0;padding:20px;position:sticky;top:0}.trajectory-inspector h3{margin:0 0 12px}.trajectory-inspector h4{margin:20px 0 8px;font-size:12px}.trajectory-inspector p{font-size:12px}.trajectory-inspector pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--sidebar-hover);border-radius:6px;max-height:420px;padding:12px;font-size:12px;line-height:1.6;overflow:auto}.trajectory-warning{color:var(--warning);font-size:12px}.tool-evidence-card{border:1px solid var(--border);border-radius:8px;min-width:0;margin:8px 0;overflow:hidden}.tool-evidence-card>summary{cursor:pointer;align-items:center;gap:12px;padding:10px 12px;font-size:12px;display:flex}.tool-evidence-card>summary>span:not(.evidence-status){text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.evidence-status{color:var(--muted);flex-shrink:0;font-size:11px}.evidence-content{border-top:1px solid var(--border);overflow-wrap:anywhere;padding:12px;font-size:12px}.evidence-content pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--sidebar-hover);max-height:360px;padding:10px;line-height:1.65;overflow:auto}.evidence-content h4{margin:12px 0 6px}.evidence-content details>summary{cursor:pointer;padding:8px 0}.evidence-lines>span{white-space:pre;display:block}.evidence-line-number{min-width:4ch;color:var(--muted);-webkit-user-select:none;user-select:none;text-align:right;margin-right:2ch;display:inline-block}.diff-added{background:#1ea0501f}.diff-removed{background:#d23c3c1f}.evidence-warning{color:var(--warning)}.artifact-link{color:var(--accent);cursor:pointer;font:inherit;overflow-wrap:anywhere;background:0 0;border:0;padding:0;text-decoration:underline}.artifact-panel{z-index:60;box-sizing:border-box;border:1px solid var(--border);background:var(--page);width:min(640px,100vw - 32px);color:var(--text);border-radius:12px;padding:20px;position:fixed;inset:16px 16px 16px auto;overflow:auto;box-shadow:0 12px 48px #0003}.artifact-panel header{justify-content:space-between;align-items:center;gap:12px;display:flex}.artifact-panel h2{font-size:18px}.artifact-panel p{overflow-wrap:anywhere;font-size:12px}.artifact-panel button:not(.artifact-link){border:1px solid var(--border);background:var(--sidebar-hover);color:var(--text);cursor:pointer;border-radius:6px;padding:7px 12px}.artifact-panel button:disabled{opacity:.5;cursor:default}.artifact-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:65vh;font-size:12px;line-height:1.7;overflow:auto}.artifact-actions{gap:8px;display:flex}.artifact-revision{color:var(--muted)}.artifact-link-path{color:var(--muted);font-size:11px;text-decoration:none}.trajectory-load{color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;margin-bottom:12px;padding:10px}@media (width<=700px){.trajectory{padding:66px 16px 16px}.trajectory-body{grid-template-columns:1fr;gap:16px}.trajectory-ledger{max-height:200px;overflow:auto}.trajectory-inspector{padding:16px;position:static}.conversation-view-switch{margin-left:16px}}.conversation-shell.has-view:not(.landing){grid-template-rows:auto minmax(0,1fr) auto}.conversation-shell.has-view:not(.landing)>.conversation-view-switch{justify-self:start;position:relative;top:auto;left:auto}.trajectory{padding-top:22px;overflow:hidden}.trajectory-heading{flex-shrink:0}.trajectory-body{flex:1;align-items:stretch;min-height:0;overflow:hidden}.trajectory-ledger{min-height:0;overflow:auto}.trajectory-inspector{min-height:0;position:static;overflow:auto}@media (width<=700px){.conversation-view-switch{margin-left:60px}.trajectory{padding-top:16px}.trajectory-body{grid-template-rows:minmax(80px,30%) minmax(0,1fr)}.trajectory-ledger{max-height:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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} +@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-border-style:solid;--tw-outline-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer reset{:where(*){box-sizing:border-box;border:0 solid}:where(html){-webkit-text-size-adjust:100%;tab-size:4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;line-height:1.5}@media (prefers-color-scheme:dark){:where(html){--lightningcss-light: ;--lightningcss-dark:initial}}:where(body){line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}:where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(h1,h2,h3,h4,h5,h6,p,blockquote,figure,pre,dl,dd){margin:0}:where(a){color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}:where(b,strong){font-weight:bolder}:where(code,kbd,samp,pre){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}:where(small){font-size:80%}:where(sub,sup){vertical-align:baseline;font-size:75%;line-height:0;position:relative}:where(sub){bottom:-.25em}:where(sup){top:-.5em}:where(ol,ul,menu){margin:0;padding:0;list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){vertical-align:middle;display:block}:where(img,video){max-width:100%;height:auto}:where([data-astryx-aspect-ratio-override=cover],[data-astryx-aspect-ratio-override=contain])>:where(*){width:100%;height:100%}:where([data-astryx-aspect-ratio-override=cover])>:where(img,video){object-fit:cover}:where([data-astryx-aspect-ratio-override=contain])>:where(img,video){object-fit:contain}:where(button,input,optgroup,select,textarea){font:inherit;color:inherit;margin:0;padding:0}:where(button,[type=button],[type=reset],[type=submit]){appearance:button;background-color:#0000;background-image:none}:where(button,[role=button]){cursor:pointer}:where(:disabled,[aria-disabled=true]){cursor:default}:where(textarea){resize:vertical}:where(){opacity:1;color:var(--color-text-secondary,#9ca3af);-webkit-appearance:none}:where(fieldset){margin:0;padding:0}:where(legend){padding:0}:where(table){text-indent:0;border-color:inherit;border-collapse:collapse}:where(hr){height:0;color:inherit;border-top-width:1px}:where(summary){display:list-item}:where(dialog){outline:none;padding:0}:where([hidden]){display:none}:where(html){-webkit-tap-highlight-color:transparent}:where(html[data-theme=light]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:where(html[data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:where(html:not([data-theme])){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:where(html:not([data-theme])){--lightningcss-light: ;--lightningcss-dark:initial}}:where([data-astryx-media=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:where([data-astryx-media=light]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@scope([data-astryx-theme=neutral]) to ([data-astryx-theme]){:where(h1,h2,h3,h4,h5,h6){font-family:var(--font-family-heading);color:var(--color-text-primary)}:where(h1){font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:1.3333}:where(h2){font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:1.4}:where(h3){font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1.4118}:where(h4){font-size:var(--font-size-base);font-weight:var(--font-weight-bold);line-height:1.4286}:where(h5){font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.6667}:where(h6){font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.6}:where(p){font-family:var(--font-family-body);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-primary);line-height:1.4286}:where(small){font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-secondary);line-height:1.6667}:where(code,pre){font-family:var(--font-family-code);font-size:var(--font-size-base);line-height:1.4286}:where(hr){border:none;border-top:1px solid var(--color-border)}}}@layer theme{:root,:host{--container-xl:36rem;--font-weight-normal:var(--font-weight-normal);--font-weight-medium:var(--font-weight-medium);--font-weight-semibold:var(--font-weight-semibold);--font-weight-bold:var(--font-weight-bold);--default-font-family:var(--font-family-body);--default-mono-font-family:var(--font-family-code);--color-accent:var(--color-text-accent);--color-overlay:var(--color-overlay);--color-accent-muted:var(--color-accent-muted);--color-on-accent:var(--color-on-accent);--color-neutral:var(--color-neutral);--color-overlay-hover:var(--color-overlay-hover);--color-overlay-pressed:var(--color-overlay-pressed);--color-tint-hover:var(--color-tint-hover);--color-success:var(--color-success);--color-success-muted:var(--color-success-muted);--color-on-success:var(--color-on-success);--color-error:var(--color-error);--color-error-muted:var(--color-error-muted);--color-on-error:var(--color-on-error);--color-warning:var(--color-warning);--color-warning-muted:var(--color-warning-muted);--color-on-warning:var(--color-on-warning);--color-border:var(--color-border);--color-on-dark:var(--color-on-dark);--color-on-light:var(--color-on-light);--color-skeleton:var(--color-skeleton);--color-track:var(--color-track);--color-shadow:var(--color-shadow);--radius-none:var(--radius-none);--radius-full:var(--radius-full)}}@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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration: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:where(:not(iframe)){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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer astryx-base{@property --x---_avatar-group-overlap{syntax:"*";inherits:false}@property --x---_codeblock-gutter-width{syntax:"*";inherits:false}@property --x---_hover-delay{syntax:"*";inherits:false}@property --x---_tab-indicator-bottom{syntax:"*";inherits:false}@property --x---container-max-height{syntax:"*";inherits:false}@property --x---layout-content-width{syntax:"*";inherits:false}@property --x-126w13d{syntax:"*";inherits:false}@property --x-4drmnv{syntax:"*";inherits:false}@property --x-animationDelay{syntax:"*";inherits:false}@property --x-aspectRatio{syntax:"*";inherits:false}@property --x-backgroundColor{syntax:"*";inherits:false}@property --x-borderWidth{syntax:"*";inherits:false}@property --x-bottom{syntax:"*";inherits:false}@property --x-counterReset{syntax:"*";inherits:false}@property --x-fontSize{syntax:"*";inherits:false}@property --x-gap{syntax:"*";inherits:false}@property --x-gridAutoRows{syntax:"*";inherits:false}@property --x-gridTemplateColumns{syntax:"*";inherits:false}@property --x-height{syntax:"*";inherits:false}@property --x-inlineSize{syntax:"*";inherits:false}@property --x-insetInlineEnd{syntax:"*";inherits:false}@property --x-insetInlineStart{syntax:"*";inherits:false}@property --x-marginBlock{syntax:"*";inherits:false}@property --x-marginBlockEnd{syntax:"*";inherits:false}@property --x-marginBlockStart{syntax:"*";inherits:false}@property --x-marginInline{syntax:"*";inherits:false}@property --x-marginInlineEnd{syntax:"*";inherits:false}@property --x-marginInlineStart{syntax:"*";inherits:false}@property --x-maxHeight{syntax:"*";inherits:false}@property --x-maxWidth{syntax:"*";inherits:false}@property --x-minHeight{syntax:"*";inherits:false}@property --x-minWidth{syntax:"*";inherits:false}@property --x-paddingBlock{syntax:"*";inherits:false}@property --x-paddingInline{syntax:"*";inherits:false}@property --x-paddingInlineEnd{syntax:"*";inherits:false}@property --x-paddingInlineStart{syntax:"*";inherits:false}@property --x-qthpiu{syntax:"*";inherits:false}@property --x-sj6hyi{syntax:"*";inherits:false}@property --x-top{syntax:"*";inherits:false}@property --x-transform{syntax:"*";inherits:false}@property --x-WebkitLineClamp{syntax:"*";inherits:false}@property --x-width{syntax:"*";inherits:false}@property --x-1dd27dc{syntax:"*";inherits:true}@property --x-owu7oy{syntax:"*";inherits:true}@keyframes x188b6p3-B{0%{color:inherit}to{color:#0000}}@keyframes xuvekqa-B{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}@keyframes x1tut0r7-B{0%{opacity:.3;transform:rotateX(52deg)scale(.86)}50%{opacity:1;transform:rotateX(0)scale(1)}to{opacity:.3;transform:rotateX(-52deg)scale(.86)}}@keyframes x13kz0yu-B{0%,to{opacity:1}50%{opacity:.5}}@keyframes x18re5ia-B{0%{opacity:0}to{opacity:1}}@keyframes xgnty7z-B{0%{opacity:.25}to{opacity:1}}@keyframes xtut5q7-B{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@keyframes x1k48ry3-B{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes x11lauxq-B{0%{opacity:0;transform:translate(var(--dialog-dir-x,0px),var(--dialog-dir-y,16px)) scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes xu7jd1z-B{0%{opacity:0;transform:translateX(var(--spacing-2)) scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes xwmkjkf-B{0%{opacity:0;transform:translateX(calc(-1 * var(--spacing-2))) scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes x1ahk7ht-B{0%{opacity:0;transform:translateY(var(--spacing-2)) scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes xv1hr86-B{0%{opacity:0;transform:translateY(calc(-1 * var(--spacing-2))) scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes x1b6yrix-B{0%{opacity:0;transform:translateY(var(--spacing-2))}to{opacity:1;transform:translateY(0)}}@keyframes xiylxmw-B{0%{opacity:0;transform:translateY(calc(-1 * var(--spacing-2)))}to{opacity:1;transform:translateY(0)}}@keyframes xqng64z-B{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes x1c2q33o-B{0%{transform:translate(100%)}to{transform:translate(-250%)}}@keyframes xr3m334-B{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes x1xhkexc-B{0%{opacity:0;width:0;margin-inline-end:0}to{opacity:1;width:14px;margin-inline-end:var(--spacing-1)}}:root,.xafi2nm{--border-width:1px}:root,.xj0fimd{--color-accent:var(--lightningcss-light,#0064e0)var(--lightningcss-dark,#2694fe);--color-accent-muted:var(--lightningcss-light,#0082fb33)var(--lightningcss-dark,#0082fb3f);--color-on-accent:#fff;--color-neutral:var(--lightningcss-light,#0536591a)var(--lightningcss-dark,#dfe2e533);--color-background-surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1f1f22);--color-background-body:var(--lightningcss-light,#f1f4f7)var(--lightningcss-dark,#111112);--color-overlay:var(--lightningcss-light,#01122866)var(--lightningcss-dark,#11111299);--color-overlay-hover:var(--lightningcss-light,#0536590c)var(--lightningcss-dark,#ffffff0c);--color-overlay-pressed:var(--lightningcss-light,#05365919)var(--lightningcss-dark,#ffffff19);--color-background-muted:var(--lightningcss-light,#0536590c)var(--lightningcss-dark,#1111127f);--color-text-primary:var(--lightningcss-light,#0a1317)var(--lightningcss-dark,#dfe2e5);--color-text-secondary:var(--lightningcss-light,#4e606f)var(--lightningcss-dark,#aaafb5);--color-text-disabled:var(--lightningcss-light,#a4b0bc)var(--lightningcss-dark,#6f747c);--color-text-accent:var(--lightningcss-light,#0064e0)var(--lightningcss-dark,#3e9efb);--color-on-dark:#fff;--color-on-light:#000;--color-icon-accent:var(--lightningcss-light,#0064e0)var(--lightningcss-dark,#2694fe);--color-icon-primary:var(--lightningcss-light,#0a1317)var(--lightningcss-dark,#dfe2e5);--color-icon-secondary:var(--lightningcss-light,#4e606f)var(--lightningcss-dark,#aaafb5);--color-icon-disabled:var(--lightningcss-light,#a4b0bc)var(--lightningcss-dark,#6f747c);--color-background-card:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1f1f22);--color-background-popover:var(--lightningcss-light,#fff)var(--lightningcss-dark,#28292c);--color-background-inverted:var(--lightningcss-light,#0a1317)var(--lightningcss-dark,#fff);--color-background-error-inverted:var(--lightningcss-light,#aa071e)var(--lightningcss-dark,#e3193b);--color-success:#0d8626;--color-success-muted:var(--lightningcss-light,#0b991f33)var(--lightningcss-dark,#0b991f3f);--color-on-success:#fff;--color-error:var(--lightningcss-light,#e3193b)var(--lightningcss-dark,#f5394f);--color-error-muted:var(--lightningcss-light,#e3193b33)var(--lightningcss-dark,#f5394f3f);--color-on-error:#fff;--color-warning:var(--lightningcss-light,#e9af08)var(--lightningcss-dark,#f2c00b);--color-warning-muted:var(--lightningcss-light,#e2a40033)var(--lightningcss-dark,#e2a4003f);--color-on-warning:#0a1317;--color-border:var(--lightningcss-light,#05365919)var(--lightningcss-dark,#f2f4f619);--color-border-emphasized:var(--lightningcss-light,#ccd3db)var(--lightningcss-dark,#494d53);--color-skeleton:var(--lightningcss-light,#ccd3db)var(--lightningcss-dark,#5a5e66);--color-track:var(--lightningcss-light,#ccd3db)var(--lightningcss-dark,#5a5e66);--color-shadow:var(--lightningcss-light,#0536591a)var(--lightningcss-dark,#0000004d);--color-tint-hover:var(--lightningcss-light,#000)var(--lightningcss-dark,#fff);--color-background-blue:#0171e333;--color-border-blue:var(--lightningcss-light,#0064e0)var(--lightningcss-dark,#2694fe);--color-icon-blue:var(--lightningcss-light,#0064e0)var(--lightningcss-dark,#2694fe);--color-text-blue:var(--lightningcss-light,#042f97)var(--lightningcss-dark,#afd7ff);--color-background-cyan:#03a7d733;--color-border-cyan:var(--lightningcss-light,#089dd0)var(--lightningcss-dark,#0171a4);--color-icon-cyan:var(--lightningcss-light,#00acc1)var(--lightningcss-dark,#26c6da);--color-text-cyan:var(--lightningcss-light,#014975)var(--lightningcss-dark,#a1eef9);--color-background-gray:var(--lightningcss-light,#0a131733)var(--lightningcss-dark,#666a724c);--color-border-gray:var(--lightningcss-light,#647685)var(--lightningcss-dark,#748695);--color-icon-gray:var(--lightningcss-light,#4e606f)var(--lightningcss-dark,#aaafb5);--color-text-gray:var(--lightningcss-light,#0a1317)var(--lightningcss-dark,#e7eaed);--color-background-green:#24bb5e33;--color-border-green:var(--lightningcss-light,#0d8626)var(--lightningcss-dark,#0b991f);--color-icon-green:var(--lightningcss-light,#0d8626)var(--lightningcss-dark,#26a756);--color-text-green:var(--lightningcss-light,#09441f)var(--lightningcss-dark,#a5f690);--color-background-orange:#f2790233;--color-border-orange:var(--lightningcss-light,#eb6e00)var(--lightningcss-dark,#b34a01);--color-icon-orange:var(--lightningcss-light,#e9690b)var(--lightningcss-dark,#fb8c00);--color-text-orange:var(--lightningcss-light,#6b2203)var(--lightningcss-dark,#fdb876);--color-background-pink:#e638b333;--color-border-pink:var(--lightningcss-light,#f351c0)var(--lightningcss-dark,#c02294);--color-icon-pink:var(--lightningcss-light,#c2185b)var(--lightningcss-dark,#ec407a);--color-text-pink:var(--lightningcss-light,#650053)var(--lightningcss-dark,#feade3);--color-background-purple:#7952ff33;--color-border-purple:var(--lightningcss-light,#9081ff)var(--lightningcss-dark,#7340fe);--color-icon-purple:var(--lightningcss-light,#5b08d8)var(--lightningcss-dark,#7952ff);--color-text-purple:var(--lightningcss-light,#3e0697)var(--lightningcss-dark,#b3b0fe);--color-background-red:#e3193b33;--color-border-red:var(--lightningcss-light,#e3193b)var(--lightningcss-dark,#f5394f);--color-icon-red:var(--lightningcss-light,#d31130)var(--lightningcss-dark,#e3193b);--color-text-red:var(--lightningcss-light,#7b0210)var(--lightningcss-dark,#ffb2b8);--color-background-teal:#0db7af33;--color-border-teal:var(--lightningcss-light,#08a3a3)var(--lightningcss-dark,#08767d);--color-icon-teal:var(--lightningcss-light,#009688)var(--lightningcss-dark,#26a69a);--color-text-teal:var(--lightningcss-light,#083943)var(--lightningcss-dark,#40dccd);--color-background-yellow:#e2a40033;--color-border-yellow:var(--lightningcss-light,#c58600)var(--lightningcss-dark,#b47700);--color-icon-yellow:var(--lightningcss-light,#fbc02d)var(--lightningcss-dark,#ffee58);--color-text-yellow:var(--lightningcss-light,#753f07)var(--lightningcss-dark,#fbce03)}:root,.x14lkjui{--duration-fast-min:.13s;--duration-fast:.175s;--duration-fast-max:.23s;--duration-medium-min:.31s;--duration-medium:.41s;--duration-medium-max:.55s;--duration-slow-min:.73s;--duration-slow:.975s;--duration-slow-max:1.3s}:root,.xf09i69{--ease-standard:cubic-bezier(.24, 1, .4, 1)}:root,.xzxs3qz{--focus-outline-width:2px;--focus-outline-style:solid;--focus-outline-color:var(--color-accent);--focus-outline-offset:3px}:root,.x5tdzeq{--font-family-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-code:"SF Mono", Monaco, Consolas, monospace;--font-family-heading:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}:root,.x1q1ms06{--font-size-4xs:.375rem;--font-size-3xs:.4375rem;--font-size-2xs:.5rem;--font-size-xs:.625rem;--font-size-sm:.75rem;--font-size-base:.875rem;--font-size-lg:1.0625rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.8125rem;--font-size-4xl:2.1875rem;--font-size-5xl:2.625rem}:root,.x1ccmotb{--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700}:root,.xrw1vgx{--radius-none:0px;--radius-inner:4px;--radius-element:8px;--radius-container:12px;--radius-page:28px;--radius-chat:28px;--radius-full:9999px}:root,.xua8qm3{--shadow-low:0px 1px 1px var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#0003), 0px 2px 8px var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#0003);--shadow-med:0px 1px 2px var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#0003), 0px 2px 12px var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#0003);--shadow-high:0px 2px 2px var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#0003), 0px 8px 24px var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#0000004d);--shadow-inset-hover:inset 0px 0px 0px 2px var(--lightningcss-light,#05365926)var(--lightningcss-dark,#dfe2e533);--shadow-inset-selected:inset 0px 0px 0px 2px #0171e380;--shadow-inset-success:inset 0px 0px 0px 2px #26a7564d;--shadow-inset-warning:inset 0px 0px 0px 2px #e2a4004d;--shadow-inset-error:inset 0px 0px 0px 2px #e3193b4d}:root,.xkgjyic{--size-element-sm:28px;--size-element-md:32px;--size-element-lg:36px}:root,.x1kvdh9l{--spacing-0:0px;--spacing-0-5:2px;--spacing-1:4px;--spacing-1-5:6px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-7:28px;--spacing-8:32px;--spacing-9:36px;--spacing-10:40px;--spacing-11:44px;--spacing-12:48px}:root,.x1etlgq0{--text-heading-1-size:var(--font-size-2xl);--text-heading-1-weight:var(--font-weight-semibold);--text-heading-1-leading:1.3333;--text-heading-2-size:var(--font-size-xl);--text-heading-2-weight:var(--font-weight-semibold);--text-heading-2-leading:1.4;--text-heading-3-size:var(--font-size-lg);--text-heading-3-weight:var(--font-weight-semibold);--text-heading-3-leading:1.4118;--text-heading-4-size:var(--font-size-base);--text-heading-4-weight:var(--font-weight-semibold);--text-heading-4-leading:1.4286;--text-heading-5-size:var(--font-size-sm);--text-heading-5-weight:var(--font-weight-semibold);--text-heading-5-leading:1.6667;--text-heading-6-size:var(--font-size-xs);--text-heading-6-weight:var(--font-weight-semibold);--text-heading-6-leading:1.6;--text-body-size:var(--font-size-base);--text-body-weight:var(--font-weight-normal);--text-body-leading:1.4286;--text-large-size:var(--font-size-lg);--text-large-weight:var(--font-weight-semibold);--text-large-leading:1.4118;--text-label-size:var(--font-size-base);--text-label-weight:var(--font-weight-medium);--text-label-leading:1.4286;--text-code-size:var(--font-size-base);--text-code-weight:var(--font-weight-normal);--text-code-leading:1.4286;--text-supporting-size:var(--font-size-sm);--text-supporting-weight:var(--font-weight-normal);--text-supporting-leading:1.6667;--text-display-1-size:var(--font-size-5xl);--text-display-1-weight:var(--font-weight-normal);--text-display-1-leading:1.2381;--text-display-2-size:var(--font-size-4xl);--text-display-2-weight:var(--font-weight-normal);--text-display-2-leading:1.2571;--text-display-3-size:var(--font-size-3xl);--text-display-3-weight:var(--font-weight-normal);--text-display-3-leading:1.2414}.xlz5hwt{--_avatar-group-overlap:var(--x---_avatar-group-overlap)}.xdarwi0{--_avatar-radius:var(--radius-element)}.xeincmr{--_avatar-radius:var(--radius-full)}.x877142{--_avatar-radius:var(--radius-none)}.xh8ntw8{--_button-radius:calc(var(--radius-element) - var(--spacing-1))}.xcw7vlg{--_button-radius:max(var(--radius-element),calc(var(--_chat-composer-radius) - var(--_chat-composer-padding)))}.x1rjw8qi{--_button-radius:var(--radius-full)}.xw28qpl{--_card-elevation:0 0 transparent}.xnpe7fx{--_card-elevation:var(--shadow-high)}.x1nn8khe{--_card-elevation:var(--shadow-low)}.x1ovzxg0{--_card-elevation:var(--shadow-med)}.x2kkz0m{--_card-radius:var(--radius-container)}.xr9ms2c{--_card-ring:inset 0 0 0 2px var(--color-accent)}.xgwwt2v{--_card-ring:inset 0 0 0 2px var(--color-border-blue)}.xcdi0x3{--_card-ring:inset 0 0 0 2px var(--color-border-cyan)}.x1m1zkwp{--_card-ring:inset 0 0 0 2px var(--color-border-gray)}.x1485227{--_card-ring:inset 0 0 0 2px var(--color-border-green)}.x1cclxpp{--_card-ring:inset 0 0 0 2px var(--color-border-orange)}.xzs6dn4{--_card-ring:inset 0 0 0 2px var(--color-border-pink)}.x9zgi83{--_card-ring:inset 0 0 0 2px var(--color-border-purple)}.xo8718j{--_card-ring:inset 0 0 0 2px var(--color-border-red)}.xp4e5fy{--_card-ring:inset 0 0 0 2px var(--color-border-teal)}.x1glw7ee{--_card-ring:inset 0 0 0 2px var(--color-border-yellow)}.x3zsw4j{--_card-ring:inset 0 0 0 2px var(--selectable-card-ring-color)}.x18zce08{--_chat-composer-padding:var(--spacing-2)}.xk0ittl{--_chat-composer-padding:var(--spacing-3)}.xx161y6{--_chat-composer-radius:var(--radius-chat)}.xtk08jq{--_codeblock-gutter-width:var(--x---_codeblock-gutter-width)}.x9pmotm{--_conceal-opacity:0}.x1kgmhs9{--_conceal-opacity:1}.xvuvksw{--_dialog-radius:var(--radius-container)}.xgory14{--_dropdown-menu-padding:var(--spacing-1)}.x1fcsqxe{--_dropdown-menu-radius:var(--radius-container)}.x13l1x9d{--_fade-delay:0s}.x1832zxr{--_field-radius:var(--radius-element)}.xgzxwq1{--_focus-outline-offset:0}.x17wzz1v{--_focus-outline:none}.xhg274n{--_hover-delay:0s}.x8xu23y{--_hover-delay:var(--x---_hover-delay)}.xqwz7mz{--_hovercard-radius:var(--radius-container)}.xqxtgf4{--_input-clear-hit-content:none}.xtoycft{--_input-clear-hit-inset:0px}.xqlix59{--_item-description-color:var(--color-error)}.xufyqxy{--_item-label-color:var(--color-error)}.xiki222{--_popover-radius:var(--radius-container)}.xdjmrzf{--_reveal-delay-reduced:0s,0s}.x1dejzja{--_reveal-delay:0s,0s}.x1xiarpw{--_reveal-delay:0s,var(--duration-fast)}.xct0gwe{--_reveal-opacity:0}.x5setjs{--_reveal-opacity:1}.xp0pj8v{--_reveal-position:absolute}.x1r6s5ct{--_reveal-position:static}.x1f17rg1{--_section-padding-propagated:initial}.x2ccaqq{--_section-padding-propagated:var(--spacing-0-5)}.x7mo41q{--_section-padding-propagated:var(--spacing-0)}.xxa843v{--_section-padding-propagated:var(--spacing-1-5)}.x1j3iakl{--_section-padding-propagated:var(--spacing-1)}.x4h2jfd{--_section-padding-propagated:var(--spacing-10)}.xezgk69{--_section-padding-propagated:var(--spacing-2)}.x1wtz8uf{--_section-padding-propagated:var(--spacing-3)}.x5wdj8h{--_section-padding-propagated:var(--spacing-4)}.xgjndll{--_section-padding-propagated:var(--spacing-5)}.x15i4jqh{--_section-padding-propagated:var(--spacing-6)}.xmb9lpv{--_section-padding-propagated:var(--spacing-8)}.x18jk3ff{--_segmented-control-padding:var(--spacing-0-5)}.x9icjy1{--_segmented-control-radius:var(--radius-element)}.x69vvuq{--_spinner-box-size:calc(var(--_spinner-ring-diameter) + var(--_spinner-ring-stroke) * 2)}.x2lq4xu{--_spinner-ring-diameter:var(--spinner-diameter)}.x10qssua{--_spinner-ring-stroke:var(--spinner-stroke-width)}.xficto1{--_tab-indicator-bottom:calc(-1 * (var(--spacing-1) + var(--border-width)))}.xbrl7fg{--_tab-indicator-bottom:var(--x---_tab-indicator-bottom)}.x78b515{--_tab-strip-bleed:0px}.x1kdpo6e{--_textarea-inline-padding:var(--spacing-2)}.x1ur4yav{--_thumbnail-hit-inset:0px}.x87gnkx{--_toast-slide-y:calc(-1 * var(--spacing-2))}.x1heqljd{--_toast-slide-y:var(--spacing-2)}.x16bblx1{--button-focus-offset:var(--focus-outline-offset)}.x1v15ycx{--button-icon-only-aspect:1 / 1}.x1mtvhk1{--color-syntax-background:transparent}.x18nyedi{--container-max-height:var(--x---container-max-height)}.xax9j7h{--container-padding-block-end:0px}.x1omyuck{--container-padding-block-end:var(--astryx-card-padding-block-end,var(--astryx-card-padding,var(--spacing-4)))}.x1gvthzm{--container-padding-block-end:var(--astryx-dialog-padding-block-end,var(--astryx-dialog-padding,var(--spacing-4)))}.xek4msv{--container-padding-block-end:var(--astryx-section-padding-block-end,var(--_section-padding-propagated,var(--astryx-section-padding,var(--spacing-4))))}.xi9ns85{--container-padding-block-end:var(--layout-padding-inner-y,var(--spacing-4))}.x1xjq73n{--container-padding-block-end:var(--layout-padding-outer-y,var(--spacing-4))}.x1cao3zv{--container-padding-block-end:var(--spacing-0-5)}.xkunwnr{--container-padding-block-end:var(--spacing-0)}.xv53x8y{--container-padding-block-end:var(--spacing-1-5)}.x57a7ii{--container-padding-block-end:var(--spacing-1)}.x15vxphk{--container-padding-block-end:var(--spacing-10)}.x4bg2x9{--container-padding-block-end:var(--spacing-11)}.x186mjxr{--container-padding-block-end:var(--spacing-12)}.x1lsgcmx{--container-padding-block-end:var(--spacing-2)}.x1q3ppug{--container-padding-block-end:var(--spacing-3)}.x4hfsld{--container-padding-block-end:var(--spacing-4)}.xbib2ws{--container-padding-block-end:var(--spacing-5)}.x1q8d17g{--container-padding-block-end:var(--spacing-6)}.x1yqogew{--container-padding-block-end:var(--spacing-7)}.x8lgq76{--container-padding-block-end:var(--spacing-8)}.x1f7f9rt{--container-padding-block-end:var(--spacing-9)}.x1047aw6{--container-padding-block-start:0px}.x1rqz8me{--container-padding-block-start:var(--astryx-card-padding-block-start,var(--astryx-card-padding,var(--spacing-4)))}.x1g2kccc{--container-padding-block-start:var(--astryx-dialog-padding-block-start,var(--astryx-dialog-padding,var(--spacing-4)))}.xnw7zt4{--container-padding-block-start:var(--astryx-section-padding-block-start,var(--_section-padding-propagated,var(--astryx-section-padding,var(--spacing-4))))}.xjmgx01{--container-padding-block-start:var(--layout-padding-inner-y,var(--spacing-4))}.xzz8v79{--container-padding-block-start:var(--layout-padding-outer-y,var(--spacing-4))}.xvdf9ev{--container-padding-block-start:var(--spacing-0-5)}.x1i3qcxz{--container-padding-block-start:var(--spacing-0)}.x1kbx601{--container-padding-block-start:var(--spacing-1-5)}.xnsckjb{--container-padding-block-start:var(--spacing-1)}.x17h9kl7{--container-padding-block-start:var(--spacing-10)}.x1rdjxae{--container-padding-block-start:var(--spacing-11)}.xecwdl6{--container-padding-block-start:var(--spacing-12)}.xa8b4fq{--container-padding-block-start:var(--spacing-2)}.x11k4f5r{--container-padding-block-start:var(--spacing-3)}.xm01sq8{--container-padding-block-start:var(--spacing-4)}.xp8wdkl{--container-padding-block-start:var(--spacing-5)}.x1hmud4d{--container-padding-block-start:var(--spacing-6)}.x1c00sag{--container-padding-block-start:var(--spacing-7)}.xfv60at{--container-padding-block-start:var(--spacing-8)}.x14fzdu7{--container-padding-block-start:var(--spacing-9)}.xjsfl84{--container-padding-inline-end:0px}.x1ihxwbr{--container-padding-inline-end:var(--astryx-card-padding-inline-end,var(--astryx-card-padding-inline,var(--astryx-card-padding,var(--spacing-4))))}.x11h1f2o{--container-padding-inline-end:var(--astryx-dialog-padding-inline-end,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,var(--spacing-4))))}.xu1wldr{--container-padding-inline-end:var(--astryx-section-padding-inline-end,var(--astryx-section-padding-inline,var(--_section-padding-propagated,var(--astryx-section-padding,var(--spacing-4)))))}.xikqloz{--container-padding-inline-end:var(--layout-padding-inner-x,var(--spacing-4))}.xqpvj4r{--container-padding-inline-end:var(--layout-padding-outer-x,var(--spacing-4))}.x1wz3t3y{--container-padding-inline-end:var(--spacing-0-5)}.x91ghl5{--container-padding-inline-end:var(--spacing-0)}.xntetml{--container-padding-inline-end:var(--spacing-1-5)}.x2oyxnl{--container-padding-inline-end:var(--spacing-1)}.xx5lg5w{--container-padding-inline-end:var(--spacing-10)}.x1nmgbqg{--container-padding-inline-end:var(--spacing-11)}.x1wsfsk2{--container-padding-inline-end:var(--spacing-12)}.xcas3b9{--container-padding-inline-end:var(--spacing-2)}.xu0ipoa{--container-padding-inline-end:var(--spacing-3)}.xs0pscg{--container-padding-inline-end:var(--spacing-4)}.xgkj7vj{--container-padding-inline-end:var(--spacing-5)}.x94cj42{--container-padding-inline-end:var(--spacing-6)}.x11tj35w{--container-padding-inline-end:var(--spacing-7)}.x1b9k1pi{--container-padding-inline-end:var(--spacing-8)}.x19w02kr{--container-padding-inline-end:var(--spacing-9)}.xrhngw9{--container-padding-inline-start:0px}.xjmlhfd{--container-padding-inline-start:var(--astryx-card-padding-inline-start,var(--astryx-card-padding-inline,var(--astryx-card-padding,var(--spacing-4))))}.x1tewnwq{--container-padding-inline-start:var(--astryx-dialog-padding-inline-start,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,var(--spacing-4))))}.x19lemt0{--container-padding-inline-start:var(--astryx-section-padding-inline-start,var(--astryx-section-padding-inline,var(--_section-padding-propagated,var(--astryx-section-padding,var(--spacing-4)))))}.x408pgh{--container-padding-inline-start:var(--layout-padding-inner-x,var(--spacing-4))}.xdvaxxn{--container-padding-inline-start:var(--layout-padding-outer-x,var(--spacing-4))}.x14ws0sr{--container-padding-inline-start:var(--spacing-0-5)}.x1gu2k80{--container-padding-inline-start:var(--spacing-0)}.x176g23i{--container-padding-inline-start:var(--spacing-1-5)}.x1cvlban{--container-padding-inline-start:var(--spacing-1)}.xserb3f{--container-padding-inline-start:var(--spacing-10)}.xziclwo{--container-padding-inline-start:var(--spacing-11)}.x1iiwihq{--container-padding-inline-start:var(--spacing-12)}.x1xlrr2o{--container-padding-inline-start:var(--spacing-2)}.xfdwxua{--container-padding-inline-start:var(--spacing-3)}.x1dlhslv{--container-padding-inline-start:var(--spacing-4)}.x1s81nki{--container-padding-inline-start:var(--spacing-5)}.x1ep0dkj{--container-padding-inline-start:var(--spacing-6)}.x157xojc{--container-padding-inline-start:var(--spacing-7)}.xw1diwv{--container-padding-inline-start:var(--spacing-8)}.xraca2a{--container-padding-inline-start:var(--spacing-9)}.x1qfzo5y{--indicator-color:transparent}.x4906uf{--layout-content-width:var(--x---layout-content-width)}.x1qfll2g{--layout-padding-inner-x:initial}.x4poyjn{--layout-padding-inner-x:var(--astryx-card-padding-inline-start,var(--astryx-card-padding-inline,var(--astryx-card-padding,var(--spacing-4))))}.x2so38{--layout-padding-inner-x:var(--astryx-dialog-padding-inline-start,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,var(--spacing-4))))}.x1v3gmnx{--layout-padding-inner-x:var(--astryx-section-padding-inline-start,var(--astryx-section-padding-inline,var(--_section-padding-propagated,var(--astryx-section-padding,var(--spacing-4)))))}.xlriy2h{--layout-padding-inner-x:var(--spacing-0-5)}.xj1bl4l{--layout-padding-inner-x:var(--spacing-0)}.xd38f90{--layout-padding-inner-x:var(--spacing-1-5)}.x6uuyak{--layout-padding-inner-x:var(--spacing-1)}.x1vf4qco{--layout-padding-inner-x:var(--spacing-10)}.xsmamsf{--layout-padding-inner-x:var(--spacing-11)}.x2xk2xj{--layout-padding-inner-x:var(--spacing-12)}.xxqksqd{--layout-padding-inner-x:var(--spacing-2)}.x1fyui2f{--layout-padding-inner-x:var(--spacing-3)}.x1i2ajwi{--layout-padding-inner-x:var(--spacing-4)}.x1tac27u{--layout-padding-inner-x:var(--spacing-5)}.x1ntgf3t{--layout-padding-inner-x:var(--spacing-6)}.xhjd9tl{--layout-padding-inner-x:var(--spacing-7)}.xn7c84u{--layout-padding-inner-x:var(--spacing-8)}.xeqkbsz{--layout-padding-inner-x:var(--spacing-9)}.xyvxpqs{--layout-padding-inner-y:initial}.x1u1kw4e{--layout-padding-inner-y:var(--astryx-card-padding-block-start,var(--astryx-card-padding,var(--spacing-4)))}.xinu7xd{--layout-padding-inner-y:var(--astryx-dialog-padding-block-start,var(--astryx-dialog-padding,var(--spacing-4)))}.x15yx5hm{--layout-padding-inner-y:var(--astryx-section-padding-block-start,var(--_section-padding-propagated,var(--astryx-section-padding,var(--spacing-4))))}.x180h0y5{--layout-padding-inner-y:var(--spacing-0-5)}.xwuefyo{--layout-padding-inner-y:var(--spacing-0)}.x1g8jpzm{--layout-padding-inner-y:var(--spacing-1-5)}.xmpug6m{--layout-padding-inner-y:var(--spacing-1)}.x18gbwmk{--layout-padding-inner-y:var(--spacing-10)}.x14zymzj{--layout-padding-inner-y:var(--spacing-11)}.xzfpkx9{--layout-padding-inner-y:var(--spacing-12)}.x1lksgje{--layout-padding-inner-y:var(--spacing-2)}.x4j7gld{--layout-padding-inner-y:var(--spacing-3)}.x1s3ehtl{--layout-padding-inner-y:var(--spacing-4)}.x1rj5eim{--layout-padding-inner-y:var(--spacing-5)}.x1ftgg6u{--layout-padding-inner-y:var(--spacing-6)}.x1ho74vh{--layout-padding-inner-y:var(--spacing-7)}.xm2cs6f{--layout-padding-inner-y:var(--spacing-8)}.x1vsq92b{--layout-padding-inner-y:var(--spacing-9)}.x1wbjvqu{--layout-padding-outer-x:0px}.xdt8ak2{--layout-padding-outer-x:initial}.x14rzhog{--layout-padding-outer-x:var(--astryx-card-padding-inline-start,var(--astryx-card-padding-inline,var(--astryx-card-padding,var(--spacing-4))))}.x1hsjncj{--layout-padding-outer-x:var(--astryx-dialog-padding-inline-start,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,var(--spacing-4))))}.x15i0zw9{--layout-padding-outer-x:var(--astryx-section-padding-inline-start,var(--astryx-section-padding-inline,var(--_section-padding-propagated,var(--astryx-section-padding,var(--spacing-4)))))}.xihiwg7{--layout-padding-outer-x:var(--spacing-0-5)}.xswhm3q{--layout-padding-outer-x:var(--spacing-0)}.x1u93lgd{--layout-padding-outer-x:var(--spacing-1-5)}.xc96xmq{--layout-padding-outer-x:var(--spacing-1)}.x1jdf5a4{--layout-padding-outer-x:var(--spacing-10)}.x1hct0t0{--layout-padding-outer-x:var(--spacing-11)}.x11cyqoe{--layout-padding-outer-x:var(--spacing-12)}.x15dxnc0{--layout-padding-outer-x:var(--spacing-2)}.xadgj3j{--layout-padding-outer-x:var(--spacing-3)}.x1v56qcf{--layout-padding-outer-x:var(--spacing-4)}.x1nzs0gl{--layout-padding-outer-x:var(--spacing-5)}.x1c3n52a{--layout-padding-outer-x:var(--spacing-6)}.x1gfiokx{--layout-padding-outer-x:var(--spacing-7)}.x1t3kfz{--layout-padding-outer-x:var(--spacing-8)}.xzr4qsh{--layout-padding-outer-x:var(--spacing-9)}.xzxxx64{--layout-padding-outer-y:0px}.x1rs4lu4{--layout-padding-outer-y:initial}.xjej9fs{--layout-padding-outer-y:var(--astryx-card-padding-block-start,var(--astryx-card-padding,var(--spacing-4)))}.x1pui4bz{--layout-padding-outer-y:var(--astryx-dialog-padding-block-start,var(--astryx-dialog-padding,var(--spacing-4)))}.x1vw4zgg{--layout-padding-outer-y:var(--astryx-section-padding-block-start,var(--_section-padding-propagated,var(--astryx-section-padding,var(--spacing-4))))}.x1vj96e0{--layout-padding-outer-y:var(--spacing-0-5)}.x1mzf5mb{--layout-padding-outer-y:var(--spacing-0)}.xd3dqby{--layout-padding-outer-y:var(--spacing-1-5)}.x1gpfxoh{--layout-padding-outer-y:var(--spacing-1)}.x26l4wa{--layout-padding-outer-y:var(--spacing-10)}.x10zktp0{--layout-padding-outer-y:var(--spacing-11)}.x1yz3n6a{--layout-padding-outer-y:var(--spacing-12)}.x10pz7y9{--layout-padding-outer-y:var(--spacing-2)}.x1p6yq3h{--layout-padding-outer-y:var(--spacing-3)}.xx738ci{--layout-padding-outer-y:var(--spacing-4)}.x6yxws5{--layout-padding-outer-y:var(--spacing-5)}.x180vrwl{--layout-padding-outer-y:var(--spacing-6)}.x1q6rme1{--layout-padding-outer-y:var(--spacing-7)}.xid7e43{--layout-padding-outer-y:var(--spacing-8)}.x1t5kicu{--layout-padding-outer-y:var(--spacing-9)}.xnpej1e{--radius-element:var(--radius-full)}.x11rj6l1{--selectable-card-ring-color:var(--color-accent)}.xkce8z9{--separator-display:flex}.x1uzk0gl{--spinner-color:currentColor}.xt1b8mc{--spinner-color:var(--color-accent)}.x13u6jys{--spinner-color:var(--color-on-dark)}.x1jevo6s{--spinner-color:var(--color-text-secondary)}.x11wm0hx{--spinner-diameter:10px}.x15pu9g6{--spinner-diameter:14px}.x1w424tr{--spinner-diameter:18px}.x1orj1z9{--spinner-diameter:28px}.xls98ul{--spinner-stroke-width:2px}.xr0wkrm{--spinner-stroke-width:3px}.x7y2bof{--spinner-stroke-width:4px}.xbfzqbu{--spinner-track-color:currentColor}.x1ufpcf6{--spinner-track-color:var(--color-on-dark)}.xspt9s2{--spinner-track-color:var(--color-track)}.xpa4xmd{--tree-list-indent:var(--spacing-4)}.x1xbi2jf{--tree-list-row-gap:var(--spacing-0-5)}.x1wfyzv7:focus-within{--_fade-delay:0s}.xqchwus:focus-visible{--_focus-outline-offset:var(--focus-outline-offset)}.xqih627:focus-visible{--_focus-outline:var(--focus-outline-width) var(--focus-outline-style) var(--focus-outline-color)}.x1z42dm:focus-within{--_reveal-delay-reduced:0s,0s}.x1mjsb9v:focus-within{--_reveal-delay:0s,0s}.xi33vf3:focus-within{--_reveal-opacity:1}.xoa21yc:focus-within{--_reveal-position:static}.x11woleg:focus-visible,.x1my2cv6.x1my2cv6:hover:where(:not(:disabled,[aria-disabled=true])){--indicator-color:var(--color-accent)}.x158n88w:has(:focus-visible){--_tab-strip-bleed:calc(var(--focus-outline-width) + var(--focus-outline-offset))}.x1ibt0lz:first-child{--separator-display:none}.x1rht92:nth-child(2n){--table-row-overlay:var(--color-background-muted)}@media (any-pointer:coarse){.x1hl81f0.x1hl81f0{--_fade-delay:0s}}@media (pointer:coarse){.xp8r40j.xp8r40j{--_input-clear-hit-content:""}.x181bpwf.x181bpwf{--_input-clear-hit-inset:-2px}}@media (any-pointer:coarse){.xm1aeao.xm1aeao{--_reveal-delay-reduced:0s,0s}.x1pn63d7.x1pn63d7{--_reveal-delay:0s,0s}.xi7d7de.xi7d7de{--_reveal-opacity:1}.xarvkxi.xarvkxi{--_reveal-position:static}}@media (pointer:coarse){.x1h9khjt.x1h9khjt{--_thumbnail-hit-inset:-2px}}@media (hover:hover){.x1316hva.x1316hva.x1316hva:hover:where(:not(:disabled,[aria-disabled=true])){--_conceal-opacity:0}.xuzfaso.xuzfaso.xuzfaso:hover:where(:not(:disabled,[aria-disabled=true])){--_conceal-opacity:1}.xq03417.xq03417.xq03417:hover:where(:not(:disabled,[aria-disabled=true])){--_fade-delay:0s}.x14nxqze.x14nxqze.x14nxqze:hover:where(:not(:disabled,[aria-disabled=true])){--_fade-delay:var(--_hover-delay,0s)}.xap96qf.xap96qf.xap96qf:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-delay-reduced:0s,0s}.xvd8mm8.xvd8mm8.xvd8mm8:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-delay-reduced:var(--_hover-delay,0s),var(--_hover-delay,0s)}.x1t6fdr0.x1t6fdr0.x1t6fdr0:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-delay:0s,0s}.x1tx49wl.x1tx49wl.x1tx49wl:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-delay:0s,var(--duration-fast)}.xi1ebb6.xi1ebb6.xi1ebb6:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-delay:var(--_hover-delay,0s),var(--_hover-delay,0s)}.xfqgg65.xfqgg65.xfqgg65:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-opacity:0}.x2xrgwu.x2xrgwu.x2xrgwu:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-opacity:1}.x17ock8y.x17ock8y.x17ock8y:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-position:absolute}.x1or4zte.x1or4zte.x1or4zte:hover:where(:not(:disabled,[aria-disabled=true])){--_reveal-position:static}.xc01ov8.xc01ov8.xc01ov8:hover:where(:not(:disabled,[aria-disabled=true])){--table-row-overlay:var(--color-overlay-hover)}}.xln7xf2:not(#\#){font:inherit}.x15r89dc:not(#\#){grid-area:1/1}.x10a8y8t:not(#\#){inset:0}.x1anvkwx:not(#\#){inset:auto}.xh3736h:not(#\#){inset:unset}.xkdpibf:not(#\#){margin:-1px}.x1ghz6dp:not(#\#){margin:0}.xkib98w:not(#\#){margin:8px}.x1bpp3o7:not(#\#){margin:auto}.x1n5sqmh:not(#\#){margin:calc(-1 * (var(--spacing-2) - var(--spacing-1) + 1px))}.x1717udv:not(#\#){padding:0}.x1tamke2:not(#\#){padding:16px}.x1i3ajwb:not(#\#){padding:2px}.xfawy5m:not(#\#){padding:4px}.x1b50gpf:not(#\#){padding:calc(var(--_chat-composer-padding) - var(--border-width))}.x18oj4ui:not(#\#){padding:var(--_chat-composer-padding)}.xpoxszi:not(#\#){padding:var(--_segmented-control-padding)}.xtozwh:not(#\#){padding:var(--spacing-1) var(--spacing-2)}.x9epnlk:not(#\#){padding:var(--spacing-1)}.x15nmkw0:not(#\#){padding:var(--spacing-2) 0}.xlsj2fj:not(#\#){padding:var(--spacing-2)}.x1b2ylru:not(#\#){padding:var(--spacing-3)}.x1shk3sm:not(#\#){padding:var(--spacing-4)}.x1y5lnwp:focus:not(#\#){margin:0}.xg8s4dl:not(#\#):not(#\#){animation-range:cover}.x9r1u3d:not(#\#):not(#\#){border-color:#0000}.xad5do:not(#\#):not(#\#){border-color:var(--color-accent)}.x1touxvs:not(#\#):not(#\#){border-color:var(--color-background-surface)}.xlee4gx:not(#\#):not(#\#){border-color:var(--color-border-blue)}.xb1xfl:not(#\#):not(#\#){border-color:var(--color-border-cyan)}.xvy26l8:not(#\#):not(#\#){border-color:var(--color-border-emphasized)}.x1w9ec3u:not(#\#):not(#\#){border-color:var(--color-border-gray)}.xy90a9n:not(#\#):not(#\#){border-color:var(--color-border-green)}.xloqurj:not(#\#):not(#\#){border-color:var(--color-border-orange)}.x1czkbn8:not(#\#):not(#\#){border-color:var(--color-border-pink)}.xq98wne:not(#\#):not(#\#){border-color:var(--color-border-purple)}.xjqgoec:not(#\#):not(#\#){border-color:var(--color-border-red)}.x1r9gxr1:not(#\#):not(#\#){border-color:var(--color-border-teal)}.x1kpnwn1:not(#\#):not(#\#){border-color:var(--color-border-yellow)}.x14i3s5s:not(#\#):not(#\#){border-color:var(--color-border)}.x1ofxpqo:not(#\#):not(#\#){border-color:var(--color-error)}.x16m2moy:not(#\#):not(#\#){border-color:var(--color-success)}.xqcx1ss:not(#\#):not(#\#){border-color:var(--color-text-primary)}.x8wg1ba:not(#\#):not(#\#){border-color:var(--color-warning)}.x2u8bby:not(#\#):not(#\#){border-radius:0}.x1nj7uno:not(#\#):not(#\#){border-radius:1px}.x16rqkct:not(#\#):not(#\#){border-radius:50%}.xur7f20:not(#\#):not(#\#){border-radius:8px}.x1pjcqnp:not(#\#):not(#\#){border-radius:inherit}.x1ws5lxm:not(#\#):not(#\#){border-radius:max(0px,calc(var(--_dropdown-menu-radius,var(--spacing-2)) - var(--_dropdown-menu-padding,var(--spacing-1))))}.xc910v0:not(#\#):not(#\#){border-radius:max(0px,calc(var(--_segmented-control-radius) - var(--_segmented-control-padding)))}.xbc78cj:not(#\#):not(#\#){border-radius:var(--_avatar-radius)}.x1vf2byn:not(#\#):not(#\#){border-radius:var(--_banner-radius,var(--radius-container))}.x1jxw6zd:not(#\#):not(#\#){border-radius:var(--_button-radius,var(--radius-element))}.xy0xnkn:not(#\#):not(#\#){border-radius:var(--_button-radius,var(--radius-full))}.x153u1i6:not(#\#):not(#\#){border-radius:var(--_card-radius)}.x1xunbrq:not(#\#):not(#\#){border-radius:var(--_chat-composer-radius)}.xuacgfc:not(#\#):not(#\#){border-radius:var(--_dialog-radius)}.x1n97fys:not(#\#):not(#\#){border-radius:var(--_dropdown-menu-radius)}.xvdfih8:not(#\#):not(#\#){border-radius:var(--_field-radius)}.x7a53xk:not(#\#):not(#\#){border-radius:var(--_hovercard-radius)}.x11m9jtl:not(#\#):not(#\#){border-radius:var(--_popover-radius)}.x1hapoqb:not(#\#):not(#\#){border-radius:var(--_segmented-control-radius)}.xashgol:not(#\#):not(#\#){border-radius:var(--radius-chat)}.x1hviunn:not(#\#):not(#\#){border-radius:var(--radius-container)}.xh6dtrn:not(#\#):not(#\#){border-radius:var(--radius-element)}.xjspbzw:not(#\#):not(#\#){border-radius:var(--radius-full)}.xx3sua9:not(#\#):not(#\#){border-radius:var(--radius-inner)}.xwksslw:not(#\#):not(#\#){border-radius:var(--radius-none)}.xbsl7fq:not(#\#):not(#\#){border-style:dashed}.xng3xce:not(#\#):not(#\#){border-style:none}.x1y0btm7:not(#\#):not(#\#){border-style:solid}.xc342km:not(#\#):not(#\#){border-width:0}.xmkeg23:not(#\#):not(#\#){border-width:1px}.xdh2fpr:not(#\#):not(#\#){border-width:2px}.x1litavf:not(#\#):not(#\#){border-width:var(--border-width)}.x1mw0n95:not(#\#):not(#\#){border-width:var(--x-borderWidth)}.x1somy94:not(#\#):not(#\#){flex:0 0 0}.x3psx0u:not(#\#):not(#\#){flex:none}.x1cqoux5:not(#\#):not(#\#){flex:1 1 0}.x845mor:not(#\#):not(#\#){flex:1}.xfoc8du:not(#\#):not(#\#){flex:40px}.x12lumcd:not(#\#):not(#\#){flex:auto}.x98rzlu:not(#\#):not(#\#){flex:1}.xxhr3t:not(#\#):not(#\#){gap:0}.x1jnr06f:not(#\#):not(#\#){gap:4px}.x167g77z:not(#\#):not(#\#){gap:8px}.x14kbac9:not(#\#):not(#\#){gap:inherit}.x1lsbc85:not(#\#):not(#\#){gap:var(--spacing-0-5)}.xsn7fz1:not(#\#):not(#\#){gap:var(--spacing-0)}.x1s4dlld:not(#\#):not(#\#){gap:var(--spacing-1-5)}.xzye2dw:not(#\#):not(#\#){gap:var(--spacing-1)}.x3hoi3v:not(#\#):not(#\#){gap:var(--spacing-10)}.xpec5dj:not(#\#):not(#\#){gap:var(--spacing-2) var(--spacing-4)}.x1txdalj:not(#\#):not(#\#){gap:var(--spacing-2)}.xlaq8a2:not(#\#):not(#\#){gap:var(--spacing-3) var(--spacing-4)}.xjcht0a:not(#\#):not(#\#){gap:var(--spacing-3)}.x18g69wz:not(#\#):not(#\#){gap:var(--spacing-4)}.x9mgr7n:not(#\#):not(#\#){gap:var(--spacing-5)}.x1qh66ti:not(#\#):not(#\#){gap:var(--spacing-6)}.x4t41sb:not(#\#):not(#\#){gap:var(--spacing-8)}.x1pidvrl:not(#\#):not(#\#){gap:var(--x-gap)}.xgkxs2y:not(#\#):not(#\#){grid-column:1}.x1ms6mhf:not(#\#):not(#\#){grid-row:1}.x10no89f:not(#\#):not(#\#){inset-block:0}.x17y0mx6:not(#\#):not(#\#){inset-inline:0}.xe8uvvx:not(#\#):not(#\#){list-style:none}.x81ka23:not(#\#):not(#\#){margin-block:calc(-1 * (var(--spacing-3) - var(--spacing-2)))}.xhzvc8f:not(#\#):not(#\#){margin-block:calc(-1 * var(--spacing-2))}.xqixskq:not(#\#):not(#\#){margin-block:calc(var(--size-element-md) / 2 - var(--spacing-2) - var(--text-heading-2-size) * var(--text-heading-2-leading) / 2)}.xsq74q5:not(#\#):not(#\#){margin-block:var(--spacing-1)}.x1g06x3t:not(#\#):not(#\#){margin-block:var(--spacing-2)}.x1oqu0vw:not(#\#):not(#\#){margin-block:var(--x-marginBlock)}.xvueqy4:not(#\#):not(#\#){margin-inline:auto}.xi5l473:not(#\#):not(#\#){margin-inline:calc(-1 * (var(--_tab-strip-bleed)))}.xtedp8i:not(#\#):not(#\#){margin-inline:calc(-1 * var(--spacing-1))}.x1ho7dyk:not(#\#):not(#\#){margin-inline:calc(-1 * var(--spacing-2))}.x1ng9b9t:not(#\#):not(#\#){margin-inline:calc(-1 * var(--spacing-4))}.xhrcg97:not(#\#):not(#\#){margin-inline:var(--spacing-1)}.xvlecxo:not(#\#):not(#\#){margin-inline:var(--x-marginInline)}.x1a2a7pz:not(#\#):not(#\#){outline:none}.xaw4jrz:not(#\#):not(#\#){outline:var(--_focus-outline,none)}.xysyzu8:not(#\#):not(#\#){overflow:auto}.x7giv3:not(#\#):not(#\#){overflow:clip}.xb3r6kr:not(#\#):not(#\#){overflow:hidden}.x1rea2x4:not(#\#):not(#\#){overflow:visible}.xish69e:not(#\#):not(#\#){overscroll-behavior:contain}.x8du1vd:not(#\#):not(#\#){overscroll-behavior:none}.xt970qd:not(#\#):not(#\#){padding-block:0}.x1vn5h1t:not(#\#):not(#\#){padding-block:calc((var(--size-element-lg) - var(--spacing-5) - 2 * var(--border-width)) / 2)}.x1ioay2v:not(#\#):not(#\#){padding-block:calc((var(--size-element-md) - var(--spacing-5) - 2 * var(--border-width)) / 2)}.x1ecmfrv:not(#\#):not(#\#){padding-block:calc((var(--size-element-sm) - var(--spacing-5) - 2 * var(--border-width)) / 2)}.x1x7cmac:not(#\#):not(#\#){padding-block:calc(var(--spacing-1) - 1px)}.xwo4yc8:not(#\#):not(#\#){padding-block:calc(var(--tree-list-row-gap,0px) / 2)}.x13f7esw:not(#\#):not(#\#){padding-block:var(--spacing-0-5)}.x1hp7d8q:not(#\#):not(#\#){padding-block:var(--spacing-0)}.x1vofgu7:not(#\#):not(#\#){padding-block:var(--spacing-1-5)}.xu0wf1k:not(#\#):not(#\#){padding-block:var(--spacing-1)}.xce4md1:not(#\#):not(#\#){padding-block:var(--spacing-2)}.x8o8v82:not(#\#):not(#\#){padding-block:var(--spacing-3)}.x1na6nto:not(#\#):not(#\#){padding-block:var(--spacing-4)}.xq6koh6:not(#\#):not(#\#){padding-block:var(--spacing-6)}.xmfvnks:not(#\#):not(#\#){padding-block:var(--spacing-8)}.x1giekp1:not(#\#):not(#\#){padding-block:var(--x-paddingBlock)}.x1uameg1:not(#\#):not(#\#){padding-block:118px}.xnjsko4:not(#\#):not(#\#){padding-inline:0}.xx2oswg:not(#\#):not(#\#){padding-inline:calc(var(--spacing-1) - 1px)}.x2hg6jq:not(#\#):not(#\#){padding-inline:calc(var(--spacing-1) + var(--border-width))}.x1kpkw9v:not(#\#):not(#\#){padding-inline:var(--_tab-strip-bleed)}.x1w6f3ag:not(#\#):not(#\#){padding-inline:var(--_textarea-inline-padding)}.xkjnx3w:not(#\#):not(#\#){padding-inline:var(--spacing-0-5)}.x17a0aqu:not(#\#):not(#\#){padding-inline:var(--spacing-0)}.x4ezzuc:not(#\#):not(#\#){padding-inline:var(--spacing-1-5)}.x7a5moj:not(#\#):not(#\#){padding-inline:var(--spacing-1)}.xixulwi:not(#\#):not(#\#){padding-inline:var(--spacing-10)}.xf314gf:not(#\#):not(#\#){padding-inline:var(--spacing-2)}.xrrkdod:not(#\#):not(#\#){padding-inline:var(--spacing-3)}.x1pzlopt:not(#\#):not(#\#){padding-inline:var(--spacing-4)}.xzz68wx:not(#\#):not(#\#){padding-inline:var(--spacing-5)}.xm7rs69:not(#\#):not(#\#){padding-inline:var(--spacing-6)}.x6xnjw4:not(#\#):not(#\#){padding-inline:var(--spacing-8)}.x30g6up:not(#\#):not(#\#){padding-inline:var(--x-paddingInline)}.x1ku5rj1:not(#\#):not(#\#){place-items:center}.x1xif8ns:not(#\#):not(#\#){scroll-padding-inline:calc(var(--_tab-strip-bleed) + var(--spacing-8))}.xdf8p4l:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-0-5)}.x9lgdif:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-0)}.x1w8vatw:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-1-5)}.x1u2972t:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-1)}.xw959t8:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-10)}.x1mfb6cv:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-2)}.xpnzzb2:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-3)}.x3m3szd:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-4)}.x1vx7sv0:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-5)}.x1mvw9yj:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-6)}.x1xn2tv3:not(#\#):not(#\#){scroll-padding-inline:var(--spacing-8)}.xhfbhpw:not(#\#):not(#\#){scroll-snap-type:x mandatory}.x168l2et:not(#\#):not(#\#){scroll-snap-type:y mandatory}.xmqliwb:not(#\#):not(#\#){text-decoration:line-through}.x1hl2dhg:not(#\#):not(#\#){text-decoration:none}.x1bvjpef:not(#\#):not(#\#){text-decoration:underline}.xrg7dcy:not(#\#):not(#\#){transition:box-shadow var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.xb0j27v:not(#\#):not(#\#){transition:grid-template-rows var(--duration-medium) var(--ease-standard)}.xq2gx43:not(#\#):not(#\#){transition:none}.x1ey1afo:not(#\#):not(#\#){transition:opacity var(--duration-fast)}.x1ob6yzd:not(#\#):not(#\#){transition:transform var(--duration-fast) var(--ease-standard)}.x6q1khz:focus-within:not(#\#):not(#\#){border-color:var(--color-accent)}.xk2sxw7:focus-within:not(#\#):not(#\#){border-color:var(--color-error)}.xyq33ac:focus-within:not(#\#):not(#\#){border-color:var(--color-success)}.xa1yw2k:focus-within:not(#\#):not(#\#){border-color:var(--color-warning)}.xafswnp.xafswnp:where(.x1iwu4tg:has(:focus-visible) *):not(#\#):not(#\#){outline:var(--focus-outline-width) var(--focus-outline-style) var(--focus-outline-color)}.x1dordxg:focus-within:not(#\#):not(#\#){overflow:visible}.x16s19ga:has(:focus-visible):not(#\#):not(#\#){outline:var(--focus-outline-width) var(--focus-outline-style) var(--focus-outline-color)}.x64lkcz:focus:not(#\#):not(#\#){border-color:var(--color-error)}.x1lglk5v:focus:not(#\#):not(#\#){border-color:var(--color-success)}.x12sck4v:focus:not(#\#):not(#\#){border-color:var(--color-warning)}.x1uvtmcs:focus:not(#\#):not(#\#){outline:none}.xomzh7y:focus:not(#\#):not(#\#){overflow:visible}.xh2mrf5:focus:not(#\#):not(#\#){padding-block:var(--spacing-2)}.x1cf3d6k:focus:not(#\#):not(#\#){padding-inline:var(--spacing-4)}@media (forced-colors:active){.x1w1tqly.x1w1tqly:not(#\#):not(#\#){border-color:canvastext}.xmnqt3w.xmnqt3w:not(#\#):not(#\#){border-color:graytext}.xx61lck.xx61lck:not(#\#):not(#\#){border-style:solid}.x13rsnn2.x13rsnn2:not(#\#):not(#\#){border-width:1px}}@media (width<=480px){.x1a1jff.x1a1jff:not(#\#):not(#\#){gap:var(--spacing-4)}}@media (prefers-reduced-motion:reduce){.x9kvfbb.x9kvfbb:not(#\#):not(#\#){transition:none}}@media (hover:hover){.x1ozl1p1.x1ozl1p1.x1ozl1p1:where(.x1odsvnm:hover *):not(#\#):not(#\#){border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.x1ozl1p1.x1ozl1p1.x1ozl1p1:where(.x1odsvnm:hover *):not(#\#):not(#\#){border-color:color-mix(in srgb,var(--color-accent),var(--color-tint-hover) 15%)}}.xilc7fp.xilc7fp.xilc7fp:where(.x1odsvnm:hover *):not(#\#):not(#\#){border-color:var(--color-border-emphasized)}@supports (color:color-mix(in lab, red, red)){.xilc7fp.xilc7fp.xilc7fp:where(.x1odsvnm:hover *):not(#\#):not(#\#){border-color:color-mix(in srgb,var(--color-border-emphasized),var(--color-tint-hover) 20%)}}.x61roa7.x61roa7.x61roa7:where(.x1odsvnm:hover *):not(#\#):not(#\#){border-color:var(--color-border)}.x1xwh4np.x1xwh4np.x1xwh4np:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#){border-color:var(--color-border-emphasized)}.x13nosk6.x13nosk6.x13nosk6:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#){text-decoration:underline}}.x1lugfcp:not(#\#):not(#\#):not(#\#){-webkit-appearance:none}.x67t5t6:not(#\#):not(#\#):not(#\#){-webkit-backdrop-filter:blur(12px)}.x1ua5tub:not(#\#):not(#\#):not(#\#){-webkit-box-orient:vertical}.x1yhjpo9:not(#\#):not(#\#):not(#\#){-webkit-line-clamp:var(--x-WebkitLineClamp)}.xiy8rlo:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(#0000,#000 24px)}.x1bv1mxo:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(#0000,#000 36px)}.xo9xo30:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(#0000,#000 48px)}.xt2iwb0:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(#0000,#0000)}.x5lxg6s:not(#\#):not(#\#):not(#\#){-webkit-overflow-scrolling:touch}.x1i10hfl:not(#\#):not(#\#):not(#\#){-webkit-tap-highlight-color:transparent}.xg7jpbn:not(#\#):not(#\#):not(#\#){-webkit-text-fill-color:transparent}.xpdipgo:not(#\#):not(#\#):not(#\#){-webkit-touch-callout:none}.x8gbvx8:not(#\#):not(#\#):not(#\#){align-content:flex-start}.x1pha0wt:not(#\#):not(#\#):not(#\#){align-items:baseline}.x6s0dn4:not(#\#):not(#\#):not(#\#){align-items:center}.xpqajaz:not(#\#):not(#\#):not(#\#){align-items:end}.xuk3077:not(#\#):not(#\#):not(#\#){align-items:flex-end}.x1cy8zhl:not(#\#):not(#\#):not(#\#){align-items:flex-start}.x7a106z:not(#\#):not(#\#):not(#\#){align-items:start}.x1qjc9v5:not(#\#):not(#\#):not(#\#){align-items:stretch}.xoi2r2e:not(#\#):not(#\#):not(#\#){align-self:baseline}.xamitd3:not(#\#):not(#\#):not(#\#){align-self:center}.xpvyfi4:not(#\#):not(#\#):not(#\#){align-self:flex-end}.xqcrz7y:not(#\#):not(#\#):not(#\#){align-self:flex-start}.x1y8v6su:not(#\#):not(#\#):not(#\#){align-self:start}.xkh2ocl:not(#\#):not(#\#):not(#\#){align-self:stretch}.x7dpabl:not(#\#):not(#\#):not(#\#){anchor-name:--outline-active}.x17yabm6:not(#\#):not(#\#):not(#\#){animation-delay:var(--duration-medium-min)}.xvo38ju:not(#\#):not(#\#):not(#\#){animation-delay:var(--x-animationDelay)}.xpz12be:not(#\#):not(#\#):not(#\#){animation-direction:alternate}.xmg6eyc:not(#\#):not(#\#):not(#\#){animation-duration:1.5s}.xjlvqhv:not(#\#):not(#\#):not(#\#){animation-duration:1ms}.x1c74tu6:not(#\#):not(#\#):not(#\#){animation-duration:2s}.xwms9i0:not(#\#):not(#\#):not(#\#){animation-duration:auto}.x9uej1z:not(#\#):not(#\#):not(#\#){animation-duration:var(--duration-fast-max)}.xb2rp9n:not(#\#):not(#\#):not(#\#){animation-duration:var(--duration-fast)}.xqgcaz:not(#\#):not(#\#):not(#\#){animation-duration:var(--duration-medium-max)}.x12wqnr7:not(#\#):not(#\#):not(#\#){animation-duration:var(--duration-medium)}.x14qxm4i:not(#\#):not(#\#):not(#\#){animation-duration:var(--duration-slow-min)}.xskzprw:not(#\#):not(#\#):not(#\#){animation-fill-mode:backwards}.x1u6ievf:not(#\#):not(#\#):not(#\#){animation-fill-mode:both}.x10e4vud:not(#\#):not(#\#):not(#\#){animation-fill-mode:forwards}.xa4qsjk:not(#\#):not(#\#):not(#\#){animation-iteration-count:infinite}.x1ewfqum:not(#\#):not(#\#):not(#\#){animation-name:x11lauxq-B}.xcx56e2:not(#\#):not(#\#):not(#\#){animation-name:x13kz0yu-B}.x1ffowhz:not(#\#):not(#\#):not(#\#){animation-name:x188b6p3-B}.xqcmdr3:not(#\#):not(#\#):not(#\#){animation-name:x18re5ia-B}.x3psbcj:not(#\#):not(#\#):not(#\#){animation-name:x1ahk7ht-B}.x1dvww92:not(#\#):not(#\#):not(#\#){animation-name:x1b6yrix-B}.x97zbip:not(#\#):not(#\#):not(#\#){animation-name:x1k48ry3-B}.x1gbn2au:not(#\#):not(#\#):not(#\#){animation-name:x1xhkexc-B}.xeuoslp:not(#\#):not(#\#):not(#\#){animation-name:xgnty7z-B}.x1srr2gu:not(#\#):not(#\#):not(#\#){animation-name:xiylxmw-B}.x1ka1v4i:not(#\#):not(#\#):not(#\#){animation-name:xqng64z-B}.xozk8ic:not(#\#):not(#\#):not(#\#){animation-name:xr3m334-B}.x1mta51n:not(#\#):not(#\#):not(#\#){animation-name:xtut5q7-B}.xck01x9:not(#\#):not(#\#):not(#\#){animation-name:xu7jd1z-B}.xl1vlw0:not(#\#):not(#\#):not(#\#){animation-name:xv1hr86-B}.x1i331go:not(#\#):not(#\#):not(#\#){animation-name:xwmkjkf-B}.x190lv1:not(#\#):not(#\#):not(#\#){animation-timeline:view(y)}.x4hg4is:not(#\#):not(#\#):not(#\#){animation-timing-function:ease-in-out}.x1esw782:not(#\#):not(#\#):not(#\#){animation-timing-function:linear}.x193epu2:not(#\#):not(#\#):not(#\#){animation-timing-function:steps(10,end)}.x128ha8g:not(#\#):not(#\#):not(#\#){animation-timing-function:var(--ease-standard)}.xjyslct:not(#\#):not(#\#):not(#\#){appearance:none}.x1plog1:not(#\#):not(#\#):not(#\#){aspect-ratio:1}.xioom0i:not(#\#):not(#\#):not(#\#){aspect-ratio:var(--button-icon-only-aspect)}.x10y9f9r:not(#\#):not(#\#):not(#\#){aspect-ratio:var(--x-aspectRatio)}.xvn2z4z:not(#\#):not(#\#):not(#\#){-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.xlp1x4z:not(#\#):not(#\#):not(#\#){backface-visibility:hidden}.xx83zyx:not(#\#):not(#\#):not(#\#){background-clip:padding-box}.x1rkw3yq:not(#\#):not(#\#):not(#\#){background-color:#fff9}.xtwfq29:not(#\#):not(#\#):not(#\#){background-color:currentColor}.xgcd1z6:not(#\#):not(#\#):not(#\#){background-color:inherit}.xcpsgoo:not(#\#):not(#\#):not(#\#){background-color:#00000080}.xjbqb8w:not(#\#):not(#\#):not(#\#){background-color:#0000}.xgcxg3y:not(#\#):not(#\#):not(#\#){background-color:var(--color-accent-muted)}.x1ewilqj:not(#\#):not(#\#):not(#\#){background-color:var(--color-accent)}.x1o0wnni:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-blue)}.x1eiddq6:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-body)}.x1de1mus:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-card)}.x1rgj867:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-cyan)}.x1l5t2a3:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-error-inverted)}.xspzpui:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-gray)}.x1sqjeoo:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-green)}.xenstv7:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-inverted)}.xwmxj5m:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-muted)}.x1e9xt6e:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-orange)}.xnpoty2:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-pink)}.x1prclbq:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-popover)}.x16i6n6f:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-purple)}.x1cibrc5:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-red)}.x10xzikg:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-surface)}.x1jtji5o:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-teal)}.x1bo7t0x:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-yellow)}.x7njt3n:not(#\#):not(#\#):not(#\#){background-color:var(--color-border-emphasized)}.x1m4xfpy:not(#\#):not(#\#):not(#\#){background-color:var(--color-border)}.x1pritpl:not(#\#):not(#\#):not(#\#){background-color:var(--color-error-muted)}.x1pjz0fi:not(#\#):not(#\#):not(#\#){background-color:var(--color-error)}.xowkcby:not(#\#):not(#\#):not(#\#){background-color:var(--color-icon-primary)}.x1q5y3ey:not(#\#):not(#\#):not(#\#){background-color:var(--color-icon-secondary)}.x17x4s8c:not(#\#):not(#\#):not(#\#){background-color:var(--color-neutral)}.x1azo05:not(#\#):not(#\#):not(#\#){background-color:var(--color-on-accent)}.xfba6wv:not(#\#):not(#\#):not(#\#){background-color:var(--color-on-error)}.x9mohwv:not(#\#):not(#\#):not(#\#){background-color:var(--color-on-success)}.xmgwp2l:not(#\#):not(#\#):not(#\#){background-color:var(--color-on-warning)}.x1lmrjuc:not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-hover)}.xi89dp7:not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-pressed)}.x1u4601x:not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay)}.xprdx6m:not(#\#):not(#\#):not(#\#){background-color:var(--color-skeleton)}.xu13z74:not(#\#):not(#\#):not(#\#){background-color:var(--color-success-muted)}.xdsz4j9:not(#\#):not(#\#):not(#\#){background-color:var(--color-success)}.xzyc27v:not(#\#):not(#\#):not(#\#){background-color:var(--color-syntax-background)}.x16fr6go:not(#\#):not(#\#):not(#\#){background-color:var(--color-text-disabled)}.x19aspcf:not(#\#):not(#\#):not(#\#){background-color:var(--color-text-primary)}.xdomwnj:not(#\#):not(#\#):not(#\#){background-color:var(--color-text-secondary)}.xdsb6cv:not(#\#):not(#\#):not(#\#){background-color:var(--color-track)}.x24i8r5:not(#\#):not(#\#):not(#\#){background-color:var(--color-warning-muted)}.x1q8g9m5:not(#\#):not(#\#):not(#\#){background-color:var(--color-warning)}.x1fd97le:not(#\#):not(#\#):not(#\#){background-color:var(--table-sticky-background,var(--color-background-card))}.xl8spv7:not(#\#):not(#\#):not(#\#){background-color:var(--x-backgroundColor)}.xafqdz2:not(#\#):not(#\#):not(#\#){background-image:linear-gradient(to bottom,var(--color-background-surface) 60%,transparent)}.x1vrk509:not(#\#):not(#\#):not(#\#){background-image:linear-gradient(var(--color-background-muted),var(--color-background-muted))}.x14bno8m:not(#\#):not(#\#):not(#\#){background-image:linear-gradient(var(--color-neutral),var(--color-neutral))}.x18o3ruo:not(#\#):not(#\#):not(#\#){background-image:none}.x1mwwwfo:not(#\#):not(#\#):not(#\#){border-collapse:collapse}.x16uus16:not(#\#):not(#\#):not(#\#){border-end-end-radius:0}.x1eprgri:not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--_banner-radius,var(--radius-container))}.x6k0y1c:not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--_chat-composer-radius)}.xoao14b:not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--_field-radius)}.x14i3lts:not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--radius-element)}.x1dgc8on:not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--radius-full)}.x1whkvtz:not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--radius-inner)}.xbiv7yw:not(#\#):not(#\#):not(#\#){border-end-start-radius:0}.x1k5g1gk:not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--_banner-radius,var(--radius-container))}.xkvxy4d:not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--_chat-composer-radius)}.xquck67:not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--radius-element)}.x1wc3881:not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--radius-full)}.xrfs2vl:not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--radius-inner)}.xl0t3rv:not(#\#):not(#\#):not(#\#){border-inline-end-color:var(--color-border-emphasized)}.x1gejf6u:not(#\#):not(#\#):not(#\#){border-inline-end-color:var(--color-border)}.x18b5jzi:not(#\#):not(#\#):not(#\#){border-inline-end-style:solid}.x1lun4ml:not(#\#):not(#\#):not(#\#){border-inline-end-width:1px}.xw8tdv1:not(#\#):not(#\#):not(#\#){border-inline-end-width:var(--border-width)}.x14ydlgx:not(#\#):not(#\#):not(#\#){border-inline-start-color:var(--color-border-emphasized)}.x1j92z86:not(#\#):not(#\#):not(#\#){border-inline-start-color:var(--color-border)}.xrvmtm5:not(#\#):not(#\#):not(#\#){border-inline-start-color:var(--color-on-accent)}.x1t7ytsu:not(#\#):not(#\#):not(#\#){border-inline-start-style:solid}.xpilrb4:not(#\#):not(#\#):not(#\#){border-inline-start-width:1px}.xgbv0en:not(#\#):not(#\#):not(#\#){border-inline-start-width:var(--border-width)}.xtpqe59:not(#\#):not(#\#):not(#\#){border-inline-start-width:var(--spacing-0-5)}.x1gukg7c:not(#\#):not(#\#):not(#\#){border-spacing:0}.x1ga7v0g:not(#\#):not(#\#):not(#\#){border-start-end-radius:0}.x13nour3:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--_banner-radius,var(--radius-container))}.xzc3kxz:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--_chat-composer-radius)}.x1g2gkjz:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--_field-radius)}.xg0tfu:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--radius-chat)}.x7hs6f1:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--radius-container)}.x8agd5o:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--radius-full)}.x126per9:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--radius-inner)}.x15mokao:not(#\#):not(#\#):not(#\#){border-start-start-radius:0}.xwxb7qi:not(#\#):not(#\#):not(#\#){border-start-start-radius:var(--_banner-radius,var(--radius-container))}.xy7p8pm:not(#\#):not(#\#):not(#\#){border-start-start-radius:var(--_chat-composer-radius)}.x1n70msy:not(#\#):not(#\#):not(#\#){border-start-start-radius:var(--radius-chat)}.x81l70g:not(#\#):not(#\#):not(#\#){border-start-start-radius:var(--radius-container)}.x19415el:not(#\#):not(#\#):not(#\#){border-start-start-radius:var(--radius-full)}.x3qb8m:not(#\#):not(#\#):not(#\#){border-start-start-radius:var(--radius-inner)}.x183tx6i:not(#\#):not(#\#):not(#\#){border-start-start-radius:var(--radius-page)}.x1lp15jv:not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 1px var(--color-border-emphasized)}.x1er153n:not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 1px var(--color-border)}.x1iobdd1:not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 1px var(--color-text-primary)}.x1gnnqk1:not(#\#):not(#\#):not(#\#){box-shadow:none}.x1p8z4y0:not(#\#):not(#\#):not(#\#){box-shadow:var(--_card-ring,0 0 transparent),var(--_card-elevation,0 0 transparent)}.x1kcpxr7:not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-high)}.x1i5ehqx:not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-low)}.x14hfi27:not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-med)}.x9f619:not(#\#):not(#\#):not(#\#){box-sizing:border-box}.x1afcbsf:not(#\#):not(#\#):not(#\#){box-sizing:content-box}.xbuiw85:not(#\#):not(#\#):not(#\#){caret-color:#0000}.xxugrtn:not(#\#):not(#\#):not(#\#){caret-color:var(--color-accent)}.x1hyvwdk:not(#\#):not(#\#):not(#\#){clip-path:inset(50%)}.xzpqnlu:not(#\#):not(#\#):not(#\#){clip:rect(0,0,0,0)}.xntwwlm:not(#\#):not(#\#):not(#\#){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.x108lcm5:not(#\#):not(#\#):not(#\#){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){.x108lcm5:not(#\#):not(#\#):not(#\#){--lightningcss-light: ;--lightningcss-dark:initial}}.x19aimcq:not(#\#):not(#\#):not(#\#){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.xj8ax7g:not(#\#):not(#\#):not(#\#){color:red}.x1heor9g:not(#\#):not(#\#):not(#\#){color:inherit}.x19co3pv:not(#\#):not(#\#):not(#\#){color:#0000}.x1gb3s7i:not(#\#):not(#\#):not(#\#){color:var(--_item-description-color,var(--color-text-secondary))}.x5tbw38:not(#\#):not(#\#):not(#\#){color:var(--_item-label-color,var(--color-text-primary))}.xqwr325:not(#\#):not(#\#):not(#\#){color:var(--color-accent)}.xrkvqaz:not(#\#):not(#\#):not(#\#){color:var(--color-background-surface)}.xjt36v0:not(#\#):not(#\#):not(#\#){color:var(--color-error)}.x1fns2mt:not(#\#):not(#\#):not(#\#){color:var(--color-icon-blue)}.x157w0xa:not(#\#):not(#\#):not(#\#){color:var(--color-icon-cyan)}.xqa6c3m:not(#\#):not(#\#):not(#\#){color:var(--color-icon-disabled)}.x1eyinzz:not(#\#):not(#\#):not(#\#){color:var(--color-icon-gray)}.xmxeech:not(#\#):not(#\#):not(#\#){color:var(--color-icon-green)}.xxu74a4:not(#\#):not(#\#):not(#\#){color:var(--color-icon-orange)}.x1kxxfg5:not(#\#):not(#\#):not(#\#){color:var(--color-icon-pink)}.xtbr613:not(#\#):not(#\#):not(#\#){color:var(--color-icon-primary)}.xzdw94u:not(#\#):not(#\#):not(#\#){color:var(--color-icon-purple)}.xeffzf7:not(#\#):not(#\#):not(#\#){color:var(--color-icon-red)}.xv9yike:not(#\#):not(#\#):not(#\#){color:var(--color-icon-secondary)}.x1f3zxcb:not(#\#):not(#\#):not(#\#){color:var(--color-icon-teal)}.x1g6zdft:not(#\#):not(#\#):not(#\#){color:var(--color-icon-yellow)}.x17wrial:not(#\#):not(#\#):not(#\#){color:var(--color-on-accent)}.x9e3rv5:not(#\#):not(#\#):not(#\#){color:var(--color-on-dark)}.x1m024r3:not(#\#):not(#\#):not(#\#){color:var(--color-on-error)}.xri61p4:not(#\#):not(#\#):not(#\#){color:var(--color-on-success)}.xrebv38:not(#\#):not(#\#):not(#\#){color:var(--color-on-warning)}.xtjic6:not(#\#):not(#\#):not(#\#){color:var(--color-success)}.x1mjzq1q:not(#\#):not(#\#):not(#\#){color:var(--color-syntax-comment)}.xdfisg:not(#\#):not(#\#):not(#\#){color:var(--color-syntax-variable)}.xjse4m1:not(#\#):not(#\#):not(#\#){color:var(--color-text-accent)}.x1vvqiwl:not(#\#):not(#\#):not(#\#){color:var(--color-text-blue)}.x1txnczv:not(#\#):not(#\#):not(#\#){color:var(--color-text-cyan)}.xnbbluu:not(#\#):not(#\#):not(#\#){color:var(--color-text-disabled)}.xru1t7f:not(#\#):not(#\#):not(#\#){color:var(--color-text-gray)}.xltfdvo:not(#\#):not(#\#):not(#\#){color:var(--color-text-green)}.xm47u9q:not(#\#):not(#\#):not(#\#){color:var(--color-text-orange)}.xiuofww:not(#\#):not(#\#):not(#\#){color:var(--color-text-pink)}.x1tgivj0:not(#\#):not(#\#):not(#\#){color:var(--color-text-primary)}.x1m9wyeb:not(#\#):not(#\#):not(#\#){color:var(--color-text-purple)}.x1joocv1:not(#\#):not(#\#):not(#\#){color:var(--color-text-red)}.xv1l7n4:not(#\#):not(#\#):not(#\#){color:var(--color-text-secondary)}.x9x0lbs:not(#\#):not(#\#):not(#\#){color:var(--color-text-teal)}.xdhq94a:not(#\#):not(#\#):not(#\#){color:var(--color-text-yellow)}.xs3pv69:not(#\#):not(#\#):not(#\#){color:var(--color-warning)}.xf5zn4v:not(#\#):not(#\#):not(#\#){column-gap:calc(var(--spacing-3) + var(--border-width) + var(--spacing-4))}.x1kihgfc:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-0-5)}.x1o57wo1:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-0)}.x1thn6ci:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-1-5)}.x1lfs0n9:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-1)}.x1p37tyl:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-10)}.xak3so:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-2)}.xewh9hi:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-3)}.xty4p9g:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-4)}.x1eqhezk:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-5)}.x3qlgwd:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-6)}.xicv188:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-8)}.xawy1a7:not(#\#):not(#\#):not(#\#){contain:layout style}.x12h1iku:not(#\#):not(#\#):not(#\#){container-type:inline-size}.xb5mbof:not(#\#):not(#\#):not(#\#){content-visibility:auto}.xfrknyr:not(#\#):not(#\#):not(#\#){counter-increment:astryx-list}.xif0320:not(#\#):not(#\#):not(#\#){counter-reset:astryx-list}.x1khind5:not(#\#):not(#\#):not(#\#){counter-reset:var(--x-counterReset)}.xicojor:not(#\#):not(#\#):not(#\#){cursor:col-resize}.xt0e3qv:not(#\#):not(#\#):not(#\#){cursor:default}.x7eptgl:not(#\#):not(#\#):not(#\#){cursor:ew-resize}.x1jm3nie:not(#\#):not(#\#):not(#\#){cursor:grab}.xi9pz9s:not(#\#):not(#\#):not(#\#){cursor:grabbing}.xmper1u:not(#\#):not(#\#):not(#\#){cursor:inherit}.x1ypdohk:not(#\#):not(#\#):not(#\#){cursor:pointer}.xyozgr7:not(#\#):not(#\#):not(#\#){cursor:row-resize}.x1ed109x:not(#\#):not(#\#):not(#\#){cursor:text}.x1huxd7x:not(#\#):not(#\#):not(#\#){cursor:zoom-in}.x104kibb:not(#\#):not(#\#):not(#\#){display:-webkit-box}.x1lliihq:not(#\#):not(#\#):not(#\#){display:block}.xjp7ctv:not(#\#):not(#\#):not(#\#){display:contents}.x78zum5:not(#\#):not(#\#):not(#\#){display:flex}.xrvj5dj:not(#\#):not(#\#):not(#\#){display:grid}.x1rg5ohu:not(#\#):not(#\#):not(#\#){display:inline-block}.x3nfvp2:not(#\#):not(#\#):not(#\#){display:inline-flex}.xwz0xwf:not(#\#):not(#\#):not(#\#){display:inline-grid}.xt0psk2:not(#\#):not(#\#):not(#\#){display:inline}.x1s85apg:not(#\#):not(#\#):not(#\#){display:none}.x11ke7fs:not(#\#):not(#\#):not(#\#){display:var(--separator-display)}.xbh8q5q:not(#\#):not(#\#):not(#\#){fill:none}.x1r8uery:not(#\#):not(#\#):not(#\#){flex-basis:0}.xrjwirl:not(#\#):not(#\#):not(#\#){flex-basis:196px}.xjpgo6f:not(#\#):not(#\#):not(#\#){flex-basis:200px}.xchdapg:not(#\#):not(#\#):not(#\#){flex-basis:300px}.xgualba:not(#\#):not(#\#):not(#\#){flex-basis:8rem}.xdl72j9:not(#\#):not(#\#):not(#\#){flex-basis:auto}.x3ieub6:not(#\#):not(#\#):not(#\#){flex-direction:column-reverse}.xdt5ytf:not(#\#):not(#\#):not(#\#){flex-direction:column}.x15zctf7:not(#\#):not(#\#):not(#\#){flex-direction:row-reverse}.x1q0g3np:not(#\#):not(#\#):not(#\#){flex-direction:row}.x1c4vz4f:not(#\#):not(#\#):not(#\#){flex-grow:0}.x1iyjqo2:not(#\#):not(#\#):not(#\#){flex-grow:1}.xgyuaek:not(#\#):not(#\#):not(#\#){flex-grow:2}.x2lah0s:not(#\#):not(#\#):not(#\#){flex-shrink:0}.xs83m0k:not(#\#):not(#\#):not(#\#){flex-shrink:1}.x1g3ib7:not(#\#):not(#\#):not(#\#){flex-shrink:10}.xozqiw3:not(#\#):not(#\#):not(#\#){flex-wrap:nowrap}.x8hhl5t:not(#\#):not(#\#):not(#\#){flex-wrap:wrap-reverse}.x1a02dak:not(#\#):not(#\#):not(#\#){flex-wrap:wrap}.xjb2p0i:not(#\#):not(#\#):not(#\#){font-family:inherit}.x9ynric:not(#\#):not(#\#):not(#\#){font-family:var(--font-family-body)}.x9m5x89:not(#\#):not(#\#):not(#\#){font-family:var(--font-family-code)}.x1g81bgm:not(#\#):not(#\#):not(#\#){font-family:var(--font-family-heading)}.xboafo0:not(#\#):not(#\#):not(#\#){font-size:.75rem}.x1603h9y:not(#\#):not(#\#):not(#\#){font-size:1.25rem}.xngnso2:not(#\#):not(#\#):not(#\#){font-size:1.5rem}.x1k6wstc:not(#\#):not(#\#):not(#\#){font-size:10px}.xfifm61:not(#\#):not(#\#):not(#\#){font-size:12px}.xif65rj:not(#\#):not(#\#):not(#\#){font-size:14px}.x1j61zf2:not(#\#):not(#\#):not(#\#){font-size:16px}.x1jchvi3:not(#\#):not(#\#):not(#\#){font-size:1rem}.xwsyq91:not(#\#):not(#\#):not(#\#){font-size:20px}.x1qlqyl8:not(#\#):not(#\#):not(#\#){font-size:inherit}.xhs0kqb:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-2xl)}.x16a80zy:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-2xs)}.x10srzze:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-3xl)}.x10p7juq:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-3xs)}.xqcvi3d:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-4xl)}.xxc45ev:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-4xs)}.x1j29vfg:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-base)}.xc7cgfe:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-lg)}.x1eqnyfr:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-sm)}.x1wqms48:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-xl)}.x51wmvv:not(#\#):not(#\#):not(#\#){font-size:var(--font-size-xs)}.xho7bvi:not(#\#):not(#\#):not(#\#){font-size:var(--spacing-4)}.xjm74w1:not(#\#):not(#\#):not(#\#){font-size:var(--text-body-size)}.xp03k98:not(#\#):not(#\#):not(#\#){font-size:var(--text-code-size)}.xsub3ws:not(#\#):not(#\#):not(#\#){font-size:var(--text-display-1-size)}.x1yego12:not(#\#):not(#\#):not(#\#){font-size:var(--text-display-2-size)}.xlgnzhf:not(#\#):not(#\#):not(#\#){font-size:var(--text-display-3-size)}.xcg7oai:not(#\#):not(#\#):not(#\#){font-size:var(--text-heading-1-size)}.x1xvnhcw:not(#\#):not(#\#):not(#\#){font-size:var(--text-heading-2-size)}.xii13ha:not(#\#):not(#\#):not(#\#){font-size:var(--text-heading-3-size)}.x8tkxat:not(#\#):not(#\#):not(#\#){font-size:var(--text-heading-4-size)}.xsgqta0:not(#\#):not(#\#):not(#\#){font-size:var(--text-heading-5-size)}.xw5ohdf:not(#\#):not(#\#):not(#\#){font-size:var(--text-heading-6-size)}.xcr08ib:not(#\#):not(#\#):not(#\#){font-size:var(--text-label-size)}.x18juvz8:not(#\#):not(#\#):not(#\#){font-size:var(--text-large-size)}.x141an7d:not(#\#):not(#\#):not(#\#){font-size:var(--text-supporting-size)}.xdmh292:not(#\#):not(#\#):not(#\#){font-size:var(--x-fontSize)}.x1j61x8r:not(#\#):not(#\#):not(#\#){font-style:normal}.xss6m8b:not(#\#):not(#\#):not(#\#){font-variant-numeric:tabular-nums}.xk50ysn:not(#\#):not(#\#):not(#\#){font-weight:500}.x1s688f:not(#\#):not(#\#):not(#\#){font-weight:600}.x1pd3egz:not(#\#):not(#\#):not(#\#){font-weight:inherit}.x1lvx875:not(#\#):not(#\#):not(#\#){font-weight:var(--font-weight-bold)}.x1e4wzip:not(#\#):not(#\#):not(#\#){font-weight:var(--font-weight-medium)}.x1sodnla:not(#\#):not(#\#):not(#\#){font-weight:var(--font-weight-normal)}.x2mo6ok:not(#\#):not(#\#):not(#\#){font-weight:var(--font-weight-semibold)}.xxovm9e:not(#\#):not(#\#):not(#\#){font-weight:var(--text-body-weight)}.xx3eeay:not(#\#):not(#\#):not(#\#){font-weight:var(--text-code-weight)}.x1txul5o:not(#\#):not(#\#):not(#\#){font-weight:var(--text-display-1-weight)}.x1y36c3f:not(#\#):not(#\#):not(#\#){font-weight:var(--text-display-2-weight)}.x1on40hk:not(#\#):not(#\#):not(#\#){font-weight:var(--text-display-3-weight)}.x1v68xuy:not(#\#):not(#\#):not(#\#){font-weight:var(--text-heading-1-weight)}.x12yy4cs:not(#\#):not(#\#):not(#\#){font-weight:var(--text-heading-2-weight)}.x1jcxfy8:not(#\#):not(#\#):not(#\#){font-weight:var(--text-heading-3-weight)}.x2hcmsi:not(#\#):not(#\#):not(#\#){font-weight:var(--text-heading-4-weight)}.xno150v:not(#\#):not(#\#):not(#\#){font-weight:var(--text-heading-5-weight)}.x1pw4frv:not(#\#):not(#\#):not(#\#){font-weight:var(--text-heading-6-weight)}.xmhvcl5:not(#\#):not(#\#):not(#\#){font-weight:var(--text-label-weight)}.x149oux8:not(#\#):not(#\#):not(#\#){font-weight:var(--text-large-weight)}.xv8on6e:not(#\#):not(#\#):not(#\#){font-weight:var(--text-supporting-weight)}.x1kzknox:not(#\#):not(#\#):not(#\#){forced-color-adjust:none}.xu6a5m6:not(#\#):not(#\#):not(#\#){grid-auto-columns:1fr}.x1mt1orb:not(#\#):not(#\#):not(#\#){grid-auto-flow:column}.xhij9v2:not(#\#):not(#\#):not(#\#){grid-auto-rows:var(--x-gridAutoRows)}.xcrlgei:not(#\#):not(#\#):not(#\#){grid-column-start:1}.x1agbcgv:not(#\#):not(#\#):not(#\#){grid-row-start:1}.x134kloy:not(#\#):not(#\#):not(#\#){grid-template-columns:1fr auto 1fr}.x52fmzj:not(#\#):not(#\#):not(#\#){grid-template-columns:1fr auto}.x1y6fwsi:not(#\#):not(#\#):not(#\#){grid-template-columns:1fr}.x1g3yg12:not(#\#):not(#\#):not(#\#){grid-template-columns:auto 1fr auto}.x1pmbctz:not(#\#):not(#\#):not(#\#){grid-template-columns:auto 1fr}.x1wthsqz:not(#\#):not(#\#):not(#\#){grid-template-columns:auto repeat(7,1fr)}.x1mzazjb:not(#\#):not(#\#):not(#\#){grid-template-columns:repeat(7,1fr)}.x189bvgu:not(#\#):not(#\#):not(#\#){grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.x1xx4m37:not(#\#):not(#\#):not(#\#){grid-template-columns:var(--_codeblock-gutter-width) 1fr}.xqketvx:not(#\#):not(#\#):not(#\#){grid-template-columns:var(--x-gridTemplateColumns)}.xihq33y:not(#\#):not(#\#):not(#\#){grid-template-rows:0fr}.x1tu4anv:not(#\#):not(#\#):not(#\#){grid-template-rows:1fr}.xy8nx85:not(#\#):not(#\#):not(#\#){grid-template-rows:repeat(6,1fr)}.xtijo5x:not(#\#):not(#\#):not(#\#){inset-inline-end:0}.xz03a8w:not(#\#):not(#\#):not(#\#){inset-inline-end:2px}.x1oinnt5:not(#\#):not(#\#):not(#\#){inset-inline-end:calc((var(--size-element-md) - 20px) / 2 - 1px)}.x8qlsd8:not(#\#):not(#\#):not(#\#){inset-inline-end:calc((var(--size-element-sm) - 20px) / 2 - 1px)}.x13oyzgk:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--_textarea-inline-padding)}.xy3asu9:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--spacing-1)}.x72tfeb:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--spacing-2)}.x1mcfs9z:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--spacing-3)}.xqxgn94:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--x-insetInlineEnd)}.x1o0tod:not(#\#):not(#\#):not(#\#){inset-inline-start:0}.x9p6ekw:not(#\#):not(#\#):not(#\#){inset-inline-start:14px}.xaoy8p5:not(#\#):not(#\#):not(#\#){inset-inline-start:2px}.xbudbmw:not(#\#):not(#\#):not(#\#){inset-inline-start:50%}.x1kiyvbf:not(#\#):not(#\#):not(#\#){inset-inline-start:var(--_textarea-inline-padding)}.x1ybfrjj:not(#\#):not(#\#):not(#\#){inset-inline-start:var(--spacing-3)}.x1lxsm33:not(#\#):not(#\#):not(#\#){inset-inline-start:var(--x-insetInlineStart)}.xc8icb0:not(#\#):not(#\#):not(#\#){isolation:isolate}.xl56j7k:not(#\#):not(#\#):not(#\#){justify-content:center}.x13a6bvl:not(#\#):not(#\#):not(#\#){justify-content:flex-end}.x1nhvcw1:not(#\#):not(#\#):not(#\#){justify-content:flex-start}.x1l1ennw:not(#\#):not(#\#):not(#\#){justify-content:space-around}.x1qughib:not(#\#):not(#\#):not(#\#){justify-content:space-between}.xaw8158:not(#\#):not(#\#):not(#\#){justify-content:space-evenly}.x1o2pa38:not(#\#):not(#\#):not(#\#){justify-items:center}.x4xo5sw:not(#\#):not(#\#):not(#\#){justify-items:end}.x619ttb:not(#\#):not(#\#):not(#\#){justify-items:start}.xl4xnwh:not(#\#):not(#\#):not(#\#){justify-items:stretch}.x7v7x1q:not(#\#):not(#\#):not(#\#){justify-self:center}.x1lqcxt8:not(#\#):not(#\#):not(#\#){justify-self:start}.x14ju556:not(#\#):not(#\#):not(#\#){line-height:0}.xo5v014:not(#\#):not(#\#):not(#\#){line-height:1}.x19v9tvf:not(#\#):not(#\#):not(#\#){line-height:22px}.x15bjb6t:not(#\#):not(#\#):not(#\#){line-height:inherit}.x1ojctns:not(#\#):not(#\#):not(#\#){line-height:var(--spacing-4)}.x7acx1w:not(#\#):not(#\#):not(#\#){line-height:var(--spacing-5)}.xw6l6zx:not(#\#):not(#\#):not(#\#){line-height:var(--text-body-leading)}.x17iicif:not(#\#):not(#\#):not(#\#){line-height:var(--text-code-leading)}.x112ttwr:not(#\#):not(#\#):not(#\#){line-height:var(--text-display-1-leading)}.xh0iwvy:not(#\#):not(#\#):not(#\#){line-height:var(--text-display-2-leading)}.x1ujwuaq:not(#\#):not(#\#):not(#\#){line-height:var(--text-display-3-leading)}.xfmsba7:not(#\#):not(#\#):not(#\#){line-height:var(--text-heading-1-leading)}.x1cpk1wn:not(#\#):not(#\#):not(#\#){line-height:var(--text-heading-2-leading)}.xwjzt0u:not(#\#):not(#\#):not(#\#){line-height:var(--text-heading-3-leading)}.xqerer:not(#\#):not(#\#):not(#\#){line-height:var(--text-heading-4-leading)}.xo3gurs:not(#\#):not(#\#):not(#\#){line-height:var(--text-heading-5-leading)}.xeixjfn:not(#\#):not(#\#):not(#\#){line-height:var(--text-heading-6-leading)}.x1kq96og:not(#\#):not(#\#):not(#\#){line-height:var(--text-label-leading)}.xf74fhv:not(#\#):not(#\#):not(#\#){line-height:var(--text-large-leading)}.x1ltkj2j:not(#\#):not(#\#):not(#\#){line-height:var(--text-supporting-leading)}.x3ct3a4:not(#\#):not(#\#):not(#\#){list-style-type:none}.x14z9mp:not(#\#):not(#\#):not(#\#){margin-inline-end:0}.x1fcf3bl:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(-1 * var(--container-padding-inline-end,0px))}.x1kpg4um:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(-1 * var(--layout-padding-inner-x,var(--spacing-4)))}.xkd40ry:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(-1 * var(--spacing-1))}.x3kzqx6:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(-1 * var(--spacing-2))}.xmequkd:not(#\#):not(#\#):not(#\#){margin-inline-end:calc(var(--spacing-1) * -1)}.xnur1sd:not(#\#):not(#\#):not(#\#){margin-inline-end:var(--spacing-1)}.x1c9tiao:not(#\#):not(#\#):not(#\#){margin-inline-end:var(--x-marginInlineEnd)}.x1qfufaz:not(#\#):not(#\#):not(#\#){margin-inline-start:-8px}.x1lziwak:not(#\#):not(#\#):not(#\#){margin-inline-start:0}.xvc5jky:not(#\#):not(#\#):not(#\#){margin-inline-start:auto}.xd10s4z:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(-1 * var(--border-width))}.xojxgvx:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(-1 * var(--container-padding-inline-start,0px))}.x1wim8z0:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(-1 * var(--layout-padding-inner-x,var(--spacing-4)))}.x1s1akpx:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(-1 * var(--spacing-2))}.x1xrm450:not(#\#):not(#\#):not(#\#){margin-inline-start:calc(var(--spacing-2) - var(--spacing-1) + 1px)}.x12vn87o:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--_tree-indent,0px)}.xladpz9:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--spacing-0-5)}.x11g1kdw:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--spacing-1)}.x1l10yog:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--spacing-6)}.x4lel18:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--x-marginInlineStart)}.xkm2don:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(#0000,#000 24px);mask-image:linear-gradient(#0000,#000 24px)}.xw26lqc:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(#0000,#000 36px);mask-image:linear-gradient(#0000,#000 36px)}.xr5yg4x:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(#0000,#000 48px);mask-image:linear-gradient(#0000,#000 48px)}.xtdd0ob:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(to left,transparent 0%,#0000004d 2px,black var(--spacing-1));-webkit-mask-image:linear-gradient(to left,transparent 0%,#0000004d 2px,black var(--spacing-1));-webkit-mask-image:linear-gradient(to left,transparent 0%,#0000004d 2px,black var(--spacing-1));mask-image:linear-gradient(to left,transparent 0%,#0000004d 2px,black var(--spacing-1))}.xoj6v2h:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));-webkit-mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));-webkit-mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)))}.x1b5cd1y:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(to right,transparent 0%,#0000004d 2px,black var(--spacing-1),black calc(100% - var(--spacing-1)),#0000004d calc(100% - 2px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#0000004d 2px,black var(--spacing-1),black calc(100% - var(--spacing-1)),#0000004d calc(100% - 2px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#0000004d 2px,black var(--spacing-1),black calc(100% - var(--spacing-1)),#0000004d calc(100% - 2px),transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#0000004d 2px,black var(--spacing-1),black calc(100% - var(--spacing-1)),#0000004d calc(100% - 2px),transparent 100%)}.x1ujl4f5:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(to right,transparent 0%,#0000004d 2px,black var(--spacing-1));-webkit-mask-image:linear-gradient(to right,transparent 0%,#0000004d 2px,black var(--spacing-1));-webkit-mask-image:linear-gradient(to right,transparent 0%,#0000004d 2px,black var(--spacing-1));mask-image:linear-gradient(to right,transparent 0%,#0000004d 2px,black var(--spacing-1))}.xq05pg6:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)),black calc(100% - calc(var(--_tab-strip-bleed) + var(--spacing-8))),transparent calc(100% - var(--_tab-strip-bleed)));-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)),black calc(100% - calc(var(--_tab-strip-bleed) + var(--spacing-8))),transparent calc(100% - var(--_tab-strip-bleed)));-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)),black calc(100% - calc(var(--_tab-strip-bleed) + var(--spacing-8))),transparent calc(100% - var(--_tab-strip-bleed)));mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)),black calc(100% - calc(var(--_tab-strip-bleed) + var(--spacing-8))),transparent calc(100% - var(--_tab-strip-bleed)))}.x1hua2o0:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)))}.x1cb67k9:not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(#0000,#0000);mask-image:linear-gradient(#0000,#0000)}.xw4ya9i:not(#\#):not(#\#):not(#\#){-webkit-mask-image:none;mask-image:none}.x19kjcj4:not(#\#):not(#\#):not(#\#){object-fit:contain}.xl1xv1r:not(#\#):not(#\#):not(#\#){object-fit:cover}.x1xyvc85:not(#\#):not(#\#):not(#\#){opacity:.15}.xvpkmg4:not(#\#):not(#\#):not(#\#){opacity:.25}.xuzhngd:not(#\#):not(#\#):not(#\#){opacity:.3}.x3onkmb:not(#\#):not(#\#):not(#\#){opacity:.35}.xbyyjgo:not(#\#):not(#\#):not(#\#){opacity:.5}.x197sbye:not(#\#):not(#\#):not(#\#){opacity:.6}.xg01cxk:not(#\#):not(#\#):not(#\#){opacity:0}.x1hc1fzr:not(#\#):not(#\#):not(#\#){opacity:1}.x1wnsjo:not(#\#):not(#\#):not(#\#){opacity:var(--_conceal-opacity,1)}.xgsobzw:not(#\#):not(#\#):not(#\#){opacity:var(--_reveal-opacity,1)}.x1i7u4iq:not(#\#):not(#\#):not(#\#){opacity:var(--_toast-swipe-opacity,1)}.x1clqncf:not(#\#):not(#\#):not(#\#){order:-1}.x1g77sc7:not(#\#):not(#\#):not(#\#){order:0}.x1wfwxd8:not(#\#):not(#\#):not(#\#){outline-offset:0}.x1kvmbwa:not(#\#):not(#\#):not(#\#){outline-offset:var(--_focus-outline-offset,0)}.x1t137rt:not(#\#):not(#\#):not(#\#){outline-style:none}.x1k57tk5:not(#\#):not(#\#):not(#\#){outline-width:0}.x9y5y3v:not(#\#):not(#\#):not(#\#){overflow-clip-margin:1px}.xj0a0fe:not(#\#):not(#\#):not(#\#){overflow-wrap:anywhere}.x1mzt3pk:not(#\#):not(#\#):not(#\#){overflow-wrap:break-word}.x1h4wwuj:not(#\#):not(#\#):not(#\#){overflow-wrap:normal}.xyri2b:not(#\#):not(#\#):not(#\#){padding-inline-end:0}.x1g2apga:not(#\#):not(#\#):not(#\#){padding-inline-end:calc(var(--_textarea-inline-padding) + var(--spacing-12))}.xp2dy4z:not(#\#):not(#\#):not(#\#){padding-inline-end:calc(var(--_textarea-inline-padding) + var(--spacing-6))}.x12frdag:not(#\#):not(#\#):not(#\#){padding-inline-end:calc(var(--container-padding-inline-end) - var(--border-width))}.x1g0rcpp:not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--spacing-4),env(safe-area-inset-right,0px))}.x1by8st6:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--astryx-dialog-padding-inline-end,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,max(var(--spacing-4),env(safe-area-inset-right,0px)))))}.x17sfb9:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--astryx-number-input-padding-inline-end,var(--astryx-number-input-padding-inline,var(--astryx-number-input-padding,var(--spacing-2))))}.x64h4k7:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--container-padding-inline-end)}.x1peupej:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--layout-padding-inner-x,var(--spacing-4))}.xpc6k2p:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--layout-padding-outer-x,var(--spacing-4))}.x1le3yxw:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-0-5)}.x1s0aq8i:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-0)}.x17hk9do:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-1-5)}.x1nryj5t:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-1)}.x160ivqr:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-10)}.x1djylfy:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-2)}.x1t818jl:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-3)}.xnjyzlh:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-4)}.xdbrk9v:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-5)}.x1we12cn:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-6)}.x1q91b2g:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--spacing-8)}.x120eax6:not(#\#):not(#\#):not(#\#){padding-inline-end:var(--x-paddingInlineEnd)}.x1c1uobl:not(#\#):not(#\#):not(#\#){padding-inline-start:0}.x1f43n9v:not(#\#):not(#\#):not(#\#){padding-inline-start:calc(16px + var(--spacing-1-5))}.x1b6te9z:not(#\#):not(#\#):not(#\#){padding-inline-start:calc(var(--_textarea-inline-padding) + var(--spacing-6))}.xs19ii7:not(#\#):not(#\#):not(#\#){padding-inline-start:calc(var(--container-padding-inline-start) - var(--border-width))}.x2a0j69:not(#\#):not(#\#):not(#\#){padding-inline-start:calc(var(--spacing-2) - var(--spacing-1) + 1px)}.xf4btlh:not(#\#):not(#\#):not(#\#){padding-inline-start:max(var(--spacing-4),env(safe-area-inset-left,0px))}.xqmdmw:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--astryx-dialog-padding-inline-start,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,max(var(--spacing-4),env(safe-area-inset-left,0px)))))}.x1jni19p:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--astryx-number-input-padding-inline-start,var(--astryx-number-input-padding-inline,var(--astryx-number-input-padding,var(--spacing-2))))}.x1c35znw:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--container-padding-inline-start)}.xwjyata:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--layout-padding-inner-x,var(--spacing-4))}.x139j0dd:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--layout-padding-outer-x,var(--spacing-4))}.x138rykx:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-0-5)}.x18gyask:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-0)}.xfti1ec:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-1-5)}.x1vsv5vr:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-1)}.xqp078j:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-10)}.xc8afjc:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-11)}.x19b7t93:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-12)}.x12gdq22:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-2)}.x126nfab:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-3)}.x1rey3nv:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-4)}.x1blguxw:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-5)}.x31w388:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-6)}.xchaq28:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-7)}.x1j3hnjz:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--spacing-8)}.xnvo3vl:not(#\#):not(#\#):not(#\#){padding-inline-start:var(--x-paddingInlineStart)}.x201tam:not(#\#):not(#\#):not(#\#){perspective:520px}.x67bb7w:not(#\#):not(#\#):not(#\#){pointer-events:auto}.x47corl:not(#\#):not(#\#):not(#\#){pointer-events:none}.x1tsffl5:not(#\#):not(#\#):not(#\#){position-anchor:--outline-active}.x10l6tqk:not(#\#):not(#\#):not(#\#){position:absolute}.xixxii4:not(#\#):not(#\#):not(#\#){position:fixed}.x1n2onr6:not(#\#):not(#\#):not(#\#){position:relative}.x1uhb9sk:not(#\#):not(#\#):not(#\#){position:static}.x7wzq59:not(#\#):not(#\#):not(#\#){position:sticky}.x1mf7ja4:not(#\#):not(#\#):not(#\#){position:var(--_reveal-position,static)}.xio8zfp:not(#\#):not(#\#):not(#\#){r:calc(var(--_spinner-ring-diameter) / 2)}.xtt52l0:not(#\#):not(#\#):not(#\#){resize:none}.x288g5:not(#\#):not(#\#):not(#\#){resize:vertical}.xajebq8:not(#\#):not(#\#):not(#\#){row-gap:calc(var(--spacing-1) - 1px)}.x1tw44j4:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-0-5)}.x6yxi7o:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-0)}.xhq53yo:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-1-5)}.x1ngg2t4:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-1)}.x1xpicb7:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-10)}.x1x7z4sm:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-2)}.x4olc9o:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-3)}.xtx9w7w:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-4)}.x1iu6piu:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-5)}.xczp1bk:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-6)}.xgx0vcf:not(#\#):not(#\#):not(#\#){row-gap:var(--spacing-8)}.xkcv6ua:not(#\#):not(#\#):not(#\#){scroll-behavior:smooth}.xrw9175:not(#\#):not(#\#):not(#\#){scroll-padding-block-end:48px}.x1hdbdi8:not(#\#):not(#\#):not(#\#){scroll-snap-align:center}.x1bhewko:not(#\#):not(#\#):not(#\#){scroll-snap-align:start}.x1rohswg:not(#\#):not(#\#):not(#\#){scrollbar-width:none}.x1vy8frr:not(#\#):not(#\#):not(#\#){stroke-dasharray:calc(var(--_spinner-ring-diameter) * 1.1781) calc(var(--_spinner-ring-diameter) * 1.9635)}.x1owpc8m:not(#\#):not(#\#):not(#\#){stroke-linecap:round}.x7bo2k:not(#\#):not(#\#):not(#\#){stroke-opacity:.3}.x1smxkh6:not(#\#):not(#\#):not(#\#){stroke-opacity:.302}.x1g350g8:not(#\#):not(#\#):not(#\#){stroke-opacity:1}.xgw3ha0:not(#\#):not(#\#):not(#\#){stroke-width:var(--_spinner-ring-stroke)}.xtve3lm:not(#\#):not(#\#):not(#\#){stroke:var(--spinner-color)}.xalkhop:not(#\#):not(#\#):not(#\#){stroke:var(--spinner-track-color)}.xeq4nuv:not(#\#):not(#\#):not(#\#){tab-size:2}.x1drmoe9:not(#\#):not(#\#):not(#\#){table-layout:auto}.x140o2bo:not(#\#):not(#\#):not(#\#){table-layout:fixed}.x2b8uid:not(#\#):not(#\#):not(#\#){text-align:center}.xp4054r:not(#\#):not(#\#):not(#\#){text-align:end}.x16tdsg8:not(#\#):not(#\#):not(#\#){text-align:inherit}.x1yc453h:not(#\#):not(#\#):not(#\#){text-align:start}.x1b2iylo:not(#\#):not(#\#):not(#\#){text-box-edge:cap alphabetic}.xwgcxoh:not(#\#):not(#\#):not(#\#){text-box-trim:trim-both}.xycaml9:not(#\#):not(#\#):not(#\#){-webkit-text-decoration-color:var(--color-border-emphasized);-webkit-text-decoration-color:var(--color-border-emphasized);-webkit-text-decoration-color:var(--color-border-emphasized);text-decoration-color:var(--color-border-emphasized)}.xujl8zx:not(#\#):not(#\#):not(#\#){text-decoration-line:underline}.xev0dqp:not(#\#):not(#\#):not(#\#){text-decoration-style:dashed}.xlyipyv:not(#\#):not(#\#):not(#\#){text-overflow:ellipsis}.xtvhhri:not(#\#):not(#\#):not(#\#){text-transform:uppercase}.xrys4gj:not(#\#):not(#\#):not(#\#){text-underline-offset:2px}.x11b3rvo:not(#\#):not(#\#):not(#\#){text-underline-offset:var(--spacing-0-5)}.x1w2vvpw:not(#\#):not(#\#):not(#\#){text-wrap:balance}.xebhuq6:not(#\#):not(#\#):not(#\#){text-wrap:nowrap}.x1fzhlzt:not(#\#):not(#\#):not(#\#){text-wrap:pretty}.xk4td0m:not(#\#):not(#\#):not(#\#){text-wrap:wrap}.x5ve5x3:not(#\#):not(#\#):not(#\#){touch-action:none}.x1bblx7b:not(#\#):not(#\#):not(#\#){touch-action:pan-x}.xx69xxh:not(#\#):not(#\#):not(#\#){touch-action:pan-y}.x1g0ag68:not(#\#):not(#\#):not(#\#){transform-origin:50%}.x1oyok0e:not(#\#):not(#\#):not(#\#){transform-style:preserve-3d}.x1c071of:not(#\#):not(#\#):not(#\#){transform:none}.x7p49u4:not(#\#):not(#\#):not(#\#){transform:rotate(0)}.x19jd1h0:not(#\#):not(#\#):not(#\#){transform:rotate(180deg)}.x1iffjtl:not(#\#):not(#\#):not(#\#){transform:rotate(90deg)}.x3oybdh:not(#\#):not(#\#):not(#\#){transform:scale(1)}.x11lhmoz:not(#\#):not(#\#):not(#\#){transform:translate(-50%,-50%)}.x1m9mm8y:not(#\#):not(#\#):not(#\#){transform:translate(-50%,50%)}.xv8yid9:not(#\#):not(#\#):not(#\#){transform:translate(25%,25%)}.x4v1no5:not(#\#):not(#\#):not(#\#){transform:translate(50%,50%)}.x5i6ehr:not(#\#):not(#\#):not(#\#){transform:translate(-100%)}.xuuh30:not(#\#):not(#\#):not(#\#){transform:translate(-50%)}.xbryuvx:not(#\#):not(#\#):not(#\#){transform:translate(0)}.xumwmo6:not(#\#):not(#\#):not(#\#){transform:translate(100%)}.xv5t66b:not(#\#):not(#\#):not(#\#){transform:translate(12px)}.x15481yp:not(#\#):not(#\#):not(#\#){transform:translate(14px)}.xitnhlw:not(#\#):not(#\#):not(#\#){transform:translate(50%)}.x105ttfm:not(#\#):not(#\#):not(#\#){transform:translateY(-100%)}.x19xzu86:not(#\#):not(#\#):not(#\#){transform:translateY(-3px)scale(.985)}.x1bvilyr:not(#\#):not(#\#):not(#\#){transform:translateY(-4px)}.x1cb1t30:not(#\#):not(#\#):not(#\#){transform:translateY(-50%)}.xp0htlv:not(#\#):not(#\#):not(#\#){transform:translateY(-6px)scale(.97)}.xnn1q72:not(#\#):not(#\#):not(#\#){transform:translateY(0)}.x1weeur4:not(#\#):not(#\#):not(#\#){transform:translateY(100%)}.x131p8rn:not(#\#):not(#\#):not(#\#){transform:translateY(50%)}.x149p1fo:not(#\#):not(#\#):not(#\#){transform:translateY(var(--_toast-swipe-exit-y,var(--_toast-swipe-y,var(--_toast-slide-y,var(--spacing-2))))) scale(var(--_toast-swipe-scale,1))}.x1qk3xlt:not(#\#):not(#\#):not(#\#){transform:translateY(var(--_toast-swipe-y,0px)) scale(var(--_toast-swipe-scale,1))}.x11wx31z:not(#\#):not(#\#):not(#\#){transform:var(--x-qthpiu)}.xsqj5wx:not(#\#):not(#\#):not(#\#){transform:var(--x-transform)}.xd00j3c:not(#\#):not(#\#):not(#\#){transition-behavior:allow-discrete}.x5h36tt:not(#\#):not(#\#):not(#\#){transition-delay:.15s}.x1ahifba:not(#\#):not(#\#):not(#\#){transition-delay:0s}.x4avkj2:not(#\#):not(#\#):not(#\#){transition-delay:var(--_fade-delay,0s)}.x1rq8cwj:not(#\#):not(#\#):not(#\#){transition-delay:var(--_reveal-delay,0s,0s)}.x10b1n17:not(#\#):not(#\#):not(#\#){transition-delay:var(--duration-fast)}.x11bq7d0:not(#\#):not(#\#):not(#\#){transition-duration:60ms}.xx6bhzk:not(#\#):not(#\#):not(#\#){transition-duration:.15s}.x13dflua:not(#\#):not(#\#):not(#\#){transition-duration:.2s}.xjd9b36:not(#\#):not(#\#):not(#\#){transition-duration:1ms}.x2rcmwa:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-fast-max)}.xkvfbh3:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-fast-min)}.x1tw3moq:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-fast),0s}.xuedmi6:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-fast)}.xgneliz:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-medium-min)}.x80gvsz:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-medium)}.x1eaenvl:not(#\#):not(#\#):not(#\#){transition-property:background-color,border-color,color}.xts7igz:not(#\#):not(#\#):not(#\#){transition-property:background-color,border-color}.x106061f:not(#\#):not(#\#):not(#\#){transition-property:background-color,box-shadow}.xzo0q3i:not(#\#):not(#\#):not(#\#){transition-property:background-color,color,border-color}.xs2xxs2:not(#\#):not(#\#):not(#\#){transition-property:background-color,color}.x1e8aii2:not(#\#):not(#\#):not(#\#){transition-property:background-color,opacity}.x15406qy:not(#\#):not(#\#):not(#\#){transition-property:background-color}.xrafxwg:not(#\#):not(#\#):not(#\#){transition-property:background-image,background-color,color,opacity,transform}.x12qzo2w:not(#\#):not(#\#):not(#\#){transition-property:background-image}.x1tv3a4w:not(#\#):not(#\#):not(#\#){transition-property:border-color,box-shadow,background-color}.x12zzom9:not(#\#):not(#\#):not(#\#){transition-property:border-color,box-shadow}.xshfolx:not(#\#):not(#\#):not(#\#){transition-property:border-color}.x16mfhj0:not(#\#):not(#\#):not(#\#){transition-property:box-shadow,border-color}.xkdsq27:not(#\#):not(#\#):not(#\#){transition-property:box-shadow}.x1vix5yk:not(#\#):not(#\#):not(#\#){transition-property:color,background-color,box-shadow}.x1gbuem2:not(#\#):not(#\#):not(#\#){transition-property:color,background-color}.x1jbe559:not(#\#):not(#\#):not(#\#){transition-property:color,font-weight}.x1mpt4pi:not(#\#):not(#\#):not(#\#){transition-property:color,-webkit-text-decoration,text-decoration}.xt3l3uh:not(#\#):not(#\#):not(#\#){transition-property:color}.xrgi2yo:not(#\#):not(#\#):not(#\#){transition-property:display}.xjshnde:not(#\#):not(#\#):not(#\#){transition-property:grid-template-rows,padding}.x1qn9uv2:not(#\#):not(#\#):not(#\#){transition-property:grid-template-rows}.x157bb6t:not(#\#):not(#\#):not(#\#){transition-property:-webkit-mask-image,mask-image}.x13b0p5u:not(#\#):not(#\#):not(#\#){transition-property:none}.x1wbls7o:not(#\#):not(#\#):not(#\#){transition-property:opacity,background-color,transform}.xnpjden:not(#\#):not(#\#):not(#\#){transition-property:opacity,background-color}.xsm4mo9:not(#\#):not(#\#):not(#\#){transition-property:opacity,display,overlay}.x1n1p2mu:not(#\#):not(#\#):not(#\#){transition-property:opacity,position}.x1apppo2:not(#\#):not(#\#):not(#\#){transition-property:opacity,transform,max-width}.x4bbghf:not(#\#):not(#\#):not(#\#){transition-property:opacity,transform,overlay,display}.x6o7n8i:not(#\#):not(#\#):not(#\#){transition-property:opacity,transform}.xxup5nn:not(#\#):not(#\#):not(#\#){transition-property:opacity,visibility,transform}.x1jl3cmp:not(#\#):not(#\#):not(#\#){transition-property:opacity,visibility}.x19991ni:not(#\#):not(#\#):not(#\#){transition-property:opacity}.x1xuz8iz:not(#\#):not(#\#):not(#\#){transition-property:top,height}.x18dpk69:not(#\#):not(#\#):not(#\#){transition-property:transform,background-color}.x12pfavo:not(#\#):not(#\#):not(#\#){transition-property:transform,color}.xwcsmn1:not(#\#):not(#\#):not(#\#){transition-property:transform,opacity}.xh3q6i0:not(#\#):not(#\#):not(#\#){transition-property:transform,width,height}.x11xpdln:not(#\#):not(#\#):not(#\#){transition-property:transform}.x74b7sa:not(#\#):not(#\#):not(#\#){transition-property:visibility}.xxrbq2n:not(#\#):not(#\#):not(#\#){transition-property:width}.xv2sgk5:not(#\#):not(#\#):not(#\#){transition-timing-function:cubic-bezier(.3,0,.6,.6)}.x9lcvmn:not(#\#):not(#\#):not(#\#){transition-timing-function:ease-out}.xcj1dhv:not(#\#):not(#\#):not(#\#){transition-timing-function:linear}.xlr8y92:not(#\#):not(#\#):not(#\#){transition-timing-function:var(--ease-standard)}.x3sa99s:not(#\#):not(#\#):not(#\#){translate:0 -50%}.x87ps6o:not(#\#):not(#\#):not(#\#){-webkit-user-select:none;user-select:none}.x11njtxf:not(#\#):not(#\#):not(#\#){vertical-align:baseline}.x3ajldb:not(#\#):not(#\#):not(#\#){vertical-align:bottom}.xxymvpz:not(#\#):not(#\#):not(#\#){vertical-align:middle}.x1v0h343:not(#\#):not(#\#):not(#\#){vertical-align:super}.x16dsc37:not(#\#):not(#\#):not(#\#){vertical-align:top}.xlshs6z:not(#\#):not(#\#):not(#\#){visibility:hidden}.xnpuxes:not(#\#):not(#\#):not(#\#){visibility:visible}.xeaf4i8:not(#\#):not(#\#):not(#\#){white-space:normal}.xuxw1ft:not(#\#):not(#\#):not(#\#){white-space:nowrap}.x126k92a:not(#\#):not(#\#):not(#\#){white-space:pre-wrap}.x1sdyfia:not(#\#):not(#\#):not(#\#){white-space:pre}.x1q1rmc8:not(#\#):not(#\#):not(#\#){will-change:transform,opacity}.x1so62im:not(#\#):not(#\#):not(#\#){will-change:transform}.x1yn0g08:not(#\#):not(#\#):not(#\#){word-break:break-all}.x13faqbe:not(#\#):not(#\#):not(#\#){word-break:break-word}.x1lldw8n:not(#\#):not(#\#):not(#\#){word-break:normal}.x1ja2u2z:not(#\#):not(#\#):not(#\#){z-index:0}.x1vjfegm:not(#\#):not(#\#):not(#\#){z-index:1}.xfo81ep:not(#\#):not(#\#):not(#\#){z-index:1000}.xhtitgo:not(#\#):not(#\#):not(#\#){z-index:2}.xzkaem6:not(#\#):not(#\#):not(#\#){z-index:3}.x6cuj84:not(#\#):not(#\#):not(#\#){z-index:500}.x1q2oy4v:not(#\#):not(#\#):not(#\#){z-index:9999}.x1v2claj.x1v2claj:where(.x84s7jz:focus-within *):not(#\#):not(#\#):not(#\#){opacity:1}.x3730vf.x3730vf:where(.x84s7jz:focus-within *):not(#\#):not(#\#):not(#\#){pointer-events:auto}.xuqivmr.xuqivmr:where(.x84s7jz:focus-within *):not(#\#):not(#\#):not(#\#){transform:translateY(0)}.x7v6acp.x7v6acp:where(.x84s7jz:focus-within *):not(#\#):not(#\#):not(#\#){visibility:visible}.x5um2zc.x5um2zc:where(.x1twag4g:first-child *):not(#\#):not(#\#):not(#\#),.x1se5z8o.x1se5z8o:where(.x1twag4g:last-child *):not(#\#):not(#\#):not(#\#){visibility:hidden}@supports (animation-timeline:view()){.x1iu2jvn.x1iu2jvn:not(#\#):not(#\#):not(#\#){animation-name:x1tut0r7-B}}.xfd3fxj:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){animation-name:x1c2q33o-B}.x1vxsm5i:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){animation-name:xu7jd1z-B}.x18lne9g:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){animation-name:xwmkjkf-B}.x1spg45b.x1spg45b:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:var(--color-accent)}.x1rmb4wm:not(:has(~:not([popover]):not(template))):not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--radius-element)}.xturttb:not(:has(~:not([popover]):not(template))):not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--radius-element)}.x1tzxhge:not(:has(~:not([popover]):not(template))):not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--radius-element)}.xuihb5h:focus-within:not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px var(--color-accent-muted)}.x15ysqaf:focus-within:not(#\#):not(#\#):not(#\#){box-shadow:none}.xyavpck:focus-within:not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-med)}.x10wafsz:focus-within:not(#\#):not(#\#):not(#\#){clip-path:none}.xy5bzlh.xy5bzlh:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:var(--color-icon-primary)}.x9o1np9.x9o1np9:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:var(--color-text-primary)}.x16khyan:is(:disabled,[aria-disabled=true]):not(#\#):not(#\#):not(#\#){cursor:default}.x1y40yee:popover-open:not(#\#):not(#\#):not(#\#){display:flex}.x1sik18w:not(:first-child):not(#\#):not(#\#):not(#\#){margin-inline-start:var(--_avatar-group-overlap)}.x1nwey30:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));-webkit-mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));-webkit-mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));mask-image:linear-gradient(to left,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)))}.x1rxa4r8:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));-webkit-mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)));mask-image:linear-gradient(to right,transparent var(--_tab-strip-bleed),black calc(var(--_tab-strip-bleed) + var(--spacing-8)))}.x1euntei:focus-within:not(#\#):not(#\#):not(#\#),.x25t5g8:focus-visible:not(#\#):not(#\#):not(#\#),.xof6bs:is(th:hover *):not(#\#):not(#\#):not(#\#){opacity:1}.xofkqq2:popover-open:not(#\#):not(#\#):not(#\#){opacity:1}.x1e0x2sz:focus-visible:not(#\#):not(#\#):not(#\#){outline-color:var(--color-error)}.xx47ajj:focus-visible:not(#\#):not(#\#):not(#\#){outline-color:var(--focus-outline-color)}.x7s97pk:focus-visible:not(#\#):not(#\#):not(#\#){outline-offset:2px}.x13aywxo:focus-visible:not(#\#):not(#\#):not(#\#){outline-offset:var(--button-focus-offset)}.x1vwwbsn:focus-visible:not(#\#):not(#\#):not(#\#),.xwz5zln.xwz5zln:where(.x1iwu4tg:has(:focus-visible) *):not(#\#):not(#\#):not(#\#){outline-offset:var(--focus-outline-offset)}.x1jhp3zv:focus-visible:not(#\#):not(#\#):not(#\#){outline-style:var(--focus-outline-style)}.x1vidyx5:focus-visible:not(#\#):not(#\#):not(#\#){outline-width:var(--focus-outline-width)}.x1n6uwha:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--spacing-4),env(safe-area-inset-left,0px))}.xtjjor6:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){padding-inline-end:var(--astryx-dialog-padding-inline-end,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,max(var(--spacing-4),env(safe-area-inset-left,0px)))))}.x19efkpl:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){padding-inline-start:max(var(--spacing-4),env(safe-area-inset-right,0px))}.x1i7f2ot:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){padding-inline-start:var(--astryx-dialog-padding-inline-start,var(--astryx-dialog-padding-inline,var(--astryx-dialog-padding,max(var(--spacing-4),env(safe-area-inset-right,0px)))))}.xbt4iw:focus-within:not(#\#):not(#\#):not(#\#){pointer-events:auto}.xo74pv5:focus-within:not(#\#):not(#\#):not(#\#){position:static}.x1mqgsch[data-astryx-scrolling]:not(#\#):not(#\#):not(#\#){scrollbar-width:none}.xaafvuh:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:scaleX(-1)rotate(0)}.x1nxqau:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:scaleX(-1)rotate(90deg)}.xgtlewx:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:scaleX(-1)}.x10fxb7p:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(-25%,25%)}.xqgnvz5:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(-50%,50%)}.xoffwj3:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(50%,-50%)}.x1df3fe5:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(-100%)}.xi9aj42:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(-12px)}.x12xz5k6:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(-14px)}.x36dvrd:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(-50%)}.xttggg:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(100%)}.x1nyx83j:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:translate(50%)}.x9cjr8z:popover-open:not(#\#):not(#\#):not(#\#){transform:translateY(0)}.x75qhwu:is([dir=rtl] *):not(#\#):not(#\#):not(#\#){transform:var(--x-sj6hyi)}.x1rm9qnc:focus-within:not(#\#):not(#\#):not(#\#){z-index:1}.x1btxeh5:has(input:focus-visible):not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px var(--color-accent)}.x92e2el:has(>[data-astryx-edge-comp]:last-child):not(#\#):not(#\#):not(#\#){margin-inline-end:var(--x-4drmnv)}.x1kftj4p:has(>[data-astryx-edge-comp]:first-child):not(#\#):not(#\#):not(#\#){margin-inline-start:var(--x-126w13d)}:is(.x1uy843r:has(:focus-visible):not(#\#):not(#\#):not(#\#),.xobxmqy:has(>:first-child:focus-visible):not(#\#):not(#\#):not(#\#)){outline-color:var(--focus-outline-color)}:is(.x1jumodi:has(:focus-visible):not(#\#):not(#\#):not(#\#),.x2vr5qc:has(>:first-child:focus-visible):not(#\#):not(#\#):not(#\#)){outline-offset:var(--focus-outline-offset)}:is(.xciu248:has(:focus-visible):not(#\#):not(#\#):not(#\#),.xfd04fr:has(>:first-child:focus-visible):not(#\#):not(#\#):not(#\#)){outline-style:var(--focus-outline-style)}:is(.x11j6mr8:has(:focus-visible):not(#\#):not(#\#):not(#\#),.xmmisi4:has(>:first-child:focus-visible):not(#\#):not(#\#):not(#\#)){outline-width:var(--focus-outline-width)}.xmnmr5y:has(.astryx-nav-icon):not(#\#):not(#\#):not(#\#){padding-inline-start:0}.x1xrp5p4:first-child:not(#\#):not(#\#):not(#\#){border-end-start-radius:var(--radius-element)}.xyf0ibl:first-child:not(#\#):not(#\#):not(#\#){border-inline-start-style:none}.x1pjv70x:first-child:not(#\#):not(#\#):not(#\#){border-inline-start-width:0}.x2qxyot:first-child:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--radius-element)}.x8eehn2:first-child:not(#\#):not(#\#):not(#\#){border-start-start-radius:var(--radius-element)}.x1pwwqoy:first-child:not(#\#):not(#\#):not(#\#){margin-inline-start:0}.x5uh4xs:first-child:not(#\#):not(#\#):not(#\#){padding-inline-start:max(var(--container-padding-inline-start,var(--spacing-2)),var(--spacing-2))}.x9bi00s:first-child:not(#\#):not(#\#):not(#\#){padding-inline-start:max(var(--container-padding-inline-start,var(--spacing-3)),var(--spacing-2))}.x18c6q21:first-child:not(#\#):not(#\#):not(#\#){padding-inline-start:max(var(--container-padding-inline-start,var(--spacing-4)),var(--spacing-2))}.x747jw7:last-child:not(#\#):not(#\#):not(#\#){border-end-end-radius:var(--radius-element)}.x1qlsc9e:last-child:not(#\#):not(#\#):not(#\#){border-inline-end-width:0}.x11xp8u1:last-child:not(#\#):not(#\#):not(#\#){border-start-end-radius:var(--radius-element)}.xbg7gas:last-child:not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--container-padding-inline-end,var(--spacing-2)),var(--spacing-2))}.xpilulx:last-child:not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--container-padding-inline-end,var(--spacing-3)),var(--spacing-2))}.x1wzlfcn:last-child:not(#\#):not(#\#):not(#\#){padding-inline-end:max(var(--container-padding-inline-end,var(--spacing-4)),var(--spacing-2))}.x1dnou9g:nth-child(2n):not(#\#):not(#\#):not(#\#){background-color:var(--color-background-muted)}.x1c52tdz:focus:not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-hover)}.x1rsz1da:focus:not(#\#):not(#\#):not(#\#){clip-path:none}.xodanix:focus:not(#\#):not(#\#):not(#\#){inset-inline-start:var(--spacing-2)}.x1xrnuwo:focus:not(#\#):not(#\#):not(#\#){position:fixed}.x1hbpcn8:focus:not(#\#):not(#\#):not(#\#){white-space:normal}.xjtnuge:active:not(#\#):not(#\#):not(#\#){background-color:var(--color-neutral)}.xuqm82a:active:not(#\#):not(#\#):not(#\#){background-image:none}.x1pdlv7q:active:not(#\#):not(#\#):not(#\#){transform:none}.xk4oym4:active:not(#\#):not(#\#):not(#\#){transform:scale(.98)}@media (prefers-reduced-motion:reduce){.x14q22ui.x14q22ui:not(#\#):not(#\#):not(#\#){animation-delay:0s}.xnh0sag.xnh0sag:not(#\#):not(#\#):not(#\#){animation-duration:3s}.x1aquc0h.x1aquc0h:not(#\#):not(#\#):not(#\#){animation-name:none}}@media (forced-colors:active){.x9yvj25.x9yvj25:not(#\#):not(#\#):not(#\#){background-color:canvas}.xwvh9j7.xwvh9j7:not(#\#):not(#\#):not(#\#){background-color:canvastext}}@media (prefers-contrast:more) and (not (forced-colors:active)){.x1j0df82.x1j0df82:not(#\#):not(#\#):not(#\#){background-color:var(--color-skeleton)}@supports (color:color-mix(in lab, red, red)){.x1j0df82.x1j0df82:not(#\#):not(#\#):not(#\#){background-color:color-mix(in srgb,var(--color-skeleton),var(--color-text-primary) 30%)}}}@media (forced-colors:active){.x1o55y2u.x1o55y2u:not(#\#):not(#\#):not(#\#){background-color:graytext}.x1jzqe4.x1jzqe4:not(#\#):not(#\#):not(#\#){background-color:highlight}.x1sir5s4.x1sir5s4:not(#\#):not(#\#):not(#\#){background-color:highlighttext}}@media (hover:hover){.x150ydqw.x150ydqw:not(#\#):not(#\#):not(#\#){background-color:#0000}}@media (forced-colors:active){.xs5hli.xs5hli:not(#\#):not(#\#):not(#\#){color:canvastext}.x1k5gbb1.x1k5gbb1:not(#\#):not(#\#):not(#\#){color:highlighttext}}@media (hover:hover){.x2dt3px.x2dt3px:not(#\#):not(#\#):not(#\#){cursor:zoom-in}.xqwu39o.xqwu39o:not(#\#):not(#\#):not(#\#){display:flex}}@media (width<=480px){.xedohl4.xedohl4:not(#\#):not(#\#):not(#\#){display:flex}}@media (pointer:coarse){.xhj50sb.xhj50sb:not(#\#):not(#\#):not(#\#){display:none}}@media (width<=480px){.x1rpgqan.x1rpgqan:not(#\#):not(#\#):not(#\#){flex-direction:column}}@media (pointer:coarse){.x6pjikd.x6pjikd:not(#\#):not(#\#):not(#\#){font-size:max(1rem,var(--text-body-size))}.xdk3u5w.xdk3u5w:not(#\#):not(#\#):not(#\#){font-size:max(1rem,var(--text-label-size))}.x1hsn8va.x1hsn8va:not(#\#):not(#\#):not(#\#){inset-inline-start:50%}.x1jymrmb.x1jymrmb:not(#\#):not(#\#):not(#\#){margin-inline-start:auto}}@media (forced-colors:active){.x1tbh5bv.x1tbh5bv:not(#\#):not(#\#):not(#\#){opacity:1}}@media (pointer:coarse){.xozvky.xozvky:not(#\#):not(#\#):not(#\#){order:1}}@media (prefers-reduced-motion:reduce){.xg83hb1.xg83hb1:not(#\#):not(#\#):not(#\#){scroll-behavior:auto}}@media (pointer:coarse){.x8i4i9p.x8i4i9p:not(#\#):not(#\#):not(#\#){transform:translate(-50%,-50%)}}@media (prefers-reduced-motion:reduce){.xwgk2z2.xwgk2z2:not(#\#):not(#\#):not(#\#){transition-delay:var(--_reveal-delay-reduced,0s,0s)}.xsagj69.xsagj69:not(#\#):not(#\#):not(#\#){transition-duration:.01ms}.xzg1mie.xzg1mie:not(#\#):not(#\#):not(#\#){transition-duration:10ms}.xsr0bmt.xsr0bmt:not(#\#):not(#\#):not(#\#){transition-duration:0s,0s}.x12w9bfk.x12w9bfk:not(#\#):not(#\#):not(#\#){transition-duration:0s}.x4wkmsb.x4wkmsb:not(#\#):not(#\#):not(#\#){transition-property:none}}.x1anq1lc.x1anq1lc:active:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-pressed)}.xzmimnh.xzmimnh:active:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-image:linear-gradient(var(--color-overlay-pressed),var(--color-overlay-pressed)),linear-gradient(var(--color-neutral),var(--color-neutral))}.x7uyq82.x7uyq82:active:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-image:linear-gradient(var(--color-overlay-pressed),var(--color-overlay-pressed))}@media (hover:hover) and (forced-colors:none){.xcgwt1n.xcgwt1n.xcgwt1n:where(.x1iwu4tg:hover *):not(#\#):not(#\#):not(#\#){background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.xcgwt1n.xcgwt1n.xcgwt1n:where(.x1iwu4tg:hover *):not(#\#):not(#\#):not(#\#){background-color:color-mix(in srgb,var(--color-accent),var(--color-tint-hover) 15%)}}}@media (hover:hover){.x17srpfb.x17srpfb.x17srpfb:where(.x1odsvnm:hover *):not(#\#):not(#\#):not(#\#){background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.x17srpfb.x17srpfb.x17srpfb:where(.x1odsvnm:hover *):not(#\#):not(#\#):not(#\#){background-color:color-mix(in srgb,var(--color-accent),var(--color-tint-hover) 15%)}}}@media (hover:hover) and (forced-colors:none){.x1a8ae7b.x1a8ae7b.x1a8ae7b:where(.x1iwu4tg:hover *):not(#\#):not(#\#):not(#\#){background-color:var(--color-background-gray)}@supports (color:color-mix(in lab, red, red)){.x1a8ae7b.x1a8ae7b.x1a8ae7b:where(.x1iwu4tg:hover *):not(#\#):not(#\#):not(#\#){background-color:color-mix(in srgb,var(--color-background-gray),var(--color-tint-hover) 5%)}}}@media (hover:hover){.xeultfy.xeultfy.xeultfy:where(.x1odsvnm:hover *):not(#\#):not(#\#):not(#\#){background-color:var(--color-background-surface)}@supports (color:color-mix(in lab, red, red)){.xeultfy.xeultfy.xeultfy:where(.x1odsvnm:hover *):not(#\#):not(#\#):not(#\#){background-color:color-mix(in srgb,var(--color-background-surface),var(--color-tint-hover) 5%)}}.xqxnq6d.xqxnq6d.xqxnq6d:where(.x1odsvnm:hover *):not(#\#):not(#\#):not(#\#){background-color:var(--color-background-muted)}.x1pe4z86.x1pe4z86.x1pe4z86:where(.x-default-marker:hover *):not(#\#):not(#\#):not(#\#){background-color:var(--color-icon-primary)}.x1a1zr74.x1a1zr74.x1a1zr74:where(.x1u3b27q:hover *):not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-hover)}.x1t9gxa6.x1t9gxa6.x1t9gxa6:where(.x-default-marker:hover *):not(#\#):not(#\#):not(#\#){color:var(--color-text-primary)}.xcwhr9z.xcwhr9z.xcwhr9z:where(.x84s7jz:hover *):not(#\#):not(#\#):not(#\#){opacity:1}.x8ydxbz.x8ydxbz.x8ydxbz:where(.x84s7jz:hover *):not(#\#):not(#\#):not(#\#){pointer-events:auto}.x17hxqr7.x17hxqr7.x17hxqr7:where(.x84s7jz:hover *):not(#\#):not(#\#):not(#\#){transform:translateY(0)}.xneequu.xneequu.xneequu:where(.x84s7jz:hover *):not(#\#):not(#\#):not(#\#){visibility:visible}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:reduce){.xk3h8ob.xk3h8ob.xk3h8ob:not(#\#):not(#\#):not(#\#){animation-name:xuvekqa-B}}}@media (hover:hover){.xvxo0qp.xvxo0qp.xvxo0qp:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.xvxo0qp.xvxo0qp.xvxo0qp:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:color-mix(in srgb,var(--color-accent),var(--color-tint-hover) 15%)}}.x1pfkqlk.x1pfkqlk.x1pfkqlk:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:#0000}.xcu6dpe.xcu6dpe.xcu6dpe:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:var(--color-neutral)}.x1912f9e.x1912f9e.x1912f9e:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#):after,.xoevpu5.xoevpu5.xoevpu5:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-hover)}.xmvprkv.xmvprkv.xmvprkv:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-image:linear-gradient(var(--color-overlay-hover),var(--color-overlay-hover))}.x1bm8j9m.x1bm8j9m.x1bm8j9m:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-image:none}.x1telqz2.x1telqz2.x1telqz2:hover:not(:focus-within):where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.x1telqz2.x1telqz2.x1telqz2:hover:not(:focus-within):where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--color-accent) 20%,transparent)}}.x1v5wwkd.x1v5wwkd.x1v5wwkd:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.x1v5wwkd.x1v5wwkd.x1v5wwkd:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--color-accent) 20%,transparent)}}.x1xqjsvb.x1xqjsvb.x1xqjsvb:hover:not(:focus-within):where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px var(--color-border-emphasized)}@supports (color:color-mix(in lab, red, red)){.x1xqjsvb.x1xqjsvb.x1xqjsvb:hover:not(:focus-within):where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--color-border-emphasized) 30%,transparent)}}.x1s17dad.x1s17dad.x1s17dad:hover:not(:focus-within):where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:none}.x1bgmis8.x1bgmis8.x1bgmis8:hover:not(:focus-within):where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-inset-error)}.x8wp45d.x8wp45d.x8wp45d:hover:not(:focus-within):where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-inset-success)}.x9156jc.x9156jc.x9156jc:hover:not(:focus-within):where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-inset-warning)}.x1ymidup.x1ymidup.x1ymidup:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-med)}.x1rfoswn.x1rfoswn.x1rfoswn:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:var(--color-text-accent)}@supports (color:color-mix(in lab, red, red)){.x1rfoswn.x1rfoswn.x1rfoswn:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:color-mix(in srgb,var(--color-text-accent),var(--color-tint-hover) 15%)}}.xcunlro.xcunlro.xcunlro:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:var(--color-text-primary)}@supports (color:color-mix(in lab, red, red)){.xcunlro.xcunlro.xcunlro:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:color-mix(in srgb,var(--color-text-primary),var(--color-tint-hover) 15%)}}.x7jm8ul.x7jm8ul.x7jm8ul:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:var(--color-text-secondary)}@supports (color:color-mix(in lab, red, red)){.x7jm8ul.x7jm8ul.x7jm8ul:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:color-mix(in srgb,var(--color-text-secondary),var(--color-tint-hover) 15%)}}.xo5jvnm.xo5jvnm.xo5jvnm:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){color:var(--color-text-primary)}}@container (width<=399px){.x1alyx8p.x1alyx8p:not(#\#):not(#\#):not(#\#){flex-wrap:wrap}}@media (forced-colors:active){.x1vo6n7o.x1vo6n7o:active:not(#\#):not(#\#):not(#\#){background-color:highlight}}@media (hover:hover){.x1otsd3y.x1otsd3y.x1otsd3y:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-image:linear-gradient(var(--color-overlay-hover),var(--color-overlay-hover)),linear-gradient(var(--color-neutral),var(--color-neutral))}.xprvw0a.xprvw0a.xprvw0a:active:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-pressed)}.xo3fi6e.xo3fi6e.xo3fi6e:active:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-image:linear-gradient(var(--color-overlay-pressed),var(--color-overlay-pressed)),linear-gradient(var(--color-neutral),var(--color-neutral))}.xetgvay.xetgvay.xetgvay:active:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-image:linear-gradient(var(--color-overlay-pressed),var(--color-overlay-pressed))}@media (forced-colors:active){.x1d42zcn.x1d42zcn.x1d42zcn.x1d42zcn:hover:where(:not(:disabled,[aria-disabled=true])):not(#\#):not(#\#):not(#\#){background-color:highlight}}}.xib2hle:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-color:var(--color-border-emphasized)}.xw8gpjh:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-color:var(--color-border)}.x1q0q8m5:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-style:solid}.xso031l:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-width:1px}.xlxy82:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-width:2px}.x92x3c3:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-width:var(--border-width)}.x1mly77v:not(#\#):not(#\#):not(#\#):not(#\#){border-top-color:var(--color-border-emphasized)}.x1pc3f07:not(#\#):not(#\#):not(#\#):not(#\#){border-top-color:var(--color-border)}.x11npmm7:not(#\#):not(#\#):not(#\#):not(#\#){border-top-color:var(--color-on-accent)}.x13fuv20:not(#\#):not(#\#):not(#\#):not(#\#){border-top-style:solid}.x178xt8z:not(#\#):not(#\#):not(#\#):not(#\#){border-top-width:1px}.x11xkdxz:not(#\#):not(#\#):not(#\#):not(#\#){border-top-width:var(--border-width)}.x1ey2m1c:not(#\#):not(#\#):not(#\#):not(#\#){bottom:0}.x1c7jfne:not(#\#):not(#\#):not(#\#):not(#\#){bottom:2px}.xyi47jn:not(#\#):not(#\#):not(#\#):not(#\#){bottom:var(--_tab-indicator-bottom,-1px)}.x112dmjn:not(#\#):not(#\#):not(#\#):not(#\#){bottom:var(--spacing-1)}.x1nqzi6q:not(#\#):not(#\#):not(#\#):not(#\#){bottom:var(--x-bottom)}.xvle69y:not(#\#):not(#\#):not(#\#):not(#\#){height:.75rem}.xqtp20y:not(#\#):not(#\#):not(#\#):not(#\#){height:0}.xmll18r:not(#\#):not(#\#):not(#\#):not(#\#){height:1.25rem}.xam5rvr:not(#\#):not(#\#):not(#\#):not(#\#){height:1.5rem}.x5yr21d:not(#\#):not(#\#):not(#\#):not(#\#){height:100%}.xtdtrs8:not(#\#):not(#\#):not(#\#):not(#\#){height:100dvh}.xpyat2d:not(#\#):not(#\#):not(#\#):not(#\#){height:100px}.x1dr59a3:not(#\#):not(#\#):not(#\#):not(#\#){height:100vh}.x170jfvy:not(#\#):not(#\#):not(#\#):not(#\#){height:10px}.x1wkxgih:not(#\#):not(#\#):not(#\#):not(#\#){height:120px}.x1kpxq89:not(#\#):not(#\#):not(#\#):not(#\#){height:12px}.xhjk10j:not(#\#):not(#\#):not(#\#):not(#\#){height:140px}.x1v9usgg:not(#\#):not(#\#):not(#\#):not(#\#){height:14px}.x1ymw6g:not(#\#):not(#\#):not(#\#):not(#\#){height:160px}.xlup9mm:not(#\#):not(#\#):not(#\#):not(#\#){height:16px}.xmix8c7:not(#\#):not(#\#):not(#\#):not(#\#){height:18px}.xlzyvqe:not(#\#):not(#\#):not(#\#):not(#\#){height:1em}.xjm9jq1:not(#\#):not(#\#):not(#\#):not(#\#){height:1px}.x1l36t39:not(#\#):not(#\#):not(#\#):not(#\#){height:1rem}.x1qx5ct2:not(#\#):not(#\#):not(#\#):not(#\#){height:20px}.xxk0z11:not(#\#):not(#\#):not(#\#):not(#\#){height:24px}.x1fgtraw:not(#\#):not(#\#):not(#\#):not(#\#){height:28px}.x36qwtl:not(#\#):not(#\#):not(#\#):not(#\#){height:2px}.x10w6t97:not(#\#):not(#\#):not(#\#):not(#\#){height:32px}.xuoj239:not(#\#):not(#\#):not(#\#):not(#\#){height:3px}.x1vqgdyp:not(#\#):not(#\#):not(#\#):not(#\#){height:40px}.xsdox4t:not(#\#):not(#\#):not(#\#):not(#\#){height:48px}.xqu0tyb:not(#\#):not(#\#):not(#\#):not(#\#){height:4px}.xols6we:not(#\#):not(#\#):not(#\#):not(#\#){height:6px}.xwzfr38:not(#\#):not(#\#):not(#\#):not(#\#){height:80px}.xdk7pt:not(#\#):not(#\#):not(#\#):not(#\#){height:8px}.x1qjb5ga:not(#\#):not(#\#):not(#\#):not(#\#){height:anchor-size(--outline-active height,0px)}.xt7dq6l:not(#\#):not(#\#):not(#\#):not(#\#){height:auto}.xuk38ov:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(100% - var(--tree-list-row-gap,0px) / 2)}.xs02d24:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(100% + 1px)}.x12qplqi:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(100% + var(--container-padding-block-start,0px) + var(--container-padding-block-end,0px))}.xpa73km:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(100dvh - var(--_app-shell-header-height,0px))}.x1oglpa6:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(max(1rem,var(--text-body-size)) * var(--text-body-leading));height:1lh}.x1tpcejd:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--_sheet-budget) + 48px)}.x1uiybsj:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--size-element-lg) - 4px)}.x102lyln:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--size-element-lg) - 8px)}.x184gfjb:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--size-element-md) - 4px)}.xrmxcn7:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--size-element-md) - 8px)}.x1u5rhrp:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--size-element-md) + var(--spacing-1))}.xzj98nu:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--size-element-sm) - 4px)}.xzydfjl:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--size-element-sm) - 8px)}.x1q370uo:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--text-body-size) * var(--text-body-leading))}.x14o5nre:not(#\#):not(#\#):not(#\#):not(#\#){height:calc(var(--text-supporting-size) * var(--text-supporting-leading))}.xw1wawg:not(#\#):not(#\#):not(#\#):not(#\#){height:36px}.xg7h5cd:not(#\#):not(#\#):not(#\#):not(#\#){height:fit-content}.xhovv34:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--_progressbar-mark-height,8px)}.xsyqizj:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--border-width)}.x5kfih4:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--resize-handle-hit-area,16px)}.xssyfek:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--size-element-lg)}.x1ueg155:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--size-element-md)}.x6k0iem:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--size-element-sm)}.x1b2l0oc:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-0-5)}.xcenk2v:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-1-5)}.x11c6zpc:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-1)}.x1k15mir:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-12)}.xoqw5ej:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-2)}.x9gl9lo:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-3)}.x6b6gus:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-4)}.x1grt7ep:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-5)}.xvpftlf:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-6)}.x18to7ep:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-8)}.x1w0ack5:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--table-resize-height,100%)}.x1seg80s:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--text-large-size)}.x15rwvks:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--text-supporting-size)}.x16ye13r:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--x-height)}.xm8gem:not(#\#):not(#\#):not(#\#):not(#\#){height:264px}.x6hpsvf:not(#\#):not(#\#):not(#\#):not(#\#){height:28px}.x1nrll8i:not(#\#):not(#\#):not(#\#):not(#\#){left:50%}.x1jyxor1:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:-1px}.x1if0o47:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:-48px}.xat24cr:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:0}.xlgak1e:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * (max(var(--_tab-strip-bleed),calc(-1 * var(--_tab-indicator-bottom,-1px)))))}.x1z0f2p2:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * var(--_chat-composer-radius))}.x13i4uq0:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * var(--astryx-number-input-padding-block-end,var(--astryx-number-input-padding,var(--spacing-1))))}.x6h7pi7:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * var(--container-padding-block-end,0px))}.x1cdrix3:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * var(--radius-chat))}.xdrfirk:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * var(--spacing-1-5))}.xlstkdb:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-0-5)}.x14cgwvg:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-1)}.x1p37lm5:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-2)}.xep27e5:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-3)}.xwh1t77:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-4)}.x4d5cxa:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-6)}.xlm3tn6:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--x-marginBlockEnd)}.xdj266r:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:0}.xr1yuqi:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:auto}.xmqyaqf:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * (var(--_tab-strip-bleed)))}.xvyqdj1:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * anchor-size(height) - 8px)}.xckg3cf:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * var(--_chat-composer-radius))}.x5j3pgv:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * var(--astryx-number-input-padding-block-start,var(--astryx-number-input-padding,var(--spacing-1))))}.x1sa9bsh:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * var(--container-padding-block-start,0px))}.x1c40v9y:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * var(--spacing-1-5))}.x1ajqlyv:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * var(--spacing-2))}.x1233pnv:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc((1em * var(--text-body-leading) - 6px) / 2)}.xjc2qm6:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-0-5)}.xcsaf9d:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-1)}.xtbrsbv:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-2)}.xj6sv8s:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-3)}.x1s1qpeq:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-4)}.x13rv44w:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-6)}.x1vhfslr:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--x-marginBlockStart)}.xmz0i5r:not(#\#):not(#\#):not(#\#):not(#\#){max-height:100%}.x1wj9ous:not(#\#):not(#\#):not(#\#):not(#\#){max-height:100dvh}.x18s7i0i:not(#\#):not(#\#):not(#\#):not(#\#){max-height:176px}.x1xiyphd:not(#\#):not(#\#):not(#\#):not(#\#){max-height:240px}.xuyqlj2:not(#\#):not(#\#):not(#\#):not(#\#){max-height:300px}.xbhvqqn:not(#\#):not(#\#):not(#\#):not(#\#){max-height:calc(100% - var(--spacing-3))}.x14bu9tk:not(#\#):not(#\#):not(#\#):not(#\#){max-height:calc(92dvh + 48px)}.xpnbb6b:not(#\#):not(#\#):not(#\#):not(#\#){max-height:min(480px,100vh - 32px)}.x7ab17h:not(#\#):not(#\#):not(#\#):not(#\#){max-height:none}.xenllk4:not(#\#):not(#\#):not(#\#):not(#\#){max-height:var(--container-max-height,none)}.x1jols5v:not(#\#):not(#\#):not(#\#):not(#\#){max-height:var(--x-maxHeight)}.x1m189uc:not(#\#):not(#\#):not(#\#):not(#\#){max-width:0}.x193iq5w:not(#\#):not(#\#):not(#\#):not(#\#){max-width:100%}.xlbgzzq:not(#\#):not(#\#):not(#\#):not(#\#){max-width:100dvw}.x55n99s:not(#\#):not(#\#):not(#\#):not(#\#){max-width:15em}.x1ncir08:not(#\#):not(#\#):not(#\#):not(#\#){max-width:200px}.xw5ewwj:not(#\#):not(#\#):not(#\#):not(#\#){max-width:300px}.x1x67gh:not(#\#):not(#\#):not(#\#):not(#\#){max-width:32px}.xxc7z9f:not(#\#):not(#\#):not(#\#):not(#\#){max-width:360px}.x1j9u4d2:not(#\#):not(#\#):not(#\#):not(#\#){max-width:400px}.x17fpy1y:not(#\#):not(#\#):not(#\#):not(#\#){max-width:480px}.xrlsmeg:not(#\#):not(#\#):not(#\#):not(#\#){max-width:600px}.x11gisft:not(#\#):not(#\#):not(#\#):not(#\#){max-width:640px}.x1ap80js:not(#\#):not(#\#):not(#\#):not(#\#){max-width:800px}.xq8v1hd:not(#\#):not(#\#):not(#\#):not(#\#){max-width:90%}.xl6temz:not(#\#):not(#\#):not(#\#):not(#\#){max-width:max(80%,280px)}.x1m1aaou:not(#\#):not(#\#):not(#\#):not(#\#){max-width:min(960px,calc(100dvw - var(--spacing-4)))}.x1x1rfll:not(#\#):not(#\#):not(#\#):not(#\#){max-width:none}.xjl2t3p:not(#\#):not(#\#):not(#\#):not(#\#){max-width:var(--layout-content-width,none)}.xf68679:not(#\#):not(#\#):not(#\#):not(#\#){max-width:var(--x-maxWidth)}.x2lwn1j:not(#\#):not(#\#):not(#\#):not(#\#){min-height:0}.x1us19tq:not(#\#):not(#\#):not(#\#):not(#\#){min-height:100%}.x1ov3xa9:not(#\#):not(#\#):not(#\#):not(#\#){min-height:100dvh}.xz65tgg:not(#\#):not(#\#):not(#\#):not(#\#){min-height:200px}.xisnujt:not(#\#):not(#\#):not(#\#):not(#\#){min-height:20px}.xe0957l:not(#\#):not(#\#):not(#\#):not(#\#){min-height:22px}.xjwf9q1:not(#\#):not(#\#):not(#\#):not(#\#){min-height:24px}.xe0p6wg:not(#\#):not(#\#):not(#\#):not(#\#){min-height:28px}.x21xpn4:not(#\#):not(#\#):not(#\#):not(#\#){min-height:32px}.x1xf4nls:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--size-element-lg)}.x1uogy3y:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--size-element-md)}.x1gdqauq:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--size-element-sm)}.x175cymr:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--spacing-2)}.ximsjs8:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--spacing-7)}.xkoleio:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--spacing-8)}.x82snj4:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--x-minHeight)}.x1dg37ty:not(#\#):not(#\#):not(#\#):not(#\#){min-height:44px}.xeuugli:not(#\#):not(#\#):not(#\#):not(#\#){min-width:0}.x1i9suas:not(#\#):not(#\#):not(#\#):not(#\#){min-width:120px}.x1d77m7x:not(#\#):not(#\#):not(#\#):not(#\#){min-width:140px}.x5w4yej:not(#\#):not(#\#):not(#\#):not(#\#){min-width:160px}.xfb3i0g:not(#\#):not(#\#):not(#\#):not(#\#){min-width:180px}.xgomdpo:not(#\#):not(#\#):not(#\#):not(#\#){min-width:1rem}.x1jzhcrs:not(#\#):not(#\#):not(#\#):not(#\#){min-width:200px}.xt4ypqs:not(#\#):not(#\#):not(#\#):not(#\#){min-width:20px}.x12rczxh:not(#\#):not(#\#):not(#\#):not(#\#){min-width:220px}.xlm99nl:not(#\#):not(#\#):not(#\#):not(#\#){min-width:240px}.x1u2d2a2:not(#\#):not(#\#):not(#\#):not(#\#){min-width:280px}.x1fns5xo:not(#\#):not(#\#):not(#\#):not(#\#){min-width:40px}.x900493:not(#\#):not(#\#):not(#\#):not(#\#){min-width:48px}.x13n9wmd:not(#\#):not(#\#):not(#\#):not(#\#){min-width:4ch}.xfvyar9:not(#\#):not(#\#):not(#\#):not(#\#){min-width:60px}.xrzjruh:not(#\#):not(#\#):not(#\#):not(#\#){min-width:anchor-size(width)}.x8wyhu6:not(#\#):not(#\#):not(#\#):not(#\#){min-width:calc(anchor-size(width) + 16px)}.x1pshirs:not(#\#):not(#\#):not(#\#):not(#\#){min-width:fit-content}.x15mybvi:not(#\#):not(#\#):not(#\#):not(#\#){min-width:min(400px,calc(100% - var(--spacing-4)))}.x17ydmr0:not(#\#):not(#\#):not(#\#):not(#\#){min-width:var(--size-element-md)}.x1nkkqge:not(#\#):not(#\#):not(#\#):not(#\#){min-width:var(--size-element-sm)}.x18ki04u:not(#\#):not(#\#):not(#\#):not(#\#){min-width:var(--spacing-2)}.x16asifk:not(#\#):not(#\#):not(#\#):not(#\#){min-width:var(--spacing-5)}.xy8csz5:not(#\#):not(#\#):not(#\#):not(#\#){min-width:var(--spacing-7)}.xkj4a21:not(#\#):not(#\#):not(#\#):not(#\#){min-width:var(--x-minWidth)}.x1tutbut:not(#\#):not(#\#):not(#\#):not(#\#){min-width:44px}.xw2csxc:not(#\#):not(#\#):not(#\#):not(#\#){overflow-x:auto}.x6ikm8r:not(#\#):not(#\#):not(#\#):not(#\#){overflow-x:hidden}.x1odjw0f:not(#\#):not(#\#):not(#\#):not(#\#){overflow-y:auto}.x10wlt62:not(#\#):not(#\#):not(#\#):not(#\#){overflow-y:hidden}.x7p5m3t:not(#\#):not(#\#):not(#\#):not(#\#){overscroll-behavior-x:contain}.x18d9i69:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:0}.x1j85h84:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:1px}.x1wkw6tp:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:calc(env(safe-area-inset-bottom,0px) + 48px)}.x9jihrk:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:calc(var(--_chat-composer-padding) + var(--_chat-composer-radius))}.xbv1mwh:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:calc(var(--container-padding-block-end) - var(--border-width))}.xxbfulo:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:calc(var(--spacing-3) + var(--radius-chat))}.xwhchk8:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:max(var(--_tab-strip-bleed),calc(-1 * var(--_tab-indicator-bottom,-1px)))}.xew4nw4:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:max(var(--spacing-4),env(safe-area-inset-bottom,0px))}.xvpcij2:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--_chat-composer-padding)}.x1rgxemn:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--astryx-dialog-padding-block-end,var(--astryx-dialog-padding,max(var(--spacing-4),env(safe-area-inset-bottom,0px))))}.x3jnfsm:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--astryx-number-input-padding-block-end,var(--astryx-number-input-padding,var(--spacing-1)))}.xc1wllq:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--container-padding-block-end)}.xg476vw:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--layout-padding-inner-y,var(--spacing-4))}.xon7vh3:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--layout-padding-outer-y,var(--spacing-4))}.xij103a:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-0-5)}.x1l20ajd:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-0)}.x1opdxmq:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-1-5)}.xy143xn:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-1)}.x2izi54:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-10)}.x1wesfrj:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-2)}.xvmdzux:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-3)}.x1awphl8:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-4)}.x1hk98q:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-5)}.xjpqqx5:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-6)}.xekm6fs:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-7)}.x2oz4g1:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:var(--spacing-8)}.xexx8yu:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:0}.x1htvmrp:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:calc(var(--_chat-composer-padding) + var(--_chat-composer-radius))}.x1enrzb7:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:calc(var(--border-width) + var(--spacing-1))}.x1nex4ik:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:calc(var(--container-padding-block-start) - var(--border-width))}.x1ak3mig:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:calc(var(--spacing-1-5) + var(--spacing-2))}.x1vjezoa:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:max(var(--spacing-4),env(safe-area-inset-top,0px))}.x2gtn7z:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--_chat-composer-padding)}.xlr2r7p:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--_tab-strip-bleed)}.x15ld1ci:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--astryx-dialog-padding-block-start,var(--astryx-dialog-padding,max(var(--spacing-4),env(safe-area-inset-top,0px))))}.x4kswst:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--astryx-number-input-padding-block-start,var(--astryx-number-input-padding,var(--spacing-1)))}.x14m0hsi:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--container-padding-block-start)}.xqty4a:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--layout-padding-inner-y,var(--spacing-4))}.x81pis9:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--layout-padding-outer-y,var(--spacing-4))}.xbx876j:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-0-5)}.x1ydh6w3:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-0)}.x1kwdpsa:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-1-5)}.xfsso4q:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-1)}.xk6660b:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-10)}.x1xye8es:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-2)}.x1vlblms:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-3)}.x1oa1p4a:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-4)}.xx7rijo:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-5)}.x1adxfkp:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-6)}.xoxd1wu:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-8)}.x13vifvy:not(#\#):not(#\#):not(#\#):not(#\#){top:0}.xuivejd:not(#\#):not(#\#):not(#\#):not(#\#){top:14px}.xs7f9wi:not(#\#):not(#\#):not(#\#):not(#\#){top:2px}.xwa60dl:not(#\#):not(#\#):not(#\#):not(#\#){top:50%}.x1ltwjim:not(#\#):not(#\#):not(#\#):not(#\#){top:anchor(--outline-active top,0px)}.x1nzz77m:not(#\#):not(#\#):not(#\#):not(#\#){top:calc((var(--size-element-md) - 20px) / 2 - 1px)}.xeqxqpg:not(#\#):not(#\#):not(#\#):not(#\#){top:calc((var(--size-element-sm) - 20px) / 2 - 1px)}.x7rbydg:not(#\#):not(#\#):not(#\#):not(#\#){top:calc(50% - 14px)}.x1oysc8t:not(#\#):not(#\#):not(#\#):not(#\#){top:calc(var(--size-element-lg) / 2 - 1px)}.xkmsrut:not(#\#):not(#\#):not(#\#):not(#\#){top:calc(var(--size-element-md) / 2 - 1px)}.x1968x6z:not(#\#):not(#\#):not(#\#):not(#\#){top:calc(var(--size-element-sm) / 2 - 1px)}.xht72ud:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--_app-shell-header-height,0px)}.x8d4r5l:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--spacing-1)}.xctzyg:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--spacing-2)}.xyx6v2t:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--spacing-3)}.xjbys53:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--x-top)}.x1jw3ynk:not(#\#):not(#\#):not(#\#):not(#\#){width:.75rem}.xnalus7:not(#\#):not(#\#):not(#\#):not(#\#){width:0}.xwqq7k2:not(#\#):not(#\#):not(#\#):not(#\#){width:1.25rem}.xp8d6y2:not(#\#):not(#\#):not(#\#):not(#\#){width:1.5rem}.xh8yej3:not(#\#):not(#\#):not(#\#):not(#\#){width:100%}.x1o6l61p:not(#\#):not(#\#):not(#\#):not(#\#){width:100dvw}.xn9wirt:not(#\#):not(#\#):not(#\#):not(#\#){width:100vw}.x1fsd2vl:not(#\#):not(#\#):not(#\#):not(#\#){width:10px}.xsmyaan:not(#\#):not(#\#):not(#\#):not(#\#){width:12px}.x6jxa94:not(#\#):not(#\#):not(#\#):not(#\#){width:14px}.x1kky2od:not(#\#):not(#\#):not(#\#):not(#\#){width:16px}.xzjbwwf:not(#\#):not(#\#):not(#\#):not(#\#){width:180px}.x1xp8n7a:not(#\#):not(#\#):not(#\#):not(#\#){width:18px}.x15vhz18:not(#\#):not(#\#):not(#\#):not(#\#){width:1em}.x1i1rx1s:not(#\#):not(#\#):not(#\#):not(#\#){width:1px}.xcdlrvm:not(#\#):not(#\#):not(#\#):not(#\#){width:1rem}.x1oysuqx:not(#\#):not(#\#):not(#\#):not(#\#){width:200px}.xw4jnvo:not(#\#):not(#\#):not(#\#):not(#\#){width:20px}.xafpxmx:not(#\#):not(#\#):not(#\#):not(#\#){width:240px}.xvy4d1p:not(#\#):not(#\#):not(#\#):not(#\#){width:24px}.x1hfn5x7:not(#\#):not(#\#):not(#\#):not(#\#){width:260px}.xfo62xy:not(#\#):not(#\#):not(#\#):not(#\#){width:2px}.x1td3qas:not(#\#):not(#\#):not(#\#):not(#\#){width:32px}.x1g8rjiy:not(#\#):not(#\#):not(#\#):not(#\#){width:3px}.xz84dc7:not(#\#):not(#\#):not(#\#):not(#\#){width:40%}.x1l2rt3b:not(#\#):not(#\#):not(#\#):not(#\#){width:400px}.x100vrsf:not(#\#):not(#\#):not(#\#):not(#\#){width:40px}.x51ohtg:not(#\#):not(#\#):not(#\#):not(#\#){width:4px}.x1fu8urw:not(#\#):not(#\#):not(#\#):not(#\#){width:64px}.x1v4s8kt:not(#\#):not(#\#):not(#\#):not(#\#){width:6px}.x1xc55vz:not(#\#):not(#\#):not(#\#):not(#\#){width:8px}.x1xgy17j:not(#\#):not(#\#):not(#\#):not(#\#){width:anchor-size(width)}.x14atkfc:not(#\#):not(#\#):not(#\#):not(#\#){width:auto}.xx6qvi6:not(#\#):not(#\#):not(#\#):not(#\#){width:calc(100% + var(--container-padding-inline-start,0px) + var(--container-padding-inline-end,0px))}.x1y2t9nm:not(#\#):not(#\#):not(#\#):not(#\#){width:36px}.xeq5yr9:not(#\#):not(#\#):not(#\#):not(#\#){width:fit-content}.x63cpjl:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--_progressbar-mark-width,2px)}.xjk4fl7:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--border-width)}.xkhob8h:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--resize-handle-hit-area,16px)}.x1m747yf:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--size-element-lg)}.x805d0l:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--size-element-md)}.x1fvqzum:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--size-element-sm)}.x1wu31ai:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-1-5)}.xx9zwd3:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-1)}.xhgvbfk:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-12)}.x1f0dxl5:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-2)}.x1ad1g3v:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-3)}.x12xnipv:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-4)}.xfyiiit:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-5)}.x1mtvzj0:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-6)}.xgc8j7m:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-8)}.xta46cu:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--text-large-size)}.x5livx5:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--text-supporting-size)}.x1uyokj7:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--x-inlineSize)}.x5lhr3w:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--x-width)}.x1wp2rvj.x1wp2rvj:where(.x139im0d:last-child *):not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-width:0}.x132qfvm:focus-within:not(#\#):not(#\#):not(#\#):not(#\#){height:auto}.xsg11nj.xsg11nj:where(.x-default-marker:has(>.astryx-layout-footer:not([data-divider])) *):not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:0}.x1ioh5az.x1ioh5az:where(.x-default-marker:has(>.astryx-layout-header:not([data-divider])) *):not(#\#):not(#\#):not(#\#):not(#\#){padding-top:0}.x1kw28su:focus-within:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:var(--spacing-1)}.x10okhzq:focus-within:not(#\#):not(#\#):not(#\#):not(#\#){width:auto}.x5du68j:has(~* [data-chat-name]):not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-5)}.x1d9v4yf:first-child:not(#\#):not(#\#):not(#\#):not(#\#){border-top-style:none}.x1g31smg:first-child:not(#\#):not(#\#):not(#\#):not(#\#){border-top-width:0}.xkibk3:first-child:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(-1 * var(--container-padding-block-start,0px))}.x1vjq31q:first-child:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:0}.xlayyun:last-child:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:calc(-1 * var(--container-padding-block-end,0px))}.xup0pd7:last-child:not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:0}.x15cytp8:focus:not(#\#):not(#\#):not(#\#):not(#\#){height:auto}.x1rw3289:focus:not(#\#):not(#\#):not(#\#):not(#\#){top:var(--spacing-2)}.x1jqxupm:focus:not(#\#):not(#\#):not(#\#):not(#\#){width:auto}@media (pointer:coarse){.x80b3aj.x80b3aj:not(#\#):not(#\#):not(#\#):not(#\#){min-height:24px}.x17aqpur.x17aqpur:not(#\#):not(#\#):not(#\#):not(#\#),.xygd9yz.xygd9yz:not(#\#):not(#\#):not(#\#):not(#\#){min-height:44px}.xkagaj0.xkagaj0:not(#\#):not(#\#):not(#\#):not(#\#){min-width:24px}.x1xrq5m.x1xrq5m:not(#\#):not(#\#):not(#\#):not(#\#),.xngvp7v.xngvp7v:not(#\#):not(#\#):not(#\#):not(#\#){min-width:44px}.xijlfn0.xijlfn0:not(#\#):not(#\#):not(#\#):not(#\#){top:50%}}@starting-style{.x1sopeo2.x1sopeo2:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){grid-template-rows:0fr}}.x1xsm0q9:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{inset:-14px}.xarstr8:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after,.xxx281p:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{inset:0}.xht581f:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{inset:var(--_input-clear-hit-inset)}.xeu5z55:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{inset:var(--_thumbnail-hit-inset)}@starting-style{.x4itv7f.x4itv7f:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){opacity:0}.x6mt36l.x6mt36l:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translate(-100%)}.x1yqmsfc.x1yqmsfc:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translate(100%)}.xub2912.xub2912:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateY(-100%)}.x12p7p72.x12p7p72:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateY(-4px)}.xhbqy3z.xhbqy3z:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateY(100%)}.x6s140c.x6s140c:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translateY(var(--_toast-slide-y,var(--spacing-2)))}.x1lymnkk.x1lymnkk:is([dir=rtl] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translate(-100%)}.x14gflnl.x14gflnl:is([dir=rtl] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){transform:translate(100%)}}.x1k48kgn:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after,.xxyica1:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{border-radius:inherit}.x17gn2l9:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{grid-column:1}.xd54j2p:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{inset-block:0}.xpsyfx0:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{margin-block:0}.x1qqcexc:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{margin-inline:0}.x1x4c3m6:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{padding-block:0}.xtbxizx:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-datetime-edit{padding-block:0}@starting-style{.x5rzir7.x5rzir7:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#){padding-bottom:0}}.xkqr7wz:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{padding-inline:0}.xslb4at:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-datetime-edit{padding-inline:0}.xvtkv6q:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{transition:background-color .15s,width .15s}.x17s1k9h:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{transition:opacity .15s}.x19ds33d:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{align-self:start}.x1abwkk1:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.xyhc2n1:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{background-color:#0000}.x1tzqye7:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{background-color:var(--color-accent)}.xnixb3f:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{background-color:var(--color-overlay)}.x1i3206j:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{background-color:var(--indicator-color,transparent)}.x1uvfo0n:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{background-color:var(--table-row-overlay,transparent)}.xccdyz0:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{background-image:linear-gradient(to left,var(--color-shadow),transparent)}.x1ppu1g5:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{background-image:linear-gradient(to right,var(--color-shadow),transparent)}.xnnzo76:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{border-inline-start-color:var(--color-border)}.xvsnedh:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{border-inline-start-style:solid}.x1p96cux:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{border-inline-start-width:var(--border-width)}.xtkarl4:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{color:var(--color-syntax-punctuation)}.xnf3u0:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::placeholder{color:var(--color-text-disabled)}.xeyghm5:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::placeholder{color:var(--color-text-secondary)}.x1cpjm7i:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before,.x1s928wv:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{content:""}.x46gnpd:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{content:attr(data-line)}.xc2ndz5:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{content:counter(astryx-list) "."}.xh3pasq:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{content:var(--_input-clear-hit-content)}.xhkezso:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{display:block}.xolhmmf:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-calendar-picker-indicator{display:none}.x3nzp0f:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{font-family:var(--font-family-code)}.xekda60:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{inset-inline-end:-2px}.x1unh1gc:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{inset-inline-end:0}.xvw6utc:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{inset-inline-start:-2px}.x1iygr5g:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{inset-inline-start:0}.x1km86hw:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{inset-inline-start:calc(var(--spacing-4) + var(--_codeblock-gutter-width) + var(--spacing-3))}.x15bqym3:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-datetime-edit{line-height:inherit}.x1f74mqm:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{line-height:inherit}.xph5o2a:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{opacity:0}.xb3n6bw:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{opacity:1}.xni466t:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{opacity:var(--_sheet-scrim-opacity,1)}.x1c2idit:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{opacity:var(--table-sticky-shadow-end,0)}.x1sggmfs:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{opacity:var(--table-sticky-shadow-start,0)}.x2q1x1w:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after,.xkk1bqk:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{pointer-events:none}.x1hmns74:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before,.x1j6awrg:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{position:absolute}.x1wnbjh8:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{text-align:end}.x9rmy9g:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{text-align:start}.x1fgylwi:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transform-origin:top}.xgu12d:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transform-origin:0}.x1e8txe:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transform:scaleX(0)}.xp1ps4y:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transform:scaleX(1)}.xb5f74o:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transform:scaleY(0)}.xd30wvy:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transform:scaleY(1)}.xvs0bi2:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{transform:translate(-100%)}.x1qyefdi:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{transform:translate(100%)}.x142juwg:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{transition-behavior:allow-discrete}.xizoc3:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-delay:var(--x-owu7oy)}.x1y1nw7a:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before,.x97pup0:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{transition-duration:var(--duration-fast)}.xft5bk6:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop,.xuhr57t:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-duration:var(--duration-medium)}.x196sc62:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-duration:var(--x-1dd27dc)}.x1ywzrc5:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after,.xxcwgru:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-property:background-color}.xc0dz0a:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{transition-property:opacity,display}.x167zut7:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{transition-property:opacity}.x1hu8v7x:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-property:transform}.x1cz9k3x:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop,.xyt8op7:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-timing-function:linear}.x15h3t91:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop,.x1dlmc9c:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after,.xa5v58t:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-timing-function:var(--ease-standard)}.x1rbqspl:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{-webkit-user-select:none;user-select:none}.xy5mcqj:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{z-index:-1}.xk7vujl:is([dir=rtl] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{background-image:linear-gradient(to left,var(--color-shadow),transparent)}.xlptwl5:is([dir=rtl] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{background-image:linear-gradient(to right,var(--color-shadow),transparent)}.xdq8fwl:is([dir=rtl] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transform-origin:100%}.x1c108yo:is([dir=rtl] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{transform:translate(-100%)}.x12ayhd5:is([dir=rtl] *):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{transform:translate(100%)}.x1k7wiig:active:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{background-color:var(--color-overlay-pressed)}@media (prefers-reduced-motion:reduce){.xhhm9v0.xhhm9v0:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-delay:0s}.x1viac0w.x1viac0w:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{transition-duration:10ms}.x13sdc92.x13sdc92:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{transition-duration:0s}}.xe80sof:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{bottom:-2px}.x1xrz1ek:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{bottom:0}.xu6fald:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{height:var(--_sheet-keyboard-inset,0px)}.xec4aax:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::-webkit-date-and-time-value{min-height:0}.x51xajf:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):before{top:-2px}.x1m1drc7:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{top:0}.xkj6t0a:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{width:0}.xzkji8o:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{width:6px}.xi8c0p9:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):after{width:var(--indicator-width,1px)}@starting-style{.xxiuuzi.xxiuuzi:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::backdrop{opacity:0}}:root{--color-data-categorical-blue:#0171e3;--color-data-categorical-orange:#eb6e00;--color-data-categorical-purple:#6b1efd;--color-data-categorical-green:#0b991f;--color-data-categorical-pink:#f351c0;--color-data-categorical-cyan:#0171a4;--color-data-categorical-red:#f5394f;--color-data-categorical-teal:#08a3a3;--color-data-categorical-brown:#965e03;--color-data-categorical-indigo:#6f8aff;--color-data-neutral:var(--lightningcss-light,#8494a3)var(--lightningcss-dark,#8c939b);--color-data-blue-5:#02165e;--color-data-blue-4:#004cbc;--color-data-blue-3:#2694fe;--color-data-blue-2:#78beff;--color-data-blue-1:#dbecff;--color-data-shamrock-5:#0b603d;--color-data-shamrock-4:#138546;--color-data-shamrock-3:#24bb5e;--color-data-shamrock-2:#8ef7aa;--color-data-shamrock-1:#d6fee4;--color-data-orange-5:#a13f04;--color-data-orange-4:#d66100;--color-data-orange-3:#fd9537;--color-data-orange-2:#fdb876;--color-data-orange-1:#ffe6cf;--color-data-pink-5:#8e1073;--color-data-pink-4:#d123a1;--color-data-pink-3:#f989d3;--color-data-pink-2:#feade3;--color-data-pink-1:#fce3f4;--color-data-purple-5:#3e0697;--color-data-purple-4:#6b1efd;--color-data-purple-3:#9081ff;--color-data-purple-2:#b3b0fe;--color-data-purple-1:#e8e8fb;--color-data-red-5:#9d0519;--color-data-red-4:#d31130;--color-data-red-3:#fb7d87;--color-data-red-2:#ffb2b8;--color-data-red-1:#fee4e6;--color-data-teal-5:#08767d;--color-data-teal-4:#0c9293;--color-data-teal-3:#0db7af;--color-data-teal-2:#6ce6d8;--color-data-teal-1:#d7fcf8;--color-data-yellow-5:#8a5001;--color-data-yellow-4:#d69804;--color-data-yellow-3:#fbce03;--color-data-yellow-2:#fcec85;--color-data-yellow-1:#fdf6ba;--color-data-gray-5:var(--lightningcss-light,#25363f)var(--lightningcss-dark,#333338);--color-data-gray-4:var(--lightningcss-light,#5d6c7b)var(--lightningcss-dark,#666a72);--color-data-gray-3:var(--lightningcss-light,#afb9c4)var(--lightningcss-dark,#b2b8be);--color-data-gray-2:var(--lightningcss-light,#ccd3db)var(--lightningcss-dark,#d0d3d6);--color-data-gray-1:var(--lightningcss-light,#f1f4f7)var(--lightningcss-dark,#f2f4f6)}}@layer astryx-theme{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@scope([data-astryx-theme=neutral]) to ([data-astryx-theme]){:scope{--font-size-4xs:.375rem;--font-size-3xs:.4375rem;--font-size-2xs:.5rem;--font-size-xs:.625rem;--font-size-sm:.75rem;--font-size-base:.875rem;--font-size-lg:1.0625rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.8125rem;--font-size-4xl:2.1875rem;--font-size-5xl:2.625rem;--text-heading-1-size:var(--font-size-2xl);--text-heading-1-weight:var(--font-weight-semibold);--text-heading-1-leading:1.3333;--text-heading-2-size:var(--font-size-xl);--text-heading-2-weight:var(--font-weight-semibold);--text-heading-2-leading:1.4;--text-heading-3-size:var(--font-size-lg);--text-heading-3-weight:var(--font-weight-bold);--text-heading-3-leading:1.4118;--text-heading-4-size:var(--font-size-base);--text-heading-4-weight:var(--font-weight-bold);--text-heading-4-leading:1.4286;--text-heading-5-size:var(--font-size-sm);--text-heading-5-weight:var(--font-weight-semibold);--text-heading-5-leading:1.6667;--text-heading-6-size:var(--font-size-xs);--text-heading-6-weight:var(--font-weight-semibold);--text-heading-6-leading:1.6;--text-body-size:var(--font-size-base);--text-body-weight:var(--font-weight-normal);--text-body-leading:1.4286;--text-large-size:var(--font-size-lg);--text-large-weight:var(--font-weight-semibold);--text-large-leading:1.4118;--text-label-size:var(--font-size-base);--text-label-weight:var(--font-weight-medium);--text-label-leading:1.4286;--text-code-size:var(--font-size-base);--text-code-weight:var(--font-weight-normal);--text-code-leading:1.4286;--text-supporting-size:var(--font-size-sm);--text-supporting-weight:var(--font-weight-normal);--text-supporting-leading:1.6667;--text-display-1-size:var(--font-size-5xl);--text-display-1-weight:var(--font-weight-normal);--text-display-1-leading:1.2381;--text-display-2-size:var(--font-size-4xl);--text-display-2-weight:var(--font-weight-normal);--text-display-2-leading:1.2571;--text-display-3-size:var(--font-size-3xl);--text-display-3-weight:var(--font-weight-normal);--text-display-3-leading:1.3793;--duration-fast-min:95ms;--duration-fast:.125s;--duration-fast-max:.165s;--duration-medium-min:.225s;--duration-medium:.3s;--duration-medium-max:.4s;--duration-slow-min:.525s;--duration-slow:.7s;--duration-slow-max:.935s;--font-family-body:Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-heading:Figtree, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-code:ui-monospace, "SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-syntax-keyword:var(--lightningcss-light,#700084)var(--lightningcss-dark,#efa8ff);--color-syntax-string:var(--lightningcss-light,#005600)var(--lightningcss-dark,#a6d2a2);--color-syntax-comment:var(--lightningcss-light,#737373)var(--lightningcss-dark,#a3a3a3);--color-syntax-number:var(--lightningcss-light,#6e3500)var(--lightningcss-dark,#ffb37f);--color-syntax-function:var(--lightningcss-light,#00458c)var(--lightningcss-dark,#a0caff);--color-syntax-type:var(--lightningcss-light,#700084)var(--lightningcss-dark,#efa8ff);--color-syntax-variable:var(--lightningcss-light,#171717)var(--lightningcss-dark,#e5e5e5);--color-syntax-operator:var(--lightningcss-light,#737373)var(--lightningcss-dark,#a3a3a3);--color-syntax-constant:var(--lightningcss-light,#6e3500)var(--lightningcss-dark,#ffb37f);--color-syntax-tag:var(--lightningcss-light,#89001a)var(--lightningcss-dark,#ffaeaa);--color-syntax-attribute:var(--lightningcss-light,#584400)var(--lightningcss-dark,#eec12f);--color-syntax-property:var(--lightningcss-light,#005348)var(--lightningcss-dark,#83dac9);--color-syntax-punctuation:var(--lightningcss-light,#6e6e6e)var(--lightningcss-dark,#a0a0a0);--color-syntax-background:var(--lightningcss-light,#fafafa)var(--lightningcss-dark,#0a0a0a);--color-background-surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#262626);--color-background-body:var(--lightningcss-light,#f1f1f1)var(--lightningcss-dark,#1b1b1b);--color-background-card:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1b1b1b);--color-background-popover:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1b1b1b);--color-background-muted:var(--lightningcss-light,#f1f1f1)var(--lightningcss-dark,#1b1b1b);--color-accent:var(--lightningcss-light,#262626)var(--lightningcss-dark,#ebebeb);--color-accent-muted:var(--lightningcss-light,#f1f1f1)var(--lightningcss-dark,#262626);--color-neutral:var(--lightningcss-light,#0000000f)var(--lightningcss-dark,#ffffff1a);--color-overlay:var(--lightningcss-light,#00000080)var(--lightningcss-dark,#000c);--color-overlay-hover:var(--lightningcss-light,#0000000d)var(--lightningcss-dark,#ffffff0d);--color-overlay-pressed:var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#ffffff1a);--color-text-primary:var(--lightningcss-light,#171717)var(--lightningcss-dark,#fafafa);--color-text-secondary:var(--lightningcss-light,#525252)var(--lightningcss-dark,#a3a3a3);--color-text-disabled:var(--lightningcss-light,#a3a3a3)var(--lightningcss-dark,#525252);--color-text-accent:var(--lightningcss-light,#262626)var(--lightningcss-dark,#ebebeb);--color-on-dark:#fff;--color-on-light:#171717;--color-on-accent:var(--lightningcss-light,#fff)var(--lightningcss-dark,#171717);--color-on-success:var(--lightningcss-light,#fff)var(--lightningcss-dark,#171717);--color-on-error:var(--lightningcss-light,#fff)var(--lightningcss-dark,#171717);--color-on-warning:#171717;--color-icon-accent:var(--lightningcss-light,#262626)var(--lightningcss-dark,#ebebeb);--color-icon-primary:var(--lightningcss-light,#171717)var(--lightningcss-dark,#fafafa);--color-icon-secondary:var(--lightningcss-light,#737373)var(--lightningcss-dark,#a3a3a3);--color-icon-disabled:var(--lightningcss-light,#a3a3a3)var(--lightningcss-dark,#525252);--color-success:var(--lightningcss-light,#007004)var(--lightningcss-dark,#9fe59b);--color-error:var(--lightningcss-light,#a50c25)var(--lightningcss-dark,#ffc6c1);--color-warning:var(--lightningcss-light,#745b00)var(--lightningcss-dark,#fdcf4f);--color-success-muted:var(--lightningcss-light,#c5e5c0)var(--lightningcss-dark,#84c9803d);--color-error-muted:var(--lightningcss-light,#facecb)var(--lightningcss-dark,#ff9e973d);--color-warning-muted:var(--lightningcss-light,#f8da9d)var(--lightningcss-dark,#deb4333d);--color-border:var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff1a);--color-border-emphasized:var(--lightningcss-light,#d4d4d4)var(--lightningcss-dark,#525252);--color-skeleton:var(--lightningcss-light,#ebebeb)var(--lightningcss-dark,#525252);--color-shadow:var(--lightningcss-light,#0000001a)var(--lightningcss-dark,#0000004d);--color-tint-hover:var(--lightningcss-light,#000)var(--lightningcss-dark,#fff);--color-background-red:var(--lightningcss-light,#facecb)var(--lightningcss-dark,#ff9e973d);--color-border-red:var(--lightningcss-light,#e6bab8)var(--lightningcss-dark,#ff6f6c);--color-icon-red:var(--lightningcss-light,#89001a)var(--lightningcss-dark,#ff9e97);--color-text-red:var(--lightningcss-light,#89001a)var(--lightningcss-dark,#ffc6c1);--color-background-orange:var(--lightningcss-light,#fad0b5)var(--lightningcss-dark,#ffa2583d);--color-border-orange:var(--lightningcss-light,#e6bda2)var(--lightningcss-dark,#e2883e);--color-icon-orange:var(--lightningcss-light,#6e3500)var(--lightningcss-dark,#ffa258);--color-text-orange:var(--lightningcss-light,#6e3500)var(--lightningcss-dark,#ffc9a2);--color-background-yellow:var(--lightningcss-light,#f8da9d)var(--lightningcss-dark,#deb4333d);--color-border-yellow:var(--lightningcss-light,#e4c279)var(--lightningcss-dark,#c0990e);--color-icon-yellow:var(--lightningcss-light,#584400)var(--lightningcss-dark,#deb433);--color-text-yellow:var(--lightningcss-light,#584400)var(--lightningcss-dark,#fdcf4f);--color-background-green:var(--lightningcss-light,#c5e5c0)var(--lightningcss-dark,#84c9803d);--color-border-green:var(--lightningcss-light,#b2d1ac)var(--lightningcss-dark,#69ad67);--color-icon-green:var(--lightningcss-light,#0c5700)var(--lightningcss-dark,#84c980);--color-text-green:var(--lightningcss-light,#0c5700)var(--lightningcss-dark,#9fe59b);--color-background-teal:var(--lightningcss-light,#a5e3d6)var(--lightningcss-dark,#7ec6b83d);--color-border-teal:var(--lightningcss-light,#94d6c8)var(--lightningcss-dark,#63ab9d);--color-icon-teal:var(--lightningcss-light,#005348)var(--lightningcss-dark,#7ec6b8);--color-text-teal:var(--lightningcss-light,#005348)var(--lightningcss-dark,#99e2d3);--color-background-cyan:var(--lightningcss-light,#a3e0ef)var(--lightningcss-dark,#83c2d43d);--color-border-cyan:var(--lightningcss-light,#91d3e3)var(--lightningcss-dark,#67a7b8);--color-icon-cyan:var(--lightningcss-light,#00505f)var(--lightningcss-dark,#83c2d4);--color-text-cyan:var(--lightningcss-light,#00505f)var(--lightningcss-dark,#9edef0);--color-background-blue:var(--lightningcss-light,#c4ddfb)var(--lightningcss-dark,#9eb7ff3d);--color-border-blue:var(--lightningcss-light,#b1c9e7)var(--lightningcss-dark,#6d9cfe);--color-icon-blue:var(--lightningcss-light,#00458c)var(--lightningcss-dark,#9eb7ff);--color-text-blue:var(--lightningcss-light,#00458c)var(--lightningcss-dark,#c7d3ff);--color-background-purple:var(--lightningcss-light,#eccef3)var(--lightningcss-dark,#f297ff3d);--color-border-purple:var(--lightningcss-light,#d8bbdf)var(--lightningcss-dark,#dd74f0);--color-icon-purple:var(--lightningcss-light,#700084)var(--lightningcss-dark,#f297ff);--color-text-purple:var(--lightningcss-light,#700084)var(--lightningcss-dark,#fac1ff);--color-background-pink:var(--lightningcss-light,#fccadc)var(--lightningcss-dark,#ff99c33d);--color-border-pink:var(--lightningcss-light,#e7b7c8)var(--lightningcss-dark,#f273aa);--color-icon-pink:var(--lightningcss-light,#83004b)var(--lightningcss-dark,#ff99c3);--color-text-pink:var(--lightningcss-light,#83004b)var(--lightningcss-dark,#ffc3da);--color-background-gray:var(--lightningcss-light,#e5e5e5)var(--lightningcss-dark,var(--color-neutral));--color-border-gray:var(--lightningcss-light,#d4d4d4)var(--lightningcss-dark,#262626);--color-icon-gray:var(--lightningcss-light,#525252)var(--lightningcss-dark,#a3a3a3);--color-text-gray:var(--lightningcss-light,#262626)var(--lightningcss-dark,#e5e5e5);--radius-none:0px;--radius-inner:.375rem;--radius-element:.625rem;--radius-container:.75rem;--radius-page:1.75rem;--radius-full:9999px;--shadow-low:0 2px 4px var(--lightningcss-light,oklch(0% 0 0/.05))var(--lightningcss-dark,oklch(0% 0 0/.25)), 0 4px 8px var(--lightningcss-light,oklch(0% 0 0/.1))var(--lightningcss-dark,oklch(0% 0 0/.4)), inset 0 0 0 1px var(--lightningcss-light,#0000)var(--lightningcss-dark,oklch(100% 0 0/.08));--shadow-med:0 2px 4px var(--lightningcss-light,oklch(0% 0 0/.05))var(--lightningcss-dark,oklch(0% 0 0/.35)), 0 4px 12px var(--lightningcss-light,oklch(0% 0 0/.1))var(--lightningcss-dark,oklch(0% 0 0/.5)), inset 0 0 0 1px var(--lightningcss-light,#0000)var(--lightningcss-dark,oklch(100% 0 0/.12));--shadow-high:0 4px 6px var(--lightningcss-light,oklch(0% 0 0/.1))var(--lightningcss-dark,oklch(0% 0 0/.5)), 0 12px 24px var(--lightningcss-light,oklch(0% 0 0/.15))var(--lightningcss-dark,oklch(0% 0 0/.7)), inset 0 0 0 1px var(--lightningcss-light,#0000)var(--lightningcss-dark,oklch(100% 0 0/.15));--shadow-inset-hover:inset 0px 0px 0px 2px #0074e24d;--shadow-inset-selected:inset 0px 0px 0px 2px #0074e280;--shadow-inset-success:inset 0px 0px 0px 2px #1981004d;--shadow-inset-warning:inset 0px 0px 0px 2px #ffce2f4d;--shadow-inset-error:inset 0px 0px 0px 2px #e33f4a4d}.astryx-heading.level-1{font-family:var(--font-family-heading);font-size:var(--text-heading-1-size);font-weight:var(--text-heading-1-weight);line-height:var(--text-heading-1-leading)}.astryx-heading.level-2{font-family:var(--font-family-heading);font-size:var(--text-heading-2-size);font-weight:var(--text-heading-2-weight);line-height:var(--text-heading-2-leading)}.astryx-heading.level-3{font-family:var(--font-family-heading);font-size:var(--text-heading-3-size);font-weight:var(--text-heading-3-weight);line-height:var(--text-heading-3-leading)}.astryx-heading.level-4{font-family:var(--font-family-heading);font-size:var(--text-heading-4-size);font-weight:var(--text-heading-4-weight);line-height:var(--text-heading-4-leading)}.astryx-heading.level-5{font-family:var(--font-family-heading);font-size:var(--text-heading-5-size);font-weight:var(--text-heading-5-weight);line-height:var(--text-heading-5-leading)}.astryx-heading.level-6{font-family:var(--font-family-heading);font-size:var(--text-heading-6-size);font-weight:var(--text-heading-6-weight);line-height:var(--text-heading-6-leading)}.astryx-heading.display-1{font-family:var(--font-family-heading);font-size:var(--text-display-1-size);line-height:var(--text-display-1-leading)}.astryx-heading.display-2{font-family:var(--font-family-heading);font-size:var(--text-display-2-size);line-height:var(--text-display-2-leading)}.astryx-heading.display-3{font-family:var(--font-family-heading);font-size:var(--text-display-3-size);line-height:var(--text-display-3-leading)}.astryx-text.body{font-family:var(--font-family-body);font-size:var(--text-body-size);line-height:var(--text-body-leading)}.astryx-text.large{font-family:var(--font-family-body);font-size:var(--text-large-size);line-height:var(--text-large-leading)}.astryx-text.label{font-family:var(--font-family-body);font-size:var(--text-label-size);line-height:var(--text-label-leading)}.astryx-text.code{font-family:var(--font-family-code);font-size:var(--text-code-size);line-height:var(--text-code-leading)}.astryx-text.supporting{font-family:var(--font-family-body);font-size:var(--text-supporting-size);line-height:var(--text-supporting-leading)}.astryx-text.display-1{font-family:var(--font-family-heading);font-size:var(--text-display-1-size);line-height:var(--text-display-1-leading)}.astryx-text.display-2{font-family:var(--font-family-heading);font-size:var(--text-display-2-size);line-height:var(--text-display-2-leading)}.astryx-text.display-3{font-family:var(--font-family-heading);font-size:var(--text-display-3-size);line-height:var(--text-display-3-leading)}.astryx-button.destructive{background-color:var(--color-error-muted);color:var(--color-error)}.astryx-badge.info{color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#171717);background-color:var(--lightningcss-light,#0074e2)var(--lightningcss-dark,#6d9cfe)}.astryx-badge.neutral{background-color:var(--color-background-gray);color:var(--color-text-gray)}.astryx-badge.success{color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#171717);background-color:var(--lightningcss-light,#198100)var(--lightningcss-dark,#64af4c)}.astryx-badge.warning{color:#171717;background-color:#ffce2f}.astryx-badge.error{color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#171717);background-color:var(--lightningcss-light,#c9303a)var(--lightningcss-dark,#ff705d)}.astryx-badge.red{background-color:var(--color-background-red);color:var(--color-text-red)}.astryx-badge.orange{background-color:var(--color-background-orange);color:var(--color-text-orange)}.astryx-badge.yellow{background-color:var(--color-background-yellow);color:var(--color-text-yellow)}.astryx-badge.green{background-color:var(--color-background-green);color:var(--color-text-green)}.astryx-badge.teal{background-color:var(--color-background-teal);color:var(--color-text-teal)}.astryx-badge.cyan{background-color:var(--color-background-cyan);color:var(--color-text-cyan)}.astryx-badge.blue{background-color:var(--color-background-blue);color:var(--color-text-blue)}.astryx-badge.purple{background-color:var(--color-background-purple);color:var(--color-text-purple)}.astryx-badge.pink{background-color:var(--color-background-pink);color:var(--color-text-pink)}.astryx-badge.gray{background-color:var(--color-background-gray);color:var(--color-text-gray)}.astryx-statusdot.success{background-color:var(--lightningcss-light,#198100)var(--lightningcss-dark,#64af4c)}.astryx-statusdot.warning{background-color:#ffce2f}.astryx-statusdot.error{background-color:var(--lightningcss-light,#c9303a)var(--lightningcss-dark,#ff705d)}.astryx-statusdot.accent{background-color:var(--lightningcss-light,#0074e2)var(--lightningcss-dark,#6d9cfe)}.astryx-banner.info{--color-accent-muted:var(--color-background-blue);--color-text-primary:var(--color-text-blue);--color-text-secondary:var(--color-text-blue);--color-accent:var(--color-text-blue)}.astryx-banner.success{--color-text-primary:var(--color-text-green);--color-text-secondary:var(--color-text-green);--color-success:var(--color-text-green)}.astryx-banner.warning{--color-text-primary:var(--color-text-yellow);--color-text-secondary:var(--color-text-yellow);--color-warning:var(--color-text-yellow)}.astryx-banner.error{--color-text-primary:var(--color-text-red);--color-text-secondary:var(--color-text-red);--color-error:var(--color-text-red)}.astryx-switch{--color-background-gray:var(--color-border-emphasized)}.astryx-progressbar{--color-background-muted:var(--color-border-emphasized)}.astryx-progressbar.accent{--color-accent:#0074e2}.astryx-progressbar.success{--color-success:#198100}.astryx-progressbar.warning{--color-warning:#ffce2f}.astryx-progressbar.error{--color-error:#c9303a}.astryx-card{--astryx-card-padding:var(--spacing-3)}.astryx-section{--astryx-section-padding:var(--spacing-3)}.astryx-text.primary,.astryx-heading.primary{color:var(--color-text-primary)}.astryx-text.secondary,.astryx-heading.secondary{color:var(--color-text-secondary)}.astryx-text.disabled,.astryx-heading.disabled{color:var(--color-text-disabled)}.astryx-text.placeholder,.astryx-heading.placeholder{color:var(--color-text-secondary)}.astryx-text.accent,.astryx-heading.accent{color:var(--color-text-accent)}.astryx-text.size-4xs{font-size:var(--font-size-4xs)}.astryx-text.size-3xs{font-size:var(--font-size-3xs)}.astryx-text.size-2xs{font-size:var(--font-size-2xs)}.astryx-text.xsm{font-size:var(--font-size-xs)}.astryx-text.sm{font-size:var(--font-size-sm)}.astryx-text.base{font-size:var(--font-size-base)}.astryx-text.lg{font-size:var(--font-size-lg)}.astryx-text.xl{font-size:var(--font-size-xl)}.astryx-text.size-2xl{font-size:var(--font-size-2xl)}.astryx-text.size-3xl{font-size:var(--font-size-3xl)}.astryx-text.size-4xl{font-size:var(--font-size-4xl)}}@scope([data-astryx-theme=neutral]) to ([data-astryx-theme]){[data-astryx-media=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-text-primary:var(--color-on-dark);--color-icon-primary:var(--color-on-dark);--color-accent:var(--color-on-dark)}[data-astryx-media=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-text-primary:var(--color-on-light);--color-icon-primary:var(--color-on-light);--color-accent:var(--color-on-light)}}}@layer components;@layer utilities{.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}.block{display:block}.hidden{display:none}.inline{display:inline}.grow{flex-grow:1}.resize{resize:both}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:oklch(99.8% .003 87);--sidebar:oklch(97.8% .021 91);--sidebar-hover:oklch(93.5% .043 91/.65);--sidebar-active:oklch(92.8% .025 91/.82);--border:oklch(91.6% .009 248);--border-strong:oklch(86.8% .014 248);--text:oklch(26.2% .018 249);--muted:oklch(52.5% .019 249);--subtle:oklch(65.2% .016 249);--accent:oklch(51.6% .151 253);--focus:oklch(61.8% .14 251);--healthy:oklch(53.6% .12 158);--error:oklch(49.7% .187 28);--warning:oklch(56.4% .126 74);--grid-minor:oklch(27% .024 250/.03);--grid-major:oklch(27% .024 250/.07);--grid-cross:oklch(27% .024 250/.11)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{background-color:var(--sidebar);background-image:linear-gradient(to bottom, oklch(65% .04 85/.06), transparent 40%, transparent 72%, oklch(97.8% .021 91/.5)), linear-gradient(var(--grid-minor) 0 1px, transparent 1px 4px), linear-gradient(to right, var(--grid-minor) 0 1px, transparent 1px 4px), linear-gradient(var(--grid-major) 0 1px, transparent 1px 20px), linear-gradient(to right, var(--grid-major) 0 1px, transparent 1px 20px), radial-gradient(circle at center, transparent 2px, var(--sidebar) 2px 100%), linear-gradient(var(--grid-cross) 0 1px, transparent 1px 20px), linear-gradient(to right, var(--grid-cross) 0 1px, transparent 1px 20px);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-position:0 0,0 0,0 0,0 0,0 0,-10px -10px,0 0,0 0;background-size:100% 100%,4px 4px,4px 4px,20px 20px,20px 20px,20px 20px,20px 20px,20px 20px;margin:0;font:14px/1.5 ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}::selection{background:oklch(51.6% .151 253/.18)}button,input,textarea{font:inherit;letter-spacing:0}input,textarea{caret-color:var(--accent)}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:1em;height:1em;display:block}.app-shell{grid-template-columns:280px minmax(0,1fr);width:100%;height:100dvh;transition:grid-template-columns .18s;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:56px minmax(0,1fr)}.session-sidebar{z-index:20;-webkit-backdrop-filter:blur(30px)saturate(1.8)brightness(1.04);backdrop-filter:blur(30px)saturate(1.8)brightness(1.04);background-color:oklch(97.8% .021 91/.3);background-image:linear-gradient(oklch(99.8% .003 87/.42),oklch(99.8% .003 87/.08) 36%,#0000);border-right:1px solid oklch(86.8% .014 248/.5);flex-direction:column;min-height:0;padding:8px 10px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px oklch(99.8% .003 87/.6),inset -1px 0 oklch(99.8% .003 87/.3)}.session-sidebar:before{content:"";pointer-events:none;z-index:calc(10 * -1);filter:blur(1.6px);background-image:linear-gradient(oklch(27% .024 250/.07) 0 1px,#0000 1px 4px),linear-gradient(90deg,oklch(27% .024 250/.07) 0 1px,#0000 1px 4px),linear-gradient(oklch(27% .024 250/.09) 0 1px,#0000 1px 20px),linear-gradient(90deg,oklch(27% .024 250/.09) 0 1px,#0000 1px 20px);background-size:4px 4px,4px 4px,20px 20px,20px 20px;position:absolute;inset:0}.sidebar-brand{height:calc(var(--spacing-1) * 11);justify-content:space-between;align-items:center;padding:0 4px 0 6px;display:flex}.brand-lockup{color:var(--text);align-items:center;font-weight:700;line-height:1;display:inline-flex}.brand-lockup.compact{font-size:18px}.compact .pixel-mark{width:21px;height:21px;margin-left:2px;display:inline-block;position:relative}.compact .pixel-mark i{background:currentColor;width:6px;height:6px;display:block;position:absolute}.compact .pixel-mark i:first-child{top:0;left:0}.compact .pixel-mark i:nth-child(2){top:0;left:5px}.compact .pixel-mark i:nth-child(3){top:0;left:10px}.compact .pixel-mark i:nth-child(4){top:5px;left:0}.compact .pixel-mark i:nth-child(5){top:5px;left:10px}.compact .pixel-mark i:nth-child(6){top:10px;left:0}.compact .pixel-mark i:nth-child(7){top:10px;left:5px}.compact .pixel-mark i:nth-child(8){top:10px;left:15px}.compact .pixel-mark i:nth-child(9){top:15px;left:0}.compact .pixel-mark i:nth-child(10){top:15px;left:15px}.collapse-button,.icon-button,.workspace-action,.sidebar-expand{border-style:var(--tw-border-style);color:var(--muted);background-color:#0000;border-width:0;border-radius:6px;flex-shrink:0;place-items:center;transition:background-color .14s,color .14s;display:grid}.collapse-button{width:30px;height:30px}.collapse-button svg,.icon-button svg{width:18px;height:18px}.collapse-button:hover,.icon-button:hover,.workspace-action:hover,.sidebar-expand:hover{background:var(--sidebar-hover);color:var(--text)}.new-session-button{justify-content:center;align-items:center;gap:calc(var(--spacing-1) * 2);border:1px solid var(--border-strong);background:var(--page);border-radius:19px;flex-shrink:0;width:calc(100% - 4px);height:38px;margin:8px 2px 10px;font-weight:550;display:flex}.new-session-button:hover{background:oklch(99% .004 248);border-color:oklch(78% .018 248)}.new-session-button svg{width:17px;height:17px}.workspace-heading{min-height:calc(var(--spacing-1) * 8);justify-content:space-between;align-items:center;padding:0 4px 0 8px;display:flex}.workspace-heading-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:650}.workspace-actions{gap:calc(var(--spacing-1) * .5);display:flex}.icon-button{width:28px;height:28px}.session-search{align-items:center;gap:calc(var(--spacing-1) * 1.5);flex:1;min-width:0;display:none}.session-search>svg{width:14px;height:14px;color:var(--subtle)}.session-search input{border-style:var(--tw-border-style);outline-style:var(--tw-outline-style);min-width:0;height:28px;color:var(--text);background-color:#0000;border-width:0;outline-width:0;flex:1;font-size:12px}.session-search button{width:calc(var(--spacing-1) * 6);height:calc(var(--spacing-1) * 6);border-style:var(--tw-border-style);color:var(--subtle);background-color:#0000;border-width:0;place-items:center;display:grid}.session-search button svg{width:14px;height:14px}.workspace-heading.is-searching .session-search{display:flex}.workspace-heading.is-searching .workspace-heading-label,.workspace-heading.is-searching .workspace-actions{display:none}.workspace-tree{min-height:0;padding-block:var(--spacing-1);scrollbar-width:thin;scrollbar-color:oklch(58% .02 250/.45) transparent;flex:1;overflow-y:auto}.workspace-group{margin-bottom:3px}.workspace-button{min-width:0;height:34px;color:var(--muted);cursor:pointer;border-radius:6px;align-items:center;display:flex}.workspace-button:hover{background:var(--sidebar-hover);color:var(--text)}.workspace-label{border-style:var(--tw-border-style);text-align:left;background-color:#0000;border-width:0;flex:1;align-items:center;min-width:0;height:100%;display:flex}.workspace-toggle{height:100%;width:calc(var(--spacing-1) * 7);border-style:var(--tw-border-style);background-color:#0000;border-width:0;flex-shrink:0;place-items:center;display:grid}.workspace-chevron{font-size:15px;transition:transform .14s;display:block;transform:rotate(0)}.workspace-group.collapsed .workspace-chevron{transform:rotate(-90deg)}.workspace-button strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden}.workspace-row-actions{align-items:center;display:flex}.workspace-action{width:27px;height:27px}.workspace-action svg{width:14px;height:14px}.menu-action-button{width:27px!important;min-width:27px!important;height:27px!important;color:var(--muted)!important;padding:0!important}.menu-action-button svg{width:14px;height:14px}.workspace-sessions{display:grid}.workspace-group.collapsed .workspace-sessions{display:none}.session-row{align-items:center;min-width:0;display:flex;position:relative}.session{align-items:center;gap:calc(var(--spacing-1) * 2);border-style:var(--tw-border-style);text-align:left;min-width:0;height:34px;color:var(--muted);background-color:#0000;border-width:0;border-radius:6px;flex:1;padding:0 8px 0 29px;display:flex}.session:hover{background:var(--sidebar-hover);color:var(--text)}.session.active{background:var(--sidebar-active);color:var(--text)}.session-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.session-time{color:inherit;flex:none;font-size:10.5px}.session-row>.astryx-menu-trigger{right:var(--spacing-1);opacity:0;pointer-events:none;position:absolute}.session-row:hover>.astryx-menu-trigger,.session-row:focus-within>.astryx-menu-trigger{opacity:1;pointer-events:auto}.session-row:hover .session-time,.session-row:focus-within .session-time{visibility:hidden}.empty{min-height:32px;color:var(--muted);padding:7px 10px 7px 29px;font-size:12px}.sidebar-expand{top:calc(var(--spacing-1) * 2);left:calc(var(--spacing-1) * 2);z-index:30;width:40px;height:40px;position:fixed}.sidebar-expand svg{width:19px;height:19px}@media not all and (width<=760px){.sidebar-collapsed .session-sidebar{align-items:center;padding:8px}.sidebar-collapsed .sidebar-brand,.sidebar-collapsed .workspace-heading,.sidebar-collapsed .workspace-tree,.sidebar-collapsed .session-view-switch,.sidebar-collapsed .sidebar-scope-note{display:none}.sidebar-collapsed .new-session-button{background:0 0;border-color:#0000;border-radius:6px;width:40px;height:40px;margin:48px 0 0;padding:0}.sidebar-collapsed .new-session-button span{display:none}.sidebar-collapsed .new-session-button:hover{background:var(--sidebar-hover)}}.conversation-shell{grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;position:relative;container:conversation-shell/inline-size}.conversation-shell:not(.landing){background-image:linear-gradient(90deg,#0000,oklch(97.8% .021 91/.88) 90px calc(100% - 90px),#0000);background-position:50%;background-repeat:no-repeat;background-size:min(1020px,100%) 100%}.conversation-shell.landing{grid-template-rows:minmax(0,1fr)}.landing .conversation,.landing .composer-dock{grid-area:1/1}.conversation{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:oklch(58% .02 250/.45) transparent;min-height:0;overflow-y:auto}.landing-conversation{pointer-events:none;place-items:center;display:grid}.landing-welcome{text-align:center;padding:0 24px;transform:translateY(-110px)}.landing-brand{border-style:var(--tw-border-style);pointer-events:auto;background-color:#0000;border-width:0;justify-content:center;align-items:center;display:flex}.landing-brand .brand-lockup{align-items:flex-end;font-size:44px;animation:2.1s cubic-bezier(.22,1,.36,1) both brand-lockup}.landing-brand .brand-word{opacity:0;animation:2.1s cubic-bezier(.22,1,.36,1) both brand-word-slide;display:inline-block}.landing-brand .pixel-mark{width:66px;height:55px;margin-left:4px;animation:2.1s cubic-bezier(.22,1,.36,1) both pixel-nudge;display:inline-block;position:relative}.landing-brand .pixel-mark i{background-color:var(--piece,currentColor);border-radius:2px;width:11px;height:11px;animation:.35s cubic-bezier(.22,1,.36,1) both pixel-drop,2.1s both piece-to-ink;display:block;position:absolute}.landing-brand .pixel-mark i:after{content:"";border-radius:2px;animation:2.1s both piece-texture-fade;position:absolute;inset:0;box-shadow:inset 0 2px oklch(99% 0 0/.3),inset 0 -2px oklch(0% 0 0/.16),inset 2px 0 oklch(99% 0 0/.12),inset -2px 0 oklch(0% 0 0/.08)}.landing-brand .pixel-mark i:first-child{top:0;left:11px}.landing-brand .pixel-mark i:nth-child(2){top:0;left:22px}.landing-brand .pixel-mark i:nth-child(3){top:0;left:33px}.landing-brand .pixel-mark i:nth-child(4){top:11px;left:33px}.landing-brand .pixel-mark i:nth-child(5){top:11px;left:11px}.landing-brand .pixel-mark i:nth-child(6){top:22px;left:11px}.landing-brand .pixel-mark i:nth-child(7){top:22px;left:22px}.landing-brand .pixel-mark i:nth-child(8){top:33px;left:11px}.landing-brand .pixel-mark i:nth-child(9){top:22px;left:44px}.landing-brand .pixel-mark i:nth-child(10){top:33px;left:44px}.landing-brand .pixel-mark i:nth-child(11){top:44px;left:44px}.landing-brand .pixel-mark i:nth-child(12){top:44px;left:55px}.landing-brand .pixel-mark i:nth-child(13){top:44px;left:0}.landing-brand .pixel-mark i:nth-child(14){top:44px;left:11px}.landing-brand .pixel-mark i:nth-child(15){top:44px;left:22px}.landing-brand .pixel-mark i:nth-child(16){top:44px;left:33px}.landing-brand .pixel-mark i:nth-child(5),.landing-brand .pixel-mark i:nth-child(6),.landing-brand .pixel-mark i:nth-child(7),.landing-brand .pixel-mark i:nth-child(8){--piece:oklch(55% .105 37);animation-delay:.25s,0s}.landing-brand .pixel-mark i:first-child,.landing-brand .pixel-mark i:nth-child(2),.landing-brand .pixel-mark i:nth-child(3),.landing-brand .pixel-mark i:nth-child(4){--piece:oklch(52% .083 252);animation-delay:.5s,0s}.landing-brand .pixel-mark i:nth-child(9),.landing-brand .pixel-mark i:nth-child(10),.landing-brand .pixel-mark i:nth-child(11),.landing-brand .pixel-mark i:nth-child(12){--piece:oklch(66% .08 111);animation-delay:.75s,0s}.landing-brand .pixel-mark i:nth-child(13),.landing-brand .pixel-mark i:nth-child(14),.landing-brand .pixel-mark i:nth-child(15),.landing-brand .pixel-mark i:nth-child(16){--piece:oklch(69% .116 78)}.landing-brand .pixel-mark i:nth-child(11),.landing-brand .pixel-mark i:nth-child(12),.landing-brand .pixel-mark i:nth-child(13),.landing-brand .pixel-mark i:nth-child(14),.landing-brand .pixel-mark i:nth-child(15),.landing-brand .pixel-mark i:nth-child(16){opacity:0;animation:2.1s both pixel-doomed}.landing-brand .pixel-mark i:nth-child(11),.landing-brand .pixel-mark i:nth-child(12){animation-name:pixel-doomed-late}.landing-brand .pixel-mark i:nth-child(13){--dx:-12px;--rot:-22deg}.landing-brand .pixel-mark i:nth-child(14){--dx:-8px;--rot:-12deg}.landing-brand .pixel-mark i:nth-child(15){--dx:-3px;--rot:-5deg}.landing-brand .pixel-mark i:nth-child(16){--dx:3px;--rot:6deg}.landing-brand .pixel-mark i:nth-child(11){--dx:8px;--rot:14deg}.landing-brand .pixel-mark i:nth-child(12){--dx:13px;--rot:24deg}@keyframes pixel-drop{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:none}}@keyframes piece-to-ink{0%,72%{background-color:var(--piece,currentColor)}86%,to{background-color:currentColor}}@keyframes piece-texture-fade{0%,72%{opacity:1}86%,to{opacity:0}}@keyframes pixel-doomed{0%{opacity:0;transform:translateY(-40px)}13%,60%{opacity:1;transform:none}74%{opacity:.9;transform:translate(var(--dx), 14px) rotate(var(--rot)) scale(.85)}to{opacity:0;transform:translate(calc(var(--dx) * 2.5), 44px) rotate(calc(var(--rot) * 1.5)) scale(.5)}}@keyframes pixel-doomed-late{0%,33%{opacity:0;transform:translateY(-40px)}44%,60%{opacity:1;transform:none}74%{opacity:.9;transform:translate(var(--dx), 14px) rotate(var(--rot)) scale(.85)}to{opacity:0;transform:translate(calc(var(--dx) * 2.5), 44px) rotate(calc(var(--rot) * 1.5)) scale(.5)}}@keyframes brand-word-slide{0%,55%{opacity:0;transform:translate(-64px)}62%{opacity:1;transform:translate(2px)}70%,to{opacity:1;transform:none}}@keyframes brand-lockup{0%,56%{transform:translate(-52px)}64%{transform:translate(-38px)}90%,to{transform:none}}@keyframes pixel-nudge{0%,60%{transform:none}65%{transform:translateY(13px)}71%{transform:translateY(11px)}82%,to{transform:translate(-11px,11px)}}.message-row{width:min(820px,100% - 48px);margin-inline:auto;padding:18px 0 26px;position:relative}.message-row.user{justify-content:flex-end;padding-top:26px;display:flex}.message-row.assistant{width:min(840px,100% - 48px);padding:6px 0}.message-row.detail-only{padding:6px 0}.message-content{min-width:0;max-width:min(78%,620px)}.message-row.assistant .message-content{width:100%;max-width:none}.message-body{color:var(--text);overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px;line-height:1.7}.message-row.user .message-body{background:var(--sidebar-active);border-radius:18px;padding:9px 15px;box-shadow:inset 0 0 0 1px oklch(72% .06 85/.2)}.markdown{color:var(--text);overflow-wrap:anywhere;font-size:14px;line-height:1.7}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:0 0 12px}.markdown h1,.markdown h2,.markdown h3,.markdown h4{color:var(--text);margin:18px 0 8px;font-weight:650;line-height:1.3}.markdown h1{font-size:1.45em}.markdown h2{font-size:1.3em}.markdown h3{font-size:1.15em}.markdown ul,.markdown ol{margin:0 0 12px;padding-left:24px}.markdown li+li{margin-top:4px}.markdown blockquote{border:1px solid var(--border-strong);color:var(--muted);background:oklch(97% .006 249);border-radius:6px;margin:0 0 12px;padding:8px 14px}.markdown hr{border:0;border-top:1px solid var(--border);margin:18px 0}.markdown a{color:var(--accent);text-underline-offset:2px;-webkit-text-decoration:underline oklch(51.6% .151 253/.35);text-decoration:underline oklch(51.6% .151 253/.35)}.markdown code{color:oklch(35% .02 249);background:oklch(95.5% .008 249);border:1px solid oklch(86.8% .014 248/.55);border-radius:5px;padding:2px 5px;font:.9em ui-monospace,SFMono-Regular,Menlo,monospace}.markdown pre{border:1px solid var(--border);background:oklch(96.8% .006 249/.9);border-radius:8px;margin:0 0 14px;padding:12px 14px;overflow-x:auto}.markdown pre code{color:var(--text);white-space:pre;background:0 0;border:0;padding:0;font-size:12px}.markdown table{border-collapse:collapse;width:100%;margin:0 0 14px;font-size:.95em}.markdown th,.markdown td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:7px 9px}.markdown th{background:oklch(96% .007 249);font-weight:650}.markdown input[type=checkbox]{accent-color:var(--accent);margin-right:7px}.message-details{width:min(820px,100% - 4px);color:var(--muted);margin:4px auto}.message-details summary{min-height:calc(var(--spacing-1) * 9);align-items:center;gap:calc(var(--spacing-1) * 2);cursor:pointer;border-radius:7px;padding:5px 8px;font-size:12.5px;list-style:none;display:flex}.message-details summary::-webkit-details-marker{display:none}.tool-group summary::-webkit-details-marker{display:none}.message-details summary:hover{color:var(--text);background:oklch(95% .008 249/.72)}.details-mark{border-bottom:1.5px solid;border-right:1.5px solid;flex:none;width:8px;height:8px;transition:transform .14s;transform:rotate(-45deg)}.message-details[open] .details-mark,.tool-group[open]>summary .details-mark{transform:rotate(45deg)}.details-body{color:oklch(42% .018 249);white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 8px 9px 38px;font-size:12px;line-height:1.6}.tool-icon{background:oklch(55% .02 249/.1);border-radius:6px;flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.tool-icon svg{width:13px;height:13px}.details-title{align-items:baseline;gap:calc(var(--spacing-1) * 2);flex:1;min-width:0;display:flex}.tool-name{color:var(--text);flex-shrink:0;font-size:12.5px;font-weight:600}.tool-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font:11.5px ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.tool-evidence{border:1px solid var(--border);background:oklch(97% .006 249/.75);border-radius:6px;max-height:440px;padding:9px 10px;overflow:auto}.status-mark{flex-shrink:0;width:14px;height:14px}.status-mark.done{color:var(--healthy)}.status-mark.error{color:var(--error)}.status-mark.warn{color:var(--warning)}.status-mark.running{justify-content:center;align-items:center;display:flex}.status-mark.running i,.activity-chip-dot,.conversation-running-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.5s ease-out infinite conversation-pulse}.tool-line.error .tool-icon{color:var(--error);background:oklch(50% .18 28/.09)}.tool-line-empty{min-height:calc(var(--spacing-1) * 8);align-items:center;gap:calc(var(--spacing-1) * 2);color:var(--muted);padding:3px 8px;display:flex}.tool-group{border:1px solid var(--border);width:min(820px,100% - 48px);color:var(--muted);background:oklch(99% .004 249/.5);border-radius:8px;margin:6px auto;overflow:hidden}.tool-group>summary{min-height:calc(var(--spacing-1) * 9);align-items:center;gap:calc(var(--spacing-1) * 2);cursor:pointer;padding:5px 10px;font-size:12.5px;list-style:none;display:flex}.tool-group>summary:hover{background:oklch(95% .008 249/.72)}.tool-group-icons{align-items:center;gap:var(--spacing-1);display:flex}.tool-group-icons svg{width:13px;height:13px}.tool-group-body{border-top:1px solid var(--border);padding:4px 10px}.tool-group-body .message-row{width:100%;padding:0}.activity-card{border:1px solid var(--border);background:oklch(99% .004 249/.6);border-radius:8px;overflow:hidden}.activity-card summary{min-height:44px;padding:7px 10px}.activity-card .details-mark{order:3}.activity-icon{border-radius:7px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.activity-icon svg{width:16px;height:16px}.activity-card.subagent .activity-icon{color:var(--accent);background:oklch(52% .15 253/.1)}.activity-card.workflow .activity-icon{color:oklch(55% .09 310);background:oklch(55% .09 310/.12)}.activity-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.activity-title,.activity-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-title{color:var(--text);font-weight:550}.activity-meta{color:var(--subtle);font-size:11px}.activity-card .details-body{margin-left:48px}.activity-bar{gap:calc(var(--spacing-1) * 1.5);flex-wrap:wrap;width:100%;max-width:840px;margin-inline:auto;padding:0 15px 2px;display:flex}.activity-chip{align-items:center;gap:calc(var(--spacing-1) * 1.5);border:1px solid var(--border);min-width:0;max-width:320px;color:var(--muted);background:oklch(99% .004 249/.78);border-radius:999px;padding:3px 10px;font-size:11.5px;display:flex}.activity-chip>svg{width:12px;height:12px}.activity-chip-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-chip.more{color:var(--subtle)}.activity-chip.done>svg{color:var(--healthy)}.activity-chip.error>svg{color:var(--error)}.conversation-running{align-items:center;gap:calc(var(--spacing-1) * 2);width:min(840px,100% - 48px);color:var(--muted);margin-inline:auto;margin-bottom:18px;font-size:12px;display:flex}@keyframes conversation-pulse{70%{box-shadow:0 0 0 6px oklch(52% .15 253/0)}to{box-shadow:0 0 oklch(52% .15 253/0)}}.switching{align-items:center;display:flex}.message-actions{margin-top:var(--spacing-1);height:calc(var(--spacing-1) * 6);justify-content:flex-end;align-items:center;gap:var(--spacing-1);color:var(--subtle);opacity:0;font-size:10.5px;transition:opacity .12s;display:flex}.message-row:hover>.message-actions,.message-row:focus-within>.message-actions{opacity:1}.message-actions.copy-failed{opacity:1;flex-wrap:wrap;height:auto;min-height:24px}.copy-error{text-align:right;flex-basis:100%}.message-actions button{width:calc(var(--spacing-1) * 6);height:calc(var(--spacing-1) * 6);border-style:var(--tw-border-style);background-color:#0000;border-width:0;border-radius:5px;place-items:center;display:grid}.message-actions button:hover{color:var(--text);background:oklch(95% .008 249)}.message-actions svg{width:13px;height:13px}.message-editor{width:min(100%,620px);margin-left:auto}.message-editor textarea{resize:vertical;border:1px solid var(--border-strong);background:var(--page);border-radius:14px;outline:0;width:100%;min-height:52px;max-height:220px;padding:10px 14px}.message-edit-actions{margin-top:calc(var(--spacing-1) * 2);justify-content:flex-end;gap:calc(var(--spacing-1) * 2);display:flex}.message-edit-actions button{border:1px solid var(--border-strong);background:var(--page);border-radius:15px;height:30px;padding:0 14px;font-size:12.5px}.message-edit-actions .confirm{border-color:var(--text);background:var(--text);color:var(--page)}.turn-rail{z-index:10;gap:calc(var(--spacing-1) * .5);border:1px solid #0000;border-radius:8px;flex-direction:column;width:16px;max-height:70%;padding:4px 2px;transition:width .16s,background-color .16s,border-color .16s;display:flex;position:absolute;top:50%;right:24px;overflow-y:auto;transform:translateY(-50%)}.turn-rail:hover,.turn-rail:focus-within{border-color:var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:oklch(99% .004 249/.92);width:240px;padding:6px;box-shadow:0 12px 28px oklch(26% .02 249/.14)}.turn-tick{align-items:center;gap:calc(var(--spacing-1) * 2);border-style:var(--tw-border-style);background-color:#0000;border-width:0;border-radius:6px;width:100%;padding:3px 4px;display:flex}.turn-tick:hover{background:oklch(95% .008 249)}.turn-tick-mark{background:var(--subtle);border-radius:1px;flex:none;width:8px;height:2px}.turn-tick-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:12px;display:none;overflow:hidden}.turn-rail:hover .turn-tick-label,.turn-rail:focus-within .turn-tick-label{display:block}@container conversation-shell (width<=960px){.turn-rail{display:none}}.composer-dock{align-items:center;gap:calc(var(--spacing-1) * 2);flex-direction:column;padding:12px 24px 22px;display:flex}.prompt-recovery{justify-content:space-between;align-items:center;gap:calc(var(--spacing-1) * 4);width:100%;max-width:840px;color:var(--text);background:oklch(98% .025 88);border:1px solid oklch(74% .11 78);border-radius:8px;margin-inline:auto;padding:10px 12px;font-size:12px;display:flex}.prompt-recovery>div:first-child{gap:calc(var(--spacing-1) * .5);flex-direction:column;min-width:0;display:flex}.prompt-recovery strong{font-size:13px}.prompt-recovery span{color:var(--muted)}.prompt-recovery-actions{align-items:center;gap:calc(var(--spacing-1) * 2);flex-shrink:0;display:flex}.prompt-recovery-actions button{border-style:var(--tw-border-style);color:var(--muted);background:0 0;border-width:0;border-radius:6px;padding:6px 9px}.prompt-recovery-actions button:hover:not(:disabled){color:var(--text);background:oklch(93% .025 82)}.prompt-recovery-actions button.primary{background:var(--text);color:var(--page)}.prompt-recovery-actions button:disabled{opacity:.55}.landing .composer-dock{z-index:10;inset-inline:0;align-items:stretch;width:100%;padding:0 24px;position:absolute;top:calc(50% - 81px)}.workspace-picker-row{align-items:center;width:100%;min-width:0;max-width:840px;margin-inline:auto;padding-left:15px;display:flex;position:relative}.workspace-picker{max-width:260px!important;height:36px!important;color:var(--text)!important;box-shadow:none!important;background:0 0!important;border-radius:18px!important}.workspace-picker:hover,.workspace-picker[aria-expanded=true]{background:var(--sidebar-active)!important}.workspace-picker svg{width:15px;height:15px}.composer{border:1px solid var(--border-strong);background:var(--page);border-radius:18px;flex-direction:column;width:100%;max-width:840px;min-height:118px;margin-inline:auto;padding:13px 13px 10px;transition:border-color .16s,box-shadow .16s;display:flex;position:relative;box-shadow:0 8px 26px oklch(42% .06 251/.1)}.dormant-overlay{z-index:10;border-style:var(--tw-border-style);background-color:#0000;border-width:0;border-radius:18px;position:absolute;inset:0}.composer:focus-within{border-color:oklch(84% .04 87);box-shadow:0 0 0 2px oklch(84% .04 87/.28),0 8px 26px oklch(40% .04 87/.1)}.composer.dormant{box-shadow:none;cursor:pointer;border-style:dashed}.composer.dormant:hover{border-color:oklch(66% .018 249)}.composer textarea{border-style:var(--tw-border-style);outline-style:var(--tw-outline-style);resize:none;width:100%;min-width:0;min-height:52px;max-height:220px;color:var(--text);background-color:#0000;border-width:0;outline-width:0;flex:none;padding:0 2px;font-size:14px;line-height:1.55}.composer textarea::placeholder{color:var(--muted)}.slash-command-menu{z-index:30;border:1px solid var(--border-strong);background:var(--page);border-radius:8px;max-height:min(360px,48vh);position:absolute;bottom:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 34px oklch(26% .02 249/.18)}.landing .slash-command-menu{max-height:min(224px, 32vh, var(--slash-command-available-height,224px));top:calc(100% + 8px);bottom:auto}.landing .slash-command-menu[data-placement=above]{top:auto;bottom:calc(100% + 8px)}.slash-command-option{align-items:center;gap:calc(var(--spacing-1) * 3);border-style:var(--tw-border-style);text-align:left;width:100%;min-width:0;min-height:56px;color:var(--text);background:0 0;border-width:0;padding:8px 11px;display:flex}.slash-command-option+.slash-command-option{border-top:1px solid var(--border)}.slash-command-option[aria-selected=true]{background:var(--sidebar-active)}.slash-command-option:disabled{cursor:not-allowed;color:var(--subtle)}.slash-command-option:disabled[aria-selected=true]{background:var(--sidebar-hover)}.slash-command-icon{background:var(--sidebar);width:28px;height:28px;color:var(--muted);border-radius:6px;flex-shrink:0;place-items:center;display:grid}.slash-command-icon svg{width:15px;height:15px}.slash-command-copy{min-width:0;color:var(--muted);overflow-wrap:anywhere;flex-direction:column;flex:1;gap:2px;font-size:12px;line-height:1.35;display:flex}.slash-command-heading{align-items:baseline;column-gap:calc(var(--spacing-1) * 2);flex-wrap:wrap;min-width:0;display:flex}.slash-command-heading strong{color:var(--text);font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace}.slash-command-heading>span{color:var(--subtle);font-size:11px}.slash-command-option:disabled .slash-command-heading strong{color:var(--muted)}.slash-command-support{max-width:132px;color:var(--subtle);text-align:right;flex-shrink:0;font-size:11px}.slash-command-state{min-height:58px;color:var(--muted);flex-direction:column;justify-content:center;gap:3px;padding:10px 13px;font-size:12px;display:flex}.slash-command-state strong{color:var(--text);font-weight:600}.slash-command-bounded{border-top:1px solid var(--border);color:var(--subtle);padding:7px 11px;font-size:11px}.composer-toolbar{margin-top:calc(var(--spacing-1) * 2);justify-content:flex-end;align-items:center;gap:calc(var(--spacing-1) * 2);min-width:0;display:flex}.model-picker-wrap{z-index:11;min-width:0;max-width:48%;position:relative}.model-picker{min-width:150px!important;max-width:100%!important;height:auto!important;min-height:34px!important;color:var(--muted)!important;box-shadow:none!important;background:0 0!important;padding:0 9px 0 10px!important}.model-picker-label,.model-menu-item-label{overflow-wrap:anywhere;white-space:normal;min-width:0;display:block}.model-picker:hover,.model-picker[aria-expanded=true]{color:var(--text)!important;background:oklch(97% .006 249)!important}.model-picker svg{width:14px;height:14px}.model-selector,.model-selector>div{min-width:150px;max-width:100%}.model-selector>div>button{min-width:0;max-width:100%;color:var(--muted);font:inherit;padding:0 9px 0 10px}.model-selector>div>button:hover,.model-selector>div>button[aria-expanded=true]{color:var(--text)}.model-search-panel{border:1px solid var(--border-strong);background:var(--page);width:min(360px,100vw - 32px);max-height:min(420px,60dvh);color:var(--text);border-radius:8px;padding:8px;overflow:auto;box-shadow:0 12px 30px oklch(25% .03 249/.18)}.model-search-panel.searchable{min-height:156px}.model-search-truncation,.model-search-status{color:var(--muted);margin:3px 4px 8px;font-size:12px;line-height:1.45}.model-search-error{color:var(--error)}.model-search-input{align-items:center;gap:calc(var(--spacing-1) * 2);border:1px solid var(--border);background:var(--sidebar);border-radius:6px;min-height:34px;padding:0 9px;display:flex}.model-search-input svg{width:14px;height:14px;color:var(--muted);flex:none}.model-search-input input{width:100%;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;font-size:12px}.model-search-options{align-content:start;gap:2px;min-height:36px;margin-top:6px;display:grid}.model-search-option{justify-content:space-between;align-items:center;gap:calc(var(--spacing-1) * 3);width:100%;min-width:0;color:var(--text);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:8px 9px;display:flex}.model-search-option:hover,.model-search-option:focus-visible{background:var(--sidebar-hover);outline:0}.model-search-option svg{flex:none;width:14px;height:14px}.thinking-picker-wrap{z-index:11;flex:none;position:relative}.thinking-picker{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;color:var(--muted)!important;box-shadow:none!important;background:0 0!important;border-radius:50%!important;padding:0!important}.thinking-picker:hover,.thinking-picker[aria-expanded=true]{color:var(--text)!important;background:oklch(97% .006 249)!important}.thinking-picker:disabled{opacity:.55}.thinking-picker svg{width:17px;height:17px}.thinking-picker-wrap[data-level=off] .thinking-picker{color:var(--subtle)!important}.thinking-picker-wrap[data-level=minimal] .thinking-picker{color:oklch(58% .06 249)!important}.thinking-picker-wrap[data-level=low] .thinking-picker{color:oklch(55% .09 249)!important}.thinking-picker-wrap[data-level=medium] .thinking-picker{color:oklch(52% .11 168)!important}.thinking-picker-wrap[data-level=high] .thinking-picker{color:oklch(52% .13 74)!important}.thinking-picker-wrap[data-level=xhigh] .thinking-picker,.thinking-picker-wrap[data-level=max] .thinking-picker{color:oklch(48% .16 32)!important}.thinking-picker-wrap[data-warning=true] .thinking-picker{color:var(--warning)!important}.thinking-picker-wrap[data-pending=true] .thinking-picker{animation:1.1s ease-in-out infinite thinking-picker-pulse}@keyframes thinking-picker-pulse{0%,to{opacity:1}50%{opacity:.45}}.send-button{border-style:var(--tw-border-style);background:var(--sidebar);border-width:0;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;transition:background-color .14s,transform .1s;display:grid}.send-button:hover:not(:disabled){background:var(--sidebar-hover)}.send-button:active:not(:disabled){transform:scale(.92)}.send-button:disabled{color:var(--subtle);opacity:.65}.send-button svg{width:17px;height:17px}.composer-hint{display:none}.notice{bottom:calc(var(--spacing-1) * 4);z-index:40;max-width:var(--container-xl);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);align-items:center;gap:calc(var(--spacing-1) * 3);background:var(--page);color:var(--error);border:1px solid oklch(70% .11 28);border-radius:6px;padding:9px 10px 9px 14px;font-size:12px;display:flex;position:absolute;left:50%;box-shadow:0 12px 32px oklch(26% .02 249/.18)}.notice button{width:calc(var(--spacing-1) * 6);height:calc(var(--spacing-1) * 6);border-style:var(--tw-border-style);background-color:#0000;border-width:0;place-items:center;display:grid}.notice svg{width:14px;height:14px}.mobile-header{display:none}.connection-state{align-items:center;gap:calc(var(--spacing-1) * 1.5);color:var(--healthy);font-size:11px}.connection-state:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.connection-state.reconnecting{color:var(--warning)}.connection-state.unavailable{color:var(--error)}.sidebar-scrim{display:none}.openpi-dialog{gap:calc(var(--spacing-1) * 4);color:var(--text);padding:20px;display:grid}.openpi-dialog strong{font-size:15px;font-weight:650}.openpi-dialog p{color:var(--muted);margin:0;font-size:13px;line-height:1.65}.openpi-dialog input{border:1px solid var(--border-strong);background:var(--page);border-radius:5px;width:100%;height:38px;padding:0 10px}.dialog-actions{justify-content:flex-end;gap:calc(var(--spacing-1) * 2);display:flex}.dialog-actions button{border:1px solid var(--border-strong);background:var(--page);border-radius:5px;height:34px;padding:0 13px}.dialog-actions .primary{border-color:var(--text);background:var(--text);color:var(--page)}.dialog-actions .danger{color:var(--error);border-color:oklch(80% .08 28)}@media (width<=760px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.session-sidebar{visibility:hidden;border-right:1px solid var(--border);background:var(--sidebar);-webkit-backdrop-filter:none;backdrop-filter:none;width:min(86vw,300px);transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.session-sidebar:before{display:none}.sidebar-open .session-sidebar{visibility:visible;transform:translate(0)}.sidebar-expand{display:none}.sidebar-scrim{z-index:10;border-style:var(--tw-border-style);background:oklch(20% .02 249/.28);border-width:0;position:fixed;inset:0}.sidebar-open .sidebar-scrim{display:block}.mobile-header{pointer-events:none;z-index:10;display:block;position:absolute;inset:0}.mobile-header>button{pointer-events:auto;top:calc(var(--spacing-1) * 3);left:calc(var(--spacing-1) * 3);border-style:var(--tw-border-style);background:oklch(99% .004 249/.88);border-width:0;border-radius:6px;place-items:center;width:34px;height:34px;display:grid;position:fixed}.mobile-header>button svg{width:19px;height:19px}.mobile-header .connection-state{top:calc(var(--spacing-1) * 4);right:calc(var(--spacing-1) * 3);font-size:0;display:flex;position:absolute}.message-row{width:calc(100% - 28px)}.message-row.assistant,.conversation-running{width:calc(100% - 24px)}.turn-rail{display:none}.composer-dock{padding:10px 12px 12px}.prompt-recovery{flex-direction:column;align-items:stretch}.prompt-recovery-actions{flex-wrap:wrap;justify-content:flex-end}.landing .composer-dock{padding:0 12px;top:calc(50% - 74px)}.landing-welcome{transform:translateY(-96px)}.composer{min-height:104px}.slash-command-option{align-items:flex-start}.slash-command-support{max-width:96px}.notice{width:calc(100% - 24px);bottom:12px}}@media (width<=520px){.composer-toolbar{gap:5px}.model-picker-wrap{flex:auto;max-width:100%}.model-picker{min-width:0!important}}@media (any-pointer:coarse){.session-row>.astryx-menu-trigger{opacity:1;pointer-events:auto}.session-row .session-time{visibility:hidden}.message-actions{opacity:1}}@media (prefers-reduced-motion:reduce){.app-shell,.session-sidebar,.workspace-chevron,.message-actions,.turn-rail,.details-mark{transition:none}.conversation{scroll-behavior:auto}.landing-brand .brand-lockup,.landing-brand .brand-word,.landing-brand .pixel-mark,.landing-brand .pixel-mark i,.landing-brand .pixel-mark i:after{animation:none}.landing-brand .brand-word{opacity:1}.landing-brand .pixel-mark i{background-color:currentColor}.landing-brand .pixel-mark i:after{opacity:0}.status-mark.running i,.activity-chip-dot,.conversation-running-dot,.thinking-picker-wrap[data-pending=true] .thinking-picker{animation:none}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#17191c;--sidebar:#1d2024;--sidebar-hover:#292d32;--sidebar-active:#30353b;--border:#353a40;--border-strong:#48515a;--text:#edf0f2;--muted:#a8b0b8;--subtle:#7f8993;--accent:#74a9e6;--focus:#78aee9;--healthy:#62c795;--error:#ff8c84;--warning:#e5b64f;--grid-minor:#87909908;--grid-major:#87909912;--grid-cross:#8790991c}:root[data-theme=dark] body{background-image:linear-gradient(var(--grid-minor) 1px, transparent 1px), linear-gradient(90deg, var(--grid-minor) 1px, transparent 1px)}:root[data-theme=dark] .session-sidebar{background:var(--sidebar);box-shadow:none;border-color:var(--border)}:root[data-theme=dark] .conversation-shell:not(.landing){background-image:none;background-color:var(--page)}:root[data-theme=dark] .details-body{color:var(--muted)}:root[data-theme=dark] :is(.markdown blockquote,.markdown code,.markdown pre,.markdown th,.tool-evidence,.tool-group,.activity-card,.activity-chip,.mobile-header>button){background:var(--sidebar);color:var(--text);border-color:var(--border)}:root[data-theme=dark] :is(.new-session-button:hover,.message-details summary:hover,.tool-group>summary:hover,.message-actions button:hover,.turn-tick:hover){background:var(--sidebar-hover);border-color:var(--border)}:root[data-theme=dark] :is(.turn-rail:hover,.turn-rail:focus-within){background:var(--page)}:root[data-theme=dark] .model-picker:hover,:root[data-theme=dark] .model-picker[aria-expanded=true],:root[data-theme=dark] .model-selector>div>button:hover,:root[data-theme=dark] .model-selector>div>button[aria-expanded=true]{background:var(--sidebar-hover)!important}:root[data-theme=dark] .slash-command-icon{background:var(--sidebar-hover)}:root[data-theme=dark] .model-picker:hover,:root[data-theme=dark] .model-picker[aria-expanded=true],:root[data-theme=dark] .thinking-picker:hover,:root[data-theme=dark] .thinking-picker[aria-expanded=true]{background:var(--sidebar-hover)!important}.session-view-switch{border:0;border:1px solid var(--border);border-radius:8px;gap:4px;min-width:0;margin:0 12px 8px;padding:4px;display:flex}.session-view-switch button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;flex:1;padding:6px 10px}.session-view-switch button[aria-pressed=true]{background:var(--sidebar-hover);font-weight:600}.sidebar-scope-note{color:var(--muted);margin:4px 18px 10px;font-size:12px;line-height:1.5}.inspection-panel{max-height:min(80dvh,760px);color:var(--text);padding:24px;overflow-y:auto}.inspection-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.inspection-heading h2{margin:0;font-size:18px}.inspection-subtitle{color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0;font-size:12px}.inspection-actions{flex-shrink:0;gap:6px;display:flex}.inspection-section{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.inspection-section h3{margin:0 0 12px;font-size:14px;font-weight:600}.inspection-section dl{grid-template-columns:100px minmax(0,1fr);gap:10px 16px;margin:0;font-size:13px;display:grid}.inspection-section dt{color:var(--muted)}.inspection-section dd{overflow-wrap:anywhere;margin:0}.inspection-section p{font-size:13px;line-height:1.6}.inspection-note,.inspection-updated{color:var(--muted);font-size:12px;line-height:1.6}.inspection-updated{margin:20px 0 0}.inspection-warning{color:var(--text);border-left:2px solid var(--warning);overflow-wrap:anywhere;padding:8px 10px;font-size:13px}.provider-status{overflow-wrap:anywhere;justify-content:space-between;gap:16px;margin:10px 0;font-size:13px;display:flex}.provider-status>:last-child{color:var(--muted);flex-shrink:0}.terminal-evidence{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--sidebar-hover);border-radius:6px;max-height:260px;padding:12px;font-size:12px;line-height:1.6;overflow:auto}button.activity-chip{cursor:pointer;font:inherit}button.activity-chip:hover{filter:brightness(1.15)}@media (width<=600px){.inspection-panel{padding:18px}.inspection-section dl{grid-template-columns:72px minmax(0,1fr);gap:8px}}.conversation-view-switch{z-index:15;background:var(--page);border:0;border-radius:8px;align-self:flex-start;gap:4px;margin:10px 24px 0;padding:3px;display:flex;position:absolute;top:0;left:30px}.conversation-view-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 14px}.conversation-view-switch button[aria-pressed=true]{color:var(--text);background:var(--page);box-shadow:0 1px 3px #0001}.trajectory{flex-direction:column;padding:66px 28px 22px;display:flex;overflow:auto}.workspace-changes{flex-direction:column;gap:12px;min-height:0;padding:22px 28px;display:flex;overflow:hidden}.workspace-changes-heading{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.workspace-changes-heading h2{margin:0 0 6px;font-size:20px}.workspace-changes-subtitle{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px}.workspace-changes-meta{color:var(--muted);flex-shrink:0;grid-template-columns:100px minmax(0,1fr);gap:6px 16px;margin:0;font-size:12px;display:grid}.workspace-changes-meta dd{color:var(--text);overflow-wrap:anywhere;margin:0}.workspace-changes-body{flex:1;grid-template-columns:minmax(220px,34%) minmax(0,1fr);gap:18px;min-height:0;display:grid}.workspace-changes-list{min-height:0;padding-right:2px;overflow:auto}.workspace-change-file{width:100%;min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:10px;padding:9px 10px;display:flex}.workspace-change-file:hover{background:var(--sidebar-hover)}.workspace-change-file[aria-pressed=true]{border-color:var(--border);background:var(--sidebar-hover)}.workspace-change-file-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.workspace-change-file-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.workspace-change-file-main small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px;overflow:hidden}.workspace-change-file-meta{color:var(--muted);flex-direction:column;flex-shrink:0;align-items:flex-end;font-size:11px;display:flex}.workspace-change-detail{border:1px solid var(--border);background:var(--sidebar-hover);border-radius:10px;min-width:0;min-height:0;padding:14px;overflow:auto}.workspace-change-detail header{justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.workspace-change-detail h3{overflow-wrap:anywhere;margin:0;font-size:14px}.workspace-change-detail p{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:12px}.workspace-change-detail pre{white-space:pre;max-height:100%;margin:0;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.workspace-changes-warning{border-left:2px solid var(--warning);color:var(--text);overflow-wrap:anywhere;padding:8px 10px;font-size:12px}.workspace-changes-updated{color:var(--muted);flex-shrink:0;margin:0;font-size:11px}.trajectory-heading h2{margin:0 0 8px;font-size:20px}.trajectory-heading p{color:var(--muted);margin:6px 0;font-size:12px}.trajectory-overview{flex-shrink:0;gap:6px;padding:14px 0;display:flex;overflow-x:auto}.trajectory-point{border:1px solid var(--border);height:30px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;flex:0 0 30px}.trajectory-point.call{border-radius:6px}.trajectory-point[aria-pressed=true]{background:var(--text);color:var(--page)}.trajectory-body{grid-template-columns:minmax(200px,34%) minmax(0,1fr);align-items:start;gap:24px;display:grid}.trajectory-ledger ol{border-left:1px solid var(--border);margin:0;padding-left:24px}.trajectory-ledger li{color:var(--muted);padding:0 0 8px 2px;font-size:11px}.trajectory-record{text-align:left;width:100%;color:var(--text);cursor:pointer;overflow-wrap:anywhere;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:5px;padding:10px;display:flex}.trajectory-record[aria-pressed=true]{border-color:var(--border);background:var(--sidebar-hover)}.trajectory-kind,.trajectory-preview,.trajectory-metadata{color:var(--muted);font-size:11px}.trajectory-preview{white-space:pre-wrap;max-height:40px;overflow:hidden}.trajectory-inspector{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:12px;min-width:0;padding:20px;position:sticky;top:0}.trajectory-inspector h3{margin:0 0 12px}.trajectory-inspector h4{margin:20px 0 8px;font-size:12px}.trajectory-inspector p{font-size:12px}.trajectory-inspector pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--sidebar-hover);border-radius:6px;max-height:420px;padding:12px;font-size:12px;line-height:1.6;overflow:auto}.trajectory-warning{color:var(--warning);font-size:12px}.tool-evidence-card{border:1px solid var(--border);border-radius:8px;min-width:0;margin:8px 0;overflow:hidden}.tool-evidence-card>summary{cursor:pointer;align-items:center;gap:12px;padding:10px 12px;font-size:12px;display:flex}.tool-evidence-card>summary>span:not(.evidence-status){text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.evidence-status{color:var(--muted);flex-shrink:0;font-size:11px}.evidence-content{border-top:1px solid var(--border);overflow-wrap:anywhere;padding:12px;font-size:12px}.evidence-content pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--sidebar-hover);max-height:360px;padding:10px;line-height:1.65;overflow:auto}.evidence-content h4{margin:12px 0 6px}.evidence-content details>summary{cursor:pointer;padding:8px 0}.evidence-lines>span{white-space:pre;display:block}.evidence-line-number{min-width:4ch;color:var(--muted);-webkit-user-select:none;user-select:none;text-align:right;margin-right:2ch;display:inline-block}.diff-added{background:#1ea0501f}.diff-removed{background:#d23c3c1f}.evidence-warning{color:var(--warning)}.artifact-link{color:var(--accent);cursor:pointer;font:inherit;overflow-wrap:anywhere;background:0 0;border:0;padding:0;text-decoration:underline}.artifact-panel{z-index:60;box-sizing:border-box;border:1px solid var(--border);background:var(--page);width:min(640px,100vw - 32px);color:var(--text);border-radius:12px;padding:20px;position:fixed;inset:16px 16px 16px auto;overflow:auto;box-shadow:0 12px 48px #0003}.artifact-panel header{justify-content:space-between;align-items:center;gap:12px;display:flex}.artifact-panel h2{font-size:18px}.artifact-panel p{overflow-wrap:anywhere;font-size:12px}.artifact-panel button:not(.artifact-link){border:1px solid var(--border);background:var(--sidebar-hover);color:var(--text);cursor:pointer;border-radius:6px;padding:7px 12px}.artifact-panel button:disabled{opacity:.5;cursor:default}.artifact-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:65vh;font-size:12px;line-height:1.7;overflow:auto}.artifact-actions{gap:8px;display:flex}.artifact-revision{color:var(--muted)}.artifact-link-path{color:var(--muted);font-size:11px;text-decoration:none}.trajectory-load{color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;margin-bottom:12px;padding:10px}@media (width<=700px){.trajectory{padding:66px 16px 16px}.trajectory-body{grid-template-columns:1fr;gap:16px}.trajectory-ledger{max-height:200px;overflow:auto}.trajectory-inspector{padding:16px;position:static}.conversation-view-switch{margin-left:16px}.workspace-changes{padding:16px}.workspace-changes-body{grid-template-rows:minmax(120px,30%) minmax(0,1fr);grid-template-columns:1fr;gap:12px}.workspace-change-detail{padding:12px}}.conversation-shell.has-view:not(.landing){grid-template-rows:auto minmax(0,1fr) auto}.conversation-shell.has-view:not(.landing)>.conversation-view-switch{justify-self:start;position:relative;top:auto;left:auto}.trajectory{padding-top:22px;overflow:hidden}.trajectory-heading{flex-shrink:0}.trajectory-body{flex:1;align-items:stretch;min-height:0;overflow:hidden}.trajectory-ledger{min-height:0;overflow:auto}.trajectory-inspector{min-height:0;position:static;overflow:auto}@media (width<=700px){.conversation-view-switch{margin-left:60px}.trajectory{padding-top:16px}.trajectory-body{grid-template-rows:minmax(80px,30%) minmax(0,1fr)}.trajectory-ledger{max-height:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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} /*$vite$:1*/ \ No newline at end of file diff --git a/web/host/web-host.ts b/web/host/web-host.ts index 852119b2..cf81de5f 100644 --- a/web/host/web-host.ts +++ b/web/host/web-host.ts @@ -40,6 +40,7 @@ import { elapsed, traceWeb } from "../trace.ts"; import { reduceLiveTools } from "../protocol/live-tools.ts"; import type { LiveToolEvidence } from "../protocol/evidence.ts"; import { ArtifactError, ArtifactReader } from "./artifacts.ts"; +import { loadWorkspaceChanges } from "./workspace-changes.ts"; const HOST = "127.0.0.1"; const UI_ROOT = new URL("../dist/", import.meta.url); @@ -487,6 +488,51 @@ export class WebHost { response.end(result.bytes); return; } + if (url.pathname === "/api/workspace-changes") { + if (request.method !== "GET") + return this.json(response, 405, { + error: "workspace changes accept GET only", + }); + const sessionId = url.searchParams.get("sessionId"); + if ( + sessionId === null || + sessionId.length === 0 || + sessionId.length > 128 || + url.searchParams.getAll("sessionId").length !== 1 || + [...url.searchParams.keys()].some((key) => key !== "sessionId") + ) { + return this.json(response, 400, { + code: "INVALID_WORKSPACE_CHANGES_REQUEST", + error: "the active Session id is required", + }); + } + if (this.runtime.workspaceSelected !== true) { + return this.json(response, 409, { + code: "WORKSPACE_REQUIRED", + error: "Choose a workspace before reading workspace changes", + }); + } + if (sessionId !== this.runtime.sessionManager.getSessionId()) { + return this.json(response, 409, { + code: "SESSION_CHANGED", + error: "The active Session changed. Refresh the workspace changes.", + }); + } + const controller = new AbortController(); + const abort = () => controller.abort(); + request.once("aborted", abort); + response.once("close", abort); + try { + return this.json( + response, + 200, + await loadWorkspaceChanges(this.runtime.cwd, sessionId, controller.signal), + ); + } finally { + request.off("aborted", abort); + response.off("close", abort); + } + } if ( url.pathname === "/api/workspaces/select" && request.method === "POST" diff --git a/web/host/workspace-changes.ts b/web/host/workspace-changes.ts new file mode 100644 index 00000000..f7013b72 --- /dev/null +++ b/web/host/workspace-changes.ts @@ -0,0 +1,417 @@ +import { execFile } from "node:child_process"; +import { resolve } from "node:path"; +import { promisify } from "node:util"; +import { sanitizeTerminalText } from "../../extensions/shared/terminal-text.ts"; +import { + WEB_MAX_WORKSPACE_CHANGE_DIFF_BYTES, + WEB_MAX_WORKSPACE_CHANGE_FILES, + WEB_MAX_WORKSPACE_CHANGE_TOTAL_DIFF_BYTES, + type WebWorkspaceChange, + type WebWorkspaceChanges, + type WebWorkspaceChangeStatus, +} from "../protocol/types.ts"; + +const execFileAsync = promisify(execFile); +const GIT_COMMAND_TIMEOUT_MS = 10_000; +const STATUS_MAX_BYTES = 512 * 1024; +const COMMAND_ERROR = "Git could not read the current workspace."; +const DIFF_TRUNCATED_MARKER = "\n[diff truncated by the Web workspace budget]\n"; + +type GitCommandError = Error & { + code?: number | string; + signal?: NodeJS.Signals | null; + stdout?: string | Buffer; + stderr?: string | Buffer; +}; + +interface GitResult { + code: number; + stdout: string; + stderr: string; + failedToStart: boolean; + timedOut: boolean; + truncated: boolean; + error?: string; +} + +function textOutput(value: unknown) { + return typeof value === "string" + ? value + : Buffer.isBuffer(value) + ? value.toString("utf8") + : ""; +} + +async function runGit( + cwd: string, + args: string[], + maxBuffer: number, + signal?: AbortSignal, +): Promise { + try { + const result = await execFileAsync("git", args, { + cwd, + encoding: "utf8", + maxBuffer, + signal, + timeout: GIT_COMMAND_TIMEOUT_MS, + windowsHide: true, + }); + return { + code: 0, + stdout: textOutput(result.stdout), + stderr: textOutput(result.stderr), + failedToStart: false, + timedOut: false, + truncated: false, + }; + } catch (error) { + if (signal?.aborted) throw error; + const value = error as GitCommandError; + const message = error instanceof Error ? error.message : COMMAND_ERROR; + return { + code: typeof value.code === "number" ? value.code : -1, + stdout: textOutput(value.stdout), + stderr: textOutput(value.stderr), + failedToStart: value.code === "ENOENT", + timedOut: + value.code === "ETIMEDOUT" || + (value.signal === "SIGTERM" && /timed out/iu.test(message)), + truncated: value.code === "ERR_CHILD_PROCESS_STDIO_MAXBUFFER", + error: message, + }; + } +} + +function cleanPath(path: string) { + return sanitizeTerminalText(path).replace(/[\r\n]/gu, " "); +} + +function parseStatus(status: string): WebWorkspaceChangeStatus { + if (status === "??") return "untracked"; + if (status.includes("U")) return "unmerged"; + if (status.includes("R")) return "renamed"; + if (status.includes("C")) return "copied"; + if (status.includes("A")) return "added"; + if (status.includes("D")) return "deleted"; + return "modified"; +} + +interface ChangedPath { + path: string; + previousPath?: string; + status: WebWorkspaceChangeStatus; + useNoIndex: boolean; +} + +function parseChangedPaths(output: string, hasHead: boolean) { + const completeBytes = output.lastIndexOf("\0"); + const records = + completeBytes < 0 + ? [] + : output.slice(0, completeBytes + 1).split("\0"); + const paths: ChangedPath[] = []; + for (let index = 0; index < records.length; index += 1) { + const record = records[index]; + if (!record || record.length < 4) continue; + const statusCode = record.slice(0, 2); + const path = record.slice(3); + const status = parseStatus(statusCode); + const isRename = status === "renamed" || status === "copied"; + const previousPath = isRename ? records[index + 1] : undefined; + if (isRename && !previousPath) continue; + if (isRename && previousPath !== undefined) index += 1; + paths.push({ + path, + ...(previousPath ? { previousPath } : {}), + status, + useNoIndex: statusCode === "??" || !hasHead, + }); + } + return paths; +} + +function parseNumstat(output: string) { + const line = output.split(/\r?\n/u).find(Boolean); + if (!line) return undefined; + const [added, deleted] = line.split("\t"); + const binary = added === "-" || deleted === "-"; + const parse = (value: string | undefined) => + /^\d+$/u.test(value ?? "") ? Number.parseInt(value!, 10) : null; + return { additions: parse(added), deletions: parse(deleted), binary }; +} + +function boundDiff(value: string, maxBytes: number) { + const safe = sanitizeTerminalText(value); + if (Buffer.byteLength(safe) <= maxBytes) + return { value: safe, truncated: false }; + const markerBytes = Buffer.byteLength(DIFF_TRUNCATED_MARKER); + const prefix = new TextDecoder().decode( + Buffer.from(safe).subarray(0, Math.max(0, maxBytes - markerBytes)), + ); + return { + value: `${prefix}${DIFF_TRUNCATED_MARKER}`, + truncated: true, + }; +} + +function unavailableChange( + changedPath: ChangedPath, + error: string, + truncated = false, +): WebWorkspaceChange { + return { + path: cleanPath(changedPath.path), + ...(changedPath.previousPath + ? { previousPath: cleanPath(changedPath.previousPath) } + : {}), + status: changedPath.status, + additions: null, + deletions: null, + binary: false, + diff: "", + diffStatus: "unavailable", + truncated, + error, + }; +} + +async function loadChange( + repoRoot: string, + changedPath: ChangedPath, + remainingDiffBytes: number, + signal?: AbortSignal, +) { + if (remainingDiffBytes <= 0) { + return unavailableChange( + changedPath, + "Diff omitted after the Web workspace budget was reached.", + true, + ); + } + + const nullPath = process.platform === "win32" ? "NUL" : "/dev/null"; + const diffArgs = changedPath.useNoIndex + ? [ + "diff", + "--no-index", + "--no-ext-diff", + "--no-color", + "--unified=3", + "--", + nullPath, + changedPath.path, + ] + : [ + "diff", + "--no-ext-diff", + "--no-color", + "--unified=3", + "HEAD", + "--", + changedPath.path, + ]; + const statArgs = changedPath.useNoIndex + ? ["diff", "--no-index", "--numstat", "--", nullPath, changedPath.path] + : ["diff", "--numstat", "HEAD", "--", changedPath.path]; + const maxDiffBytes = Math.min( + WEB_MAX_WORKSPACE_CHANGE_DIFF_BYTES, + remainingDiffBytes, + ); + const [diffResult, statResult] = await Promise.all([ + runGit(repoRoot, diffArgs, maxDiffBytes + 64 * 1024, signal), + runGit(repoRoot, statArgs, 64 * 1024, signal), + ]); + const expectedCode = changedPath.useNoIndex ? 1 : 0; + const diffReadable = + diffResult.code === 0 || diffResult.code === expectedCode; + const statReadable = + statResult.code === 0 || statResult.code === expectedCode; + if (!diffReadable && !diffResult.truncated) { + return unavailableChange( + changedPath, + diffResult.timedOut ? "Diff reading timed out." : "Diff is unavailable; refresh to retry.", + ); + } + + const stats = statReadable ? parseNumstat(statResult.stdout) : undefined; + const binary = + stats?.binary === true || + /Binary files .* differ/u.test(diffResult.stdout); + if (binary) { + return { + path: cleanPath(changedPath.path), + ...(changedPath.previousPath + ? { previousPath: cleanPath(changedPath.previousPath) } + : {}), + status: changedPath.status, + additions: null, + deletions: null, + binary: true, + diff: "", + diffStatus: "binary", + truncated: false, + } satisfies WebWorkspaceChange; + } + + const bounded = boundDiff(diffResult.stdout, maxDiffBytes); + return { + path: cleanPath(changedPath.path), + ...(changedPath.previousPath + ? { previousPath: cleanPath(changedPath.previousPath) } + : {}), + status: changedPath.status, + additions: stats?.additions ?? null, + deletions: stats?.deletions ?? null, + binary: false, + diff: bounded.value, + diffStatus: "text", + truncated: bounded.truncated || diffResult.truncated, + ...(statReadable ? {} : { error: "Line counts are unavailable." }), + } satisfies WebWorkspaceChange; +} + +function emptyTruncation(statusTruncated = false) { + return { + truncated: statusTruncated, + filesOmitted: 0, + statusTruncated, + diffsTruncated: 0, + maxFiles: WEB_MAX_WORKSPACE_CHANGE_FILES, + maxDiffBytes: WEB_MAX_WORKSPACE_CHANGE_TOTAL_DIFF_BYTES, + }; +} + +export async function loadWorkspaceChanges( + cwd: string, + sessionId: string, + signal?: AbortSignal, +): Promise { + signal?.throwIfAborted(); + const checkedAt = new Date().toISOString(); + const rootResult = await runGit( + cwd, + ["rev-parse", "--show-toplevel"], + 64 * 1024, + signal, + ); + if (rootResult.failedToStart) { + return { + sessionId, + cwd, + checkedAt, + status: "unavailable", + baseline: undefined, + files: [], + truncation: emptyTruncation(), + error: "Git is unavailable on the Web Host.", + }; + } + if (rootResult.code !== 0 || !rootResult.stdout.trim()) { + const notRepository = + rootResult.code !== 0 && /not a git repository/iu.test(rootResult.stderr); + return { + sessionId, + cwd, + checkedAt, + status: notRepository ? "not-repository" : "unavailable", + baseline: undefined, + files: [], + truncation: emptyTruncation(), + ...(notRepository + ? {} + : { error: "Git could not determine the workspace repository." }), + }; + } + + const repositoryRoot = resolve(rootResult.stdout.trim()); + const statusResult = await runGit( + repositoryRoot, + ["status", "--porcelain=v1", "-z", "--untracked-files=all"], + STATUS_MAX_BYTES, + signal, + ); + if (statusResult.code !== 0 && !statusResult.truncated) { + return { + sessionId, + cwd, + repositoryRoot, + checkedAt, + status: "unavailable", + baseline: undefined, + files: [], + truncation: emptyTruncation(statusResult.truncated), + error: statusResult.timedOut + ? "Git status reading timed out." + : "Git status is unavailable; refresh to retry.", + }; + } + + const headResult = await runGit( + repositoryRoot, + ["rev-parse", "--verify", "--quiet", "HEAD"], + 64 * 1024, + signal, + ); + if ( + headResult.timedOut || + headResult.failedToStart || + (headResult.code !== 0 && headResult.code !== 1) + ) { + return { + sessionId, + cwd, + repositoryRoot, + checkedAt, + status: "unavailable", + baseline: undefined, + files: [], + truncation: emptyTruncation(statusResult.truncated), + error: "Git could not determine the comparison baseline.", + }; + } + + const hasHead = headResult.code === 0 && Boolean(headResult.stdout.trim()); + const baseline = hasHead + ? { kind: "head" as const, commit: headResult.stdout.trim() } + : { kind: "empty-tree" as const }; + const changedPaths = parseChangedPaths(statusResult.stdout, hasHead); + const visiblePaths = changedPaths.slice(0, WEB_MAX_WORKSPACE_CHANGE_FILES); + let remainingDiffBytes = WEB_MAX_WORKSPACE_CHANGE_TOTAL_DIFF_BYTES; + const files: WebWorkspaceChange[] = []; + let diffsTruncated = 0; + for (const changedPath of visiblePaths) { + const file = await loadChange( + repositoryRoot, + changedPath, + remainingDiffBytes, + signal, + ); + files.push(file); + remainingDiffBytes = Math.max( + 0, + remainingDiffBytes - Buffer.byteLength(file.diff), + ); + if (file.truncated) diffsTruncated += 1; + } + const filesOmitted = Math.max(0, changedPaths.length - visiblePaths.length); + const truncation = { + truncated: + statusResult.truncated || filesOmitted > 0 || diffsTruncated > 0, + filesOmitted, + statusTruncated: statusResult.truncated, + diffsTruncated, + maxFiles: WEB_MAX_WORKSPACE_CHANGE_FILES, + maxDiffBytes: WEB_MAX_WORKSPACE_CHANGE_TOTAL_DIFF_BYTES, + }; + return { + sessionId, + cwd, + repositoryRoot, + checkedAt, + status: files.length > 0 || statusResult.truncated ? "changed" : "clean", + baseline, + files, + truncation, + }; +} diff --git a/web/protocol/types.ts b/web/protocol/types.ts index 725ababb..ce1609fa 100644 --- a/web/protocol/types.ts +++ b/web/protocol/types.ts @@ -27,6 +27,9 @@ export const WEB_MAX_COMMAND_NAME = 160; export const WEB_MAX_COMMAND_DESCRIPTION = 500; export const WEB_MAX_SELECTED_TRANSCRIPT_BYTES = 2 * 1024 * 1024; export const WEB_MAX_SNAPSHOT_BYTES = 4 * 1024 * 1024; +export const WEB_MAX_WORKSPACE_CHANGE_FILES = 250; +export const WEB_MAX_WORKSPACE_CHANGE_DIFF_BYTES = 512 * 1024; +export const WEB_MAX_WORKSPACE_CHANGE_TOTAL_DIFF_BYTES = 2 * 1024 * 1024; export const WEB_MAX_THINKING_LEVEL = 500; export const WEB_MAX_THINKING_LEVELS = 16; @@ -64,6 +67,50 @@ export interface WebWorkspaceSummary { current: boolean; } +export type WebWorkspaceChangeStatus = + | "added" + | "copied" + | "deleted" + | "modified" + | "renamed" + | "unmerged" + | "untracked"; + +export interface WebWorkspaceChange { + path: string; + previousPath?: string; + status: WebWorkspaceChangeStatus; + additions: number | null; + deletions: number | null; + binary: boolean; + diff: string; + diffStatus: "text" | "binary" | "unavailable"; + truncated: boolean; + error?: string; +} + +export interface WebWorkspaceChanges { + sessionId: string; + cwd: string; + repositoryRoot?: string; + checkedAt: string; + status: "clean" | "changed" | "not-repository" | "unavailable"; + baseline: + | { kind: "head"; commit: string } + | { kind: "empty-tree" } + | undefined; + files: WebWorkspaceChange[]; + truncation: { + truncated: boolean; + filesOmitted: number; + statusTruncated: boolean; + diffsTruncated: number; + maxFiles: number; + maxDiffBytes: number; + }; + error?: string; +} + export interface WebModelSummary { provider: string; id: string; diff --git a/web/ui/src/app/App.tsx b/web/ui/src/app/App.tsx index d6e94a87..b934635e 100644 --- a/web/ui/src/app/App.tsx +++ b/web/ui/src/app/App.tsx @@ -11,6 +11,7 @@ import { import { SessionSidebar } from "../features/sessions/SessionSidebar.tsx"; import { Trajectory } from "../features/trajectory/Trajectory.tsx"; import { Transcript } from "../features/transcript/Transcript.tsx"; +import { WorkspaceChanges } from "../features/workspace/WorkspaceChanges.tsx"; import { webStore } from "../store/web-store.ts"; export function App() { @@ -33,7 +34,7 @@ export function App() { media.addEventListener("change", update); return () => media.removeEventListener("change", update); }, [actions]); - const [view, setView] = useState<"chat" | "trajectory">("chat"); + const [view, setView] = useState<"chat" | "trajectory" | "changes">("chat"); const [inspection, setInspection] = useState(null); const currentModel = state.snapshot?.models.find((model) => model.current); const modelKey = JSON.stringify([currentModel?.provider, currentModel?.id]); @@ -151,6 +152,13 @@ export function App() { > {t("trajectory")} + )} {state.sessionSwitching ? ( @@ -166,6 +174,12 @@ export function App() { snapshot={state.snapshot} running={state.liveRunning} /> + ) : view === "changes" && selected ? ( + ) : landing ? (
string, +) { + return translate(`workspaceChangesStatus_${status}`); +} + +export function WorkspaceChanges({ + sessionId, + cwd, +}: { + sessionId: string; + cwd: string; +}) { + const { t } = useTranslation(); + const client = useMemo(() => new WebClient(), []); + const [revision, refresh] = useState(0); + const [data, setData] = useState(null); + const [error, setError] = useState(null); + const [selectedPath, setSelectedPath] = useState(null); + + // biome-ignore lint/correctness/useExhaustiveDependencies: revision explicitly triggers a manual refresh. + useEffect(() => { + const controller = new AbortController(); + setData(null); + setError(null); + const read = async () => { + try { + const next = await client.workspaceChanges( + sessionId, + controller.signal, + ); + if (next.sessionId !== sessionId || next.cwd !== cwd) { + throw new Error(t("workspaceChangesChanged")); + } + if (controller.signal.aborted) return; + setData(next); + setSelectedPath((current) => + current && next.files.some((file) => file.path === current) + ? current + : (next.files[0]?.path ?? null), + ); + } catch (reason) { + if (!controller.signal.aborted) { + setError( + reason instanceof Error + ? reason.message + : t("workspaceChangesUnavailable"), + ); + } + } + }; + void read(); + return () => controller.abort(); + }, [client, cwd, revision, sessionId, t]); + + const selected = data?.files.find((file) => file.path === selectedPath); + const baseline = data?.baseline; + const loading = data === null && error === null; + + return ( +
+
+
+

{t("workspaceChangesHeading")}

+

{cwd}

+
+ +
+ {loading &&

{t("workspaceChangesLoading")}

} + {error && ( +

+ {error} +

+ )} + {data && ( + <> +
+
{t("workspaceChangesWorkspace")}
+
{data.repositoryRoot ?? data.cwd}
+
{t("workspaceChangesComparison")}
+
+ {baseline?.kind === "head" + ? t("workspaceChangesHead", { commit: baseline.commit }) + : baseline?.kind === "empty-tree" + ? t("workspaceChangesEmptyTree") + : t("unknownState")} +
+
+ {data.status === "clean" && ( +

{t("workspaceChangesClean")}

+ )} + {data.status === "not-repository" && ( +

{t("workspaceChangesNotRepository")}

+ )} + {data.status === "unavailable" && ( +

+ {data.error ?? t("workspaceChangesUnavailable")} +

+ )} + {data.truncation.truncated && ( +

+ {data.truncation.statusTruncated + ? t("workspaceChangesStatusTruncated") + : t("workspaceChangesTruncated")} + {data.truncation.filesOmitted > 0 && + ` ${t("workspaceChangesFilesOmitted", { count: data.truncation.filesOmitted })}`} + {data.truncation.diffsTruncated > 0 && + ` ${t("workspaceChangesDiffsTruncated", { count: data.truncation.diffsTruncated })}`} +

+ )} + {data.files.length > 0 ? ( +
+ +
+ {selected ? ( + <> +
+
+

{selected.path}

+

+ {statusLabel(selected.status, t)} + {selected.previousPath + ? ` · ${selected.previousPath}` + : ""} +

+
+
+ {selected.diffStatus === "binary" ? ( +

{t("workspaceChangesBinary")}

+ ) : selected.diffStatus === "unavailable" ? ( +

+ {selected.error ?? t("workspaceChangesDiffUnavailable")} +

+ ) : ( +
{selected.diff || t("workspaceChangesNoDiff")}
+ )} + {selected.truncated && ( +

+ {t("workspaceChangesDiffTruncated")} +

+ )} + + ) : ( +

{t("workspaceChangesSelectFile")}

+ )} +
+
+ ) : ( + data.status === "changed" && ( +

+ {t("workspaceChangesNoFiles")} +

+ ) + )} +

+ {t("workspaceChangesCheckedAt", { + time: new Date(data.checkedAt).toLocaleTimeString(), + })} +

+ + )} +
+ ); +} diff --git a/web/ui/src/i18n.ts b/web/ui/src/i18n.ts index 3b015df4..6151bd0d 100644 --- a/web/ui/src/i18n.ts +++ b/web/ui/src/i18n.ts @@ -39,6 +39,46 @@ const resources = { "Tool returned successfully; background work may still be active.", trajectory_error: "Tool returned an error", trajectory_unknown: "Outcome not established", + workspaceChanges: "Changes", + workspaceChangesHeading: "Workspace changes", + workspaceChangesRefresh: "Refresh workspace changes", + workspaceChangesLoading: "Reading workspace changes…", + workspaceChangesChanged: + "The active workspace changed. Refresh the view.", + workspaceChangesUnavailable: "Workspace changes are unavailable.", + workspaceChangesWorkspace: "Workspace", + workspaceChangesComparison: "Comparison", + workspaceChangesHead: "HEAD {{commit}}", + workspaceChangesEmptyTree: "Empty tree (no HEAD)", + workspaceChangesClean: "Working tree is clean.", + workspaceChangesNotRepository: "This workspace is not a Git repository.", + workspaceChangesStatusTruncated: + "The Git status list exceeded the display limit; the list may be incomplete.", + workspaceChangesTruncated: + "Some workspace change details are truncated to keep this view bounded.", + workspaceChangesFilesOmitted: "{{count}} files omitted.", + workspaceChangesDiffsTruncated: "{{count}} diffs truncated.", + workspaceChangesFiles: "Changed files", + workspaceChangesDiff: "File diff", + workspaceChangesBinaryShort: "binary", + workspaceChangesBinary: "Binary file; no textual diff is available.", + workspaceChangesDiffUnavailable: + "This diff could not be read. Refresh to try again.", + workspaceChangesNoDiff: "No textual diff is available for this file.", + workspaceChangesDiffTruncated: + "This file diff is truncated; refresh cannot expand the bounded view.", + workspaceChangesNoFiles: + "Git reported changes, but no file details are available.", + workspaceChangesSelectFile: "Select a file to inspect its diff.", + workspaceChangesCheckedAt: + "Checked at {{time}} · refresh for the latest state", + workspaceChangesStatus_added: "Added", + workspaceChangesStatus_copied: "Copied", + workspaceChangesStatus_deleted: "Deleted", + workspaceChangesStatus_modified: "Modified", + workspaceChangesStatus_renamed: "Renamed", + workspaceChangesStatus_unmerged: "Unmerged", + workspaceChangesStatus_untracked: "Untracked", runtimeStatus: "Runtime status", refreshStatus: "Refresh status", terminalDetails: "Terminal details", @@ -246,6 +286,41 @@ const resources = { trajectory_returned: "工具已成功返回;其启动的后台任务可能仍在进行。", trajectory_error: "工具返回错误", trajectory_unknown: "尚无法确定结果", + workspaceChanges: "改动", + workspaceChangesHeading: "工作区改动", + workspaceChangesRefresh: "刷新工作区改动", + workspaceChangesLoading: "正在读取工作区改动…", + workspaceChangesChanged: "当前工作区已变化,请刷新此视图。", + workspaceChangesUnavailable: "暂时无法读取工作区改动。", + workspaceChangesWorkspace: "工作区", + workspaceChangesComparison: "比较基准", + workspaceChangesHead: "HEAD {{commit}}", + workspaceChangesEmptyTree: "空树(尚无 HEAD)", + workspaceChangesClean: "工作区没有改动。", + workspaceChangesNotRepository: "当前工作区不是 Git 仓库。", + workspaceChangesStatusTruncated: + "Git 状态列表超过显示上限,当前列表可能不完整。", + workspaceChangesTruncated: "部分工作区改动已截断,以限制视图大小。", + workspaceChangesFilesOmitted: "省略 {{count}} 个文件。", + workspaceChangesDiffsTruncated: "{{count}} 个 Diff 已截断。", + workspaceChangesFiles: "改动文件", + workspaceChangesDiff: "文件 Diff", + workspaceChangesBinaryShort: "二进制", + workspaceChangesBinary: "二进制文件,没有可显示的文本 Diff。", + workspaceChangesDiffUnavailable: "暂时无法读取此 Diff,请刷新重试。", + workspaceChangesNoDiff: "此文件没有可显示的文本 Diff。", + workspaceChangesDiffTruncated: + "此文件 Diff 已截断;刷新也不会突破视图上限。", + workspaceChangesNoFiles: "Git 报告存在改动,但暂时无法提供文件详情。", + workspaceChangesSelectFile: "请选择一个文件查看 Diff。", + workspaceChangesCheckedAt: "采集于 {{time}} · 刷新查看最新状态", + workspaceChangesStatus_added: "新增", + workspaceChangesStatus_copied: "复制", + workspaceChangesStatus_deleted: "删除", + workspaceChangesStatus_modified: "修改", + workspaceChangesStatus_renamed: "重命名", + workspaceChangesStatus_unmerged: "未合并", + workspaceChangesStatus_untracked: "未跟踪", runtimeStatus: "运行状态", refreshStatus: "刷新状态", terminalDetails: "终端详情", diff --git a/web/ui/src/protocol/client.ts b/web/ui/src/protocol/client.ts index bbb77332..a85a0a97 100644 --- a/web/ui/src/protocol/client.ts +++ b/web/ui/src/protocol/client.ts @@ -13,6 +13,7 @@ import { type WebSnapshot, type WebThinkingState, type WebCommandDiscoveryResult, + type WebWorkspaceChanges, } from "../../../protocol/types.ts"; const tokenStorageKey = "openpi.web.token"; @@ -136,6 +137,13 @@ export class WebClient { return this.request(`/api/snapshot${suffix}`); } + workspaceChanges(sessionId: string, signal?: AbortSignal) { + return this.request( + `/api/workspace-changes?sessionId=${encodeURIComponent(sessionId)}`, + { signal }, + ); + } + resolveArtifact( sessionId: string, reference: string, diff --git a/web/ui/src/styles.css b/web/ui/src/styles.css index 1f832318..18e7d85f 100644 --- a/web/ui/src/styles.css +++ b/web/ui/src/styles.css @@ -527,6 +527,28 @@ button.activity-chip:hover { filter: brightness(1.15); } .conversation-view-switch button { border:0; background:transparent; color:var(--muted); padding:7px 14px; border-radius:6px; cursor:pointer; } .conversation-view-switch button[aria-pressed="true"] { color:var(--text); background:var(--page); box-shadow:0 1px 3px #0001; } .trajectory { display:flex; flex-direction:column; padding:66px 28px 22px; overflow:auto; } +.workspace-changes { display:flex; flex-direction:column; min-height:0; overflow:hidden; padding:22px 28px; gap:12px; } +.workspace-changes-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-shrink:0; } +.workspace-changes-heading h2 { margin:0 0 6px; font-size:20px; } +.workspace-changes-subtitle { margin:0; color:var(--muted); font-size:12px; overflow-wrap:anywhere; } +.workspace-changes-meta { display:grid; grid-template-columns:100px minmax(0,1fr); gap:6px 16px; margin:0; color:var(--muted); font-size:12px; flex-shrink:0; } +.workspace-changes-meta dd { margin:0; color:var(--text); overflow-wrap:anywhere; } +.workspace-changes-body { display:grid; grid-template-columns:minmax(220px,34%) minmax(0,1fr); gap:18px; min-height:0; flex:1; } +.workspace-changes-list { min-height:0; overflow:auto; padding-right:2px; } +.workspace-change-file { display:flex; width:100%; min-width:0; align-items:flex-start; justify-content:space-between; gap:10px; padding:9px 10px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--text); text-align:left; cursor:pointer; } +.workspace-change-file:hover { background:var(--sidebar-hover); } +.workspace-change-file[aria-pressed="true"] { border-color:var(--border); background:var(--sidebar-hover); } +.workspace-change-file-main { display:flex; min-width:0; flex:1; flex-direction:column; gap:2px; } +.workspace-change-file-main strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:600; } +.workspace-change-file-main small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:11px; } +.workspace-change-file-meta { display:flex; flex-shrink:0; flex-direction:column; align-items:flex-end; color:var(--muted); font-size:11px; } +.workspace-change-detail { min-width:0; min-height:0; overflow:auto; padding:14px; border:1px solid var(--border); border-radius:10px; background:var(--sidebar-hover); } +.workspace-change-detail header { display:flex; justify-content:space-between; gap:12px; margin-bottom:12px; } +.workspace-change-detail h3 { margin:0; overflow-wrap:anywhere; font-size:14px; } +.workspace-change-detail p { margin:4px 0 0; color:var(--muted); font-size:12px; overflow-wrap:anywhere; } +.workspace-change-detail pre { max-height:100%; margin:0; overflow:auto; white-space:pre; font:12px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; } +.workspace-changes-warning { padding:8px 10px; border-left:2px solid var(--warning); color:var(--text); font-size:12px; overflow-wrap:anywhere; } +.workspace-changes-updated { margin:0; color:var(--muted); font-size:11px; flex-shrink:0; } .trajectory-heading h2 { margin:0 0 8px; font-size:20px; } .trajectory-heading p { color:var(--muted); font-size:12px; margin:6px 0; } .trajectory-overview { display:flex; gap:6px; padding:14px 0; flex-shrink:0; overflow-x:auto; } @@ -571,7 +593,7 @@ button.activity-chip:hover { filter: brightness(1.15); } .artifact-revision { color:var(--muted); } .artifact-link-path { font-size:11px; color:var(--muted); text-decoration:none; } .trajectory-load { padding:10px; color:var(--text); background:transparent; border:1px solid var(--border); border-radius:6px; margin-bottom:12px; cursor:pointer; } -@media(max-width:700px) { .trajectory { padding:66px 16px 16px; } .trajectory-body { grid-template-columns:1fr; gap:16px; } .trajectory-ledger { max-height:200px; overflow:auto; } .trajectory-inspector { position:static; padding:16px; } .conversation-view-switch { margin-left:16px; } } +@media(max-width:700px) { .trajectory { padding:66px 16px 16px; } .trajectory-body { grid-template-columns:1fr; gap:16px; } .trajectory-ledger { max-height:200px; overflow:auto; } .trajectory-inspector { position:static; padding:16px; } .conversation-view-switch { margin-left:16px; } .workspace-changes { padding:16px; } .workspace-changes-body { grid-template-columns:1fr; grid-template-rows:minmax(120px,30%) minmax(0,1fr); gap:12px; } .workspace-change-detail { padding:12px; } } /* Keep navigation and evidence independently reachable while browsing long ledgers. */ .conversation-shell.has-view:not(.landing) { grid-template-rows:auto minmax(0,1fr) auto; }