agent-log-viewer 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.mjs +4 -0
- package/bin/server-runtime.test.ts +63 -12
- package/dist/mcp-server.mjs +31365 -26173
- package/dist/runtime-host.mjs +15618 -7081
- package/dist/standalone/.next/BUILD_ID +1 -1
- package/dist/standalone/.next/app-path-routes-manifest.json +21 -16
- package/dist/standalone/.next/build-manifest.json +3 -3
- package/dist/standalone/.next/prerender-manifest.json +4 -4
- package/dist/standalone/.next/react-loadable-manifest.json +1 -1
- package/dist/standalone/.next/required-server-files.json +1 -1
- package/dist/standalone/.next/routes-manifest.json +30 -0
- package/dist/standalone/.next/server/account-migration-controller-worker.js +1 -1
- package/dist/standalone/.next/server/app/_global-error/page.js +2 -2
- package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app/_global-error.html +1 -1
- package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_not-found/page.js +1 -1
- package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app/_not-found.html +1 -1
- package/dist/standalone/.next/server/app/_not-found.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/api/access/route.js +1 -1
- package/dist/standalone/.next/server/app/api/access/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/account-project-bindings/route.js +1 -1
- package/dist/standalone/.next/server/app/api/account-project-bindings/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/limits/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/limits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/reset-credits/route.js +2 -2
- package/dist/standalone/.next/server/app/api/accounts/codex/reset-credits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/agent/route.js +1 -1
- package/dist/standalone/.next/server/app/api/agent/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/agent/snapshot/route.js +1 -1
- package/dist/standalone/.next/server/app/api/agent/snapshot/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/answer/route.js +1 -2
- package/dist/standalone/.next/server/app/api/answer/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/artifact/route.js +1 -1
- package/dist/standalone/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attach-command/route.js +1 -1
- package/dist/standalone/.next/server/app/api/attach-command/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attention/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/attention/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attention/route.js +1 -1
- package/dist/standalone/.next/server/app/api/attention/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/board/route.js +1 -1
- package/dist/standalone/.next/server/app/api/board/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/bridge/route.js +1 -2
- package/dist/standalone/.next/server/app/api/bridge/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/targets/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/targets/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversations/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversations/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/files/route.js +3 -2
- package/dist/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/flows/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/flows/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/flows/route.js +1 -1
- package/dist/standalone/.next/server/app/api/flows/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/image/route.js +1 -1
- package/dist/standalone/.next/server/app/api/image/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/inbox/route.js +2 -2
- package/dist/standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js +1 -1
- package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/limits/history/route.js +1 -1
- package/dist/standalone/.next/server/app/api/limits/history/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/limits/route.js +1 -1
- package/dist/standalone/.next/server/app/api/limits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/preflight/route.js +1 -1
- package/dist/standalone/.next/server/app/api/log/preflight/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/project-delete/route.js +1 -1
- package/dist/standalone/.next/server/app/api/log/project-delete/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/provenance/route.js +107 -1
- package/dist/standalone/.next/server/app/api/log/provenance/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/route.js +1 -1
- package/dist/standalone/.next/server/app/api/log/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/suggestions/route.js +2 -4
- package/dist/standalone/.next/server/app/api/log/suggestions/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/logs/route.js +1 -1
- package/dist/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/logs/stream/route.js +2 -2
- package/dist/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/monitor/runs/route.js +3 -3
- package/dist/standalone/.next/server/app/api/monitor/runs/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js +25 -0
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js +2 -0
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js +2 -2
- package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/route.js +1 -2
- package/dist/standalone/.next/server/app/api/pipelines/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/tick/route.js +2 -2
- package/dist/standalone/.next/server/app/api/pipelines/tick/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/proc/route.js +1 -1
- package/dist/standalone/.next/server/app/api/proc/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/projects/create/route.js +2 -2
- package/dist/standalone/.next/server/app/api/projects/create/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/projects/crown/route.js +1 -1
- package/dist/standalone/.next/server/app/api/projects/crown/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/projects/directories/route.js +1 -1
- package/dist/standalone/.next/server/app/api/projects/directories/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/push/route.js +2 -2
- package/dist/standalone/.next/server/app/api/push/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/resources/route.js +1 -1
- package/dist/standalone/.next/server/app/api/resources/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/roles/route.js +2 -2
- package/dist/standalone/.next/server/app/api/roles/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/answer/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/answer/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/hosts/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/hosts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/inject/route.js +1 -0
- package/dist/standalone/.next/server/app/api/runtime/inject/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/runtime/inject/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/queue/route.js +1 -0
- package/dist/standalone/.next/server/app/api/runtime/queue/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/runtime/queue/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/runtime/realtime/route.js +1 -2
- package/dist/standalone/.next/server/app/api/runtime/realtime/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/send/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/send/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/spawn/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/steer/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/steer/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/stream/route.js +2 -2
- package/dist/standalone/.next/server/app/api/runtime/stream/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/search/transcripts/route.js +2 -2
- package/dist/standalone/.next/server/app/api/search/transcripts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/session/route.js +1 -1
- package/dist/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/session/supersedence/route.js +1 -1
- package/dist/standalone/.next/server/app/api/session/supersedence/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/session/title/route.js +1 -1
- package/dist/standalone/.next/server/app/api/session/title/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/spawn/policy/route.js +3 -3
- package/dist/standalone/.next/server/app/api/spawn/policy/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/spawn/route.js +1 -2
- package/dist/standalone/.next/server/app/api/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/spawn/validate/route.js +1 -0
- package/dist/standalone/.next/server/app/api/spawn/validate/route.js.nft.json +1 -0
- package/dist/standalone/.next/server/app/api/spawn/validate/route_client-reference-manifest.js +1 -0
- package/dist/standalone/.next/server/app/api/staging/route.js +2 -2
- package/dist/standalone/.next/server/app/api/staging/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/task-attachments/route.js +2 -2
- package/dist/standalone/.next/server/app/api/task-attachments/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js +1 -2
- package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js +1 -2
- package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/curator/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/curator/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/telegram/reports/route.js +1 -1
- package/dist/standalone/.next/server/app/api/telegram/reports/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/telegram/route.js +1 -1
- package/dist/standalone/.next/server/app/api/telegram/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/timeline/route.js +1 -1
- package/dist/standalone/.next/server/app/api/timeline/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tmux/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tmux/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tmux/targets/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tmux/targets/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/transcribe/backend/route.js +2 -2
- package/dist/standalone/.next/server/app/api/transcribe/backend/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/transcribe/route.js +2 -2
- package/dist/standalone/.next/server/app/api/transcribe/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/transcribe/token/route.js +2 -2
- package/dist/standalone/.next/server/app/api/transcribe/token/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tts/backend/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tts/backend/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tts/route.js +3 -3
- package/dist/standalone/.next/server/app/api/tts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/view/presence/route.js +1 -1
- package/dist/standalone/.next/server/app/api/view/presence/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/workflows/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/workflows/route.js +1 -1
- package/dist/standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/favicon.ico/route.js +1 -1
- package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/index.html +1 -1
- package/dist/standalone/.next/server/app/index.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/page.js +59 -30
- package/dist/standalone/.next/server/app/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app-paths-manifest.json +21 -16
- package/dist/standalone/.next/server/chunks/107.js +1 -1
- package/dist/standalone/.next/server/chunks/1100.js +29 -10
- package/dist/standalone/.next/server/chunks/1406.js +399 -0
- package/dist/standalone/.next/server/chunks/1585.js +108 -0
- package/dist/standalone/.next/server/chunks/160.js +4 -4
- package/dist/standalone/.next/server/chunks/1617.js +2 -2
- package/dist/standalone/.next/server/chunks/1849.js +1 -0
- package/dist/standalone/.next/server/chunks/1888.js +1 -1
- package/dist/standalone/.next/server/chunks/193.js +1 -0
- package/dist/standalone/.next/server/chunks/1952.js +1 -0
- package/dist/standalone/.next/server/chunks/2549.js +1 -1
- package/dist/standalone/.next/server/chunks/2555.js +1 -0
- package/dist/standalone/.next/server/chunks/2647.js +1 -1
- package/dist/standalone/.next/server/chunks/2857.js +1 -0
- package/dist/standalone/.next/server/chunks/2914.js +24 -0
- package/dist/standalone/.next/server/chunks/3034.js +1 -0
- package/dist/standalone/.next/server/chunks/3086.js +1 -1
- package/dist/standalone/.next/server/chunks/3131.js +1 -0
- package/dist/standalone/.next/server/chunks/3214.js +1 -1
- package/dist/standalone/.next/server/chunks/3302.js +1 -2
- package/dist/standalone/.next/server/chunks/3407.js +1 -0
- package/dist/standalone/.next/server/chunks/3422.js +1 -0
- package/dist/standalone/.next/server/chunks/3558.js +1 -0
- package/dist/standalone/.next/server/chunks/3570.js +81 -0
- package/dist/standalone/.next/server/chunks/3587.js +1 -1
- package/dist/standalone/.next/server/chunks/3743.js +74 -24
- package/dist/standalone/.next/server/chunks/3830.js +1 -1
- package/dist/standalone/.next/server/chunks/3896.js +1 -0
- package/dist/standalone/.next/server/chunks/4127.js +1 -1
- package/dist/standalone/.next/server/chunks/4509.js +1 -1
- package/dist/standalone/.next/server/chunks/4637.js +62 -0
- package/dist/standalone/.next/server/chunks/4651.js +1 -1
- package/dist/standalone/.next/server/chunks/4783.js +1 -0
- package/dist/standalone/.next/server/chunks/480.js +126 -0
- package/dist/standalone/.next/server/chunks/4972.js +3 -3
- package/dist/standalone/.next/server/chunks/{4756.js → 4995.js} +3 -5
- package/dist/standalone/.next/server/chunks/5480.js +1 -1
- package/dist/standalone/.next/server/chunks/5545.js +1 -1
- package/dist/standalone/.next/server/chunks/568.js +1 -2
- package/dist/standalone/.next/server/chunks/5682.js +1 -0
- package/dist/standalone/.next/server/chunks/5771.js +1 -0
- package/dist/standalone/.next/server/chunks/5847.js +1 -0
- package/dist/standalone/.next/server/chunks/6023.js +1 -0
- package/dist/standalone/.next/server/chunks/6277.js +81 -0
- package/dist/standalone/.next/server/chunks/6289.js +2 -0
- package/dist/standalone/.next/server/chunks/644.js +81 -0
- package/dist/standalone/.next/server/chunks/6453.js +1 -0
- package/dist/standalone/.next/server/chunks/6522.js +1 -0
- package/dist/standalone/.next/server/chunks/6665.js +1 -1
- package/dist/standalone/.next/server/chunks/6809.js +3 -0
- package/dist/standalone/.next/server/chunks/6826.js +1 -1
- package/dist/standalone/.next/server/chunks/6926.js +1 -1
- package/dist/standalone/.next/server/chunks/{1920.js → 6942.js} +1 -1
- package/dist/standalone/.next/server/chunks/6978.js +1 -0
- package/dist/standalone/.next/server/chunks/7008.js +114 -9
- package/dist/standalone/.next/server/chunks/7192.js +1 -0
- package/dist/standalone/.next/server/chunks/7238.js +2 -0
- package/dist/standalone/.next/server/chunks/7361.js +22 -0
- package/dist/standalone/.next/server/chunks/7644.js +3 -3
- package/dist/standalone/.next/server/chunks/7722.js +1 -1
- package/dist/standalone/.next/server/chunks/781.js +55 -0
- package/dist/standalone/.next/server/chunks/7826.js +62 -0
- package/dist/standalone/.next/server/chunks/8027.js +11 -1
- package/dist/standalone/.next/server/chunks/8444.js +1 -1
- package/dist/standalone/.next/server/chunks/8512.js +1 -0
- package/dist/standalone/.next/server/chunks/8513.js +2 -0
- package/dist/standalone/.next/server/chunks/8617.js +1 -1
- package/dist/standalone/.next/server/chunks/8817.js +1 -1
- package/dist/standalone/.next/server/chunks/8991.js +1 -1
- package/dist/standalone/.next/server/chunks/8996.js +1 -1
- package/dist/standalone/.next/server/chunks/9296.js +104 -0
- package/dist/standalone/.next/server/chunks/{7139.js → 9298.js} +2 -2
- package/dist/standalone/.next/server/chunks/9307.js +1 -1
- package/dist/standalone/.next/server/chunks/9360.js +197 -0
- package/dist/standalone/.next/server/chunks/9403.js +1 -1
- package/dist/standalone/.next/server/chunks/9517.js +1 -1
- package/dist/standalone/.next/server/chunks/9554.js +47 -0
- package/dist/standalone/.next/server/chunks/9676.js +1 -62
- package/dist/standalone/.next/server/chunks/9822.js +11 -1
- package/dist/standalone/.next/server/chunks/9901.js +1 -62
- package/dist/standalone/.next/server/chunks/9940.js +3 -3
- package/dist/standalone/.next/server/chunks/9998.js +1 -1
- package/dist/standalone/.next/server/file-scanner-worker.js +3 -3
- package/dist/standalone/.next/server/files-response-worker.js +6 -6
- package/dist/standalone/.next/server/functions-config-manifest.json +5 -0
- package/dist/standalone/.next/server/instrumentation.js +1 -1
- package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/dist/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/dist/standalone/.next/server/middleware.js +4 -4
- package/dist/standalone/.next/server/pages/404.html +1 -1
- package/dist/standalone/.next/server/pages/500.html +1 -1
- package/dist/standalone/.next/server/resource-collector-worker.js +1 -1
- package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
- package/dist/standalone/.next/server/wakatime-sync-worker.js +2 -2
- package/dist/standalone/.next/static/chunks/{3794-d1854fdd0e41dc44.js → 3794-0ef35fddac53cd9a.js} +1 -1
- package/dist/standalone/.next/static/chunks/6976-016b6947195a6ed2.js +1 -0
- package/dist/standalone/.next/static/chunks/app/_global-error/page-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/access/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/accounts/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/agent/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/answer/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/artifact/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attach-command/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/attention/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/board/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/bridge/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/conversations/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/files/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/flows/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/image/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/inbox/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/limits/history/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/limits/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/logs/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/monitor/seat-tick/settings/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/proc/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/create/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/push/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/resources/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/roles/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/inject/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/queue/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/session/title/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/spawn/validate/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/staging/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tasks/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/telegram/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/timeline/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tmux/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/tts/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/view/presence/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/api/workflows/route-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/app/page-16384e540b4c0a90.js +125 -0
- package/dist/standalone/.next/static/chunks/{main-8691b7dc3557ef3f.js → main-7e65147ff5ce0866.js} +1 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-60a25d1c4cbf0128.js +1 -0
- package/dist/standalone/.next/static/css/496211a19557b7ee.css +1 -0
- package/dist/standalone/.next/static/e4qE_aCE0s0KQnnU6IWRw/_buildManifest.js +1 -0
- package/dist/standalone/AGENTS.md +20 -0
- package/dist/standalone/node_modules/@next/env/package.json +1 -1
- package/dist/standalone/node_modules/next/dist/build/swc/index.js +1 -1
- package/dist/standalone/node_modules/next/dist/build/webpack-config.js +3 -3
- package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +1 -1
- package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +1 -1
- package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +1 -1
- package/dist/standalone/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +1 -1
- package/dist/standalone/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +1 -1
- package/dist/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +5 -5
- package/dist/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +5 -5
- package/dist/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
- package/dist/standalone/node_modules/next/dist/server/config.js +1 -1
- package/dist/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
- package/dist/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/standalone/node_modules/next/dist/server/image-optimizer.js +2 -2
- package/dist/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/dist/standalone/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +17 -4
- package/dist/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/dist/standalone/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +1 -1
- package/dist/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/dist/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/dist/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/dist/standalone/node_modules/next/package.json +10 -10
- package/dist/standalone/package.json +5 -5
- package/dist/standalone/server.bun.js +1 -1
- package/dist/standalone/src/lib/viewerInstrumentation.ts +809 -0
- package/package.json +5 -5
- package/dist/standalone/.next/server/chunks/112.js +0 -1
- package/dist/standalone/.next/server/chunks/2190.js +0 -1
- package/dist/standalone/.next/server/chunks/2318.js +0 -2
- package/dist/standalone/.next/server/chunks/2371.js +0 -1
- package/dist/standalone/.next/server/chunks/2500.js +0 -55
- package/dist/standalone/.next/server/chunks/2799.js +0 -1
- package/dist/standalone/.next/server/chunks/2870.js +0 -104
- package/dist/standalone/.next/server/chunks/3598.js +0 -81
- package/dist/standalone/.next/server/chunks/3740.js +0 -126
- package/dist/standalone/.next/server/chunks/3953.js +0 -1
- package/dist/standalone/.next/server/chunks/411.js +0 -1
- package/dist/standalone/.next/server/chunks/4191.js +0 -1
- package/dist/standalone/.next/server/chunks/461.js +0 -1
- package/dist/standalone/.next/server/chunks/4968.js +0 -2
- package/dist/standalone/.next/server/chunks/5408.js +0 -1
- package/dist/standalone/.next/server/chunks/6333.js +0 -47
- package/dist/standalone/.next/server/chunks/6839.js +0 -81
- package/dist/standalone/.next/server/chunks/7045.js +0 -319
- package/dist/standalone/.next/server/chunks/7159.js +0 -1
- package/dist/standalone/.next/server/chunks/8176.js +0 -1
- package/dist/standalone/.next/server/chunks/8263.js +0 -81
- package/dist/standalone/.next/server/chunks/8392.js +0 -126
- package/dist/standalone/.next/server/chunks/9120.js +0 -78
- package/dist/standalone/.next/server/chunks/9507.js +0 -1
- package/dist/standalone/.next/static/6jhPk8sOUI3wRf_j1l5vY/_buildManifest.js +0 -1
- package/dist/standalone/.next/static/chunks/3021-9ced2d55bf2cbf77.js +0 -1
- package/dist/standalone/.next/static/chunks/app/_global-error/page-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/access/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/account-project-bindings/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/limits/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/limits/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/reset-credits/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/accounts/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/agent/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/answer/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/artifact/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attach-command/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/attention/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/board/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/bridge/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversation-host/targets/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/conversations/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/files/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/flows/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/image/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/inbox/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/limits/history/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/limits/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/log/suggestions/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/logs/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/proc/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/create/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/projects/directories/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/push/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/resources/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/roles/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/hosts/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/session/title/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/spawn/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/staging/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tasks/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/telegram/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/timeline/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tmux/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/tts/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/view/presence/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/api/workflows/route-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/app/page-dbe7cb010b4941d6.js +0 -96
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-3e358516d279299e.js +0 -1
- package/dist/standalone/.next/static/css/282596e2aaee1aa4.css +0 -1
- package/dist/standalone/src/lib/inboxFiles.ts +0 -203
- /package/dist/standalone/.next/static/{6jhPk8sOUI3wRf_j1l5vY → e4qE_aCE0s0KQnnU6IWRw}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[166,179,403,418,500,536,635,658,754,767,775,828,831,834,910,944,1083,1125,1286,1431,1528,1638,1680,1758,1777,1791,1810,1873,1908,1951,2031,2298,2389,2429,2794,2963,2994,3090,3222,3242,3247,3395,3415,3529,3560,3642,3854,3868,4077,4082,4136,4572,4696,4734,4779,4781,4870,4896,5137,5390,5458,5525,5569,5590,5623,5677,5705,5877,5895,6001,6396,6456,6504,6627,6715,6736,6763,6819,6988,7196,7299,7307,7445,7484,7725,7775,7778,7794,7851,7899,8080,8167,8262,8282,8428,8437,8505,8616,8691,8728,8861,8952,9108,9391,9602,9662,9754],{4441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[166,179,403,418,500,536,635,658,754,767,775,828,831,834,910,944,1083,1125,1286,1431,1528,1638,1680,1758,1777,1791,1810,1873,1908,1951,2031,2298,2389,2429,2794,2963,2994,3090,3222,3242,3247,3395,3415,3529,3560,3642,3854,3868,4077,4082,4136,4572,4696,4734,4779,4781,4870,4896,5137,5390,5458,5525,5569,5590,5623,5677,5705,5877,5895,6001,6396,6456,6504,6627,6715,6736,6763,6819,6988,7196,7299,7307,7445,7484,7725,7775,7778,7794,7851,7899,8080,8167,8262,8282,8428,8437,8505,8616,8691,8728,8861,8952,9108,9391,9602,9662,9754],{4441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[166,179,403,418,500,536,635,658,754,767,775,828,831,834,910,944,1083,1125,1286,1431,1528,1638,1680,1758,1777,1791,1810,1873,1908,1951,2031,2298,2389,2429,2794,2963,2994,3090,3222,3242,3247,3395,3415,3529,3560,3642,3854,3868,4077,4082,4136,4572,4696,4734,4779,4781,4870,4896,5137,5390,5458,5525,5569,5590,5623,5677,5705,5877,5895,6001,6396,6456,6504,6627,6715,6736,6763,6819,6988,7196,7299,7307,7445,7484,7725,7775,7778,7794,7851,7899,8080,8167,8262,8282,8428,8437,8505,8616,8691,8728,8861,8952,9108,9391,9602,9662,9754],{4441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[166,179,403,418,500,536,635,658,754,767,775,828,831,834,910,944,1083,1125,1286,1431,1528,1638,1680,1758,1777,1791,1810,1873,1908,1951,2031,2298,2389,2429,2794,2963,2994,3090,3222,3242,3247,3395,3415,3529,3560,3642,3854,3868,4077,4082,4136,4572,4696,4734,4779,4781,4870,4896,5137,5390,5458,5525,5569,5590,5623,5677,5705,5877,5895,6001,6396,6456,6504,6627,6715,6736,6763,6819,6988,7196,7299,7307,7445,7484,7725,7775,7778,7794,7851,7899,8080,8167,8262,8282,8428,8437,8505,8616,8691,8728,8861,8952,9108,9391,9602,9662,9754],{4441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=4441)),_N_E=_.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--pane-angle:0deg}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;--font-mono:ui-monospace,"JetBrains Mono",Menlo,monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--animate-bounce:bounce 1s infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--text-caption:10px;--text-label:11px;--text-ui:12px;--text-body:13px;--text-title:15px;--pad-card:10px 12px;--pad-row:6px 12px;--gutter-feed:12px;--radius-control:8px;--radius-surface:12px;--surface-canvas:#f3f3f6;--surface-card:#fff;--surface-sunken:#f7f7fa;--surface-raised:#fff;--surface-board:#f3f3f6;--surface-well:#f0f0f4;--surface-quiet:#fafafb;--color-canvas:var(--surface-canvas);--color-card:var(--surface-card);--color-sunken:var(--surface-sunken);--color-raised:var(--surface-raised);--color-board:var(--surface-board);--color-well:var(--surface-well);--color-quiet:var(--surface-quiet);--shadow-1:0 1px 2px #14141e0d;--shadow-2:0 8px 32px #14141e29,0 1px 2px #14141e0f;--color-primary:#1c1c22;--color-secondary:#55555f;--color-muted:#6c6c79;--border-default:#e6e6ea;--border-strong:#c9c9d1;--color-border:var(--border-default);--color-strong:var(--border-strong);--color-accent:#5a51e0;--color-accent-soft:#ecebfb;--color-success:#177a37;--color-success-soft:#e5f6ea;--color-warning:#8a5f00;--color-warning-soft:#fff4dd;--color-crown:#e0a400;--color-crown-soft:#fdf1cf;--color-danger:#c62828;--color-danger-soft:#fdeeee;--color-info:#0d9488;--color-info-soft:#e5f5f3;--color-codex:#2f6fd0;--color-codex-soft:#e8f0fb;--color-claude:#d97757;--color-claude-soft:#faeee9;--color-openclaw:#b3407a;--color-openclaw-soft:#fbeaf3;--motion-fast:.12s;--motion-base:.2s;--motion-slow:.32s;--ease-standard:cubic-bezier(.2,0,0,1);--color-user:#e9e9ef;--color-diff-add:#1a7f37;--color-diff-add-soft:#e6ffec;--color-diff-add-strong:#b7ebc6;--color-diff-del:#cf222e;--color-diff-del-soft:#ffebe9;--color-diff-del-strong:#ffd1cf}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}[role=button]:not([aria-disabled=true]),[role=link],[role=tab],button:not(:disabled),label:has(>input[type=checkbox],>input[type=radio]),select:not(:disabled),summary{cursor:pointer}[role=button][aria-disabled=true],button:disabled,select:disabled{cursor:not-allowed}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-\[-2px\]{inset:-2px}.inset-x-0{inset-inline:0}.inset-x-2{inset-inline:calc(var(--spacing) * 2)}.inset-x-3{inset-inline:calc(var(--spacing) * 3)}.inset-x-4{inset-inline:calc(var(--spacing) * 4)}.inset-x-6{inset-inline:calc(var(--spacing) * 6)}.inset-y-0{inset-block:0}.inset-y-3{inset-block:calc(var(--spacing) * 3)}.start-0{inset-inline-start:calc(var(--spacing) * 0)}.start-1{inset-inline-start:calc(var(--spacing) * 1)}.start-4312{inset-inline-start:calc(var(--spacing) * 4312)}.-top-1{top:calc(var(--spacing) * -1)}.-top-2\.5{top:calc(var(--spacing) * -2.5)}.-top-3{top:calc(var(--spacing) * -3)}.-top-5{top:calc(var(--spacing) * -5)}.-top-11{top:calc(var(--spacing) * -11)}.-top-\[60px\]{top:-60px}.-top-\[92px\]{top:-92px}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-5{top:calc(var(--spacing) * 5)}.top-10{top:calc(var(--spacing) * 10)}.top-12{top:calc(var(--spacing) * 12)}.top-14{top:calc(var(--spacing) * 14)}.top-\[-8px\]{top:-8px}.top-\[6px\]{top:6px}.top-\[100px\]{top:100px}.top-\[110px\]{top:110px}.top-\[calc\(100\%\+6px\)\]{top:calc(100% + 6px)}.top-\[calc\(100\%\+8px\)\]{top:calc(100% + 8px)}.top-\[calc\(100\%\+52px\)\]{top:calc(100% + 52px)}.top-full{top:100%}.-right-1{right:calc(var(--spacing) * -1)}.-right-5{right:calc(var(--spacing) * -5)}.right-0{right:0}.right-0\.5{right:calc(var(--spacing) * .5)}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-\[6px\]{right:6px}.-bottom-1{bottom:calc(var(--spacing) * -1)}.-bottom-2{bottom:calc(var(--spacing) * -2)}.-bottom-3{bottom:calc(var(--spacing) * -3)}.-bottom-4{bottom:calc(var(--spacing) * -4)}.-bottom-10{bottom:calc(var(--spacing) * -10)}.-bottom-11{bottom:calc(var(--spacing) * -11)}.bottom-0{bottom:0}.bottom-0\.5{bottom:calc(var(--spacing) * .5)}.bottom-1{bottom:var(--spacing)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-11{bottom:calc(var(--spacing) * 11)}.bottom-14{bottom:calc(var(--spacing) * 14)}.bottom-20{bottom:calc(var(--spacing) * 20)}.bottom-\[24px\]{bottom:24px}.bottom-\[27px\]{bottom:27px}.bottom-\[calc\(100\%\+6px\)\]{bottom:calc(100% + 6px)}.bottom-\[calc\(100\%\+8px\)\]{bottom:calc(100% + 8px)}.bottom-\[max\(0\.75rem\,env\(safe-area-inset-bottom\)\)\]{bottom:max(.75rem,env(safe-area-inset-bottom))}.bottom-full{bottom:100%}.left-0{left:0}.left-0\.5{left:calc(var(--spacing) * .5)}.left-1{left:var(--spacing)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-5{left:calc(var(--spacing) * 5)}.left-full{left:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.z-\[3\]{z-index:3}.z-\[4\]{z-index:4}.z-\[5\]{z-index:5}.z-\[6\]{z-index:6}.z-\[7\]{z-index:7}.z-\[8\]{z-index:8}.z-\[11\]{z-index:11}.z-\[12\]{z-index:12}.z-\[39\]{z-index:39}.z-\[45\]{z-index:45}.z-\[55\]{z-index:55}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.z-\[71\]{z-index:71}.z-\[80\]{z-index:80}.z-\[95\]{z-index:95}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.col-span-3{grid-column:span 3/span 3}.col-span-full{grid-column:1/-1}.col-start-2{grid-column-start:2}.col-end-4{grid-column-end:4}.row-1{grid-row:1}.row-2{grid-row:2}.row-3{grid-row:3}.\!container{width:100%!important}@media (min-width:40rem){.\!container{max-width:40rem!important}}@media (min-width:48rem){.\!container{max-width:48rem!important}}@media (min-width:64rem){.\!container{max-width:64rem!important}}@media (min-width:80rem){.\!container{max-width:80rem!important}}@media (min-width:96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:var(--spacing)}.m-auto{margin:auto}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-2\.5{margin-inline:calc(var(--spacing) * 2.5)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.-my-1{margin-block:calc(var(--spacing) * -1)}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:var(--spacing)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-3\.5{margin-block:calc(var(--spacing) * 3.5)}.my-4{margin-block:calc(var(--spacing) * 4)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-\[1px\]{margin-top:1px}.mt-\[2px\]{margin-top:2px}.mt-\[3px\]{margin-top:3px}.mt-\[10vh\]{margin-top:10vh}.mt-\[12vh\]{margin-top:12vh}.mt-\[14vh\]{margin-top:14vh}.mt-\[20vh\]{margin-top:20vh}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.-mr-1{margin-right:calc(var(--spacing) * -1)}.-mr-2\.5{margin-right:calc(var(--spacing) * -2.5)}.mr-1{margin-right:var(--spacing)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-\[5px\]{margin-right:5px}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-9{margin-left:calc(var(--spacing) * 9)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.line-clamp-4{-webkit-line-clamp:4}.line-clamp-4,.line-clamp-\[12\]{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-\[12\]{-webkit-line-clamp:12}.\[display\:-webkit-box\]{display:-webkit-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.list-item{display:list-item}.table{display:table}.h-0{height:0}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-6\.5{height:calc(var(--spacing) * 6.5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-\[0\.6em\]{height:.6em}.h-\[4px\]{height:4px}.h-\[5px\]{height:5px}.h-\[11px\]{height:11px}.h-\[12px\]{height:12px}.h-\[13px\]{height:13px}.h-\[15px\]{height:15px}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.h-\[26px\]{height:26px}.h-\[30px\]{height:30px}.h-\[34px\]{height:34px}.h-\[52px\]{height:52px}.h-\[95vh\]{height:95vh}.h-\[128px\]{height:128px}.h-\[150px\]{height:150px}.h-\[200px\]{height:200px}.h-\[220px\]{height:220px}.h-\[min\(620px\,72dvh\)\]{height:min(620px,72dvh)}.h-\[min\(620px\,calc\(100vh-24px\)\)\]{height:min(620px,100vh - 24px)}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-11{max-height:calc(var(--spacing) * 11)}.max-h-16{max-height:calc(var(--spacing) * 16)}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-36{max-height:calc(var(--spacing) * 36)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-52{max-height:calc(var(--spacing) * 52)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[46vh\]{max-height:46vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70\%\]{max-height:70%}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[88\%\]{max-height:88%}.max-h-\[100dvh\]{max-height:100dvh}.max-h-\[140px\]{max-height:140px}.max-h-\[180px\]{max-height:180px}.max-h-\[220px\]{max-height:220px}.max-h-\[240px\]{max-height:240px}.max-h-\[260px\]{max-height:260px}.max-h-\[280px\]{max-height:280px}.max-h-\[320px\]{max-height:320px}.max-h-\[340px\]{max-height:340px}.max-h-\[420px\]{max-height:420px}.max-h-\[calc\(100vh-16px\)\]{max-height:calc(100vh - 16px)}.max-h-\[calc\(100vh-24px\)\]{max-height:calc(100vh - 24px)}.max-h-\[min\(38dvh\,20rem\)\]{max-height:min(38dvh,20rem)}.max-h-\[min\(60vh\,320px\)\]{max-height:min(60vh,320px)}.max-h-\[min\(72vh\,720px\)\]{max-height:min(72vh,720px)}.max-h-\[min\(420px\,60vh\)\]{max-height:min(420px,60vh)}.max-h-\[min\(560px\,calc\(100vh-24px\)\)\]{max-height:min(560px,100vh - 24px)}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-5{min-height:calc(var(--spacing) * 5)}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-32{min-height:calc(var(--spacing) * 32)}.min-h-\[28px\]{min-height:28px}.min-h-\[34px\]{min-height:34px}.min-h-\[44px\]{min-height:44px}.min-h-\[52px\]{min-height:52px}.min-h-\[160px\]{min-height:160px}.min-h-\[180px\]{min-height:180px}.min-h-\[220px\]{min-height:220px}.w-0{width:0}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2\/3{width:66.6667%}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-5\/6{width:83.3333%}.w-6{width:calc(var(--spacing) * 6)}.w-6\.5{width:calc(var(--spacing) * 6.5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-40{width:calc(var(--spacing) * 40)}.w-56{width:calc(var(--spacing) * 56)}.w-\[0\.6em\]{width:.6em}.w-\[2px\]{width:2px}.w-\[11px\]{width:11px}.w-\[13px\]{width:13px}.w-\[15px\]{width:15px}.w-\[17px\]{width:17px}.w-\[18px\]{width:18px}.w-\[26px\]{width:26px}.w-\[30px\]{width:30px}.w-\[72px\]{width:72px}.w-\[86px\]{width:86px}.w-\[92px\]{width:92px}.w-\[95vw\]{width:95vw}.w-\[116px\]{width:116px}.w-\[200px\]{width:200px}.w-\[220px\]{width:220px}.w-\[224px\]{width:224px}.w-\[230px\]{width:230px}.w-\[240px\]{width:240px}.w-\[248px\]{width:248px}.w-\[260px\]{width:260px}.w-\[268px\]{width:268px}.w-\[280px\]{width:280px}.w-\[300px\]{width:300px}.w-\[340px\]{width:340px}.w-\[420px\]{width:420px}.w-\[640px\]{width:640px}.w-\[min\(320px\,calc\(100vw-16px\)\)\]{width:min(320px,100vw - 16px)}.w-\[min\(320px\,calc\(100vw-24px\)\)\]{width:min(320px,100vw - 24px)}.w-\[min\(320px\,…\)\]{width:min(320px,…)}.w-\[min\(400px\,calc\(100vw-16px\)\)\]{width:min(400px,100vw - 16px)}.w-\[min\(430px\,calc\(100vw-16px\)\)\]{width:min(430px,100vw - 16px)}.w-\[min\(600px\,calc\(100vw-24px\)\)\]{width:min(600px,100vw - 24px)}.w-auto{width:auto}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-24{max-width:calc(var(--spacing) * 24)}.max-w-28{max-width:calc(var(--spacing) * 28)}.max-w-32{max-width:calc(var(--spacing) * 32)}.max-w-52{max-width:calc(var(--spacing) * 52)}.max-w-\[0px\]{max-width:0}.max-w-\[10rem\]{max-width:10rem}.max-w-\[12rem\]{max-width:12rem}.max-w-\[26em\]{max-width:26em}.max-w-\[28vw\]{max-width:28vw}.max-w-\[34\%\]{max-width:34%}.max-w-\[38\%\]{max-width:38%}.max-w-\[38vw\]{max-width:38vw}.max-w-\[40\%\]{max-width:40%}.max-w-\[45vw\]{max-width:45vw}.max-w-\[46\%\]{max-width:46%}.max-w-\[52\%\]{max-width:52%}.max-w-\[52vw\]{max-width:52vw}.max-w-\[62\%\]{max-width:62%}.max-w-\[70vw\]{max-width:70vw}.max-w-\[75\%\]{max-width:75%}.max-w-\[78\%\]{max-width:78%}.max-w-\[85\%\]{max-width:85%}.max-w-\[86\%\]{max-width:86%}.max-w-\[88\%\]{max-width:88%}.max-w-\[90px\]{max-width:90px}.max-w-\[92px\]{max-width:92px}.max-w-\[94\%\]{max-width:94%}.max-w-\[100dvw\]{max-width:100dvw}.max-w-\[100px\]{max-width:100px}.max-w-\[110px\]{max-width:110px}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[150px\]{max-width:150px}.max-w-\[160px\]{max-width:160px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[340px\]{max-width:340px}.max-w-\[360px\]{max-width:360px}.max-w-\[380px\]{max-width:380px}.max-w-\[420px\]{max-width:420px}.max-w-\[440px\]{max-width:440px}.max-w-\[460px\]{max-width:460px}.max-w-\[560px\]{max-width:560px}.max-w-\[720px\]{max-width:720px}.max-w-\[760px\]{max-width:760px}.max-w-\[900px\]{max-width:900px}.max-w-\[1060px\]{max-width:1060px}.max-w-\[calc\(100\%-24px\)\]{max-width:calc(100% - 24px)}.max-w-\[calc\(100vw-1\.5rem\)\]{max-width:calc(100vw - 1.5rem)}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-\[calc\(100vw-16px\)\]{max-width:calc(100vw - 16px)}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-7{min-width:calc(var(--spacing) * 7)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-11{min-width:calc(var(--spacing) * 11)}.min-w-28{min-width:calc(var(--spacing) * 28)}.min-w-52{min-width:calc(var(--spacing) * 52)}.min-w-\[3rem\]{min-width:3rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[44px\]{min-width:44px}.min-w-\[46px\]{min-width:46px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-40{flex-basis:calc(var(--spacing) * 40)}.basis-full{flex-basis:100%}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1)}.-translate-x-1\/2,.-translate-x-3{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-3{--tw-translate-x:calc(var(--spacing) * -3)}.translate-x-3{--tw-translate-x:calc(var(--spacing) * 3)}.-translate-y-1\/2,.translate-x-3{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1)}.-translate-y-8{--tw-translate-y:calc(var(--spacing) * -8)}.-translate-y-8,.-translate-y-full{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-full{--tw-translate-y:-100%}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%}.scale-100,.scale-110{scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%}.scale-1000,.scale-125{scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-1000{--tw-scale-x:1000%;--tw-scale-y:1000%;--tw-scale-z:1000%}.rotate-1{rotate:1deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-copy{cursor:copy}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-wait{cursor:wait}.cursor-zoom-in{cursor:zoom-in}.touch-pan-x{--tw-pan-x:pan-x;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.touch-manipulation{touch-action:manipulation}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.\[scrollbar-width\:none\]{scrollbar-width:none}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[80px_1fr_auto\]{grid-template-columns:80px 1fr auto}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-end{align-content:flex-end}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\[0\.4em\]{gap:.4em}.gap-\[0\.5em\]{gap:.5em}.gap-\[0\.35em\]{gap:.35em}.gap-\[2px\]{gap:2px}.gap-\[3px\]{gap:3px}.gap-\[5px\]{gap:5px}.gap-px{gap:1px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-1\.5{column-gap:calc(var(--spacing) * 1.5)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--color-border)}:where(.divide-border\/40>:not(:last-child)){border-color:#e6e6ea66}@supports (color:color-mix(in lab,red,red)){:where(.divide-border\/40>:not(:last-child)){border-color:color-mix(in oklab,var(--color-border) 40%,transparent)}}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-clip{overflow-x:clip}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.overscroll-x-contain{overscroll-behavior-x:contain}.overscroll-y-contain{overscroll-behavior-y:contain}.overscroll-y-none{overscroll-behavior-y:none}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[0\.55em\]{border-radius:.55em}.rounded-\[2px\]{border-radius:2px}.rounded-\[3px\]{border-radius:3px}.rounded-\[3\|4\|6\|7\|9\|10\|14\|16\|20px\]{border-radius:3|4|6|7|9|10|14|16|20px}.rounded-\[4px\]{border-radius:4px}.rounded-\[5px\]{border-radius:5px}.rounded-\[6px\]{border-radius:6px}.rounded-\[7px\]{border-radius:7px}.rounded-\[8px\]{border-radius:8px}.rounded-\[9px\]{border-radius:9px}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-\[20px\]{border-radius:20px}.rounded-control{border-radius:var(--radius-control)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-surface{border-radius:var(--radius-surface)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-\[16px\]{border-top-left-radius:16px;border-top-right-radius:16px}.rounded-t-surface{border-top-left-radius:var(--radius-surface);border-top-right-radius:var(--radius-surface)}.rounded-l-control{border-top-left-radius:var(--radius-control);border-bottom-left-radius:var(--radius-control)}.rounded-r-control{border-top-right-radius:var(--radius-control);border-bottom-right-radius:var(--radius-control)}.rounded-r-full{border-top-right-radius:3.40282e+38px;border-bottom-right-radius:3.40282e+38px}.rounded-br-\[3px\]{border-bottom-right-radius:3px}.rounded-br-\[4px\]{border-bottom-right-radius:4px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-accent{border-color:var(--color-accent)}.border-accent\/25{border-color:#5a51e040}@supports (color:color-mix(in lab,red,red)){.border-accent\/25{border-color:color-mix(in oklab,var(--color-accent) 25%,transparent)}}.border-accent\/35{border-color:#5a51e059}@supports (color:color-mix(in lab,red,red)){.border-accent\/35{border-color:color-mix(in oklab,var(--color-accent) 35%,transparent)}}.border-accent\/40{border-color:#5a51e066}@supports (color:color-mix(in lab,red,red)){.border-accent\/40{border-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}.border-accent\/45{border-color:#5a51e073}@supports (color:color-mix(in lab,red,red)){.border-accent\/45{border-color:color-mix(in oklab,var(--color-accent) 45%,transparent)}}.border-accent\/50{border-color:#5a51e080}@supports (color:color-mix(in lab,red,red)){.border-accent\/50{border-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.border-accent\/60{border-color:#5a51e099}@supports (color:color-mix(in lab,red,red)){.border-accent\/60{border-color:color-mix(in oklab,var(--color-accent) 60%,transparent)}}.border-accent\/70{border-color:#5a51e0b3}@supports (color:color-mix(in lab,red,red)){.border-accent\/70{border-color:color-mix(in oklab,var(--color-accent) 70%,transparent)}}.border-border{border-color:var(--color-border)}.border-border\/60{border-color:#e6e6ea99}@supports (color:color-mix(in lab,red,red)){.border-border\/60{border-color:color-mix(in oklab,var(--color-border) 60%,transparent)}}.border-border\/70{border-color:#e6e6eab3}@supports (color:color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,var(--color-border) 70%,transparent)}}.border-border\/80{border-color:#e6e6eacc}@supports (color:color-mix(in lab,red,red)){.border-border\/80{border-color:color-mix(in oklab,var(--color-border) 80%,transparent)}}.border-canvas{border-color:var(--color-canvas)}.border-card{border-color:var(--color-card)}.border-card\/60{border-color:#fff9}@supports (color:color-mix(in lab,red,red)){.border-card\/60{border-color:color-mix(in oklab,var(--color-card) 60%,transparent)}}.border-codex\/20{border-color:#2f6fd033}@supports (color:color-mix(in lab,red,red)){.border-codex\/20{border-color:color-mix(in oklab,var(--color-codex) 20%,transparent)}}.border-danger{border-color:var(--color-danger)}.border-danger\/25{border-color:#c6282840}@supports (color:color-mix(in lab,red,red)){.border-danger\/25{border-color:color-mix(in oklab,var(--color-danger) 25%,transparent)}}.border-danger\/30{border-color:#c628284d}@supports (color:color-mix(in lab,red,red)){.border-danger\/30{border-color:color-mix(in oklab,var(--color-danger) 30%,transparent)}}.border-danger\/35{border-color:#c6282859}@supports (color:color-mix(in lab,red,red)){.border-danger\/35{border-color:color-mix(in oklab,var(--color-danger) 35%,transparent)}}.border-danger\/40{border-color:#c6282866}@supports (color:color-mix(in lab,red,red)){.border-danger\/40{border-color:color-mix(in oklab,var(--color-danger) 40%,transparent)}}.border-danger\/45{border-color:#c6282873}@supports (color:color-mix(in lab,red,red)){.border-danger\/45{border-color:color-mix(in oklab,var(--color-danger) 45%,transparent)}}.border-danger\/50{border-color:#c6282880}@supports (color:color-mix(in lab,red,red)){.border-danger\/50{border-color:color-mix(in oklab,var(--color-danger) 50%,transparent)}}.border-danger\/60{border-color:#c6282899}@supports (color:color-mix(in lab,red,red)){.border-danger\/60{border-color:color-mix(in oklab,var(--color-danger) 60%,transparent)}}.border-info\/20{border-color:#0d948833}@supports (color:color-mix(in lab,red,red)){.border-info\/20{border-color:color-mix(in oklab,var(--color-info) 20%,transparent)}}.border-info\/30{border-color:#0d94884d}@supports (color:color-mix(in lab,red,red)){.border-info\/30{border-color:color-mix(in oklab,var(--color-info) 30%,transparent)}}.border-info\/45{border-color:#0d948873}@supports (color:color-mix(in lab,red,red)){.border-info\/45{border-color:color-mix(in oklab,var(--color-info) 45%,transparent)}}.border-muted{border-color:var(--color-muted)}.border-primary{border-color:var(--color-primary)}.border-strong{border-color:var(--color-strong)}.border-success\/25{border-color:#177a3740}@supports (color:color-mix(in lab,red,red)){.border-success\/25{border-color:color-mix(in oklab,var(--color-success) 25%,transparent)}}.border-success\/40{border-color:#177a3766}@supports (color:color-mix(in lab,red,red)){.border-success\/40{border-color:color-mix(in oklab,var(--color-success) 40%,transparent)}}.border-success\/45{border-color:#177a3773}@supports (color:color-mix(in lab,red,red)){.border-success\/45{border-color:color-mix(in oklab,var(--color-success) 45%,transparent)}}.border-success\/50{border-color:#177a3780}@supports (color:color-mix(in lab,red,red)){.border-success\/50{border-color:color-mix(in oklab,var(--color-success) 50%,transparent)}}.border-success\/60{border-color:#177a3799}@supports (color:color-mix(in lab,red,red)){.border-success\/60{border-color:color-mix(in oklab,var(--color-success) 60%,transparent)}}.border-transparent{border-color:#0000}.border-warning{border-color:var(--color-warning)}.border-warning\/30{border-color:#8a5f004d}@supports (color:color-mix(in lab,red,red)){.border-warning\/30{border-color:color-mix(in oklab,var(--color-warning) 30%,transparent)}}.border-warning\/35{border-color:#8a5f0059}@supports (color:color-mix(in lab,red,red)){.border-warning\/35{border-color:color-mix(in oklab,var(--color-warning) 35%,transparent)}}.border-warning\/45{border-color:#8a5f0073}@supports (color:color-mix(in lab,red,red)){.border-warning\/45{border-color:color-mix(in oklab,var(--color-warning) 45%,transparent)}}.border-warning\/50{border-color:#8a5f0080}@supports (color:color-mix(in lab,red,red)){.border-warning\/50{border-color:color-mix(in oklab,var(--color-warning) 50%,transparent)}}.border-warning\/55{border-color:#8a5f008c}@supports (color:color-mix(in lab,red,red)){.border-warning\/55{border-color:color-mix(in oklab,var(--color-warning) 55%,transparent)}}.border-warning\/60{border-color:#8a5f0099}@supports (color:color-mix(in lab,red,red)){.border-warning\/60{border-color:color-mix(in oklab,var(--color-warning) 60%,transparent)}}.border-warning\/70{border-color:#8a5f00b3}@supports (color:color-mix(in lab,red,red)){.border-warning\/70{border-color:color-mix(in oklab,var(--color-warning) 70%,transparent)}}.border-white\/25{border-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.border-white\/25{border-color:color-mix(in oklab,var(--color-white) 25%,transparent)}}.border-r-transparent{border-right-color:#0000}.border-l-danger{border-left-color:var(--color-danger)}.border-l-muted{border-left-color:var(--color-muted)}.border-l-success{border-left-color:var(--color-success)}.bg-\[\#eef8f0\]{background-color:#eef8f0}.bg-\[\#fbfbfd\]{background-color:#fbfbfd}.bg-\[\#fff7e6\]{background-color:#fff7e6}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-accent\/5{background-color:#5a51e00d}@supports (color:color-mix(in lab,red,red)){.bg-accent\/5{background-color:color-mix(in oklab,var(--color-accent) 5%,transparent)}}.bg-accent\/10{background-color:#5a51e01a}@supports (color:color-mix(in lab,red,red)){.bg-accent\/10{background-color:color-mix(in oklab,var(--color-accent) 10%,transparent)}}.bg-accent\/15{background-color:#5a51e026}@supports (color:color-mix(in lab,red,red)){.bg-accent\/15{background-color:color-mix(in oklab,var(--color-accent) 15%,transparent)}}.bg-accent\/20{background-color:#5a51e033}@supports (color:color-mix(in lab,red,red)){.bg-accent\/20{background-color:color-mix(in oklab,var(--color-accent) 20%,transparent)}}.bg-accent\/35{background-color:#5a51e059}@supports (color:color-mix(in lab,red,red)){.bg-accent\/35{background-color:color-mix(in oklab,var(--color-accent) 35%,transparent)}}.bg-accent\/60{background-color:#5a51e099}@supports (color:color-mix(in lab,red,red)){.bg-accent\/60{background-color:color-mix(in oklab,var(--color-accent) 60%,transparent)}}.bg-accent\/\[0\.06\]{background-color:#5a51e00f}@supports (color:color-mix(in lab,red,red)){.bg-accent\/\[0\.06\]{background-color:color-mix(in oklab,var(--color-accent) 6%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/85{background-color:#000000d9}@supports (color:color-mix(in lab,red,red)){.bg-black\/85{background-color:color-mix(in oklab,var(--color-black) 85%,transparent)}}.bg-board{background-color:var(--color-board)}.bg-border{background-color:var(--color-border)}.bg-canvas{background-color:var(--color-canvas)}.bg-canvas\/50{background-color:#f3f3f680}@supports (color:color-mix(in lab,red,red)){.bg-canvas\/50{background-color:color-mix(in oklab,var(--color-canvas) 50%,transparent)}}.bg-canvas\/55{background-color:#f3f3f68c}@supports (color:color-mix(in lab,red,red)){.bg-canvas\/55{background-color:color-mix(in oklab,var(--color-canvas) 55%,transparent)}}.bg-canvas\/60{background-color:#f3f3f699}@supports (color:color-mix(in lab,red,red)){.bg-canvas\/60{background-color:color-mix(in oklab,var(--color-canvas) 60%,transparent)}}.bg-canvas\/70{background-color:#f3f3f6b3}@supports (color:color-mix(in lab,red,red)){.bg-canvas\/70{background-color:color-mix(in oklab,var(--color-canvas) 70%,transparent)}}.bg-card{background-color:var(--color-card)}.bg-card\/60{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.bg-card\/60{background-color:color-mix(in oklab,var(--color-card) 60%,transparent)}}.bg-card\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-card\/70{background-color:color-mix(in oklab,var(--color-card) 70%,transparent)}}.bg-card\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-card\/80{background-color:color-mix(in oklab,var(--color-card) 80%,transparent)}}.bg-card\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-card\/90{background-color:color-mix(in oklab,var(--color-card) 90%,transparent)}}.bg-card\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-card\/95{background-color:color-mix(in oklab,var(--color-card) 95%,transparent)}}.bg-claude{background-color:var(--color-claude)}.bg-codex{background-color:var(--color-codex)}.bg-codex-soft{background-color:var(--color-codex-soft)}.bg-current{background-color:currentColor}.bg-danger{background-color:var(--color-danger)}.bg-danger-soft{background-color:var(--color-danger-soft)}.bg-danger\/5{background-color:#c628280d}@supports (color:color-mix(in lab,red,red)){.bg-danger\/5{background-color:color-mix(in oklab,var(--color-danger) 5%,transparent)}}.bg-danger\/10{background-color:#c628281a}@supports (color:color-mix(in lab,red,red)){.bg-danger\/10{background-color:color-mix(in oklab,var(--color-danger) 10%,transparent)}}.bg-danger\/15{background-color:#c6282826}@supports (color:color-mix(in lab,red,red)){.bg-danger\/15{background-color:color-mix(in oklab,var(--color-danger) 15%,transparent)}}.bg-diff-add-soft{background-color:var(--color-diff-add-soft)}.bg-diff-add-strong{background-color:var(--color-diff-add-strong)}.bg-diff-del-soft{background-color:var(--color-diff-del-soft)}.bg-diff-del-strong{background-color:var(--color-diff-del-strong)}.bg-info-soft{background-color:var(--color-info-soft)}.bg-info\/10{background-color:#0d94881a}@supports (color:color-mix(in lab,red,red)){.bg-info\/10{background-color:color-mix(in oklab,var(--color-info) 10%,transparent)}}.bg-info\/30{background-color:#0d94884d}@supports (color:color-mix(in lab,red,red)){.bg-info\/30{background-color:color-mix(in oklab,var(--color-info) 30%,transparent)}}.bg-muted{background-color:var(--color-muted)}.bg-openclaw{background-color:var(--color-openclaw)}.bg-primary{background-color:var(--color-primary)}.bg-primary\/20{background-color:#1c1c2233}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--color-primary) 20%,transparent)}}.bg-primary\/28{background-color:#1c1c2247}@supports (color:color-mix(in lab,red,red)){.bg-primary\/28{background-color:color-mix(in oklab,var(--color-primary) 28%,transparent)}}.bg-quiet{background-color:var(--color-quiet)}.bg-raised{background-color:var(--color-raised)}.bg-raised\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-raised\/70{background-color:color-mix(in oklab,var(--color-raised) 70%,transparent)}}.bg-raised\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-raised\/95{background-color:color-mix(in oklab,var(--color-raised) 95%,transparent)}}.bg-secondary\/50{background-color:#55555f80}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/50{background-color:color-mix(in oklab,var(--color-secondary) 50%,transparent)}}.bg-strong{background-color:var(--color-strong)}.bg-success{background-color:var(--color-success)}.bg-success-soft{background-color:var(--color-success-soft)}.bg-success\/15{background-color:#177a3726}@supports (color:color-mix(in lab,red,red)){.bg-success\/15{background-color:color-mix(in oklab,var(--color-success) 15%,transparent)}}.bg-success\/80{background-color:#177a37cc}@supports (color:color-mix(in lab,red,red)){.bg-success\/80{background-color:color-mix(in oklab,var(--color-success) 80%,transparent)}}.bg-sunken{background-color:var(--color-sunken)}.bg-sunken\/55{background-color:#f7f7fa8c}@supports (color:color-mix(in lab,red,red)){.bg-sunken\/55{background-color:color-mix(in oklab,var(--color-sunken) 55%,transparent)}}.bg-sunken\/60{background-color:#f7f7fa99}@supports (color:color-mix(in lab,red,red)){.bg-sunken\/60{background-color:color-mix(in oklab,var(--color-sunken) 60%,transparent)}}.bg-sunken\/70{background-color:#f7f7fab3}@supports (color:color-mix(in lab,red,red)){.bg-sunken\/70{background-color:color-mix(in oklab,var(--color-sunken) 70%,transparent)}}.bg-transparent{background-color:#0000}.bg-user{background-color:var(--color-user)}.bg-warning{background-color:var(--color-warning)}.bg-warning-soft{background-color:var(--color-warning-soft)}.bg-warning\/10{background-color:#8a5f001a}@supports (color:color-mix(in lab,red,red)){.bg-warning\/10{background-color:color-mix(in oklab,var(--color-warning) 10%,transparent)}}.bg-warning\/30{background-color:#8a5f004d}@supports (color:color-mix(in lab,red,red)){.bg-warning\/30{background-color:color-mix(in oklab,var(--color-warning) 30%,transparent)}}.bg-warning\/40{background-color:#8a5f0066}@supports (color:color-mix(in lab,red,red)){.bg-warning\/40{background-color:color-mix(in oklab,var(--color-warning) 40%,transparent)}}.bg-warning\/45{background-color:#8a5f0073}@supports (color:color-mix(in lab,red,red)){.bg-warning\/45{background-color:color-mix(in oklab,var(--color-warning) 45%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-accent{--tw-gradient-via:var(--color-accent);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-via) var(--tw-gradient-via-position),var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-crown{fill:var(--color-crown)}.fill-current{fill:currentColor}.fill-none{fill:none}.stroke-accent{stroke:var(--color-accent)}.stroke-border{stroke:var(--color-border)}.stroke-muted{stroke:var(--color-muted)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[2\.5vh\]{padding:2.5vh}.px-0{padding-inline:0}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[0\.5em\]{padding-inline:.5em}.px-\[0\.6em\]{padding-inline:.6em}.px-\[0\.7em\]{padding-inline:.7em}.px-\[0\.45em\]{padding-inline:.45em}.px-\[0\.75em\]{padding-inline:.75em}.px-\[3px\]{padding-inline:3px}.px-\[7px\]{padding-inline:7px}.px-px{padding-inline:1px}.py-0{padding-block:0}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-\[0\.02em\]{padding-block:.02em}.py-\[0\.15em\]{padding-block:.15em}.py-\[0\.45em\]{padding-block:.45em}.py-\[9px\]{padding-block:9px}.py-px{padding-block:1px}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-\[12vh\]{padding-top:12vh}.pt-\[18vh\]{padding-top:18vh}.pt-\[env\(safe-area-inset-top\)\]{padding-top:env(safe-area-inset-top)}.pr-0\.5{padding-right:calc(var(--spacing) * .5)}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-439{padding-right:calc(var(--spacing) * 439)}.pr-\[28px\]{padding-right:28px}.pr-\[104px\]{padding-right:104px}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-9{padding-bottom:calc(var(--spacing) * 9)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-\[calc\(6px\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(6px + env(safe-area-inset-bottom))}.pb-\[env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pb-\[max\(0\.5rem\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(.5rem,env(safe-area-inset-bottom))}.pb-\[max\(0\.75rem\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}.pl-0\.5{padding-left:calc(var(--spacing) * .5)}.pl-1{padding-left:var(--spacing)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-\[26px\]{padding-left:26px}.pl-\[30px\]{padding-left:30px}.pl-\[46px\]{padding-left:46px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-bottom{vertical-align:bottom}.align-middle{vertical-align:middle}.align-text-bottom{vertical-align:text-bottom}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.72em\]{font-size:.72em}.text-\[0\.78em\]{font-size:.78em}.text-\[8px\]{font-size:8px}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-body{font-size:var(--text-body)}.text-caption{font-size:var(--text-caption)}.text-label{font-size:var(--text-label)}.text-title{font-size:var(--text-title)}.text-ui{font-size:var(--text-ui)}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\[1\.2\]{--tw-leading:1.2;line-height:1.2}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.25\]{--tw-leading:1.25;line-height:1.25}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-\[17px\]{--tw-leading:17px;line-height:17px}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-\[22px\]{--tw-leading:22px;line-height:22px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[-0\.006em\]{--tw-tracking:-.006em;letter-spacing:-.006em}.tracking-\[\.6px\]{--tw-tracking:.6px;letter-spacing:.6px}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[Npx\]{color:Npx}.text-accent{color:var(--color-accent)}.text-card{color:var(--color-card)}.text-codex{color:var(--color-codex)}.text-crown{color:var(--color-crown)}.text-danger{color:var(--color-danger)}.text-diff-add{color:var(--color-diff-add)}.text-diff-del{color:var(--color-diff-del)}.text-info{color:var(--color-info)}.text-muted{color:var(--color-muted)}.text-muted\/80{color:#6c6c79cc}@supports (color:color-mix(in lab,red,red)){.text-muted\/80{color:color-mix(in oklab,var(--color-muted) 80%,transparent)}}.text-muted\/90{color:#6c6c79e6}@supports (color:color-mix(in lab,red,red)){.text-muted\/90{color:color-mix(in oklab,var(--color-muted) 90%,transparent)}}.text-primary{color:var(--color-primary)}.text-primary\/75{color:#1c1c22bf}@supports (color:color-mix(in lab,red,red)){.text-primary\/75{color:color-mix(in oklab,var(--color-primary) 75%,transparent)}}.text-secondary{color:var(--color-secondary)}.text-strong{color:var(--color-strong)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-warning\/70{color:#8a5f00b3}@supports (color:color-mix(in lab,red,red)){.text-warning\/70{color:color-mix(in oklab,var(--color-warning) 70%,transparent)}}.text-white{color:var(--color-white)}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.text-white\/85{color:color-mix(in oklab,var(--color-white) 85%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal}.ordinal,.tabular-nums{font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-accent\/40{text-decoration-color:#5a51e066}@supports (color:color-mix(in lab,red,red)){.decoration-accent\/40{-webkit-text-decoration-color:color-mix(in oklab,var(--color-accent) 40%,transparent);text-decoration-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}.decoration-dotted{text-decoration-style:dotted}.decoration-1{text-decoration-thickness:1px}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.caret-accent{caret-color:var(--color-accent)}.accent-\[var\(--color-danger\)\]{accent-color:var(--color-danger)}.accent-accent{accent-color:var(--color-accent)}.opacity-0{opacity:0}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-65{opacity:.65}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-1{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-1{--tw-shadow:0 1px 2px var(--tw-shadow-color,#14141e0d)}.shadow-2{--tw-shadow:0 8px 32px var(--tw-shadow-color,#14141e29),0 1px 2px var(--tw-shadow-color,#14141e0f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--color-accent\)_20\%\,transparent\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#5a51e033)}@supports (color:color-mix(in lab,red,red)){.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--color-accent\)_20\%\,transparent\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,color-mix(in srgb,var(--color-accent) 20%,transparent))}}.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--color-accent\)_20\%\,transparent\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--color-danger\)_18\%\,transparent\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#c628282e)}@supports (color:color-mix(in lab,red,red)){.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--color-danger\)_18\%\,transparent\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,color-mix(in srgb,var(--color-danger) 18%,transparent))}}.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--color-danger\)_18\%\,transparent\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--color-success\)_20\%\,transparent\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#177a3733)}@supports (color:color-mix(in lab,red,red)){.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--color-success\)_20\%\,transparent\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,color-mix(in srgb,var(--color-success) 20%,transparent))}}.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--color-success\)_20\%\,transparent\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--color-warning\)_18\%\,transparent\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#8a5f002e)}@supports (color:color-mix(in lab,red,red)){.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--color-warning\)_18\%\,transparent\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,color-mix(in srgb,var(--color-warning) 18%,transparent))}}.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--color-warning\)_18\%\,transparent\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--color-warning\)_26\%\,transparent\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#8a5f0042)}@supports (color:color-mix(in lab,red,red)){.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--color-warning\)_26\%\,transparent\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,color-mix(in srgb,var(--color-warning) 26%,transparent))}}.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--color-warning\)_26\%\,transparent\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_color-mix\(in_srgb\,var\(--color-accent\)_18\%\,transparent\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#5a51e02e)}@supports (color:color-mix(in lab,red,red)){.shadow-\[inset_0_0_0_1px_color-mix\(in_srgb\,var\(--color-accent\)_18\%\,transparent\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,color-mix(in srgb,var(--color-accent) 18%,transparent))}}.shadow-\[inset_0_0_0_1px_color-mix\(in_srgb\,var\(--color-accent\)_18\%\,transparent\)\],.shadow-\[inset_0_0_0_3px_var\(--surface-card\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_0_0_3px_var\(--surface-card\)\]{--tw-shadow:inset 0 0 0 3px var(--tw-shadow-color,var(--surface-card))}.shadow-\[inset_3px_0_0_var\(--color-accent\)\]{--tw-shadow:inset 3px 0 0 var(--tw-shadow-color,var(--color-accent))}.shadow-\[inset_3px_0_0_var\(--color-accent\)\],.shadow-\[inset_3px_0_0_var\(--color-danger\)\,var\(--shadow-1\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_3px_0_0_var\(--color-danger\)\,var\(--shadow-1\)\]{--tw-shadow:inset 3px 0 0 var(--tw-shadow-color,var(--color-danger)),var(--shadow-1)}.shadow-\[inset_3px_0_0_var\(--color-success\)\,0_0_0_1px_var\(--border-default\)\]{--tw-shadow:inset 3px 0 0 var(--tw-shadow-color,var(--color-success)),0 0 0 1px var(--tw-shadow-color,var(--border-default));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_3px_0_0_var\(--color-success\)\,var\(--shadow-2\)\]{--tw-shadow:inset 3px 0 0 var(--tw-shadow-color,var(--color-success)),var(--shadow-2);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_3px_0_0_var\(--color-warning\)\,var\(--shadow-1\)\]{--tw-shadow:inset 3px 0 0 var(--tw-shadow-color,var(--color-warning)),var(--shadow-1)}.shadow-\[inset_3px_0_0_var\(--color-warning\)\,var\(--shadow-1\)\],.shadow-none{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring,.ring-1,.ring-2{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.shadow-card{--tw-shadow-color:#fff}@supports (color:color-mix(in lab,red,red)){.shadow-card{--tw-shadow-color:color-mix(in oklab,var(--color-card) var(--tw-shadow-alpha),transparent)}}.ring-accent{--tw-ring-color:var(--color-accent)}.ring-accent\/40{--tw-ring-color:#5a51e066}@supports (color:color-mix(in lab,red,red)){.ring-accent\/40{--tw-ring-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}.ring-accent\/50{--tw-ring-color:#5a51e080}@supports (color:color-mix(in lab,red,red)){.ring-accent\/50{--tw-ring-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.ring-accent\/60{--tw-ring-color:#5a51e099}@supports (color:color-mix(in lab,red,red)){.ring-accent\/60{--tw-ring-color:color-mix(in oklab,var(--color-accent) 60%,transparent)}}.ring-border{--tw-ring-color:var(--color-border)}.ring-success\/70{--tw-ring-color:#177a37b3}@supports (color:color-mix(in lab,red,red)){.ring-success\/70{--tw-ring-color:color-mix(in oklab,var(--color-success) 70%,transparent)}}.ring-warning{--tw-ring-color:var(--color-warning)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-canvas{--tw-ring-offset-color:var(--color-canvas)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-\[0_0_5px_color-mix\(in_srgb\,var\(--color-crown\)_65\%\,transparent\)\]{--tw-drop-shadow-size:drop-shadow(0 0 5px var(--tw-drop-shadow-color,#e0a400a6))}@supports (color:color-mix(in lab,red,red)){.drop-shadow-\[0_0_5px_color-mix\(in_srgb\,var\(--color-crown\)_65\%\,transparent\)\]{--tw-drop-shadow-size:drop-shadow(0 0 5px var(--tw-drop-shadow-color,color-mix(in srgb,var(--color-crown) 65%,transparent)))}}.drop-shadow-\[0_0_5px_color-mix\(in_srgb\,var\(--color-crown\)_65\%\,transparent\)\]{--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-\[0_1px_2px_color-mix\(in_srgb\,var\(--color-crown\)_55\%\,transparent\)\]{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#e0a4008c))}@supports (color:color-mix(in lab,red,red)){.drop-shadow-\[0_1px_2px_color-mix\(in_srgb\,var\(--color-crown\)_55\%\,transparent\)\]{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,color-mix(in srgb,var(--color-crown) 55%,transparent)))}}.drop-shadow-\[0_1px_2px_color-mix\(in_srgb\,var\(--color-crown\)_55\%\,transparent\)\]{--tw-drop-shadow:var(--tw-drop-shadow-size)}.drop-shadow-\[0_1px_2px_color-mix\(in_srgb\,var\(--color-crown\)_55\%\,transparent\)\],.grayscale{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%)}.invert{--tw-invert:invert(100%)}.invert,.saturate-50{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.saturate-50{--tw-saturate:saturate(50%)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-\[2px\]{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm))}.backdrop-blur-sm,.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,color\]{transition-property:border-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,fill\,filter\,transform\]{transition-property:color,fill,filter,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[height\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[max-width\]{transition-property:max-width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,opacity\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-150{transition-delay:.15s}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.duration-\[200ms\]{--tw-duration:.2s;transition-duration:.2s}.duration-\[320ms\]{--tw-duration:.32s;transition-duration:.32s}.ease-\[cubic-bezier\(0\.2\,0\,0\,1\)\]{--tw-ease:cubic-bezier(.2,0,0,1);transition-timing-function:cubic-bezier(.2,0,0,1)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\[-webkit-box-orient\:vertical\]{-webkit-box-orient:vertical}.\[-webkit-line-clamp\:2\]{-webkit-line-clamp:2}.\[animation-delay\:150ms\]{animation-delay:.15s}.\[animation-delay\:300ms\]{animation-delay:.3s}.\[stroke-dasharray\:2_3\]{stroke-dasharray:2 3}.ring-inset{--tw-ring-inset:inset}.group-open\:hidden:is(:where(.group):is([open],:popover-open,:open) *){display:none}.group-open\:inline:is(:where(.group):is([open],:popover-open,:open) *){display:inline}.group-open\:rotate-0:is(:where(.group):is([open],:popover-open,:open) *){rotate:0deg}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}.group-open\/cmp\:hidden:is(:where(.group\/cmp):is([open],:popover-open,:open) *){display:none}.group-open\/cmp\:inline:is(:where(.group\/cmp):is([open],:popover-open,:open) *){display:inline}.group-open\/grp\:rotate-90:is(:where(.group\/grp):is([open],:popover-open,:open) *),.group-open\/raw\:rotate-90:is(:where(.group\/raw):is([open],:popover-open,:open) *),.group-open\/record\:rotate-90:is(:where(.group\/record):is([open],:popover-open,:open) *),.group-open\/section\:rotate-90:is(:where(.group\/section):is([open],:popover-open,:open) *){rotate:90deg}.group-open\/tmsg\:hidden:is(:where(.group\/tmsg):is([open],:popover-open,:open) *){display:none}.group-open\/tmsg\:inline-flex:is(:where(.group\/tmsg):is([open],:popover-open,:open) *){display:inline-flex}.group-open\/usr\:hidden:is(:where(.group\/usr):is([open],:popover-open,:open) *){display:none}.group-open\/usr\:inline-flex:is(:where(.group\/usr):is([open],:popover-open,:open) *){display:inline-flex}.group-focus-within\:block:is(:where(.group):focus-within *){display:block}.group-focus-within\:flex:is(:where(.group):focus-within *){display:flex}.group-focus-within\:max-w-\[180px\]:is(:where(.group):focus-within *){max-width:180px}.group-focus-within\/hint\:opacity-100:is(:where(.group\/hint):focus-within *){opacity:1}@media (hover:hover){.group-hover\:pointer-events-auto:is(:where(.group):hover *){pointer-events:auto}.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:flex:is(:where(.group):hover *){display:flex}.group-hover\:max-w-\[180px\]:is(:where(.group):hover *){max-width:180px}.group-hover\:border-accent\/45:is(:where(.group):hover *){border-color:#5a51e073}@supports (color:color-mix(in lab,red,red)){.group-hover\:border-accent\/45:is(:where(.group):hover *){border-color:color-mix(in oklab,var(--color-accent) 45%,transparent)}}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\:shadow-2:is(:where(.group):hover *){--tw-shadow:0 8px 32px var(--tw-shadow-color,#14141e29),0 1px 2px var(--tw-shadow-color,#14141e0f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-hover\/att\:flex:is(:where(.group\/att):hover *){display:flex}.group-hover\/cmd\:opacity-100:is(:where(.group\/cmd):hover *),.group-hover\/code\:opacity-100:is(:where(.group\/code):hover *){opacity:1}.group-hover\/crown\:fill-crown:is(:where(.group\/crown):hover *){fill:var(--color-crown)}.group-hover\/crown\:text-crown:is(:where(.group\/crown):hover *){color:var(--color-crown)}.group-hover\/crown\:\[stroke-dasharray\:0\]:is(:where(.group\/crown):hover *){stroke-dasharray:0}.group-hover\/diff\:opacity-100:is(:where(.group\/diff):hover *),.group-hover\/hint\:opacity-100:is(:where(.group\/hint):hover *){opacity:1}.group-hover\/img\:flex:is(:where(.group\/img):hover *){display:flex}.group-hover\/msg\:opacity-100:is(:where(.group\/msg):hover *),.group-hover\/out\:opacity-100:is(:where(.group\/out):hover *),.group-hover\/title\:opacity-100:is(:where(.group\/title):hover *){opacity:1}}.marker\:text-muted ::marker{color:var(--color-muted)}.marker\:text-muted::marker{color:var(--color-muted)}.marker\:text-muted ::-webkit-details-marker,.marker\:text-muted::-webkit-details-marker{color:var(--color-muted)}.marker\:text-muted\/60 ::marker{color:#6c6c7999}@supports (color:color-mix(in lab,red,red)){.marker\:text-muted\/60 ::marker{color:color-mix(in oklab,var(--color-muted) 60%,transparent)}}.marker\:text-muted\/60::marker{color:#6c6c7999}@supports (color:color-mix(in lab,red,red)){.marker\:text-muted\/60::marker{color:color-mix(in oklab,var(--color-muted) 60%,transparent)}}.marker\:text-muted\/60 ::-webkit-details-marker{color:#6c6c7999}@supports (color:color-mix(in lab,red,red)){.marker\:text-muted\/60 ::-webkit-details-marker{color:color-mix(in oklab,var(--color-muted) 60%,transparent)}}.marker\:text-muted\/60::-webkit-details-marker{color:#6c6c7999}@supports (color:color-mix(in lab,red,red)){.marker\:text-muted\/60::-webkit-details-marker{color:color-mix(in oklab,var(--color-muted) 60%,transparent)}}.marker\:tabular-nums ::marker{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.marker\:tabular-nums::marker{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.marker\:tabular-nums ::-webkit-details-marker,.marker\:tabular-nums::-webkit-details-marker{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.placeholder\:text-muted::placeholder{color:var(--color-muted)}.placeholder\:text-muted\/70::placeholder{color:#6c6c79b3}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted\/70::placeholder{color:color-mix(in oklab,var(--color-muted) 70%,transparent)}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:-inset-1\.5:before{content:var(--tw-content);inset:calc(var(--spacing) * -1.5)}.before\:-inset-2\.5:before{content:var(--tw-content);inset:calc(var(--spacing) * -2.5)}.before\:-inset-3:before{content:var(--tw-content);inset:calc(var(--spacing) * -3)}.before\:-inset-x-1\.5:before{content:var(--tw-content);inset-inline:calc(var(--spacing) * -1.5)}.before\:inset-y-0:before{content:var(--tw-content);inset-block:0}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-x-0:after{content:var(--tw-content);inset-inline:0}.after\:top-1\/2:after{content:var(--tw-content);top:50%}.after\:h-11:after{content:var(--tw-content);height:calc(var(--spacing) * 11)}.after\:-translate-y-1\/2:after{content:var(--tw-content);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.first\:mt-0:first-child{margin-top:0}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:pt-0:first-child{padding-top:0}.last\:pb-0:last-child{padding-bottom:0}.empty\:hidden:empty{display:none}.focus-within\:border-accent\/55:focus-within{border-color:#5a51e08c}@supports (color:color-mix(in lab,red,red)){.focus-within\:border-accent\/55:focus-within{border-color:color-mix(in oklab,var(--color-accent) 55%,transparent)}}.focus-within\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-accent\/40:focus-within{--tw-ring-color:#5a51e066}@supports (color:color-mix(in lab,red,red)){.focus-within\:ring-accent\/40:focus-within{--tw-ring-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}@media (hover:hover){.hover\:border-accent:hover{border-color:var(--color-accent)}.hover\:border-accent\/40:hover{border-color:#5a51e066}@supports (color:color-mix(in lab,red,red)){.hover\:border-accent\/40:hover{border-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}.hover\:border-accent\/45:hover{border-color:#5a51e073}@supports (color:color-mix(in lab,red,red)){.hover\:border-accent\/45:hover{border-color:color-mix(in oklab,var(--color-accent) 45%,transparent)}}.hover\:border-accent\/50:hover{border-color:#5a51e080}@supports (color:color-mix(in lab,red,red)){.hover\:border-accent\/50:hover{border-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.hover\:border-accent\/60:hover{border-color:#5a51e099}@supports (color:color-mix(in lab,red,red)){.hover\:border-accent\/60:hover{border-color:color-mix(in oklab,var(--color-accent) 60%,transparent)}}.hover\:border-border:hover{border-color:var(--color-border)}.hover\:border-danger\/40:hover{border-color:#c6282866}@supports (color:color-mix(in lab,red,red)){.hover\:border-danger\/40:hover{border-color:color-mix(in oklab,var(--color-danger) 40%,transparent)}}.hover\:border-danger\/50:hover{border-color:#c6282880}@supports (color:color-mix(in lab,red,red)){.hover\:border-danger\/50:hover{border-color:color-mix(in oklab,var(--color-danger) 50%,transparent)}}.hover\:border-strong:hover{border-color:var(--color-strong)}.hover\:bg-accent\/5:hover{background-color:#5a51e00d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/5:hover{background-color:color-mix(in oklab,var(--color-accent) 5%,transparent)}}.hover\:bg-accent\/10:hover{background-color:#5a51e01a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/10:hover{background-color:color-mix(in oklab,var(--color-accent) 10%,transparent)}}.hover\:bg-accent\/15:hover{background-color:#5a51e026}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/15:hover{background-color:color-mix(in oklab,var(--color-accent) 15%,transparent)}}.hover\:bg-accent\/30:hover{background-color:#5a51e04d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/30:hover{background-color:color-mix(in oklab,var(--color-accent) 30%,transparent)}}.hover\:bg-accent\/70:hover{background-color:#5a51e0b3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/70:hover{background-color:color-mix(in oklab,var(--color-accent) 70%,transparent)}}.hover\:bg-accent\/80:hover{background-color:#5a51e0cc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/80:hover{background-color:color-mix(in oklab,var(--color-accent) 80%,transparent)}}.hover\:bg-black\/5:hover{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/5:hover{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.hover\:bg-canvas:hover{background-color:var(--color-canvas)}.hover\:bg-canvas\/60:hover{background-color:#f3f3f699}@supports (color:color-mix(in lab,red,red)){.hover\:bg-canvas\/60:hover{background-color:color-mix(in oklab,var(--color-canvas) 60%,transparent)}}.hover\:bg-card:hover{background-color:var(--color-card)}.hover\:bg-crown-soft:hover{background-color:var(--color-crown-soft)}.hover\:bg-danger-soft:hover{background-color:var(--color-danger-soft)}.hover\:bg-danger\/10:hover{background-color:#c628281a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-danger\/10:hover{background-color:color-mix(in oklab,var(--color-danger) 10%,transparent)}}.hover\:bg-danger\/20:hover{background-color:#c6282833}@supports (color:color-mix(in lab,red,red)){.hover\:bg-danger\/20:hover{background-color:color-mix(in oklab,var(--color-danger) 20%,transparent)}}.hover\:bg-success\/10:hover{background-color:#177a371a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-success\/10:hover{background-color:color-mix(in oklab,var(--color-success) 10%,transparent)}}.hover\:bg-sunken:hover{background-color:var(--color-sunken)}.hover\:bg-warning\/15:hover{background-color:#8a5f0026}@supports (color:color-mix(in lab,red,red)){.hover\:bg-warning\/15:hover{background-color:color-mix(in oklab,var(--color-warning) 15%,transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-danger:hover{color:var(--color-danger)}.hover\:text-info:hover{color:var(--color-info)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-secondary:hover{color:var(--color-secondary)}.hover\:text-warning:hover{color:var(--color-warning)}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-accent:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-2:hover{--tw-shadow:0 8px 32px var(--tw-shadow-color,#14141e29),0 1px 2px var(--tw-shadow-color,#14141e0f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus-visible\:flex:focus-visible{display:flex}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-accent\/35:focus-visible{--tw-ring-color:#5a51e059}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-accent\/35:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-accent) 35%,transparent)}}.focus-visible\:ring-accent\/40:focus-visible{--tw-ring-color:#5a51e066}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-accent\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}.focus-visible\:ring-accent\/45:focus-visible{--tw-ring-color:#5a51e073}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-accent\/45:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-accent) 45%,transparent)}}.focus-visible\:ring-accent\/50:focus-visible{--tw-ring-color:#5a51e080}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-accent\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.focus-visible\:ring-accent\/55:focus-visible{--tw-ring-color:#5a51e08c}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-accent\/55:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-accent) 55%,transparent)}}.focus-visible\:ring-accent\/60:focus-visible{--tw-ring-color:#5a51e099}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-accent\/60:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-accent) 60%,transparent)}}.focus-visible\:ring-danger\/30:focus-visible{--tw-ring-color:#c628284d}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-danger\/30:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-danger) 30%,transparent)}}.focus-visible\:ring-danger\/40:focus-visible{--tw-ring-color:#c6282866}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-danger\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-danger) 40%,transparent)}}.focus-visible\:ring-danger\/50:focus-visible{--tw-ring-color:#c6282880}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-danger\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-danger) 50%,transparent)}}.focus-visible\:ring-warning\/50:focus-visible{--tw-ring-color:#8a5f0080}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-warning\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-warning) 50%,transparent)}}.focus-visible\:ring-white\/60:focus-visible{--tw-ring-color:#fff9}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-white\/60:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-canvas:active{background-color:var(--color-canvas)}.active\:bg-card:active{background-color:var(--color-card)}.active\:bg-sunken:active{background-color:var(--color-sunken)}.active\:text-primary:active{color:var(--color-primary)}.active\:opacity-90:active{opacity:.9}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:text-muted:disabled{color:var(--color-muted)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-35:disabled{opacity:.35}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:opacity-100:disabled{opacity:1}@media (hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}.disabled\:hover\:text-muted:disabled:hover{color:var(--color-muted)}.disabled\:hover\:text-secondary:disabled:hover{color:var(--color-secondary)}}.aria-disabled\:opacity-40[aria-disabled=true]{opacity:.4}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-pulse{animation:var(--animate-pulse)}.motion-safe\:animate-spin{animation:var(--animate-spin)}}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:transition-none{transition-property:none}}@media not all and (min-width:48rem){.max-md\:min-h-11{min-height:calc(var(--spacing) * 11)}.max-md\:px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.max-md\:text-label{font-size:var(--text-label)}}@media (min-width:360px){.min-\[360px\]\:block{display:block}}@media (min-width:40rem){.sm\:absolute{position:absolute}.sm\:top-full{top:100%}.sm\:right-auto{right:auto}.sm\:bottom-1{bottom:var(--spacing)}.sm\:bottom-auto{bottom:auto}.sm\:left-0{left:0}.sm\:left-full{left:100%}.sm\:mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.sm\:mt-2{margin-top:calc(var(--spacing) * 2)}.sm\:mr-0{margin-right:0}.sm\:ml-2{margin-left:calc(var(--spacing) * 2)}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:h-6{height:calc(var(--spacing) * 6)}.sm\:h-8{height:calc(var(--spacing) * 8)}.sm\:min-h-0{min-height:0}.sm\:min-h-7{min-height:calc(var(--spacing) * 7)}.sm\:min-h-8{min-height:calc(var(--spacing) * 8)}.sm\:min-h-9{min-height:calc(var(--spacing) * 9)}.sm\:min-h-\[24px\]{min-height:24px}.sm\:min-h-\[26px\]{min-height:26px}.sm\:min-h-\[28px\]{min-height:28px}.sm\:min-h-\[36px\]{min-height:36px}.sm\:w-6{width:calc(var(--spacing) * 6)}.sm\:w-8{width:calc(var(--spacing) * 8)}.sm\:w-20{width:calc(var(--spacing) * 20)}.sm\:min-w-0{min-width:0}.sm\:translate-x-0{--tw-translate-x:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.sm\:items-center{align-items:center}.sm\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}.sm\:rounded-surface{border-radius:var(--radius-surface)}.sm\:px-0\.5{padding-inline:calc(var(--spacing) * .5)}.sm\:px-2{padding-inline:calc(var(--spacing) * 2)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:py-0\.5{padding-block:calc(var(--spacing) * .5)}.sm\:py-1{padding-block:var(--spacing)}.sm\:py-5{padding-block:calc(var(--spacing) * 5)}.sm\:pb-3{padding-bottom:calc(var(--spacing) * 3)}.sm\:before\:hidden:before{content:var(--tw-content);display:none}}@media (min-width:48rem){.md\:max-w-\[16rem\]{max-width:16rem}}@starting-style{.starting\:-translate-x-6{--tw-translate-x:calc(var(--spacing) * -6)}.starting\:-translate-x-6,.starting\:translate-x-6{translate:var(--tw-translate-x) var(--tw-translate-y)}.starting\:translate-x-6{--tw-translate-x:calc(var(--spacing) * 6)}.starting\:translate-y-6{--tw-translate-y:calc(var(--spacing) * 6);translate:var(--tw-translate-x) var(--tw-translate-y)}.starting\:opacity-0{opacity:0}}@media (pointer:coarse){.pointer-coarse\:min-h-11{min-height:calc(var(--spacing) * 11)}.pointer-coarse\:px-3{padding-inline:calc(var(--spacing) * 3)}}.\[\&_button\]\:min-h-11 button{min-height:calc(var(--spacing) * 11)}.\[\&_button\]\:min-w-11 button{min-width:calc(var(--spacing) * 11)}.\[\&_select\]\:min-h-11 select{min-height:calc(var(--spacing) * 11)}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker,.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\>\[data-mobile2-scrim\]\]\:bottom-\[var\(--seat-keyboard-inset\)\]>[data-mobile2-scrim]{bottom:var(--seat-keyboard-inset)}@media not all and (min-width:40rem){.max-sm\:\[\&\>\[data-operation\]\]\:contents>[data-operation]{display:contents}}.\[\&\>\[data-session-title-editor\]\]\:pointer-events-auto>[data-session-title-editor]{pointer-events:auto}.\[\&\>select\]\:min-w-28>select{min-width:calc(var(--spacing) * 28)}.\[\&\>select\]\:flex-1>select{flex:1}.\[\&\>span\:not\(\[data-session-title-editor\]\)\]\:hidden>span:not([data-session-title-editor]){display:none}.\[\&\>span\>button\]\:h-11>span>button{height:calc(var(--spacing) * 11)}.\[\&\>span\>button\]\:w-11>span>button{width:calc(var(--spacing) * 11)}@media (hover:none){.\[\@media\(hover\:none\)\]\:opacity-60{opacity:.6}}@media (pointer:coarse){.\[\@media\(pointer\:coarse\)\]\:h-11{height:calc(var(--spacing) * 11)}.\[\@media\(pointer\:coarse\)\]\:min-h-8{min-height:calc(var(--spacing) * 8)}.\[\@media\(pointer\:coarse\)\]\:min-h-11{min-height:calc(var(--spacing) * 11)}.\[\@media\(pointer\:coarse\)\]\:w-11{width:calc(var(--spacing) * 11)}.\[\@media\(pointer\:coarse\)\]\:pr-\[50px\]{padding-right:50px}}}:root{color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--surface-canvas:#101014;--surface-card:#17171c;--surface-sunken:#121216;--surface-raised:#1d1d24;--surface-board:#0d0d11;--surface-well:#131318;--surface-quiet:#141419;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 32px #0000008c,0 1px 2px #0006;--color-primary:#e8e8ec;--color-secondary:#a2a2ae;--color-muted:#8b8b98;--border-default:#26262e;--border-strong:#3a3a44;--color-accent:#8f88ff;--color-accent-soft:#262347;--color-success:#4fc36f;--color-success-soft:#14261a;--color-warning:#e0ae45;--color-warning-soft:#2b2312;--color-crown:#f5c542;--color-crown-soft:#2e2611;--color-danger:#f07171;--color-danger-soft:#2c1616;--color-info:#2dd4bf;--color-info-soft:#10241f;--color-codex:#6ba2e8;--color-codex-soft:#152238;--color-claude:#e08a6d;--color-claude-soft:#2b1c15;--color-openclaw:#e888b6;--color-openclaw-soft:#2e1622;--color-user:#2a2a33;--color-diff-add:#3fb950;--color-diff-add-soft:#12261a;--color-diff-add-strong:#1f4d2e;--color-diff-del:#f85149;--color-diff-del-soft:#2d1416;--color-diff-del-strong:#5c2626}}[data-theme=dark]{color-scheme:dark;--surface-canvas:#101014;--surface-card:#17171c;--surface-sunken:#121216;--surface-raised:#1d1d24;--surface-board:#0d0d11;--surface-well:#131318;--surface-quiet:#141419;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 32px #0000008c,0 1px 2px #0006;--color-primary:#e8e8ec;--color-secondary:#a2a2ae;--color-muted:#8b8b98;--border-default:#26262e;--border-strong:#3a3a44;--color-accent:#8f88ff;--color-accent-soft:#262347;--color-success:#4fc36f;--color-success-soft:#14261a;--color-warning:#e0ae45;--color-warning-soft:#2b2312;--color-crown:#f5c542;--color-crown-soft:#2e2611;--color-danger:#f07171;--color-danger-soft:#2c1616;--color-info:#2dd4bf;--color-info-soft:#10241f;--color-codex:#6ba2e8;--color-codex-soft:#152238;--color-claude:#e08a6d;--color-claude-soft:#2b1c15;--color-openclaw:#e888b6;--color-openclaw-soft:#2e1622;--color-user:#2a2a33;--color-diff-add:#3fb950;--color-diff-add-soft:#12261a;--color-diff-add-strong:#1f4d2e;--color-diff-del:#f85149;--color-diff-del-soft:#2d1416;--color-diff-del-strong:#5c2626}body{background:var(--color-canvas);color:var(--color-primary)}@media (pointer:coarse){input,select,textarea{font-size:16px!important}}.reasoning-host{container:reasoning-host/inline-size}@container reasoning-host (max-width:259px){.reasoning-slot{display:none}}@property --pane-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes pane-orbit{to{--pane-angle:360deg}}.pane-attention:before{content:"";pointer-events:none;z-index:1;background:conic-gradient(from var(--pane-angle),transparent 0deg 30deg,var(--pane-glow) 100deg,transparent 170deg 210deg,var(--pane-glow) 280deg,transparent 350deg 1turn);border-radius:12px;padding:2px;animation:pane-orbit 3.4s linear infinite;position:absolute;inset:-2px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@media (prefers-reduced-motion:reduce){.pane-attention:before{animation:none}}@keyframes card-status-breathe{50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-warning) 22%,transparent)}}.card-status-attention{animation:card-status-breathe 3.4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.card-status-attention{animation:none}}.hljs-comment,.hljs-quote{color:var(--color-muted);font-style:italic}.hljs-built_in,.hljs-keyword,.hljs-name,.hljs-selector-tag,.hljs-tag{color:var(--color-accent)}.hljs-addition,.hljs-attr,.hljs-string,.hljs-template-tag{color:var(--color-success)}.hljs-literal,.hljs-number,.hljs-title,.hljs-title.class_,.hljs-title.function_,.hljs-type{color:var(--color-codex)}.hljs-deletion,.hljs-meta{color:var(--color-danger)}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.scheme-panning *,.scheme-panning :after,.scheme-panning :before{animation-play-state:paused!important}.feed-cv{content-visibility:auto;contain-intrinsic-size:auto 44px}.favorite-crown{transition:opacity .2s var(--ease-standard,ease-out),transform .2s var(--ease-standard,ease-out)}.favorite-crown[data-crown-hidden]{transform:scale(.85)}@keyframes crown-pop{0%{transform:scale(1)}45%{transform:scale(1.28)}to{transform:scale(1)}}.favorite-crown.is-favorite{animation:crown-pop .32s var(--ease-standard,ease-out)}@media (prefers-reduced-motion:reduce){.favorite-crown,.favorite-crown.is-favorite{transition:opacity .2s linear;animation:none;transform:none}}@keyframes scheme-in{0%{opacity:0}}.scheme-enter{animation:scheme-in .3s ease-out}@media (prefers-reduced-motion:reduce){.scheme-enter{animation:none}}.scheme-session [data-scheme-node]:not([data-lasso-selected=true])>:not(.scheme-select-check-zone){opacity:.35;filter:grayscale(.7);transition:opacity .2s,filter .2s}.scheme-session [data-lasso-selected=true]>*{transition:opacity .2s,filter .2s}.scheme-session [data-scheme-node][data-select-check-hover=true]>*{opacity:1;filter:none}.scheme-select-check{transition:opacity .16s var(--ease-standard,ease-out),background-color .16s var(--ease-standard,ease-out)}[data-scheme-node]:hover .scheme-select-check{opacity:1}@media (hover:none){.scheme-select-check{opacity:1}.scheme-select-check:after{content:"";position:absolute;inset:-10px -10px 0 0}}@media (prefers-reduced-motion:reduce){.scheme-select-check{transition:none}}.deck-3d{perspective:1200px;perspective-origin:50% 0}.deck-tab{transform-style:preserve-3d;transition:transform .38s cubic-bezier(.22,.8,.36,1),bottom .38s cubic-bezier(.22,.8,.36,1),opacity .25s}.deck-tab:hover{transform:translateY(-3px)!important}@keyframes deck-live{50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 25%,transparent)}}.deck-tab-live{animation:deck-live 1.6s ease-in-out infinite}.deck-collapsing{overflow:hidden}.deck-collapsing .deck-front{transform-origin:50% 0;opacity:0;transition:transform .32s cubic-bezier(.22,.8,.36,1),opacity .26s ease-out;transform:scale(.9,.55)translateY(-6px)}.deck-collapsing .deck-tab{opacity:0;transform:translateY(-26px)scale(.85)!important}@keyframes deck-unfold{0%{opacity:0;transform:scale(.92,.6)translateY(-6px)}}.deck-expanding .deck-front{transform-origin:50% 0;animation:deck-unfold .38s cubic-bezier(.22,.8,.36,1)}@keyframes deck-chip-pop{0%{opacity:0;transform:scaleX(1.04)scaleY(1.5)translateY(8px)}}.deck-chip-in{transform-origin:50% 0;animation:deck-chip-pop .26s cubic-bezier(.22,.8,.36,1)}@media (prefers-reduced-motion:reduce){.deck-tab{transition:none}.deck-tab-live{animation:none}.deck-collapsing .deck-front,.deck-collapsing .deck-tab{transition:none}.deck-chip-in,.deck-expanding .deck-front{animation:none}}@keyframes loop-dash{to{stroke-dashoffset:-16px}}.loop-arc-live{stroke-dasharray:7 9;animation:loop-dash .7s linear infinite}@media (prefers-reduced-motion:reduce){.loop-arc-live{stroke-dasharray:none;animation:none}}.pipeline-rail-live{stroke-dasharray:6 8;animation:loop-dash .7s linear infinite}@media (prefers-reduced-motion:reduce){.pipeline-rail-live{stroke-dasharray:none;animation:none}}[data-link-hover]{border-color:var(--color-info)!important;box-shadow:0 0 0 3px #0d948840,var(--shadow-1)!important}@supports (color:color-mix(in lab,red,red)){[data-link-hover]{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-info) 25%,transparent),var(--shadow-1)!important}}::highlight(tts-karaoke){background-color:#5a51e042}@supports (color:color-mix(in lab,red,red)){::highlight(tts-karaoke){background-color:color-mix(in srgb,var(--color-accent) 26%,transparent)}}::highlight(tts-karaoke){color:var(--color-primary)}[data-tts-seekable]{cursor:pointer}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
import crypto from "node:crypto";
|
|
2
|
-
import fs from "node:fs";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
attachmentMegabytes,
|
|
7
|
-
inboxAttachmentName,
|
|
8
|
-
MAX_INBOX_FILE_BYTES,
|
|
9
|
-
MAX_INBOX_FILES,
|
|
10
|
-
MAX_INBOX_FILES_TOTAL_BYTES,
|
|
11
|
-
} from "@/lib/filePolicy";
|
|
12
|
-
import { inboxDir } from "@/lib/configDir";
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* General (non-image) composer attachments on their way to an agent (issue
|
|
16
|
-
* #1224). They take the road images already take — the bytes land in the viewer
|
|
17
|
-
* inbox and the delivered message names them by path — minus the base64-into-
|
|
18
|
-
* the-turn half, which needs an engine image capability an ordinary file
|
|
19
|
-
* neither has nor wants. An agent opens a file with the tools it already has.
|
|
20
|
-
*
|
|
21
|
-
* Each send owns one batch directory, so the operator's own filename survives
|
|
22
|
-
* as the basename: `…/inbox/files/<batch>/quarterly-notes.pdf` is a path the
|
|
23
|
-
* agent can act on and the operator recognises. The directory is nested, so an
|
|
24
|
-
* inbox name never matches `inboxImageRef` and none of this is servable over
|
|
25
|
-
* /api/inbox.
|
|
26
|
-
*/
|
|
27
|
-
export function inboxFilesDir(): string {
|
|
28
|
-
return path.join(inboxDir(), "files");
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export interface InboxFileUpload {
|
|
32
|
-
name: string;
|
|
33
|
-
/** Decoded once, at admission, and carried from there: the request already
|
|
34
|
-
holds the base64, so decoding it a second time at write time (and
|
|
35
|
-
re-encoding it to compare strings) tripled the peak footprint of a batch
|
|
36
|
-
this process has no spare memory for. */
|
|
37
|
-
data: Buffer;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export interface InboxFileAdmissionFailure {
|
|
41
|
-
error: string;
|
|
42
|
-
status: 400 | 413;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export interface InboxFileAdmissionResult {
|
|
46
|
-
files: InboxFileUpload[];
|
|
47
|
-
error: InboxFileAdmissionFailure | null;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export interface InboxFilePayloadBundle {
|
|
51
|
-
payload: string;
|
|
52
|
-
filePaths: string[];
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
function failure(error: string, status: 400 | 413): InboxFileAdmissionResult {
|
|
56
|
-
return { files: [], error: { error, status } };
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/** Raw byte count a base64 string decodes to, without decoding it. */
|
|
60
|
-
function rawBytesFromBase64(value: string): number {
|
|
61
|
-
const padding = value.endsWith("==") ? 2 : value.endsWith("=") ? 1 : 0;
|
|
62
|
-
return Math.max(0, Math.floor(value.length * 3 / 4) - padding);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/** Decodes an attachment payload, or null when it is not base64 this can write.
|
|
66
|
-
The charset/length regex bounds the input before `Buffer.from` sees it, so
|
|
67
|
-
what comes back is either real bytes or nothing. */
|
|
68
|
-
function decodeAttachment(value: string): Buffer | null {
|
|
69
|
-
if (!value || value.length % 4 !== 0 || !/^[A-Za-z0-9+/]+={0,2}$/.test(value)) return null;
|
|
70
|
-
const data = Buffer.from(value, "base64");
|
|
71
|
-
return data.length > 0 ? data : null;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Validates a request's `files` field against the shared policy. Every refusal
|
|
76
|
-
* is a message the caller hands back to the operator — an attachment that is
|
|
77
|
-
* not admitted is never quietly dropped from the batch (the defect #1224
|
|
78
|
-
* fixes), so one bad file refuses the whole send with its reason.
|
|
79
|
-
*
|
|
80
|
-
* Size is checked against the ENCODED length first, so an over-budget upload is
|
|
81
|
-
* refused without ever being decoded into memory.
|
|
82
|
-
*/
|
|
83
|
-
export function admitInboxFilePayload(body: { files?: unknown }): InboxFileAdmissionResult {
|
|
84
|
-
if (body.files === undefined || body.files === null) return { files: [], error: null };
|
|
85
|
-
if (!Array.isArray(body.files)) return failure("files must be an array", 400);
|
|
86
|
-
if (body.files.length > MAX_INBOX_FILES) {
|
|
87
|
-
return failure(`too many files (${MAX_INBOX_FILES} limit)`, 413);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
const files: InboxFileUpload[] = [];
|
|
91
|
-
let totalBytes = 0;
|
|
92
|
-
for (const value of body.files) {
|
|
93
|
-
if (!value || typeof value !== "object" || Array.isArray(value)) return failure("invalid file", 400);
|
|
94
|
-
const candidate = value as Record<string, unknown>;
|
|
95
|
-
if (typeof candidate.base64 !== "string" || typeof candidate.name !== "string") {
|
|
96
|
-
return failure("invalid file", 400);
|
|
97
|
-
}
|
|
98
|
-
const name = inboxAttachmentName(candidate.name);
|
|
99
|
-
if (rawBytesFromBase64(candidate.base64) > MAX_INBOX_FILE_BYTES) {
|
|
100
|
-
return failure(`${name} is too large (${attachmentMegabytes(MAX_INBOX_FILE_BYTES)} MB limit)`, 413);
|
|
101
|
-
}
|
|
102
|
-
const data = decodeAttachment(candidate.base64);
|
|
103
|
-
if (!data) return failure(`${name} could not be read`, 400);
|
|
104
|
-
totalBytes += data.byteLength;
|
|
105
|
-
if (totalBytes > MAX_INBOX_FILES_TOTAL_BYTES) {
|
|
106
|
-
return failure(`attachments exceed the ${attachmentMegabytes(MAX_INBOX_FILES_TOTAL_BYTES)} MB request limit`, 413);
|
|
107
|
-
}
|
|
108
|
-
files.push({ name, data });
|
|
109
|
-
}
|
|
110
|
-
return { files, error: null };
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* The directory name one send's attachments share. Derived from the caller's
|
|
115
|
-
* own message id, so a retried delivery rewrites the SAME paths rather than
|
|
116
|
-
* orphaning a second copy beside the first — the same reasoning that makes the
|
|
117
|
-
* legacy image path replay its recorded artifacts on retry.
|
|
118
|
-
*/
|
|
119
|
-
export function inboxFileBatchToken(clientMessageId: string | null | undefined): string {
|
|
120
|
-
const seed = clientMessageId?.trim();
|
|
121
|
-
if (!seed) return crypto.randomUUID().slice(0, 12);
|
|
122
|
-
return crypto.createHash("sha256").update(seed).digest("hex").slice(0, 12);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
function batchDir(token: string): string {
|
|
126
|
-
const root = inboxFilesDir();
|
|
127
|
-
const dir = path.resolve(root, inboxAttachmentName(token));
|
|
128
|
-
if (dir !== root && !dir.startsWith(root + path.sep)) {
|
|
129
|
-
throw new Error("inbox batch directory escapes the inbox");
|
|
130
|
-
}
|
|
131
|
-
return dir;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/** Writes one admitted batch and returns the paths, in the order sent. A write
|
|
135
|
-
that throws mid-batch deletes what it already wrote, so no caller can orphan
|
|
136
|
-
a partial batch (`buildImagePayload`'s contract). */
|
|
137
|
-
export function saveInboxFiles(files: readonly InboxFileUpload[], token: string): string[] {
|
|
138
|
-
if (!files.length) return [];
|
|
139
|
-
const dir = batchDir(token);
|
|
140
|
-
const written: string[] = [];
|
|
141
|
-
try {
|
|
142
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
143
|
-
const used = new Set<string>();
|
|
144
|
-
for (const file of files) {
|
|
145
|
-
const name = inboxAttachmentName(file.name);
|
|
146
|
-
/* Two attachments named the same in ONE send must stay two files, or the
|
|
147
|
-
second silently replaces the first and the message names it twice. */
|
|
148
|
-
let unique = name;
|
|
149
|
-
for (let index = 2; used.has(unique); index += 1) {
|
|
150
|
-
const dot = name.lastIndexOf(".");
|
|
151
|
-
unique = dot > 0 ? `${name.slice(0, dot)}-${index}${name.slice(dot)}` : `${name}-${index}`;
|
|
152
|
-
}
|
|
153
|
-
used.add(unique);
|
|
154
|
-
const filePath = path.resolve(dir, unique);
|
|
155
|
-
if (!filePath.startsWith(dir + path.sep)) throw new Error("inbox attachment escapes the inbox");
|
|
156
|
-
fs.writeFileSync(filePath, file.data);
|
|
157
|
-
written.push(filePath);
|
|
158
|
-
}
|
|
159
|
-
} catch (error) {
|
|
160
|
-
deleteInboxFiles(written);
|
|
161
|
-
throw error;
|
|
162
|
-
}
|
|
163
|
-
return written;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Removes attachments written for a delivery that failed before reaching the
|
|
168
|
-
* agent, and the batch directory once it holds nothing — best effort, exactly
|
|
169
|
-
* like `deleteInboxImages`, since a delivery that already succeeded never calls
|
|
170
|
-
* this (the agent still has to open the path it was given).
|
|
171
|
-
*/
|
|
172
|
-
export function deleteInboxFiles(paths: readonly string[]): void {
|
|
173
|
-
const root = inboxFilesDir();
|
|
174
|
-
const dirs = new Set<string>();
|
|
175
|
-
for (const filePath of paths) {
|
|
176
|
-
try {
|
|
177
|
-
fs.unlinkSync(filePath);
|
|
178
|
-
} catch {
|
|
179
|
-
/* already gone or unwritable: nothing more to clean up */
|
|
180
|
-
}
|
|
181
|
-
dirs.add(path.dirname(filePath));
|
|
182
|
-
}
|
|
183
|
-
for (const dir of dirs) {
|
|
184
|
-
if (dir === root || !dir.startsWith(root + path.sep)) continue;
|
|
185
|
-
try {
|
|
186
|
-
fs.rmdirSync(dir);
|
|
187
|
-
} catch {
|
|
188
|
-
/* the batch still holds something, or is already gone */
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/** Saves an admitted batch and folds the resulting paths into the delivered
|
|
194
|
-
text, one per line after it — the same shape `buildImagePayload` gives an
|
|
195
|
-
agent for a pasted image. */
|
|
196
|
-
export function buildFilePayload(
|
|
197
|
-
text: string,
|
|
198
|
-
files: readonly InboxFileUpload[],
|
|
199
|
-
token: string,
|
|
200
|
-
): InboxFilePayloadBundle {
|
|
201
|
-
const filePaths = saveInboxFiles(files, token);
|
|
202
|
-
return { payload: [text, ...filePaths].filter(Boolean).join("\n"), filePaths };
|
|
203
|
-
}
|
|
File without changes
|