@surething/cockpit 1.0.188 → 1.0.190
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/.next-prod/BUILD_ID +1 -1
- package/.next-prod/app-path-routes-manifest.json +31 -28
- package/.next-prod/build-manifest.json +2 -2
- package/.next-prod/prerender-manifest.json +3 -3
- package/.next-prod/routes-manifest.json +20 -0
- package/.next-prod/server/app/_global-error/page.js.nft.json +1 -1
- package/.next-prod/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/_global-error.html +2 -2
- package/.next-prod/server/app/_global-error.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next-prod/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found/page.js.nft.json +1 -1
- package/.next-prod/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/_not-found.html +2 -2
- package/.next-prod/server/app/_not-found.rsc +3 -3
- package/.next-prod/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/.next-prod/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/.next-prod/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next-prod/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next-prod/server/app/api/bash/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/bash/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/chat/codex/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/codex/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/chat/kimi/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/kimi/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/chat/ollama/route.js +26 -8
- package/.next-prod/server/app/api/chat/ollama/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/ollama/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/chat/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/chat/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/claude-stats/route.js +1 -1
- package/.next-prod/server/app/api/claude-stats/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/claude-stats/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/commands/route.js +1 -1
- package/.next-prod/server/app/api/commands/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/commands/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/comments/route.js +1 -1
- package/.next-prod/server/app/api/comments/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/comments/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/db/columns/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/columns/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/db/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/connect/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/db/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/disconnect/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/db/export/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/export/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/db/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/query/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/db/schemas/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/db/schemas/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/extension/version/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/extension/version/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/file/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/file/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/blame/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/blame/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/clipboard/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/clipboard/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/copy/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/copy/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/delete/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/delete/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/expanded/route.js +1 -1
- package/.next-prod/server/app/api/files/expanded/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/expanded/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/index/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/index/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/init/route.js +1 -1
- package/.next-prod/server/app/api/files/init/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/init/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/paste/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/paste/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/read/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/read/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/readdir/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/readdir/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/recent/route.js +1 -1
- package/.next-prod/server/app/api/files/recent/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/recent/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/save/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/save/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/files/search/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/files/search/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/branch-diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/branch-diff/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/branches/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/branches/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/commit-diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/commit-diff/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/commits/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/commits/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/diff/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/diff/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/discard/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/discard/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/stage/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/stage/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/status/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/status/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/unstage/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/unstage/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/git/worktree/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/git/worktree/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/global-state/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/global-state/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/jupyter/load/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/jupyter/load/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/jupyter/save/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/jupyter/save/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/jupyter/shutdown/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/jupyter/shutdown/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/lsp/definition/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/definition/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/lsp/hover/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/hover/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/lsp/references/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/references/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/lsp/status/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/status/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/lsp/warmup/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/lsp/warmup/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/mysql/columns/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/columns/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/mysql/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/connect/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/mysql/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/disconnect/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/mysql/export/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/export/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/mysql/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/query/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/mysql/schemas/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/mysql/schemas/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/neo4j/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/connect/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/neo4j/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/disconnect/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/neo4j/query/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/query/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/neo4j/schema/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/neo4j/schema/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/note/route.js +1 -1
- package/.next-prod/server/app/api/note/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/note/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/ollama/models/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/ollama/start/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/ollama/start/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/open-cursor/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/open-cursor/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/open-vscode/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/open-vscode/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/pick-folder/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/pick-folder/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/pinned-sessions/route.js +1 -1
- package/.next-prod/server/app/api/pinned-sessions/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/pinned-sessions/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/project-settings/route.js +1 -1
- package/.next-prod/server/app/api/project-settings/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/project-settings/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/project-state/route.js +1 -1
- package/.next-prod/server/app/api/project-state/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/project-state/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/projects/route.js +1 -1
- package/.next-prod/server/app/api/projects/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/redis/command/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/command/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/redis/connect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/connect/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/redis/delete/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/delete/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/redis/disconnect/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/disconnect/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/redis/get/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/get/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/redis/keys/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/keys/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/redis/set/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/redis/set/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/review/[id]/comments/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/[id]/comments/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/review/[id]/replies/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/[id]/replies/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/review/[id]/route.js +1 -1
- package/.next-prod/server/app/api/review/[id]/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/[id]/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/review/identify/route.js +1 -1
- package/.next-prod/server/app/api/review/identify/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/identify/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/review/order/route.js +1 -1
- package/.next-prod/server/app/api/review/order/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/order/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/review/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/review/share-info/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/share-info/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/review/users/route.js +1 -1
- package/.next-prod/server/app/api/review/users/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/review/users/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/scheduled-tasks/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/scheduled-tasks/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/services/config/route.js +1 -1
- package/.next-prod/server/app/api/services/config/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/services/config/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/services/scripts/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/services/scripts/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/fork/route.js +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/fork/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/fork/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/history/route.js +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/history/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/session/[sessionId]/history/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/session-by-path/route.js +1 -1
- package/.next-prod/server/app/api/session-by-path/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/session-by-path/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js +1 -1
- package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/sessions/projects/[encodedPath]/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/sessions/projects/route.js +1 -1
- package/.next-prod/server/app/api/sessions/projects/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/sessions/projects/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/sessions/route.js +1 -1
- package/.next-prod/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/settings/route.js +1 -1
- package/.next-prod/server/app/api/settings/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/skills/[id]/route.js +1 -0
- package/.next-prod/server/app/api/skills/[id]/route.js.nft.json +1 -0
- package/.next-prod/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -0
- package/.next-prod/server/app/api/skills/content/route.js +1 -0
- package/.next-prod/server/app/api/skills/content/route.js.nft.json +1 -0
- package/.next-prod/server/app/api/skills/content/route_client-reference-manifest.js +1 -0
- package/.next-prod/server/app/api/skills/route.js +1 -0
- package/.next-prod/server/app/api/skills/route.js.nft.json +1 -0
- package/.next-prod/server/app/api/skills/route_client-reference-manifest.js +1 -0
- package/.next-prod/server/app/api/terminal/aliases/route.js +1 -1
- package/.next-prod/server/app/api/terminal/aliases/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/aliases/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/terminal/autocomplete/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/autocomplete/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/terminal/bubble-order/route.js +1 -1
- package/.next-prod/server/app/api/terminal/bubble-order/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/bubble-order/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/terminal/env/route.js +1 -1
- package/.next-prod/server/app/api/terminal/env/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/env/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/terminal/history/route.js +1 -1
- package/.next-prod/server/app/api/terminal/history/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/terminal/history/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/api/version/route.js.nft.json +1 -1
- package/.next-prod/server/app/api/version/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next-prod/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next-prod/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/page.js +13 -13
- package/.next-prod/server/app/page.js.nft.json +1 -1
- package/.next-prod/server/app/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/project/page.js +8 -7
- package/.next-prod/server/app/project/page.js.nft.json +1 -1
- package/.next-prod/server/app/project/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app/review/[id]/page.js +1 -1
- package/.next-prod/server/app/review/[id]/page.js.nft.json +1 -1
- package/.next-prod/server/app/review/[id]/page_client-reference-manifest.js +1 -1
- package/.next-prod/server/app-paths-manifest.json +31 -28
- package/.next-prod/server/chunks/1661.js +1 -0
- package/.next-prod/server/chunks/2325.js +1 -1
- package/.next-prod/server/chunks/2338.js +1 -0
- package/.next-prod/server/chunks/4098.js +1 -1
- package/.next-prod/server/chunks/459.js +1 -0
- package/.next-prod/server/chunks/5394.js +1 -1
- package/.next-prod/server/chunks/6043.js +4 -0
- package/.next-prod/server/chunks/7122.js +1 -0
- package/.next-prod/server/chunks/7514.js +1 -1
- package/.next-prod/server/functions-config-manifest.json +3 -0
- package/.next-prod/server/pages/404.html +2 -2
- package/.next-prod/server/pages/500.html +2 -2
- package/.next-prod/server/server-reference-manifest.json +1 -1
- package/.next-prod/static/chunks/3530-49f50405e2b2a8c2.js +14 -0
- package/.next-prod/static/chunks/3743-66d6d2ef6629c733.js +4 -0
- package/.next-prod/static/chunks/6108-df36466c7d900315.js +1 -0
- package/.next-prod/static/chunks/6148-ceb1b58ea7be6767.js +1 -0
- package/.next-prod/static/chunks/6878-b27072ccf7fd4eba.js +1 -0
- package/.next-prod/static/chunks/9062-a330afa1af7f133e.js +1 -0
- package/.next-prod/static/chunks/app/_global-error/page-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/bash/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/codex/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/kimi/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/ollama/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/chat/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/claude-stats/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/commands/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/comments/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/db/columns/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/db/connect/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/db/disconnect/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/db/export/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/db/query/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/db/schemas/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/extension/version/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/file/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/blame/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/clipboard/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/copy/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/delete/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/expanded/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/index/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/init/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/paste/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/read/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/readdir/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/recent/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/save/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/files/search/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/branch-diff/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/branches/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/commit-diff/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/commits/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/diff/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/discard/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/stage/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/status/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/unstage/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/git/worktree/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/global-state/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/jupyter/load/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/jupyter/save/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/definition/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/hover/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/references/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/status/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/lsp/warmup/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/columns/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/connect/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/disconnect/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/export/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/query/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/mysql/schemas/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/neo4j/connect/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/neo4j/query/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/neo4j/schema/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/note/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/ollama/models/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/ollama/start/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/open-cursor/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/open-vscode/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/pick-folder/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/pinned-sessions/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/project-settings/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/project-state/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/projects/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/command/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/connect/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/delete/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/disconnect/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/get/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/keys/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/redis/set/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/review/[id]/comments/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/review/[id]/replies/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/review/[id]/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/review/identify/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/review/order/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/review/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/review/share-info/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/review/users/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/scheduled-tasks/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/services/config/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/services/scripts/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/session-by-path/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/sessions/projects/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/sessions/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/settings/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/skills/[id]/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/skills/content/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/skills/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/aliases/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/env/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/terminal/history/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/api/version/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/manifest.webmanifest/route-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/app/page-e0d663a97bc29595.js +1 -0
- package/.next-prod/static/chunks/app/project/page-ff9fb0aaf89c8457.js +29 -0
- package/.next-prod/static/chunks/app/review/[id]/{page-559260ff9227d0b4.js → page-be83af23e89a03f9.js} +1 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-f626fdfbc87b7a2c.js +1 -0
- package/.next-prod/static/css/75f39a8350e8177f.css +3 -0
- package/.next-prod/static/wxVgEFGuD9nbopEcuclYA/_buildManifest.js +1 -0
- package/.next-prod/trace +13 -12
- package/.next-prod/trace-build +1 -1
- package/.next-prod/types/app/api/skills/[id]/route.ts +350 -0
- package/.next-prod/types/app/api/skills/content/route.ts +350 -0
- package/.next-prod/types/app/api/skills/route.ts +350 -0
- package/.next-prod/types/routes.d.ts +4 -1
- package/.next-prod/types/validator.ts +27 -0
- package/bin/cock-browser.mjs +65 -1
- package/bin/cock.mjs +20 -2
- package/chrome-extension/automation.js +36 -0
- package/chrome-extension/background.js +49 -2
- package/dist/{chunk-KLV3PBIZ.mjs → chunk-ZDTXJE6Z.mjs} +1 -0
- package/dist/scheduledTasks.mjs +1 -1
- package/dist/wsServer.mjs +1 -1
- package/package.json +1 -1
- package/.next-prod/server/chunks/4042.js +0 -1
- package/.next-prod/server/chunks/6062.js +0 -1
- package/.next-prod/server/chunks/7284.js +0 -1
- package/.next-prod/static/_gYuZ_hBlVHw7RvEBSdgN/_buildManifest.js +0 -1
- package/.next-prod/static/chunks/1593-d845ec6e5c8de67e.js +0 -1
- package/.next-prod/static/chunks/2072-f08fabf0a6541d15.js +0 -4
- package/.next-prod/static/chunks/3530-6d8abfd0e950d439.js +0 -14
- package/.next-prod/static/chunks/5493-83d6a5ec42d6cbb3.js +0 -1
- package/.next-prod/static/chunks/app/_global-error/page-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/bash/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/codex/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/kimi/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/ollama/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/chat/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/claude-stats/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/commands/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/comments/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/db/columns/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/db/connect/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/db/disconnect/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/db/export/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/db/query/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/db/schemas/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/extension/version/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/file/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/blame/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/clipboard/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/copy/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/delete/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/expanded/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/index/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/init/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/paste/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/read/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/readdir/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/recent/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/save/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/files/search/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/branch-diff/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/branches/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/commit-diff/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/commits/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/diff/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/discard/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/stage/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/status/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/unstage/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/git/worktree/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/global-state/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/jupyter/load/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/jupyter/save/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/jupyter/shutdown/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/definition/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/hover/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/references/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/status/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/lsp/warmup/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/columns/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/connect/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/disconnect/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/export/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/query/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/mysql/schemas/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/neo4j/connect/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/neo4j/disconnect/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/neo4j/query/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/neo4j/schema/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/note/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/ollama/models/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/ollama/start/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/open-cursor/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/open-vscode/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/pick-folder/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/pinned-sessions/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/project-settings/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/project-state/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/projects/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/command/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/connect/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/delete/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/disconnect/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/get/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/keys/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/redis/set/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/review/[id]/comments/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/review/[id]/replies/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/review/[id]/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/review/identify/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/review/order/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/review/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/review/share-info/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/review/users/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/scheduled-tasks/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/services/config/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/services/scripts/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/session/[sessionId]/fork/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/session/[sessionId]/history/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/session-by-path/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/sessions/projects/[encodedPath]/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/sessions/projects/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/sessions/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/settings/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/aliases/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/autocomplete/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/bubble-order/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/env/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/terminal/history/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/api/version/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/manifest.webmanifest/route-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/app/page-cc2b332242bc2c93.js +0 -1
- package/.next-prod/static/chunks/app/project/page-b867dec5473dadac.js +0 -25
- package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/chunks/next/dist/client/components/builtin/unauthorized-6f58f82d7dc6888f.js +0 -1
- package/.next-prod/static/css/bbd65867698c479b.css +0 -3
- /package/.next-prod/static/{_gYuZ_hBlVHw7RvEBSdgN → wxVgEFGuD9nbopEcuclYA}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2951],{7482:(e,t,r)=>{Promise.resolve().then(r.bind(r,97899))},97899:(e,t,r)=>{"use strict";r.d(t,{ReviewPage:()=>E});var n=r(95155),o=r(12115),s=r(79114),i=r(26108),l=r(94002),a=r(72816),d=r(95766);function c({selectedText:e,position:t,onSubmit:r,onCancel:i}){let{t:l}=(0,s.Bd)(),[a,d]=(0,o.useState)(""),c=(0,o.useRef)(null),u=(0,o.useRef)(null);(0,o.useEffect)(()=>{c.current?.focus()},[]),(0,o.useEffect)(()=>{let e=e=>{"Escape"===e.key&&i()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[i]),(0,o.useEffect)(()=>{let e=e=>{!u.current||u.current.contains(e.target)||a.trim()||i()};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[a,i]);let x=()=>{let e=a.trim();e&&r(e)},m=e.length>60?e.slice(0,57)+"...":e;return(0,n.jsxs)("div",{ref:u,className:"absolute z-50 w-96 bg-card border border-border rounded-lg shadow-lg",style:{top:t.top,left:Math.max(8,t.left-192)},children:[(0,n.jsxs)("div",{className:"px-3 pt-3 pb-2",children:[(0,n.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:l("review.selectedText")}),(0,n.jsx)("div",{className:"text-xs bg-yellow-500/10 border-l-2 border-yellow-500 px-2 py-1 rounded-r truncate",children:m})]}),(0,n.jsx)("div",{className:"px-3 pb-2",children:(0,n.jsx)("textarea",{ref:c,value:a,onChange:e=>d(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),x())},placeholder:l("review.addCommentPlaceholder"),className:"w-full px-2 py-1.5 text-sm bg-secondary border border-border rounded resize-none focus:outline-none focus:border-brand",rows:4})}),(0,n.jsxs)("div",{className:"px-3 pb-3 flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground",children:l("review.enterSubmitHint")}),(0,n.jsxs)("div",{className:"flex gap-1",children:[(0,n.jsx)("button",{onClick:i,className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:l("common.cancel")}),(0,n.jsx)("button",{onClick:x,disabled:!a.trim(),className:"px-2 py-1 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:l("review.commentBtn")})]})]})]})}let u={bg:"rgba(234, 179, 8, 0.15)",bgActive:"rgba(234, 179, 8, 0.4)",bgPending:"rgba(234, 179, 8, 0.3)",border:"rgba(234, 179, 8, 0.7)",borderPending:"rgba(234, 179, 8, 0.9)"},x={bg:"rgba(234, 179, 8, 0.1)",bgActive:"rgba(234, 179, 8, 0.3)",bgPending:"rgba(234, 179, 8, 0.2)",border:"rgba(234, 179, 8, 0.5)",borderPending:"rgba(234, 179, 8, 0.7)"};function m({rects:e,activeCommentId:t,pendingCommentId:r,isDark:o}){if(0===e.length)return null;let s=o?x:u;return(0,n.jsx)("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:0,overflow:"visible",pointerEvents:"none",zIndex:5},children:e.map((e,o)=>{let i=e.commentId===t,l=e.commentId===r,a=s.bg;return l?a=s.bgPending:i&&(a=s.bgActive),(0,n.jsx)("div",{"data-comment-id":e.commentId,style:{position:"absolute",top:e.top,left:e.left,width:e.width,height:e.height,backgroundColor:a,borderBottom:`1px solid ${l?s.borderPending:s.border}`,borderRadius:1,pointerEvents:"none"}},`${e.commentId}-${o}`)})})}let h=[d.W];function f({content:e,comments:t,activeCommentId:r,isActive:s,onAddComment:d,onHighlightClick:u,scrollToHighlightRef:x}){let{resolvedTheme:f}=(0,a.D)(),p=(0,o.useRef)(null),v=(0,o.useRef)(null),[g,b]=(0,o.useState)(null),{rects:w,scrollToHighlight:j}=function(e,t,r,n){let[s,i]=(0,o.useState)([]),l=(0,o.useRef)(0),a=(0,o.useRef)(r);(0,o.useEffect)(()=>{a.current=r},[r]);let d=(0,o.useCallback)(()=>{l.current&&cancelAnimationFrame(l.current),l.current=requestAnimationFrame(()=>{let r=e.current,n=t.current;if(!r||!n)return;let o=function(e,t,r){let n=[],o=t.getBoundingClientRect(),s=function(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),n=0;for(;r.nextNode();){let e=r.currentNode,o=e.textContent?.length||0;t.push({node:e,start:n,end:n+o}),n+=o}return t}(e);if(0===s.length)return n;for(let e of r){let{startOffset:r,endOffset:i}=e.anchor;if(r>=i)continue;let l=null,a=0,d=null,c=0;for(let{node:e,start:t,end:n}of s)if(!l&&r>=t&&r<n&&(l=e,a=r-t),i>t&&i<=n){d=e,c=i-t;break}if(!l||!d)continue;let u=document.createRange();try{u.setStart(l,a),u.setEnd(d,c)}catch{continue}for(let r of u.getClientRects())r.width<1||r.height<1||n.push({commentId:e.id,top:r.top-o.top+t.scrollTop,left:r.left-o.left+t.scrollLeft,width:r.width,height:r.height})}return n}(r,n,a.current);i(e=>e.length===o.length&&e.every((e,t)=>e.commentId===o[t].commentId&&.5>Math.abs(e.top-o[t].top)&&.5>Math.abs(e.left-o[t].left)&&.5>Math.abs(e.width-o[t].width)&&.5>Math.abs(e.height-o[t].height))?e:o)})},[e,t]);(0,o.useEffect)(()=>{d()},[r,n,d]),(0,o.useEffect)(()=>{let t=e.current;if(!t)return;let r=new MutationObserver(()=>d());return r.observe(t,{childList:!0,subtree:!0,characterData:!0}),()=>r.disconnect()},[e,d]),(0,o.useEffect)(()=>{let t=e.current;if(!t)return;let r=new ResizeObserver(()=>d());return r.observe(t),()=>r.disconnect()},[e,d]),(0,o.useEffect)(()=>()=>{l.current&&cancelAnimationFrame(l.current)},[]);let c=(0,o.useCallback)(e=>{let r=t.current;if(!r)return;let n=s.find(t=>t.commentId===e);if(!n)return;let o=r.clientHeight;r.scrollTo({top:n.top-o/2+n.height/2,behavior:"smooth"})},[t,s]);return{rects:s,scrollToHighlight:c}}(p,v,(0,o.useMemo)(()=>g?[...t,{id:"__pending__",author:"",authorId:"",content:"",anchor:g.anchor,createdAt:0,replies:[]}]:t,[t,g]),r);(0,o.useEffect)(()=>{x.current=j},[j,x]);let y=(0,o.useRef)(w);(0,o.useEffect)(()=>{y.current=w},[w]);let k=(0,o.useCallback)(e=>{let t=window.getSelection(),r=t&&!t.isCollapsed;if(r&&s&&p.current){let r=t.getRangeAt(0);if(p.current.contains(r.startContainer)&&p.current.contains(r.endContainer)){let n=function(e,t){let r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),n=0,o=-1,s=-1;for(;r.nextNode();){let e=r.currentNode,i=e.textContent?.length||0;if(e===t.startContainer&&(o=n+t.startOffset),e===t.endContainer){s=n+t.endOffset;break}n+=i}if(-1===o||-1===s||o>=s)return null;let i=e.textContent?.slice(o,s)||"";return i.trim()?{startOffset:o,endOffset:s,selectedText:i}:null}(p.current,r);if(n){let r=v.current??p.current.parentElement,o=r.getBoundingClientRect();b({anchor:n,position:{top:e.clientY-o.top+r.scrollTop+8,left:e.clientX-o.left}}),t.removeAllRanges();return}}}if(!r&&!g){let t=v.current;if(!t)return;let r=t.getBoundingClientRect(),n=e.clientX-r.left+t.scrollLeft,o=e.clientY-r.top+t.scrollTop;for(let e of y.current)if("__pending__"!==e.commentId&&n>=e.left&&n<=e.left+e.width&&o>=e.top&&o<=e.top+e.height)return void u(e.commentId)}},[s,g,u]),C=(0,o.useCallback)(e=>{g&&(d(e,g.anchor),b(null),window.getSelection()?.removeAllRanges())},[g,d]),N=(0,o.useCallback)(()=>{b(null),window.getSelection()?.removeAllRanges()},[]);return(0,n.jsxs)("div",{className:"h-full flex bg-card",children:[(0,n.jsx)(l.l,{content:e,containerRef:v}),(0,n.jsxs)("div",{ref:v,className:"flex-1 overflow-auto relative",onMouseUp:k,children:[(0,n.jsx)("div",{ref:p,className:"p-6 review-markdown-container",children:(0,n.jsx)(i.T,{content:e,rehypePlugins:h})}),(0,n.jsx)(m,{rects:w,activeCommentId:r,pendingCommentId:g?"__pending__":null,isDark:"dark"===f}),g&&(0,n.jsx)(c,{selectedText:g.anchor.selectedText,position:g.position,onSubmit:C,onCancel:N})]})]})}var p=r(87918);function v(e){let t=new Date(e),r=Math.floor((new Date().getTime()-t.getTime())/6e4);if(r<1)return p.A.t("common.justNow");if(r<60)return p.A.t("common.minutesAgo",{count:r});let n=Math.floor(r/60);if(n<24)return p.A.t("common.hoursAgo",{count:n});let o=Math.floor(n/24);return o<7?p.A.t("common.daysAgo",{count:o}):t.toLocaleDateString()}let g=(0,o.forwardRef)(function({comment:e,isActive:t,isOwnComment:r,isAdmin:i,currentAuthorId:l,canInteract:a,userNameMap:d,onClick:c,onDelete:u,onEdit:x,onToggleClosed:m,onAddReply:h,onDeleteReply:f,onEditReply:p},g){let{t:b}=(0,s.Bd)(),w=(e,t)=>d[e]||t,[j,y]=(0,o.useState)(""),[k,C]=(0,o.useState)(!1),[N,E]=(0,o.useState)(!1),[S,R]=(0,o.useState)(""),[T,I]=(0,o.useState)(null),[L,A]=(0,o.useState)(""),D=()=>{let e=j.trim();e&&(h(e),y(""),C(!1))},M=()=>{let t=S.trim();t&&t!==e.content&&x(t),E(!1)},P=()=>{if(!T)return;let t=L.trim(),r=e.replies.find(e=>e.id===T);!t||r&&t===r.content||p(T,t),I(null)},O=e.anchor.selectedText.length>80?e.anchor.selectedText.slice(0,77)+"...":e.anchor.selectedText,$=i||r||a;return e.closed?(0,n.jsxs)("div",{ref:g,className:"rounded-lg border border-border/50 bg-card/50 opacity-60 hover:opacity-80 transition-all cursor-pointer px-3 py-2 flex items-center gap-2",onClick:c,children:[(0,n.jsx)("span",{className:"w-4 h-4 rounded-full bg-brand/20 text-brand flex items-center justify-center text-[9px] font-bold flex-shrink-0",children:w(e.authorId,e.author).charAt(0)}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground truncate flex-1",children:O}),(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground/50 flex-shrink-0",children:b("review.closedLabel")}),$&&(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),m(!1)},className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors flex-shrink-0",title:b("review.reopenReview"),children:b("review.reopen")}),(r&&a||i)&&(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),u()},className:"text-[10px] text-muted-foreground hover:text-red-500 transition-colors flex-shrink-0",title:b("review.deleteComment"),children:b("common.delete")})]}):(0,n.jsxs)("div",{ref:g,className:`rounded-lg border transition-all cursor-pointer ${t?"border-brand bg-brand/5 shadow-sm":"border-border bg-card hover:border-muted-foreground/30"}`,onClick:c,children:[(0,n.jsx)("div",{className:"px-3 pt-3 pb-1",children:(0,n.jsx)("div",{className:"text-xs bg-yellow-500/10 border-l-2 border-yellow-500 px-2 py-1 rounded-r text-muted-foreground truncate",children:O})}),(0,n.jsxs)("div",{className:"px-3 pt-2 flex items-center gap-2",children:[(0,n.jsx)("span",{className:"w-5 h-5 rounded-full bg-brand/20 text-brand flex items-center justify-center text-[10px] font-bold flex-shrink-0",children:w(e.authorId,e.author).charAt(0)}),(0,n.jsx)("span",{className:"text-xs font-medium",children:w(e.authorId,e.author)}),(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground",children:v(e.createdAt)}),(0,n.jsx)("div",{className:"flex-1"}),!N&&(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[$&&(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),m(!0)},className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors",title:b("review.closeComment"),children:b("review.closeComment")}),r&&a&&(0,n.jsx)("button",{onClick:t=>{t.stopPropagation(),R(e.content),E(!0)},className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors",title:b("review.editComment"),children:b("common.edit")}),(r&&a||i)&&(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),u()},className:"text-[10px] text-muted-foreground hover:text-red-500 transition-colors",title:b("review.deleteComment"),children:b("common.delete")})]})]}),(0,n.jsx)("div",{className:"px-3 pt-1 pb-2",children:N?(0,n.jsxs)("div",{onClick:e=>e.stopPropagation(),children:[(0,n.jsx)("textarea",{value:S,onChange:e=>R(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),M()),"Escape"===e.key&&E(!1)},className:"w-full px-2 py-1.5 text-sm bg-secondary border border-border rounded resize-none focus:outline-none focus:border-brand",rows:3,autoFocus:!0}),(0,n.jsxs)("div",{className:"flex items-center justify-end gap-1 mt-1",children:[(0,n.jsx)("button",{onClick:()=>E(!1),className:"px-2 py-0.5 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:b("common.cancel")}),(0,n.jsx)("button",{onClick:M,disabled:!S.trim(),className:"px-2 py-0.5 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:b("common.save")})]})]}):(0,n.jsxs)("div",{className:"text-sm whitespace-pre-wrap",children:[e.content,e.edited&&(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground ml-1",children:b("review.edited")})]})}),e.replies.length>0&&(0,n.jsx)("div",{className:"mx-3 border-t border-border",children:e.replies.map(e=>(0,n.jsxs)("div",{className:"py-2 border-b border-border last:border-b-0",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"w-4 h-4 rounded-full bg-accent text-muted-foreground flex items-center justify-center text-[9px] font-bold flex-shrink-0",children:w(e.authorId,e.author).charAt(0)}),(0,n.jsx)("span",{className:"text-xs font-medium",children:w(e.authorId,e.author)}),(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground",children:v(e.createdAt)}),(0,n.jsx)("div",{className:"flex-1"}),T!==e.id&&(e.authorId===l&&a||i)&&(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[e.authorId===l&&a&&(0,n.jsx)("button",{onClick:t=>{var r;t.stopPropagation(),r=e.id,A(e.content),I(r)},className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors",title:b("review.editReply"),children:b("common.edit")}),(0,n.jsx)("button",{onClick:t=>{t.stopPropagation(),f(e.id)},className:"text-[10px] text-muted-foreground hover:text-red-500 transition-colors",title:b("review.deleteReply"),children:b("common.delete")})]})]}),T===e.id?(0,n.jsxs)("div",{className:"mt-1 pl-6",onClick:e=>e.stopPropagation(),children:[(0,n.jsx)("textarea",{value:L,onChange:e=>A(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),P()),"Escape"===e.key&&I(null)},className:"w-full px-2 py-1 text-sm bg-secondary border border-border rounded resize-none focus:outline-none focus:border-brand",rows:2,autoFocus:!0}),(0,n.jsxs)("div",{className:"flex items-center justify-end gap-1 mt-1",children:[(0,n.jsx)("button",{onClick:()=>I(null),className:"px-2 py-0.5 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:b("common.cancel")}),(0,n.jsx)("button",{onClick:P,disabled:!L.trim(),className:"px-2 py-0.5 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:b("common.save")})]})]}):(0,n.jsxs)("div",{className:"text-sm mt-0.5 pl-6 whitespace-pre-wrap",children:[e.content,e.edited&&(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground ml-1",children:b("review.edited")})]})]},e.id))}),(0,n.jsx)("div",{className:"px-3 pb-2 pt-1",children:k?(0,n.jsxs)("div",{className:"mt-1",onClick:e=>e.stopPropagation(),children:[(0,n.jsx)("textarea",{value:j,onChange:e=>y(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),D()),"Escape"===e.key&&C(!1)},placeholder:b("review.replyPlaceholder"),className:"w-full px-2 py-1 text-sm bg-secondary border border-border rounded resize-none focus:outline-none focus:border-brand",rows:2,autoFocus:!0}),(0,n.jsxs)("div",{className:"flex items-center justify-end gap-1 mt-1",children:[(0,n.jsx)("button",{onClick:()=>C(!1),className:"px-2 py-0.5 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:b("common.cancel")}),(0,n.jsx)("button",{onClick:D,disabled:!j.trim(),className:"px-2 py-0.5 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:b("review.reply")})]})]}):a&&(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),C(!0)},className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:b("review.reply")})})]})});function b({comments:e,activeCommentId:t,currentAuthorId:r,isActive:i,isAdmin:l,userNameMap:a,onCommentClick:d,onNavigateComment:c,onDeleteComment:u,onEditComment:x,onToggleCommentClosed:m,onAddReply:h,onDeleteReply:f,onEditReply:p,scrollToCommentRef:v}){let{t:b}=(0,s.Bd)(),w=(0,o.useRef)(new Map),j=(0,o.useRef)(null),y=(0,o.useCallback)(e=>{let t=w.current.get(e);t&&t.scrollIntoView({behavior:"smooth",block:"center"})},[]);(0,o.useEffect)(()=>{v.current=y},[y,v]);let k=[...e].sort((e,t)=>e.anchor.startOffset-t.anchor.startOffset);return(0,n.jsxs)("div",{ref:j,className:"h-full flex flex-col bg-card",children:[(0,n.jsxs)("div",{className:"px-4 py-2 bg-secondary border-b border-border flex-shrink-0 flex items-center",children:[(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:0===e.length?b("review.selectTextToComment"):t?b("review.commentsNavCount",{current:k.findIndex(e=>e.id===t)+1,total:e.length}):b("review.commentsCount",{count:e.length})}),e.length>0&&(0,n.jsxs)("div",{className:"flex items-center gap-1 ml-2",children:[(0,n.jsxs)("button",{onClick:()=>c("prev"),className:"px-1.5 py-0.5 text-[11px] text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors flex items-center gap-0.5",title:b("review.prevComment"),children:[(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("polyline",{points:"15 18 9 12 15 6"})}),b("review.prevComment")]}),(0,n.jsxs)("button",{onClick:()=>c("next"),className:"px-1.5 py-0.5 text-[11px] text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors flex items-center gap-0.5",title:b("review.nextComment"),children:[b("review.nextComment"),(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("polyline",{points:"9 18 15 12 9 6"})})]})]})]}),(0,n.jsx)("div",{className:"flex-1 overflow-auto",children:0===k.length?(0,n.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsx)("div",{className:"text-2xl mb-2",children:"\uD83D\uDCAC"}),(0,n.jsx)("div",{children:b("review.selectTextHint")})]})}):(0,n.jsx)("div",{className:"p-3 space-y-3",children:k.map(e=>(0,n.jsx)(g,{ref:t=>{t?w.current.set(e.id,t):w.current.delete(e.id)},comment:e,isActive:e.id===t,isOwnComment:e.authorId===r,isAdmin:l,currentAuthorId:r,canInteract:i,userNameMap:a,onClick:()=>d(e.id),onDelete:()=>u(e.id),onEdit:t=>x(e.id,t),onToggleClosed:t=>m(e.id,t),onAddReply:t=>h(e.id,t),onDeleteReply:t=>f(e.id,t),onEditReply:(t,r)=>p(e.id,t,r)},e.id))})})]})}function w({identity:e}){let{t}=(0,s.Bd)(),[r,i]=(0,o.useState)(!1),[l,a]=(0,o.useState)(""),d=(0,o.useRef)(null);(0,o.useEffect)(()=>{if(!r)return;let e=e=>{d.current&&!d.current.contains(e.target)&&i(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[r]);let c=()=>{let t=l.trim();t&&t!==e.name&&e.confirmName(t),i(!1)};return(0,n.jsxs)("div",{className:"relative",ref:d,children:[(0,n.jsxs)("button",{onClick:()=>{r||a(e.name),i(!r)},className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors flex items-center gap-1",title:t("review.identitySettings"),children:[(0,n.jsx)("span",{className:"w-5 h-5 rounded-full bg-brand/20 text-brand flex items-center justify-center text-[10px] font-bold",children:e.name.charAt(0)}),(0,n.jsx)("span",{className:"text-muted-foreground",children:e.name})]}),r&&(0,n.jsxs)("div",{className:"absolute right-0 top-full mt-1 w-56 bg-card border border-border rounded-lg shadow-lg p-3 z-50",children:[(0,n.jsx)("div",{className:"text-xs text-muted-foreground mb-2",children:t("review.reviewNickname")}),(0,n.jsx)("input",{type:"text",value:l,onChange:e=>a(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.nativeEvent.isComposing||c()},className:"w-full px-2 py-1 text-sm bg-secondary border border-border rounded focus:outline-none focus:border-brand",autoFocus:!0}),(0,n.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,n.jsx)("button",{onClick:()=>{e.randomize(),i(!1)},className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:t("review.random")}),(0,n.jsx)("div",{className:"flex-1"}),(0,n.jsx)("button",{onClick:()=>i(!1),className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:t("common.cancel")}),(0,n.jsx)("button",{onClick:c,className:"px-2 py-1 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors",children:t("common.save")})]})]})]})}function j({currentReviewId:e,onSelect:t,readOnly:r,refreshTrigger:i,onViewComments:l}){let{t:a}=(0,s.Bd)(),[d,c]=(0,o.useState)([]),[u,x]=(0,o.useState)(null),[m,h]=(0,o.useState)(null),[f,p]=(0,o.useState)(!1),[v,g]=(0,o.useState)(null),b=(0,o.useRef)(null),[w,j]=(0,o.useState)(null),y=(0,o.useCallback)(async()=>{try{let e=await fetch("/api/review");if(e.ok){let t=await e.json();c(t.reviews||[])}}catch{}},[]);(0,o.useEffect)(()=>{queueMicrotask(()=>y())},[y]),(0,o.useEffect)(()=>{queueMicrotask(()=>y())},[e,i,y]);let k=(0,o.useCallback)(async(e,t,r)=>{if(e.stopPropagation(),!m){h(t);try{(await fetch(`/api/review/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({active:!r})})).ok&&c(e=>e.map(e=>e.id===t?{...e,active:!r}:e))}catch{}h(null)}},[m]),C=(0,o.useCallback)(async(r,n)=>{if(r.stopPropagation(),!u){x(n);try{if((await fetch(`/api/review/${n}`,{method:"DELETE"})).ok&&(c(e=>e.filter(e=>e.id!==n)),n===e)){let e=d.filter(e=>e.id!==n);e.length>0&&t(e[0].id)}}catch{}x(null)}},[u,e,d,t]),N=(0,o.useCallback)((e,t)=>{b.current=t,e.dataTransfer.effectAllowed="move";let r=e.currentTarget;requestAnimationFrame(()=>r.classList.add("opacity-30"))},[]),E=(0,o.useCallback)(e=>{b.current=null,j(null),e.currentTarget instanceof HTMLElement&&e.currentTarget.classList.remove("opacity-30")},[]),S=(0,o.useCallback)((e,t)=>{e.preventDefault(),e.dataTransfer.dropEffect="move",b.current&&b.current!==t&&j(t)},[]),R=(0,o.useCallback)(async(e,t)=>{e.preventDefault(),j(null);let r=b.current;b.current=null,r&&r!==t&&c(e=>{let n=[...e],o=n.findIndex(e=>e.id===r),s=n.findIndex(e=>e.id===t);if(-1===o||-1===s)return e;let[i]=n.splice(o,1);return n.splice(s,0,i),fetch("/api/review/order",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({order:n.map(e=>e.id)})}).catch(()=>{}),n})},[]),T=r?d.filter(e=>e.active):d,I=!r;return f?(0,n.jsxs)("div",{className:"h-full flex flex-col items-center bg-secondary/50 w-9 flex-shrink-0 border-r border-border",children:[(0,n.jsx)("button",{onClick:()=>p(!1),className:"p-1.5 mt-2 text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",title:a("review.expandList"),children:(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("polyline",{points:"9 18 15 12 9 6"})})}),(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground/50 mt-2",style:{writingMode:"vertical-rl"},children:r?a("review.nDocs",{count:T.length}):a("review.nReviews",{count:T.length})})]}):(0,n.jsxs)("div",{className:"h-full flex flex-col bg-secondary/50 w-[200px] flex-shrink-0 border-r border-border",children:[(0,n.jsxs)("div",{className:"px-3 py-2 border-b border-border flex-shrink-0 flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:r?a("review.docList"):a("review.allReviewsList")}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground/60 ml-1.5",children:T.length})]}),(0,n.jsx)("button",{onClick:()=>p(!0),className:"p-0.5 text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",title:a("review.collapseList"),children:(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("polyline",{points:"15 18 9 12 15 6"})})})]}),(0,n.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[T.map(o=>(0,n.jsxs)("div",{draggable:I,onDragStart:I?e=>N(e,o.id):void 0,onDragEnd:I?E:void 0,onDragOver:I?e=>S(e,o.id):void 0,onDrop:I?e=>R(e,o.id):void 0,onMouseEnter:e=>{let t=e.currentTarget.getBoundingClientRect();g({id:o.id,text:o.title,top:t.top+t.height/2,left:t.right})},onMouseLeave:()=>g(e=>e?.id===o.id?null:e),onClick:()=>t(o.id),className:`group px-3 py-2 cursor-pointer border-b transition-colors ${w===o.id?"border-b-brand border-t border-t-transparent":"border-b-border/50"} ${o.id===e?"bg-accent/60":"hover:bg-accent/30"}`,children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[!r&&(0,n.jsx)("span",{className:`w-1.5 h-1.5 rounded-full flex-shrink-0 ${o.active?"bg-green-500":"bg-muted-foreground/40"}`}),(0,n.jsx)("span",{className:"text-xs truncate flex-1",children:o.title}),o.commentCount>0&&l&&(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),l(o.id)},className:"flex-shrink-0 p-0.5 rounded text-muted-foreground/0 group-hover:text-muted-foreground/60 hover:!text-brand hover:!bg-brand/10 transition-colors",title:a("review.viewComments"),children:(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("path",{d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})})}),!r&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{onClick:e=>k(e,o.id,o.active),className:`flex-shrink-0 p-0.5 rounded text-muted-foreground/0 group-hover:text-muted-foreground/60 hover:!text-foreground hover:!bg-accent transition-colors ${m===o.id?"opacity-50 pointer-events-none":""}`,title:o.active?a("review.closeReview"):a("review.reopenReview"),children:o.active?(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M18.36 6.64a9 9 0 1 1-12.73 0"}),(0,n.jsx)("line",{x1:"12",y1:"2",x2:"12",y2:"12"})]}):(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M18.36 6.64A9 9 0 0 1 12 21 9 9 0 0 1 5.64 6.64"}),(0,n.jsx)("line",{x1:"12",y1:"2",x2:"12",y2:"12"})]})}),(0,n.jsx)("button",{onClick:e=>C(e,o.id),className:`flex-shrink-0 p-0.5 rounded text-muted-foreground/0 group-hover:text-muted-foreground/60 hover:!text-red-500 hover:!bg-red-500/10 transition-colors ${u===o.id?"opacity-50 pointer-events-none":""}`,title:a("review.deleteReview"),children:(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,n.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]})})]})]}),o.commentCount>0&&(0,n.jsx)("div",{className:`text-[10px] text-muted-foreground/50 mt-0.5 ${r?"":"pl-3"}`,children:a("review.nComments",{count:o.commentCount})})]},o.id)),0===T.length&&(0,n.jsx)("div",{className:"px-3 py-4 text-xs text-muted-foreground/50 text-center",children:r?a("review.noOpenDocs"):a("review.noReviews")})]}),v&&(0,n.jsx)("div",{className:"fixed z-50 px-2 py-1 text-xs bg-popover text-popover-foreground border border-border rounded shadow-md whitespace-nowrap pointer-events-none",style:{top:v.top,left:v.left+8,transform:"translateY(-50%)"},children:v.text})]})}function y({currentName:e,onConfirm:t,onSkip:r}){let{t:i}=(0,s.Bd)(),[l,a]=(0,o.useState)(e),d=(0,o.useRef)(null);(0,o.useEffect)(()=>{d.current?.select()},[]);let c=()=>{let e=l.trim();e&&t(e)};return(0,n.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",children:(0,n.jsxs)("div",{className:"bg-card border border-border rounded-xl shadow-2xl w-80 p-5",children:[(0,n.jsx)("h2",{className:"text-base font-semibold mb-1",children:i("review.setNickname")}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground mb-4",children:i("review.nicknameHint")}),(0,n.jsx)("input",{ref:d,type:"text",value:l,onChange:e=>a(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.nativeEvent.isComposing||c(),"Escape"===e.key&&r()},placeholder:i("review.nicknamePlaceholder"),maxLength:20,className:"w-full px-3 py-2 text-sm bg-secondary border border-border rounded-lg focus:outline-none focus:border-brand",autoFocus:!0}),(0,n.jsxs)("div",{className:"flex items-center justify-end gap-2 mt-4",children:[(0,n.jsx)("button",{onClick:r,className:"px-3 py-1.5 text-xs rounded-lg hover:bg-accent transition-colors text-muted-foreground",children:i("review.skipForNow")}),(0,n.jsx)("button",{onClick:c,disabled:!l.trim(),className:"px-4 py-1.5 text-xs rounded-lg bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:i("common.save")})]})]})})}var k=r(24750);function C(){let e=p.A.t("reviewUtils.adjectives",{returnObjects:!0}),t=p.A.t("reviewUtils.nouns",{returnObjects:!0}),r=e[Math.floor(Math.random()*e.length)],n=t[Math.floor(Math.random()*t.length)];return`${r}${n}`}r(34015);var N=r(38093);function E({reviewId:e}){let{t}=(0,s.Bd)(),[r,i]=(0,o.useState)(e),[l,d]=(0,o.useState)(null),[c,u]=(0,o.useState)(!0),[x,m]=(0,o.useState)(null),[h,p]=(0,o.useState)(null),[v,g]=(0,o.useState)(!1),E=function(){let[e,t]=(0,o.useState)(""),[r,n]=(0,o.useState)(""),[s,i]=(0,o.useState)(!1),[l,a]=(0,o.useState)(!0);(0,o.useEffect)(()=>{fetch("/api/review/identify").then(e=>e.ok?e.json():null).then(e=>{e?.authorId?(t(e.authorId),e.name?(n(e.name),i(!0)):(n(C()),i(!1))):(t(Math.random().toString(36).slice(2,10)),n(C()),i(!1))}).catch(()=>{t(Math.random().toString(36).slice(2,10)),n(C()),i(!1)}).finally(()=>a(!1))},[]);let d=(0,o.useCallback)(e=>{let t=e.trim();t&&(n(t),i(!0),fetch("/api/review/identify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})}).catch(()=>{}))},[]);return{authorId:e,name:r,nameConfirmed:s,loading:l,setName:(0,o.useCallback)(e=>{let t=e.trim();t&&(n(t),fetch("/api/review/identify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})}).catch(()=>{}))},[]),confirmName:d,randomize:(0,o.useCallback)(()=>{n(C())},[])}}(),{resolvedTheme:S,setTheme:R}=(0,a.D)(),[T,I]=(0,o.useState)({}),[L,A]=(0,o.useState)(!1),[D,M]=(0,o.useState)(!1),P=(0,o.useCallback)(async()=>{try{let e=await fetch("/api/review/users");if(e.ok){let t=await e.json(),r={};for(let[e,n]of Object.entries(t.users))r[e]=n.name;I(r)}}catch{}},[]);(0,o.useEffect)(()=>{P()},[P]),(0,o.useEffect)(()=>{E.loading||!E.authorId||E.nameConfirmed||A(!0)},[E.loading,E.authorId,E.nameConfirmed]),(0,o.useEffect)(()=>{g("localhost"===window.location.hostname||"127.0.0.1"===window.location.hostname)},[]),(0,o.useEffect)(()=>{let e=localStorage.getItem("theme");e&&"system"!==e||R("dark")},[R]);let O=(0,o.useRef)(void 0),$=(0,o.useRef)(void 0),B=(0,o.useCallback)(e=>{e!==r&&(i(e),m(null),p(null),window.history.replaceState(null,"",`/review/${e}`))},[r]),F=(0,o.useCallback)(async()=>{try{let e=await fetch(`/api/review/${r}`);if(!e.ok)return void(404===e.status?m(t("review.reviewNotExist")):m(t("review.loadFailed")));let n=await e.json();d(n.review),m(null)}catch{m(t("review.networkError"))}finally{u(!1)}},[r]);(0,o.useEffect)(()=>{F()},[F]),(0,o.useEffect)(()=>{let e=setInterval(()=>{F(),P()},1e4);return()=>clearInterval(e)},[F,P]);let _=(0,o.useCallback)(async(e,n)=>{if(E.authorId)try{(await fetch(`/api/review/${r}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({author:E.name,authorId:E.authorId,content:e,anchor:n})})).ok&&await F()}catch{(0,N.oR)(t("toast.addCommentFailed"),"error")}},[r,E,F]),W=(0,o.useCallback)(async e=>{try{(await fetch(`/api/review/${r}/comments?commentId=${e}`,{method:"DELETE"})).ok&&await F()}catch{(0,N.oR)(t("toast.deleteCommentFailed"),"error")}},[r,F]),z=(0,o.useCallback)(async(e,n)=>{try{(await fetch(`/api/review/${r}/comments`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({commentId:e,content:n})})).ok&&await F()}catch{(0,N.oR)(t("toast.editCommentFailed"),"error")}},[r,F]),H=(0,o.useCallback)(async(e,n)=>{try{(await fetch(`/api/review/${r}/comments`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({commentId:e,closed:n})})).ok&&await F()}catch{(0,N.oR)(t("toast.operationFailed"),"error")}},[r,F,t]),K=(0,o.useCallback)(async(e,n)=>{if(E.authorId)try{(await fetch(`/api/review/${r}/replies`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({commentId:e,author:E.name,authorId:E.authorId,content:n})})).ok&&await F()}catch{(0,N.oR)(t("toast.addReplyFailed"),"error")}},[r,E,F]),J=(0,o.useCallback)(async(e,n)=>{try{(await fetch(`/api/review/${r}/replies?commentId=${e}&replyId=${n}`,{method:"DELETE"})).ok&&await F()}catch{(0,N.oR)(t("toast.deleteReplyFailed"),"error")}},[r,F]),V=(0,o.useCallback)(async(e,n,o)=>{try{(await fetch(`/api/review/${r}/replies`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({commentId:e,replyId:n,content:o})})).ok&&await F()}catch{(0,N.oR)(t("toast.editReplyFailed"),"error")}},[r,F]),U=(0,o.useCallback)(async()=>{try{let e=await fetch("/api/review/share-info"),n=await e.json(),o=n.shareBase?`${n.shareBase}/review/${r}`:window.location.href;await navigator.clipboard.writeText(o),(0,N.oR)(t("toast.linkCopied"),"success")}catch{(0,N.oR)(t("toast.copyFailed"),"error")}},[r]),q=(0,o.useCallback)(e=>{p(e),$.current?.(e)},[]),X=(0,o.useCallback)(e=>{p(e),O.current?.(e)},[]),Y=(0,o.useCallback)(e=>{let t;if(!l||0===l.comments.length)return;let r=[...l.comments].sort((e,t)=>e.anchor.startOffset-t.anchor.startOffset),n=h?r.findIndex(e=>e.id===h):-1;t="next"===e?n<r.length-1?n+1:0:n>0?n-1:r.length-1;let o=r[t];p(o.id),$.current?.(o.id),O.current?.(o.id)},[l,h]);return(0,n.jsxs)("div",{className:"h-screen flex flex-col bg-background text-foreground overflow-hidden",children:[L&&(0,n.jsx)(y,{currentName:E.name,onConfirm:e=>{E.confirmName(e),A(!1),P()},onSkip:()=>A(!1)}),l&&(0,n.jsx)(k._,{isOpen:D,onClose:()=>M(!1),comments:l.comments,reviewTitle:l.title,userNameMap:T,onCommentClick:e=>{p(e),$.current?.(e),O.current?.(e)}}),l&&(0,n.jsx)("div",{className:"py-2 bg-secondary border-b border-border flex-shrink-0 flex justify-center",children:(0,n.jsxs)("div",{className:"w-full max-w-[1800px] px-4 flex items-center gap-3",children:[(0,n.jsx)("h1",{className:"text-sm font-semibold truncate",children:l.title}),(0,n.jsx)("span",{className:"text-[11px] text-muted-foreground flex-shrink-0",children:t("review.updatedAt",{date:new Date(l.updatedAt||l.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})})}),(0,n.jsx)("span",{className:"flex-1"}),!v&&(0,n.jsx)("span",{className:`px-2 py-0.5 text-xs rounded-full ${l.active?"bg-green-500/15 text-green-600 dark:text-green-400":"bg-muted text-muted-foreground"}`,children:l.active?t("review.active"):t("review.closed")}),(0,n.jsxs)("button",{onClick:()=>M(!0),className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground flex items-center gap-1",title:t("review.viewAllComments"),children:[(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("path",{d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})}),t("review.viewCommentBtn")]}),(0,n.jsx)("button",{onClick:U,className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:t("review.copyLink")}),(0,n.jsx)("button",{onClick:()=>R("dark"===S?"light":"dark"),className:"p-1 text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",title:"dark"===S?t("settings.switchLight"):t("settings.switchDark"),children:"dark"===S?(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"5"}),(0,n.jsx)("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),(0,n.jsx)("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),(0,n.jsx)("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),(0,n.jsx)("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),(0,n.jsx)("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),(0,n.jsx)("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),(0,n.jsx)("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),(0,n.jsx)("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"})]}):(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})})}),(0,n.jsx)(w,{identity:E})]})}),(0,n.jsx)("div",{className:"flex-1 flex justify-center overflow-hidden",children:(0,n.jsxs)("div",{className:"w-full max-w-[1800px] flex overflow-hidden",children:[(0,n.jsx)(j,{currentReviewId:r,onSelect:B,readOnly:!v,refreshTrigger:l?.comments.length,onViewComments:e=>{e!==r&&B(e),M(!0)}}),c?(0,n.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,n.jsx)("div",{className:"text-muted-foreground",children:t("common.loading")})}):x||!l?(0,n.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsx)("div",{className:"text-xl mb-2",children:x||t("review.reviewNotFound")}),(0,n.jsx)("div",{className:"text-sm text-muted-foreground",children:t("review.checkLink")})]})}):(0,n.jsxs)("div",{className:"flex-1 flex overflow-hidden",children:[(0,n.jsx)("div",{className:"flex-1 h-full border-r border-border overflow-hidden",children:(0,n.jsx)(f,{content:l.content,comments:l.comments,activeCommentId:h,isActive:l.active,onAddComment:_,onHighlightClick:X,scrollToHighlightRef:$})}),(0,n.jsx)("div",{className:"w-[360px] h-full overflow-hidden flex-shrink-0",children:(0,n.jsx)(b,{comments:l.comments,activeCommentId:h,currentAuthorId:E.authorId,isActive:l.active,isAdmin:v,userNameMap:T,onCommentClick:q,onNavigateComment:Y,onDeleteComment:W,onEditComment:z,onToggleCommentClosed:H,onAddReply:K,onDeleteReply:J,onEditReply:V,scrollToCommentRef:O})})]})]})})]})}}},e=>{e.O(0,[8653,7330,9268,9114,3700,2171,3530,1593,8441,3794,7358],()=>e(e.s=7482)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2951],{7482:(e,t,r)=>{Promise.resolve().then(r.bind(r,97899))},97899:(e,t,r)=>{"use strict";r.d(t,{ReviewPage:()=>E});var n=r(95155),o=r(12115),s=r(79114),i=r(26108),l=r(94002),a=r(72816),d=r(95766);function c({selectedText:e,position:t,onSubmit:r,onCancel:i}){let{t:l}=(0,s.Bd)(),[a,d]=(0,o.useState)(""),c=(0,o.useRef)(null),u=(0,o.useRef)(null);(0,o.useEffect)(()=>{c.current?.focus()},[]),(0,o.useEffect)(()=>{let e=e=>{"Escape"===e.key&&i()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[i]),(0,o.useEffect)(()=>{let e=e=>{!u.current||u.current.contains(e.target)||a.trim()||i()};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[a,i]);let x=()=>{let e=a.trim();e&&r(e)},m=e.length>60?e.slice(0,57)+"...":e;return(0,n.jsxs)("div",{ref:u,className:"absolute z-50 w-96 bg-card border border-border rounded-lg shadow-lg",style:{top:t.top,left:Math.max(8,t.left-192)},children:[(0,n.jsxs)("div",{className:"px-3 pt-3 pb-2",children:[(0,n.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:l("review.selectedText")}),(0,n.jsx)("div",{className:"text-xs bg-yellow-500/10 border-l-2 border-yellow-500 px-2 py-1 rounded-r truncate",children:m})]}),(0,n.jsx)("div",{className:"px-3 pb-2",children:(0,n.jsx)("textarea",{ref:c,value:a,onChange:e=>d(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),x())},placeholder:l("review.addCommentPlaceholder"),className:"w-full px-2 py-1.5 text-sm bg-secondary border border-border rounded resize-none focus:outline-none focus:border-brand",rows:4})}),(0,n.jsxs)("div",{className:"px-3 pb-3 flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground",children:l("review.enterSubmitHint")}),(0,n.jsxs)("div",{className:"flex gap-1",children:[(0,n.jsx)("button",{onClick:i,className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:l("common.cancel")}),(0,n.jsx)("button",{onClick:x,disabled:!a.trim(),className:"px-2 py-1 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:l("review.commentBtn")})]})]})]})}let u={bg:"rgba(234, 179, 8, 0.15)",bgActive:"rgba(234, 179, 8, 0.4)",bgPending:"rgba(234, 179, 8, 0.3)",border:"rgba(234, 179, 8, 0.7)",borderPending:"rgba(234, 179, 8, 0.9)"},x={bg:"rgba(234, 179, 8, 0.1)",bgActive:"rgba(234, 179, 8, 0.3)",bgPending:"rgba(234, 179, 8, 0.2)",border:"rgba(234, 179, 8, 0.5)",borderPending:"rgba(234, 179, 8, 0.7)"};function m({rects:e,activeCommentId:t,pendingCommentId:r,isDark:o}){if(0===e.length)return null;let s=o?x:u;return(0,n.jsx)("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:0,overflow:"visible",pointerEvents:"none",zIndex:5},children:e.map((e,o)=>{let i=e.commentId===t,l=e.commentId===r,a=s.bg;return l?a=s.bgPending:i&&(a=s.bgActive),(0,n.jsx)("div",{"data-comment-id":e.commentId,style:{position:"absolute",top:e.top,left:e.left,width:e.width,height:e.height,backgroundColor:a,borderBottom:`1px solid ${l?s.borderPending:s.border}`,borderRadius:1,pointerEvents:"none"}},`${e.commentId}-${o}`)})})}let h=[d.W];function f({content:e,comments:t,activeCommentId:r,isActive:s,onAddComment:d,onHighlightClick:u,scrollToHighlightRef:x}){let{resolvedTheme:f}=(0,a.D)(),p=(0,o.useRef)(null),v=(0,o.useRef)(null),[g,b]=(0,o.useState)(null),{rects:w,scrollToHighlight:j}=function(e,t,r,n){let[s,i]=(0,o.useState)([]),l=(0,o.useRef)(0),a=(0,o.useRef)(r);(0,o.useEffect)(()=>{a.current=r},[r]);let d=(0,o.useCallback)(()=>{l.current&&cancelAnimationFrame(l.current),l.current=requestAnimationFrame(()=>{let r=e.current,n=t.current;if(!r||!n)return;let o=function(e,t,r){let n=[],o=t.getBoundingClientRect(),s=function(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),n=0;for(;r.nextNode();){let e=r.currentNode,o=e.textContent?.length||0;t.push({node:e,start:n,end:n+o}),n+=o}return t}(e);if(0===s.length)return n;for(let e of r){let{startOffset:r,endOffset:i}=e.anchor;if(r>=i)continue;let l=null,a=0,d=null,c=0;for(let{node:e,start:t,end:n}of s)if(!l&&r>=t&&r<n&&(l=e,a=r-t),i>t&&i<=n){d=e,c=i-t;break}if(!l||!d)continue;let u=document.createRange();try{u.setStart(l,a),u.setEnd(d,c)}catch{continue}for(let r of u.getClientRects())r.width<1||r.height<1||n.push({commentId:e.id,top:r.top-o.top+t.scrollTop,left:r.left-o.left+t.scrollLeft,width:r.width,height:r.height})}return n}(r,n,a.current);i(e=>e.length===o.length&&e.every((e,t)=>e.commentId===o[t].commentId&&.5>Math.abs(e.top-o[t].top)&&.5>Math.abs(e.left-o[t].left)&&.5>Math.abs(e.width-o[t].width)&&.5>Math.abs(e.height-o[t].height))?e:o)})},[e,t]);(0,o.useEffect)(()=>{d()},[r,n,d]),(0,o.useEffect)(()=>{let t=e.current;if(!t)return;let r=new MutationObserver(()=>d());return r.observe(t,{childList:!0,subtree:!0,characterData:!0}),()=>r.disconnect()},[e,d]),(0,o.useEffect)(()=>{let t=e.current;if(!t)return;let r=new ResizeObserver(()=>d());return r.observe(t),()=>r.disconnect()},[e,d]),(0,o.useEffect)(()=>()=>{l.current&&cancelAnimationFrame(l.current)},[]);let c=(0,o.useCallback)(e=>{let r=t.current;if(!r)return;let n=s.find(t=>t.commentId===e);if(!n)return;let o=r.clientHeight;r.scrollTo({top:n.top-o/2+n.height/2,behavior:"smooth"})},[t,s]);return{rects:s,scrollToHighlight:c}}(p,v,(0,o.useMemo)(()=>g?[...t,{id:"__pending__",author:"",authorId:"",content:"",anchor:g.anchor,createdAt:0,replies:[]}]:t,[t,g]),r);(0,o.useEffect)(()=>{x.current=j},[j,x]);let y=(0,o.useRef)(w);(0,o.useEffect)(()=>{y.current=w},[w]);let k=(0,o.useCallback)(e=>{let t=window.getSelection(),r=t&&!t.isCollapsed;if(r&&s&&p.current){let r=t.getRangeAt(0);if(p.current.contains(r.startContainer)&&p.current.contains(r.endContainer)){let n=function(e,t){let r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),n=0,o=-1,s=-1;for(;r.nextNode();){let e=r.currentNode,i=e.textContent?.length||0;if(e===t.startContainer&&(o=n+t.startOffset),e===t.endContainer){s=n+t.endOffset;break}n+=i}if(-1===o||-1===s||o>=s)return null;let i=e.textContent?.slice(o,s)||"";return i.trim()?{startOffset:o,endOffset:s,selectedText:i}:null}(p.current,r);if(n){let r=v.current??p.current.parentElement,o=r.getBoundingClientRect();b({anchor:n,position:{top:e.clientY-o.top+r.scrollTop+8,left:e.clientX-o.left}}),t.removeAllRanges();return}}}if(!r&&!g){let t=v.current;if(!t)return;let r=t.getBoundingClientRect(),n=e.clientX-r.left+t.scrollLeft,o=e.clientY-r.top+t.scrollTop;for(let e of y.current)if("__pending__"!==e.commentId&&n>=e.left&&n<=e.left+e.width&&o>=e.top&&o<=e.top+e.height)return void u(e.commentId)}},[s,g,u]),C=(0,o.useCallback)(e=>{g&&(d(e,g.anchor),b(null),window.getSelection()?.removeAllRanges())},[g,d]),N=(0,o.useCallback)(()=>{b(null),window.getSelection()?.removeAllRanges()},[]);return(0,n.jsxs)("div",{className:"h-full flex bg-card",children:[(0,n.jsx)(l.l,{content:e,containerRef:v}),(0,n.jsxs)("div",{ref:v,className:"flex-1 overflow-auto relative",onMouseUp:k,children:[(0,n.jsx)("div",{ref:p,className:"p-6 review-markdown-container",children:(0,n.jsx)(i.T,{content:e,rehypePlugins:h})}),(0,n.jsx)(m,{rects:w,activeCommentId:r,pendingCommentId:g?"__pending__":null,isDark:"dark"===f}),g&&(0,n.jsx)(c,{selectedText:g.anchor.selectedText,position:g.position,onSubmit:C,onCancel:N})]})]})}var p=r(87918);function v(e){let t=new Date(e),r=Math.floor((new Date().getTime()-t.getTime())/6e4);if(r<1)return p.A.t("common.justNow");if(r<60)return p.A.t("common.minutesAgo",{count:r});let n=Math.floor(r/60);if(n<24)return p.A.t("common.hoursAgo",{count:n});let o=Math.floor(n/24);return o<7?p.A.t("common.daysAgo",{count:o}):t.toLocaleDateString()}let g=(0,o.forwardRef)(function({comment:e,isActive:t,isOwnComment:r,isAdmin:i,currentAuthorId:l,canInteract:a,userNameMap:d,onClick:c,onDelete:u,onEdit:x,onToggleClosed:m,onAddReply:h,onDeleteReply:f,onEditReply:p},g){let{t:b}=(0,s.Bd)(),w=(e,t)=>d[e]||t,[j,y]=(0,o.useState)(""),[k,C]=(0,o.useState)(!1),[N,E]=(0,o.useState)(!1),[S,R]=(0,o.useState)(""),[T,I]=(0,o.useState)(null),[L,A]=(0,o.useState)(""),D=()=>{let e=j.trim();e&&(h(e),y(""),C(!1))},M=()=>{let t=S.trim();t&&t!==e.content&&x(t),E(!1)},P=()=>{if(!T)return;let t=L.trim(),r=e.replies.find(e=>e.id===T);!t||r&&t===r.content||p(T,t),I(null)},O=e.anchor.selectedText.length>80?e.anchor.selectedText.slice(0,77)+"...":e.anchor.selectedText,$=i||r||a;return e.closed?(0,n.jsxs)("div",{ref:g,className:"rounded-lg border border-border/50 bg-card/50 opacity-60 hover:opacity-80 transition-all cursor-pointer px-3 py-2 flex items-center gap-2",onClick:c,children:[(0,n.jsx)("span",{className:"w-4 h-4 rounded-full bg-brand/20 text-brand flex items-center justify-center text-[9px] font-bold flex-shrink-0",children:w(e.authorId,e.author).charAt(0)}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground truncate flex-1",children:O}),(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground/50 flex-shrink-0",children:b("review.closedLabel")}),$&&(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),m(!1)},className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors flex-shrink-0",title:b("review.reopenReview"),children:b("review.reopen")}),(r&&a||i)&&(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),u()},className:"text-[10px] text-muted-foreground hover:text-red-500 transition-colors flex-shrink-0",title:b("review.deleteComment"),children:b("common.delete")})]}):(0,n.jsxs)("div",{ref:g,className:`rounded-lg border transition-all cursor-pointer ${t?"border-brand bg-brand/5 shadow-sm":"border-border bg-card hover:border-muted-foreground/30"}`,onClick:c,children:[(0,n.jsx)("div",{className:"px-3 pt-3 pb-1",children:(0,n.jsx)("div",{className:"text-xs bg-yellow-500/10 border-l-2 border-yellow-500 px-2 py-1 rounded-r text-muted-foreground truncate",children:O})}),(0,n.jsxs)("div",{className:"px-3 pt-2 flex items-center gap-2",children:[(0,n.jsx)("span",{className:"w-5 h-5 rounded-full bg-brand/20 text-brand flex items-center justify-center text-[10px] font-bold flex-shrink-0",children:w(e.authorId,e.author).charAt(0)}),(0,n.jsx)("span",{className:"text-xs font-medium",children:w(e.authorId,e.author)}),(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground",children:v(e.createdAt)}),(0,n.jsx)("div",{className:"flex-1"}),!N&&(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[$&&(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),m(!0)},className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors",title:b("review.closeComment"),children:b("review.closeComment")}),r&&a&&(0,n.jsx)("button",{onClick:t=>{t.stopPropagation(),R(e.content),E(!0)},className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors",title:b("review.editComment"),children:b("common.edit")}),(r&&a||i)&&(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),u()},className:"text-[10px] text-muted-foreground hover:text-red-500 transition-colors",title:b("review.deleteComment"),children:b("common.delete")})]})]}),(0,n.jsx)("div",{className:"px-3 pt-1 pb-2",children:N?(0,n.jsxs)("div",{onClick:e=>e.stopPropagation(),children:[(0,n.jsx)("textarea",{value:S,onChange:e=>R(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),M()),"Escape"===e.key&&E(!1)},className:"w-full px-2 py-1.5 text-sm bg-secondary border border-border rounded resize-none focus:outline-none focus:border-brand",rows:3,autoFocus:!0}),(0,n.jsxs)("div",{className:"flex items-center justify-end gap-1 mt-1",children:[(0,n.jsx)("button",{onClick:()=>E(!1),className:"px-2 py-0.5 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:b("common.cancel")}),(0,n.jsx)("button",{onClick:M,disabled:!S.trim(),className:"px-2 py-0.5 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:b("common.save")})]})]}):(0,n.jsxs)("div",{className:"text-sm whitespace-pre-wrap",children:[e.content,e.edited&&(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground ml-1",children:b("review.edited")})]})}),e.replies.length>0&&(0,n.jsx)("div",{className:"mx-3 border-t border-border",children:e.replies.map(e=>(0,n.jsxs)("div",{className:"py-2 border-b border-border last:border-b-0",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"w-4 h-4 rounded-full bg-accent text-muted-foreground flex items-center justify-center text-[9px] font-bold flex-shrink-0",children:w(e.authorId,e.author).charAt(0)}),(0,n.jsx)("span",{className:"text-xs font-medium",children:w(e.authorId,e.author)}),(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground",children:v(e.createdAt)}),(0,n.jsx)("div",{className:"flex-1"}),T!==e.id&&(e.authorId===l&&a||i)&&(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[e.authorId===l&&a&&(0,n.jsx)("button",{onClick:t=>{var r;t.stopPropagation(),r=e.id,A(e.content),I(r)},className:"text-[10px] text-muted-foreground hover:text-foreground transition-colors",title:b("review.editReply"),children:b("common.edit")}),(0,n.jsx)("button",{onClick:t=>{t.stopPropagation(),f(e.id)},className:"text-[10px] text-muted-foreground hover:text-red-500 transition-colors",title:b("review.deleteReply"),children:b("common.delete")})]})]}),T===e.id?(0,n.jsxs)("div",{className:"mt-1 pl-6",onClick:e=>e.stopPropagation(),children:[(0,n.jsx)("textarea",{value:L,onChange:e=>A(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),P()),"Escape"===e.key&&I(null)},className:"w-full px-2 py-1 text-sm bg-secondary border border-border rounded resize-none focus:outline-none focus:border-brand",rows:2,autoFocus:!0}),(0,n.jsxs)("div",{className:"flex items-center justify-end gap-1 mt-1",children:[(0,n.jsx)("button",{onClick:()=>I(null),className:"px-2 py-0.5 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:b("common.cancel")}),(0,n.jsx)("button",{onClick:P,disabled:!L.trim(),className:"px-2 py-0.5 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:b("common.save")})]})]}):(0,n.jsxs)("div",{className:"text-sm mt-0.5 pl-6 whitespace-pre-wrap",children:[e.content,e.edited&&(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground ml-1",children:b("review.edited")})]})]},e.id))}),(0,n.jsx)("div",{className:"px-3 pb-2 pt-1",children:k?(0,n.jsxs)("div",{className:"mt-1",onClick:e=>e.stopPropagation(),children:[(0,n.jsx)("textarea",{value:j,onChange:e=>y(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),D()),"Escape"===e.key&&C(!1)},placeholder:b("review.replyPlaceholder"),className:"w-full px-2 py-1 text-sm bg-secondary border border-border rounded resize-none focus:outline-none focus:border-brand",rows:2,autoFocus:!0}),(0,n.jsxs)("div",{className:"flex items-center justify-end gap-1 mt-1",children:[(0,n.jsx)("button",{onClick:()=>C(!1),className:"px-2 py-0.5 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:b("common.cancel")}),(0,n.jsx)("button",{onClick:D,disabled:!j.trim(),className:"px-2 py-0.5 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:b("review.reply")})]})]}):a&&(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),C(!0)},className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:b("review.reply")})})]})});function b({comments:e,activeCommentId:t,currentAuthorId:r,isActive:i,isAdmin:l,userNameMap:a,onCommentClick:d,onNavigateComment:c,onDeleteComment:u,onEditComment:x,onToggleCommentClosed:m,onAddReply:h,onDeleteReply:f,onEditReply:p,scrollToCommentRef:v}){let{t:b}=(0,s.Bd)(),w=(0,o.useRef)(new Map),j=(0,o.useRef)(null),y=(0,o.useCallback)(e=>{let t=w.current.get(e);t&&t.scrollIntoView({behavior:"smooth",block:"center"})},[]);(0,o.useEffect)(()=>{v.current=y},[y,v]);let k=[...e].sort((e,t)=>e.anchor.startOffset-t.anchor.startOffset);return(0,n.jsxs)("div",{ref:j,className:"h-full flex flex-col bg-card",children:[(0,n.jsxs)("div",{className:"px-4 py-2 bg-secondary border-b border-border flex-shrink-0 flex items-center",children:[(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:0===e.length?b("review.selectTextToComment"):t?b("review.commentsNavCount",{current:k.findIndex(e=>e.id===t)+1,total:e.length}):b("review.commentsCount",{count:e.length})}),e.length>0&&(0,n.jsxs)("div",{className:"flex items-center gap-1 ml-2",children:[(0,n.jsxs)("button",{onClick:()=>c("prev"),className:"px-1.5 py-0.5 text-[11px] text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors flex items-center gap-0.5",title:b("review.prevComment"),children:[(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("polyline",{points:"15 18 9 12 15 6"})}),b("review.prevComment")]}),(0,n.jsxs)("button",{onClick:()=>c("next"),className:"px-1.5 py-0.5 text-[11px] text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors flex items-center gap-0.5",title:b("review.nextComment"),children:[b("review.nextComment"),(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("polyline",{points:"9 18 15 12 9 6"})})]})]})]}),(0,n.jsx)("div",{className:"flex-1 overflow-auto",children:0===k.length?(0,n.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsx)("div",{className:"text-2xl mb-2",children:"\uD83D\uDCAC"}),(0,n.jsx)("div",{children:b("review.selectTextHint")})]})}):(0,n.jsx)("div",{className:"p-3 space-y-3",children:k.map(e=>(0,n.jsx)(g,{ref:t=>{t?w.current.set(e.id,t):w.current.delete(e.id)},comment:e,isActive:e.id===t,isOwnComment:e.authorId===r,isAdmin:l,currentAuthorId:r,canInteract:i,userNameMap:a,onClick:()=>d(e.id),onDelete:()=>u(e.id),onEdit:t=>x(e.id,t),onToggleClosed:t=>m(e.id,t),onAddReply:t=>h(e.id,t),onDeleteReply:t=>f(e.id,t),onEditReply:(t,r)=>p(e.id,t,r)},e.id))})})]})}function w({identity:e}){let{t}=(0,s.Bd)(),[r,i]=(0,o.useState)(!1),[l,a]=(0,o.useState)(""),d=(0,o.useRef)(null);(0,o.useEffect)(()=>{if(!r)return;let e=e=>{d.current&&!d.current.contains(e.target)&&i(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[r]);let c=()=>{let t=l.trim();t&&t!==e.name&&e.confirmName(t),i(!1)};return(0,n.jsxs)("div",{className:"relative",ref:d,children:[(0,n.jsxs)("button",{onClick:()=>{r||a(e.name),i(!r)},className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors flex items-center gap-1",title:t("review.identitySettings"),children:[(0,n.jsx)("span",{className:"w-5 h-5 rounded-full bg-brand/20 text-brand flex items-center justify-center text-[10px] font-bold",children:e.name.charAt(0)}),(0,n.jsx)("span",{className:"text-muted-foreground",children:e.name})]}),r&&(0,n.jsxs)("div",{className:"absolute right-0 top-full mt-1 w-56 bg-card border border-border rounded-lg shadow-lg p-3 z-50",children:[(0,n.jsx)("div",{className:"text-xs text-muted-foreground mb-2",children:t("review.reviewNickname")}),(0,n.jsx)("input",{type:"text",value:l,onChange:e=>a(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.nativeEvent.isComposing||c()},className:"w-full px-2 py-1 text-sm bg-secondary border border-border rounded focus:outline-none focus:border-brand",autoFocus:!0}),(0,n.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,n.jsx)("button",{onClick:()=>{e.randomize(),i(!1)},className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:t("review.random")}),(0,n.jsx)("div",{className:"flex-1"}),(0,n.jsx)("button",{onClick:()=>i(!1),className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:t("common.cancel")}),(0,n.jsx)("button",{onClick:c,className:"px-2 py-1 text-xs rounded bg-brand text-white hover:bg-brand/90 transition-colors",children:t("common.save")})]})]})]})}function j({currentReviewId:e,onSelect:t,readOnly:r,refreshTrigger:i,onViewComments:l}){let{t:a}=(0,s.Bd)(),[d,c]=(0,o.useState)([]),[u,x]=(0,o.useState)(null),[m,h]=(0,o.useState)(null),[f,p]=(0,o.useState)(!1),[v,g]=(0,o.useState)(null),b=(0,o.useRef)(null),[w,j]=(0,o.useState)(null),y=(0,o.useCallback)(async()=>{try{let e=await fetch("/api/review");if(e.ok){let t=await e.json();c(t.reviews||[])}}catch{}},[]);(0,o.useEffect)(()=>{queueMicrotask(()=>y())},[y]),(0,o.useEffect)(()=>{queueMicrotask(()=>y())},[e,i,y]);let k=(0,o.useCallback)(async(e,t,r)=>{if(e.stopPropagation(),!m){h(t);try{(await fetch(`/api/review/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({active:!r})})).ok&&c(e=>e.map(e=>e.id===t?{...e,active:!r}:e))}catch{}h(null)}},[m]),C=(0,o.useCallback)(async(r,n)=>{if(r.stopPropagation(),!u){x(n);try{if((await fetch(`/api/review/${n}`,{method:"DELETE"})).ok&&(c(e=>e.filter(e=>e.id!==n)),n===e)){let e=d.filter(e=>e.id!==n);e.length>0&&t(e[0].id)}}catch{}x(null)}},[u,e,d,t]),N=(0,o.useCallback)((e,t)=>{b.current=t,e.dataTransfer.effectAllowed="move";let r=e.currentTarget;requestAnimationFrame(()=>r.classList.add("opacity-30"))},[]),E=(0,o.useCallback)(e=>{b.current=null,j(null),e.currentTarget instanceof HTMLElement&&e.currentTarget.classList.remove("opacity-30")},[]),S=(0,o.useCallback)((e,t)=>{e.preventDefault(),e.dataTransfer.dropEffect="move",b.current&&b.current!==t&&j(t)},[]),R=(0,o.useCallback)(async(e,t)=>{e.preventDefault(),j(null);let r=b.current;b.current=null,r&&r!==t&&c(e=>{let n=[...e],o=n.findIndex(e=>e.id===r),s=n.findIndex(e=>e.id===t);if(-1===o||-1===s)return e;let[i]=n.splice(o,1);return n.splice(s,0,i),fetch("/api/review/order",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({order:n.map(e=>e.id)})}).catch(()=>{}),n})},[]),T=r?d.filter(e=>e.active):d,I=!r;return f?(0,n.jsxs)("div",{className:"h-full flex flex-col items-center bg-secondary/50 w-9 flex-shrink-0 border-r border-border",children:[(0,n.jsx)("button",{onClick:()=>p(!1),className:"p-1.5 mt-2 text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",title:a("review.expandList"),children:(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("polyline",{points:"9 18 15 12 9 6"})})}),(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground/50 mt-2",style:{writingMode:"vertical-rl"},children:r?a("review.nDocs",{count:T.length}):a("review.nReviews",{count:T.length})})]}):(0,n.jsxs)("div",{className:"h-full flex flex-col bg-secondary/50 w-[200px] flex-shrink-0 border-r border-border",children:[(0,n.jsxs)("div",{className:"px-3 py-2 border-b border-border flex-shrink-0 flex items-center justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:r?a("review.docList"):a("review.allReviewsList")}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground/60 ml-1.5",children:T.length})]}),(0,n.jsx)("button",{onClick:()=>p(!0),className:"p-0.5 text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",title:a("review.collapseList"),children:(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("polyline",{points:"15 18 9 12 15 6"})})})]}),(0,n.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[T.map(o=>(0,n.jsxs)("div",{draggable:I,onDragStart:I?e=>N(e,o.id):void 0,onDragEnd:I?E:void 0,onDragOver:I?e=>S(e,o.id):void 0,onDrop:I?e=>R(e,o.id):void 0,onMouseEnter:e=>{let t=e.currentTarget.getBoundingClientRect();g({id:o.id,text:o.title,top:t.top+t.height/2,left:t.right})},onMouseLeave:()=>g(e=>e?.id===o.id?null:e),onClick:()=>t(o.id),className:`group px-3 py-2 cursor-pointer border-b transition-colors ${w===o.id?"border-b-brand border-t border-t-transparent":"border-b-border/50"} ${o.id===e?"bg-accent/60":"hover:bg-accent/30"}`,children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[!r&&(0,n.jsx)("span",{className:`w-1.5 h-1.5 rounded-full flex-shrink-0 ${o.active?"bg-green-500":"bg-muted-foreground/40"}`}),(0,n.jsx)("span",{className:"text-xs truncate flex-1",children:o.title}),o.commentCount>0&&l&&(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),l(o.id)},className:"flex-shrink-0 p-0.5 rounded text-muted-foreground/0 group-hover:text-muted-foreground/60 hover:!text-brand hover:!bg-brand/10 transition-colors",title:a("review.viewComments"),children:(0,n.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("path",{d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})})}),!r&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{onClick:e=>k(e,o.id,o.active),className:`flex-shrink-0 p-0.5 rounded text-muted-foreground/0 group-hover:text-muted-foreground/60 hover:!text-foreground hover:!bg-accent transition-colors ${m===o.id?"opacity-50 pointer-events-none":""}`,title:o.active?a("review.closeReview"):a("review.reopenReview"),children:o.active?(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M18.36 6.64a9 9 0 1 1-12.73 0"}),(0,n.jsx)("line",{x1:"12",y1:"2",x2:"12",y2:"12"})]}):(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M18.36 6.64A9 9 0 0 1 12 21 9 9 0 0 1 5.64 6.64"}),(0,n.jsx)("line",{x1:"12",y1:"2",x2:"12",y2:"12"})]})}),(0,n.jsx)("button",{onClick:e=>C(e,o.id),className:`flex-shrink-0 p-0.5 rounded text-muted-foreground/0 group-hover:text-muted-foreground/60 hover:!text-red-500 hover:!bg-red-500/10 transition-colors ${u===o.id?"opacity-50 pointer-events-none":""}`,title:a("review.deleteReview"),children:(0,n.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,n.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]})})]})]}),o.commentCount>0&&(0,n.jsx)("div",{className:`text-[10px] text-muted-foreground/50 mt-0.5 ${r?"":"pl-3"}`,children:a("review.nComments",{count:o.commentCount})})]},o.id)),0===T.length&&(0,n.jsx)("div",{className:"px-3 py-4 text-xs text-muted-foreground/50 text-center",children:r?a("review.noOpenDocs"):a("review.noReviews")})]}),v&&(0,n.jsx)("div",{className:"fixed z-50 px-2 py-1 text-xs bg-popover text-popover-foreground border border-border rounded shadow-md whitespace-nowrap pointer-events-none",style:{top:v.top,left:v.left+8,transform:"translateY(-50%)"},children:v.text})]})}function y({currentName:e,onConfirm:t,onSkip:r}){let{t:i}=(0,s.Bd)(),[l,a]=(0,o.useState)(e),d=(0,o.useRef)(null);(0,o.useEffect)(()=>{d.current?.select()},[]);let c=()=>{let e=l.trim();e&&t(e)};return(0,n.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",children:(0,n.jsxs)("div",{className:"bg-card border border-border rounded-xl shadow-2xl w-80 p-5",children:[(0,n.jsx)("h2",{className:"text-base font-semibold mb-1",children:i("review.setNickname")}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground mb-4",children:i("review.nicknameHint")}),(0,n.jsx)("input",{ref:d,type:"text",value:l,onChange:e=>a(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.nativeEvent.isComposing||c(),"Escape"===e.key&&r()},placeholder:i("review.nicknamePlaceholder"),maxLength:20,className:"w-full px-3 py-2 text-sm bg-secondary border border-border rounded-lg focus:outline-none focus:border-brand",autoFocus:!0}),(0,n.jsxs)("div",{className:"flex items-center justify-end gap-2 mt-4",children:[(0,n.jsx)("button",{onClick:r,className:"px-3 py-1.5 text-xs rounded-lg hover:bg-accent transition-colors text-muted-foreground",children:i("review.skipForNow")}),(0,n.jsx)("button",{onClick:c,disabled:!l.trim(),className:"px-4 py-1.5 text-xs rounded-lg bg-brand text-white hover:bg-brand/90 transition-colors disabled:opacity-40",children:i("common.save")})]})]})})}var k=r(24750);function C(){let e=p.A.t("reviewUtils.adjectives",{returnObjects:!0}),t=p.A.t("reviewUtils.nouns",{returnObjects:!0}),r=e[Math.floor(Math.random()*e.length)],n=t[Math.floor(Math.random()*t.length)];return`${r}${n}`}r(34015);var N=r(38093);function E({reviewId:e}){let{t}=(0,s.Bd)(),[r,i]=(0,o.useState)(e),[l,d]=(0,o.useState)(null),[c,u]=(0,o.useState)(!0),[x,m]=(0,o.useState)(null),[h,p]=(0,o.useState)(null),[v,g]=(0,o.useState)(!1),E=function(){let[e,t]=(0,o.useState)(""),[r,n]=(0,o.useState)(""),[s,i]=(0,o.useState)(!1),[l,a]=(0,o.useState)(!0);(0,o.useEffect)(()=>{fetch("/api/review/identify").then(e=>e.ok?e.json():null).then(e=>{e?.authorId?(t(e.authorId),e.name?(n(e.name),i(!0)):(n(C()),i(!1))):(t(Math.random().toString(36).slice(2,10)),n(C()),i(!1))}).catch(()=>{t(Math.random().toString(36).slice(2,10)),n(C()),i(!1)}).finally(()=>a(!1))},[]);let d=(0,o.useCallback)(e=>{let t=e.trim();t&&(n(t),i(!0),fetch("/api/review/identify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})}).catch(()=>{}))},[]);return{authorId:e,name:r,nameConfirmed:s,loading:l,setName:(0,o.useCallback)(e=>{let t=e.trim();t&&(n(t),fetch("/api/review/identify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})}).catch(()=>{}))},[]),confirmName:d,randomize:(0,o.useCallback)(()=>{n(C())},[])}}(),{resolvedTheme:S,setTheme:R}=(0,a.D)(),[T,I]=(0,o.useState)({}),[L,A]=(0,o.useState)(!1),[D,M]=(0,o.useState)(!1),P=(0,o.useCallback)(async()=>{try{let e=await fetch("/api/review/users");if(e.ok){let t=await e.json(),r={};for(let[e,n]of Object.entries(t.users))r[e]=n.name;I(r)}}catch{}},[]);(0,o.useEffect)(()=>{P()},[P]),(0,o.useEffect)(()=>{E.loading||!E.authorId||E.nameConfirmed||A(!0)},[E.loading,E.authorId,E.nameConfirmed]),(0,o.useEffect)(()=>{g("localhost"===window.location.hostname||"127.0.0.1"===window.location.hostname)},[]),(0,o.useEffect)(()=>{let e=localStorage.getItem("theme");e&&"system"!==e||R("dark")},[R]);let O=(0,o.useRef)(void 0),$=(0,o.useRef)(void 0),B=(0,o.useCallback)(e=>{e!==r&&(i(e),m(null),p(null),window.history.replaceState(null,"",`/review/${e}`))},[r]),F=(0,o.useCallback)(async()=>{try{let e=await fetch(`/api/review/${r}`);if(!e.ok)return void(404===e.status?m(t("review.reviewNotExist")):m(t("review.loadFailed")));let n=await e.json();d(n.review),m(null)}catch{m(t("review.networkError"))}finally{u(!1)}},[r]);(0,o.useEffect)(()=>{F()},[F]),(0,o.useEffect)(()=>{let e=setInterval(()=>{F(),P()},1e4);return()=>clearInterval(e)},[F,P]);let _=(0,o.useCallback)(async(e,n)=>{if(E.authorId)try{(await fetch(`/api/review/${r}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({author:E.name,authorId:E.authorId,content:e,anchor:n})})).ok&&await F()}catch{(0,N.oR)(t("toast.addCommentFailed"),"error")}},[r,E,F]),W=(0,o.useCallback)(async e=>{try{(await fetch(`/api/review/${r}/comments?commentId=${e}`,{method:"DELETE"})).ok&&await F()}catch{(0,N.oR)(t("toast.deleteCommentFailed"),"error")}},[r,F]),z=(0,o.useCallback)(async(e,n)=>{try{(await fetch(`/api/review/${r}/comments`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({commentId:e,content:n})})).ok&&await F()}catch{(0,N.oR)(t("toast.editCommentFailed"),"error")}},[r,F]),H=(0,o.useCallback)(async(e,n)=>{try{(await fetch(`/api/review/${r}/comments`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({commentId:e,closed:n})})).ok&&await F()}catch{(0,N.oR)(t("toast.operationFailed"),"error")}},[r,F,t]),K=(0,o.useCallback)(async(e,n)=>{if(E.authorId)try{(await fetch(`/api/review/${r}/replies`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({commentId:e,author:E.name,authorId:E.authorId,content:n})})).ok&&await F()}catch{(0,N.oR)(t("toast.addReplyFailed"),"error")}},[r,E,F]),J=(0,o.useCallback)(async(e,n)=>{try{(await fetch(`/api/review/${r}/replies?commentId=${e}&replyId=${n}`,{method:"DELETE"})).ok&&await F()}catch{(0,N.oR)(t("toast.deleteReplyFailed"),"error")}},[r,F]),V=(0,o.useCallback)(async(e,n,o)=>{try{(await fetch(`/api/review/${r}/replies`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({commentId:e,replyId:n,content:o})})).ok&&await F()}catch{(0,N.oR)(t("toast.editReplyFailed"),"error")}},[r,F]),U=(0,o.useCallback)(async()=>{try{let e=await fetch("/api/review/share-info"),n=await e.json(),o=n.shareBase?`${n.shareBase}/review/${r}`:window.location.href;await navigator.clipboard.writeText(o),(0,N.oR)(t("toast.linkCopied"),"success")}catch{(0,N.oR)(t("toast.copyFailed"),"error")}},[r]),q=(0,o.useCallback)(e=>{p(e),$.current?.(e)},[]),X=(0,o.useCallback)(e=>{p(e),O.current?.(e)},[]),Y=(0,o.useCallback)(e=>{let t;if(!l||0===l.comments.length)return;let r=[...l.comments].sort((e,t)=>e.anchor.startOffset-t.anchor.startOffset),n=h?r.findIndex(e=>e.id===h):-1;t="next"===e?n<r.length-1?n+1:0:n>0?n-1:r.length-1;let o=r[t];p(o.id),$.current?.(o.id),O.current?.(o.id)},[l,h]);return(0,n.jsxs)("div",{className:"h-screen flex flex-col bg-background text-foreground overflow-hidden",children:[L&&(0,n.jsx)(y,{currentName:E.name,onConfirm:e=>{E.confirmName(e),A(!1),P()},onSkip:()=>A(!1)}),l&&(0,n.jsx)(k._,{isOpen:D,onClose:()=>M(!1),comments:l.comments,reviewTitle:l.title,userNameMap:T,onCommentClick:e=>{p(e),$.current?.(e),O.current?.(e)}}),l&&(0,n.jsx)("div",{className:"py-2 bg-secondary border-b border-border flex-shrink-0 flex justify-center",children:(0,n.jsxs)("div",{className:"w-full max-w-[1800px] px-4 flex items-center gap-3",children:[(0,n.jsx)("h1",{className:"text-sm font-semibold truncate",children:l.title}),(0,n.jsx)("span",{className:"text-[11px] text-muted-foreground flex-shrink-0",children:t("review.updatedAt",{date:new Date(l.updatedAt||l.createdAt).toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})})}),(0,n.jsx)("span",{className:"flex-1"}),!v&&(0,n.jsx)("span",{className:`px-2 py-0.5 text-xs rounded-full ${l.active?"bg-green-500/15 text-green-600 dark:text-green-400":"bg-muted text-muted-foreground"}`,children:l.active?t("review.active"):t("review.closed")}),(0,n.jsxs)("button",{onClick:()=>M(!0),className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground flex items-center gap-1",title:t("review.viewAllComments"),children:[(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("path",{d:"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z"})}),t("review.viewCommentBtn")]}),(0,n.jsx)("button",{onClick:U,className:"px-2 py-1 text-xs rounded hover:bg-accent transition-colors text-muted-foreground",children:t("review.copyLink")}),(0,n.jsx)("button",{onClick:()=>R("dark"===S?"light":"dark"),className:"p-1 text-muted-foreground hover:text-foreground hover:bg-accent rounded transition-colors",title:"dark"===S?t("settings.switchLight"):t("settings.switchDark"),children:"dark"===S?(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"5"}),(0,n.jsx)("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),(0,n.jsx)("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),(0,n.jsx)("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),(0,n.jsx)("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),(0,n.jsx)("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),(0,n.jsx)("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),(0,n.jsx)("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),(0,n.jsx)("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"})]}):(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})})}),(0,n.jsx)(w,{identity:E})]})}),(0,n.jsx)("div",{className:"flex-1 flex justify-center overflow-hidden",children:(0,n.jsxs)("div",{className:"w-full max-w-[1800px] flex overflow-hidden",children:[(0,n.jsx)(j,{currentReviewId:r,onSelect:B,readOnly:!v,refreshTrigger:l?.comments.length,onViewComments:e=>{e!==r&&B(e),M(!0)}}),c?(0,n.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,n.jsx)("div",{className:"text-muted-foreground",children:t("common.loading")})}):x||!l?(0,n.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsx)("div",{className:"text-xl mb-2",children:x||t("review.reviewNotFound")}),(0,n.jsx)("div",{className:"text-sm text-muted-foreground",children:t("review.checkLink")})]})}):(0,n.jsxs)("div",{className:"flex-1 flex overflow-hidden",children:[(0,n.jsx)("div",{className:"flex-1 h-full border-r border-border overflow-hidden",children:(0,n.jsx)(f,{content:l.content,comments:l.comments,activeCommentId:h,isActive:l.active,onAddComment:_,onHighlightClick:X,scrollToHighlightRef:$})}),(0,n.jsx)("div",{className:"w-[360px] h-full overflow-hidden flex-shrink-0",children:(0,n.jsx)(b,{comments:l.comments,activeCommentId:h,currentAuthorId:E.authorId,isActive:l.active,isAdmin:v,userNameMap:T,onCommentClick:q,onNavigateComment:Y,onDeleteComment:W,onEditComment:z,onToggleCommentClosed:H,onAddReply:K,onDeleteReply:J,onEditReply:V,scrollToCommentRef:O})})]})]})})]})}}},e=>{e.O(0,[8653,7330,9268,9114,3700,2171,3530,6108,9062,8441,3794,7358],()=>e(e.s=7482)),_N_E=e.O()}]);
|
package/.next-prod/static/chunks/next/dist/client/components/builtin/app-error-f626fdfbc87b7a2c.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[50,64,273,276,311,335,520,901,1097,1124,1180,1289,1337,1642,1684,1689,1772,1803,1809,2217,2245,2272,2316,2504,2722,2769,2772,2865,2881,2922,2987,3335,3339,3347,3456,3507,3645,3647,3664,3721,3878,4042,4113,4403,4422,4426,4647,4801,4896,5066,5177,5291,5298,5376,5402,5457,5458,5794,5849,5859,5972,6013,6016,6374,6462,6493,6602,6715,6819,6841,6988,7027,7128,7509,7533,7537,7553,7743,7754,7851,7883,7945,8141,8167,8193,8232,8237,8250,8387,8405,8407,8413,8455,8683,8834,8872,8910,8997,9230,9280,9300,9336,9440,9510,9533,9659,9748,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
package/.next-prod/static/chunks/next/dist/client/components/builtin/forbidden-f626fdfbc87b7a2c.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[50,64,273,276,311,335,520,901,1097,1124,1180,1289,1337,1642,1684,1689,1772,1803,1809,2217,2245,2272,2316,2504,2722,2769,2772,2865,2881,2922,2987,3335,3339,3347,3456,3507,3645,3647,3664,3721,3878,4042,4113,4403,4422,4426,4647,4801,4896,5066,5177,5291,5298,5376,5402,5457,5458,5794,5849,5859,5972,6013,6016,6374,6462,6493,6602,6715,6819,6841,6988,7027,7128,7509,7533,7537,7553,7743,7754,7851,7883,7945,8141,8167,8193,8232,8237,8250,8387,8405,8407,8413,8455,8683,8834,8872,8910,8997,9230,9280,9300,9336,9440,9510,9533,9659,9748,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
package/.next-prod/static/chunks/next/dist/client/components/builtin/not-found-f626fdfbc87b7a2c.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[50,64,273,276,311,335,520,901,1097,1124,1180,1289,1337,1642,1684,1689,1772,1803,1809,2217,2245,2272,2316,2504,2722,2769,2772,2865,2881,2922,2987,3335,3339,3347,3456,3507,3645,3647,3664,3721,3878,4042,4113,4403,4422,4426,4647,4801,4896,5066,5177,5291,5298,5376,5402,5457,5458,5794,5849,5859,5972,6013,6016,6374,6462,6493,6602,6715,6819,6841,6988,7027,7128,7509,7533,7537,7553,7743,7754,7851,7883,7945,8141,8167,8193,8232,8237,8250,8387,8405,8407,8413,8455,8683,8834,8872,8910,8997,9230,9280,9300,9336,9440,9510,9533,9659,9748,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[50,64,273,276,311,335,520,901,1097,1124,1180,1289,1337,1642,1684,1689,1772,1803,1809,2217,2245,2272,2316,2504,2722,2769,2772,2865,2881,2922,2987,3335,3339,3347,3456,3507,3645,3647,3664,3721,3878,4042,4113,4403,4422,4426,4647,4801,4896,5066,5177,5291,5298,5376,5402,5457,5458,5794,5849,5859,5972,6013,6016,6374,6462,6493,6602,6715,6819,6841,6988,7027,7128,7509,7533,7537,7553,7743,7754,7851,7883,7945,8141,8167,8193,8232,8237,8250,8387,8405,8407,8413,8455,8683,8834,8872,8910,8997,9230,9280,9300,9336,9440,9510,9533,9659,9748,9968],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/03b436aa846269de-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/0086f8992871c45b-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/ab00a911ac2adf48-s.woff2) format("woff2");unicode-range:u+0302-0303,u+0305,u+0307-0308,u+0310,u+0312,u+0315,u+031a,u+0326-0327,u+032c,u+032f-0330,u+0332-0333,u+0338,u+033a,u+0346,u+034d,u+0391-03a1,u+03a3-03a9,u+03b1-03c9,u+03d1,u+03d5-03d6,u+03f0-03f1,u+03f4-03f5,u+2016-2017,u+2034-2038,u+203c,u+2040,u+2043,u+2047,u+2050,u+2057,u+205f,u+2070-2071,u+2074-208e,u+2090-209c,u+20d0-20dc,u+20e1,u+20e5-20ef,u+2100-2112,u+2114-2115,u+2117-2121,u+2123-214f,u+2190,u+2192,u+2194-21ae,u+21b0-21e5,u+21f1-21f2,u+21f4-2211,u+2213-2214,u+2216-22ff,u+2308-230b,u+2310,u+2319,u+231c-2321,u+2336-237a,u+237c,u+2395,u+239b-23b7,u+23d0,u+23dc-23e1,u+2474-2475,u+25af,u+25b3,u+25b7,u+25bd,u+25c1,u+25ca,u+25cc,u+25fb,u+266d-266f,u+27c0-27ff,u+2900-2aff,u+2b0e-2b11,u+2b30-2b4c,u+2bfe,u+3030,u+ff5b,u+ff5d,u+1d400-1d7ff,u+1ee??}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/36008747766f78c6-s.woff2) format("woff2");unicode-range:u+0001-000c,u+000e-001f,u+007f-009f,u+20dd-20e0,u+20e2-20e4,u+2150-218f,u+2190,u+2192,u+2194-2199,u+21af,u+21e6-21f0,u+21f3,u+2218-2219,u+2299,u+22c4-22c6,u+2300-243f,u+2440-244a,u+2460-24ff,u+25a0-27bf,u+28??,u+2921-2922,u+2981,u+29bf,u+29eb,u+2b??,u+4dc0-4dff,u+fff9-fffb,u+10140-1018e,u+10190-1019c,u+101a0,u+101d0-101fd,u+102e0-102fb,u+10e60-10e7e,u+1d2c0-1d2d3,u+1d2e0-1d37f,u+1f0??,u+1f100-1f1ad,u+1f1e6-1f1ff,u+1f30d-1f30f,u+1f315,u+1f31c,u+1f31e,u+1f320-1f32c,u+1f336,u+1f378,u+1f37d,u+1f382,u+1f393-1f39f,u+1f3a7-1f3a8,u+1f3ac-1f3af,u+1f3c2,u+1f3c4-1f3c6,u+1f3ca-1f3ce,u+1f3d4-1f3e0,u+1f3ed,u+1f3f1-1f3f3,u+1f3f5-1f3f7,u+1f408,u+1f415,u+1f41f,u+1f426,u+1f43f,u+1f441-1f442,u+1f444,u+1f446-1f449,u+1f44c-1f44e,u+1f453,u+1f46a,u+1f47d,u+1f4a3,u+1f4b0,u+1f4b3,u+1f4b9,u+1f4bb,u+1f4bf,u+1f4c8-1f4cb,u+1f4d6,u+1f4da,u+1f4df,u+1f4e3-1f4e6,u+1f4ea-1f4ed,u+1f4f7,u+1f4f9-1f4fb,u+1f4fd-1f4fe,u+1f503,u+1f507-1f50b,u+1f50d,u+1f512-1f513,u+1f53e-1f54a,u+1f54f-1f5fa,u+1f610,u+1f650-1f67f,u+1f687,u+1f68d,u+1f691,u+1f694,u+1f698,u+1f6ad,u+1f6b2,u+1f6b9-1f6ba,u+1f6bc,u+1f6c6-1f6cf,u+1f6d3-1f6d7,u+1f6e0-1f6ea,u+1f6f0-1f6f3,u+1f6f7-1f6fc,u+1f7??,u+1f800-1f80b,u+1f810-1f847,u+1f850-1f859,u+1f860-1f887,u+1f890-1f8ad,u+1f8b0-1f8bb,u+1f8c0-1f8c1,u+1f900-1f90b,u+1f93b,u+1f946,u+1f984,u+1f996,u+1f9e9,u+1fa00-1fa6f,u+1fa70-1fa7c,u+1fa80-1fa89,u+1fa8f-1fac6,u+1face-1fadc,u+1fadf-1fae9,u+1faf0-1faf8,u+1fb??}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/6d38f9d4e0f4772b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/08aedeceaf1dcd57-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_next/static/media/5c0c2bcbaa4149ca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lora Fallback;src:local("Times New Roman");ascent-override:87.33%;descent-override:23.78%;line-gap-override:0.00%;size-adjust:115.20%}.__className_c1a059{font-family:Lora,Lora Fallback;font-style:normal}.__variable_c1a059{--font-lora:"Lora","Lora Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3c557b{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_3c557b{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}
|
|
2
|
+
|
|
3
|
+
/*! tailwindcss v4.2.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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:host,:root{--color-red-100:oklch(93.6% .032 17.717);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-100:oklch(96.2% .044 156.743);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-teal-500:oklch(70.4% .14 182.503);--color-blue-50:oklch(97% .014 254.604);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-900:oklch(37.9% .146 265.522);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-500:oklch(62.7% .265 303.9);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-2xl:1rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-inter),"PingFang SC","Microsoft YaHei",sans-serif;--default-mono-font-family:"Maple Mono CN","Maple Mono NF CN","Sarasa Mono SC",var(--font-jetbrains-mono),"Menlo","Consolas",monospace}}@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}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.-end{inset-inline-end:calc(var(--spacing) * -1)}.end{inset-inline-end:var(--spacing)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.-top-1{top:calc(var(--spacing) * -1)}.-top-3{top:calc(var(--spacing) * -3)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.-right-1{right:calc(var(--spacing) * -1)}.-right-3{right:calc(var(--spacing) * -3)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.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)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-20{bottom:calc(var(--spacing) * 20)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.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-full{left:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.z-\[100\]{z-index:100}.z-\[200\]{z-index:200}.z-\[300\]{z-index:300}.z-\[9998\]{z-index:9998}.z-\[9999\]{z-index:9999}.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-2{margin:calc(var(--spacing) * 2)}.m-4{margin:calc(var(--spacing) * 4)}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-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-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-4{margin-block:calc(var(--spacing) * 4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-6{margin-left:calc(var(--spacing) * 6)}.ml-7{margin-left:calc(var(--spacing) * 7)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-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-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-32{height:calc(var(--spacing) * 32)}.h-60{height:calc(var(--spacing) * 60)}.h-64{height:calc(var(--spacing) * 64)}.h-\[18px\]{height:18px}.h-\[80vh\]{height:80vh}.h-\[85vh\]{height:85vh}.h-\[90\%\]{height:90%}.h-\[90vh\]{height:90vh}.h-\[94vh\]{height:94vh}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[450px\]{height:450px}.h-\[500px\]{height:500px}.h-\[600px\]{height:600px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[200px\]{max-height:200px}.max-h-\[300px\]{max-height:300px}.max-h-\[450px\]{max-height:450px}.max-h-\[500px\]{max-height:500px}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[60vh\]{min-height:60vh}.min-h-full{min-height:100%}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-1\/4{width:25%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-40{width:calc(var(--spacing) * 40)}.w-48{width:calc(var(--spacing) * 48)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-\[60px\]{width:60px}.w-\[96vw\]{width:96vw}.w-\[200px\]{width:200px}.w-\[220px\]{width:220px}.w-\[300px\]{width:300px}.w-\[350px\]{width:350px}.w-\[360px\]{width:360px}.w-\[480px\]{width:480px}.w-\[640px\]{width:640px}.w-\[680px\]{width:680px}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-32{max-width:calc(var(--spacing) * 32)}.max-w-\[50\%\]{max-width:50%}.max-w-\[80\%\]{max-width:80%}.max-w-\[90\%\]{max-width:90%}.max-w-\[90vw\]{max-width:90vw}.max-w-\[120px\]{max-width:120px}.max-w-\[150px\]{max-width:150px}.max-w-\[200px\]{max-width:200px}.max-w-\[300px\]{max-width:300px}.max-w-\[340px\]{max-width:340px}.max-w-\[400px\]{max-width:400px}.max-w-\[500px\]{max-width:500px}.max-w-\[1800px\]{max-width:1800px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-16{min-width:calc(var(--spacing) * 16)}.min-w-\[18px\]{min-width:18px}.min-w-\[60px\]{min-width:60px}.min-w-\[140px\]{min-width:140px}.min-w-\[200px\]{min-width:200px}.min-w-\[260px\]{min-width:260px}.min-w-full{min-width:100%}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1)}.-translate-x-1\/2,.-translate-x-4{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-4{--tw-translate-x:calc(var(--spacing) * -4)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0)}.translate-x-0,.translate-x-0\.5{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0\.5{--tw-translate-x:calc(var(--spacing) * .5)}.translate-x-3\.5{--tw-translate-x:calc(var(--spacing) * 3.5)}.-translate-y-1\/2,.translate-x-3\.5{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1)}.rotate-90{rotate:90deg}.rotate-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-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-wait{cursor:wait}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\[2px\]{gap:2px}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-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-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.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:hsl(var(--border))}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr-sm{border-top-right-radius:calc(var(--radius) - 4px)}.rounded-br-md{border-bottom-right-radius:calc(var(--radius) - 2px)}.rounded-bl-lg{border-bottom-left-radius:var(--radius)}.rounded-bl-md{border-bottom-left-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.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-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.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-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-9{border-color:hsl(var(--amber-9))}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500) 30%,transparent)}}.border-border,.border-border\/30{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/30{border-color:color-mix(in oklab,hsl(var(--border)) 30%,transparent)}}.border-border\/50{border-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,hsl(var(--border)) 50%,transparent)}}.border-brand,.border-brand\/20{border-color:hsl(var(--brand))}@supports (color:color-mix(in lab,red,red)){.border-brand\/20{border-color:color-mix(in oklab,hsl(var(--brand)) 20%,transparent)}}.border-brand\/30{border-color:hsl(var(--brand))}@supports (color:color-mix(in lab,red,red)){.border-brand\/30{border-color:color-mix(in oklab,hsl(var(--brand)) 30%,transparent)}}.border-brand\/50{border-color:hsl(var(--brand))}@supports (color:color-mix(in lab,red,red)){.border-brand\/50{border-color:color-mix(in oklab,hsl(var(--brand)) 50%,transparent)}}.border-current{border-color:currentColor}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-600{border-color:var(--color-gray-600)}.border-gray-700{border-color:var(--color-gray-700)}.border-input{border-color:hsl(var(--input))}.border-muted-foreground{border-color:hsl(var(--muted-foreground))}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-transparent{border-color:#0000}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.border-yellow-500{border-color:var(--color-yellow-500)}.border-t-transparent{border-top-color:#0000}.border-b-border\/50{border-bottom-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.border-b-border\/50{border-bottom-color:color-mix(in oklab,hsl(var(--border)) 50%,transparent)}}.border-b-brand{border-bottom-color:hsl(var(--brand))}.bg-\[\#0d1117\]{background-color:#0d1117}.bg-accent,.bg-accent\/50{background-color:hsl(var(--accent))}@supports (color:color-mix(in lab,red,red)){.bg-accent\/50{background-color:color-mix(in oklab,hsl(var(--accent)) 50%,transparent)}}.bg-accent\/60{background-color:hsl(var(--accent))}@supports (color:color-mix(in lab,red,red)){.bg-accent\/60{background-color:color-mix(in oklab,hsl(var(--accent)) 60%,transparent)}}.bg-amber-9,.bg-amber-9\/10{background-color:hsl(var(--amber-9))}@supports (color:color-mix(in lab,red,red)){.bg-amber-9\/10{background-color:color-mix(in oklab,hsl(var(--amber-9)) 10%,transparent)}}.bg-amber-9\/15{background-color:hsl(var(--amber-9))}@supports (color:color-mix(in lab,red,red)){.bg-amber-9\/15{background-color:color-mix(in oklab,hsl(var(--amber-9)) 15%,transparent)}}.bg-amber-9\/20{background-color:hsl(var(--amber-9))}@supports (color:color-mix(in lab,red,red)){.bg-amber-9\/20{background-color:color-mix(in oklab,hsl(var(--amber-9)) 20%,transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500) 15%,transparent)}}.bg-amber-500\/80{background-color:#f99c00cc}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/80{background-color:color-mix(in oklab,var(--color-amber-500) 80%,transparent)}}.bg-background,.bg-background\/50{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,hsl(var(--background)) 50%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/5{background-color:#3080ff0d}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/5{background-color:color-mix(in oklab,var(--color-blue-500) 5%,transparent)}}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500) 10%,transparent)}}.bg-blue-500\/15{background-color:#3080ff26}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/15{background-color:color-mix(in oklab,var(--color-blue-500) 15%,transparent)}}.bg-border,.bg-border\/50{background-color:hsl(var(--border))}@supports (color:color-mix(in lab,red,red)){.bg-border\/50{background-color:color-mix(in oklab,hsl(var(--border)) 50%,transparent)}}.bg-brand,.bg-brand\/5{background-color:hsl(var(--brand))}@supports (color:color-mix(in lab,red,red)){.bg-brand\/5{background-color:color-mix(in oklab,hsl(var(--brand)) 5%,transparent)}}.bg-brand\/10{background-color:hsl(var(--brand))}@supports (color:color-mix(in lab,red,red)){.bg-brand\/10{background-color:color-mix(in oklab,hsl(var(--brand)) 10%,transparent)}}.bg-brand\/15{background-color:hsl(var(--brand))}@supports (color:color-mix(in lab,red,red)){.bg-brand\/15{background-color:color-mix(in oklab,hsl(var(--brand)) 15%,transparent)}}.bg-brand\/20{background-color:hsl(var(--brand))}@supports (color:color-mix(in lab,red,red)){.bg-brand\/20{background-color:color-mix(in oklab,hsl(var(--brand)) 20%,transparent)}}.bg-brand\/40{background-color:hsl(var(--brand))}@supports (color:color-mix(in lab,red,red)){.bg-brand\/40{background-color:color-mix(in oklab,hsl(var(--brand)) 40%,transparent)}}.bg-card,.bg-card\/30{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/30{background-color:color-mix(in oklab,hsl(var(--card)) 30%,transparent)}}.bg-card\/50{background-color:hsl(var(--card))}@supports (color:color-mix(in lab,red,red)){.bg-card\/50{background-color:color-mix(in oklab,hsl(var(--card)) 50%,transparent)}}.bg-current{background-color:currentColor}.bg-destructive,.bg-destructive\/5{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/5{background-color:color-mix(in oklab,hsl(var(--destructive)) 5%,transparent)}}.bg-destructive\/10{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,hsl(var(--destructive)) 10%,transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/5{background-color:color-mix(in oklab,var(--color-emerald-500) 5%,transparent)}}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/10{background-color:color-mix(in oklab,var(--color-emerald-500) 10%,transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab,red,red)){.bg-emerald-500\/15{background-color:color-mix(in oklab,var(--color-emerald-500) 15%,transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-9,.bg-green-9\/10{background-color:hsl(var(--green-9))}@supports (color:color-mix(in lab,red,red)){.bg-green-9\/10{background-color:color-mix(in oklab,hsl(var(--green-9)) 10%,transparent)}}.bg-green-9\/15{background-color:hsl(var(--green-9))}@supports (color:color-mix(in lab,red,red)){.bg-green-9\/15{background-color:color-mix(in oklab,hsl(var(--green-9)) 15%,transparent)}}.bg-green-9\/20{background-color:hsl(var(--green-9))}@supports (color:color-mix(in lab,red,red)){.bg-green-9\/20{background-color:color-mix(in oklab,hsl(var(--green-9)) 20%,transparent)}}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500) 10%,transparent)}}.bg-green-500\/15{background-color:#00c75826}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/15{background-color:color-mix(in oklab,var(--color-green-500) 15%,transparent)}}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground,.bg-muted-foreground\/30{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 30%,transparent)}}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/40{background-color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.bg-muted\/20{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/20{background-color:color-mix(in oklab,hsl(var(--muted)) 20%,transparent)}}.bg-muted\/30{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,hsl(var(--muted)) 30%,transparent)}}.bg-muted\/40{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,hsl(var(--muted)) 40%,transparent)}}.bg-muted\/50{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,hsl(var(--muted)) 50%,transparent)}}.bg-muted\/60{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/60{background-color:color-mix(in oklab,hsl(var(--muted)) 60%,transparent)}}.bg-orange-9{background-color:hsl(var(--orange-9))}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/10{background-color:color-mix(in oklab,var(--color-orange-500) 10%,transparent)}}.bg-orange-500\/15{background-color:#fe6e0026}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/15{background-color:color-mix(in oklab,var(--color-orange-500) 15%,transparent)}}.bg-pink-500\/10{background-color:#f6339a1a}@supports (color:color-mix(in lab,red,red)){.bg-pink-500\/10{background-color:color-mix(in oklab,var(--color-pink-500) 10%,transparent)}}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/10{background-color:color-mix(in oklab,var(--color-purple-500) 10%,transparent)}}.bg-purple-500\/15{background-color:#ac4bff26}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/15{background-color:color-mix(in oklab,var(--color-purple-500) 15%,transparent)}}.bg-red-9,.bg-red-9\/10{background-color:hsl(var(--red-9))}@supports (color:color-mix(in lab,red,red)){.bg-red-9\/10{background-color:color-mix(in oklab,hsl(var(--red-9)) 10%,transparent)}}.bg-red-9\/15{background-color:hsl(var(--red-9))}@supports (color:color-mix(in lab,red,red)){.bg-red-9\/15{background-color:color-mix(in oklab,hsl(var(--red-9)) 15%,transparent)}}.bg-red-9\/20{background-color:hsl(var(--red-9))}@supports (color:color-mix(in lab,red,red)){.bg-red-9\/20{background-color:color-mix(in oklab,hsl(var(--red-9)) 20%,transparent)}}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/5{background-color:color-mix(in oklab,var(--color-red-500) 5%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-secondary,.bg-secondary\/30{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/30{background-color:color-mix(in oklab,hsl(var(--secondary)) 30%,transparent)}}.bg-secondary\/50{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/50{background-color:color-mix(in oklab,hsl(var(--secondary)) 50%,transparent)}}.bg-slate-2{background-color:hsl(var(--slate-2))}.bg-slate-3{background-color:hsl(var(--slate-3))}.bg-slate-4{background-color:hsl(var(--slate-4))}.bg-slate-9\/20{background-color:hsl(var(--slate-9))}@supports (color:color-mix(in lab,red,red)){.bg-slate-9\/20{background-color:color-mix(in oklab,hsl(var(--slate-9)) 20%,transparent)}}.bg-slate-400{background-color:var(--color-slate-400)}.bg-teal-500\/10{background-color:#00baa71a}@supports (color:color-mix(in lab,red,red)){.bg-teal-500\/10{background-color:color-mix(in oklab,var(--color-teal-500) 10%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-500\/15{background-color:#8d54ff26}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/15{background-color:color-mix(in oklab,var(--color-violet-500) 15%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-300\/40{background-color:#ffe02a66}@supports (color:color-mix(in lab,red,red)){.bg-yellow-300\/40{background-color:color-mix(in oklab,var(--color-yellow-300) 40%,transparent)}}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/10{background-color:color-mix(in oklab,var(--color-yellow-500) 10%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-green-9\/20{--tw-gradient-from:hsl(var(--green-9))}@supports (color:color-mix(in lab,red,red)){.from-green-9\/20{--tw-gradient-from:color-mix(in oklab,hsl(var(--green-9)) 20%,transparent)}}.from-green-9\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-green-9\/5{--tw-gradient-to:hsl(var(--green-9))}@supports (color:color-mix(in lab,red,red)){.to-green-9\/5{--tw-gradient-to:color-mix(in oklab,hsl(var(--green-9)) 5%,transparent)}}.to-green-9\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from) var(--tw-gradient-from-position),var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-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-20{padding:calc(var(--spacing) * 20)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-\[15vh\]{padding-top:15vh}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-0{padding-left:calc(var(--spacing) * 0)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-7{padding-left:calc(var(--spacing) * 7)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:"Maple Mono CN","Maple Mono NF CN","Sarasa Mono SC",var(--font-jetbrains-mono),"Menlo","Consolas",monospace}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-9{color:hsl(var(--amber-9))}.text-amber-11{color:hsl(var(--amber-11))}.text-amber-500{color:var(--color-amber-500)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-border{color:hsl(var(--border))}.text-brand{color:hsl(var(--brand))}.text-brand-foreground{color:hsl(var(--brand-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-foreground,.text-foreground\/80{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/80{color:color-mix(in oklab,hsl(var(--foreground)) 80%,transparent)}}.text-gray-100{color:var(--color-gray-100)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-9{color:hsl(var(--green-9))}.text-green-11{color:hsl(var(--green-11))}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-muted-foreground,.text-muted-foreground\/0{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/0{color:color-mix(in oklab,hsl(var(--muted-foreground)) 0%,transparent)}}.text-muted-foreground\/30{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/30{color:color-mix(in oklab,hsl(var(--muted-foreground)) 30%,transparent)}}.text-muted-foreground\/40{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/40{color:color-mix(in oklab,hsl(var(--muted-foreground)) 40%,transparent)}}.text-muted-foreground\/50{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/50{color:color-mix(in oklab,hsl(var(--muted-foreground)) 50%,transparent)}}.text-muted-foreground\/60{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,hsl(var(--muted-foreground)) 60%,transparent)}}.text-muted-foreground\/70{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,hsl(var(--muted-foreground)) 70%,transparent)}}.text-orange-11{color:hsl(var(--orange-11))}.text-orange-300{color:var(--color-orange-300)}.text-orange-400{color:var(--color-orange-400)}.text-orange-500{color:var(--color-orange-500)}.text-pink-400{color:var(--color-pink-400)}.text-pink-500{color:var(--color-pink-500)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-500{color:var(--color-purple-500)}.text-red-11{color:hsl(var(--red-11))}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-slate-7{color:hsl(var(--slate-7))}.text-slate-8{color:hsl(var(--slate-8))}.text-slate-9{color:hsl(var(--slate-9))}.text-slate-10{color:hsl(var(--slate-10))}.text-slate-12{color:hsl(var(--slate-12))}.text-slate-300{color:var(--color-slate-300)}.text-teal-500{color:var(--color-teal-500)}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.placeholder-slate-9::placeholder{color:hsl(var(--slate-9))}.accent-brand{accent-color:hsl(var(--brand))}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-2xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-lg,.shadow-md{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.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-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)}.ring-blue-500{--tw-ring-color:var(--color-blue-500)}.ring-brand{--tw-ring-color:hsl(var(--brand))}.ring-ring{--tw-ring-color:hsl(var(--ring))}.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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.invert{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,)}.invert{--tw-invert:invert(100%)}.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-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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-\[box-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-\[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-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}@media (hover:hover){.group-hover\:text-muted-foreground\/60:is(:where(.group):hover *){color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.group-hover\:text-muted-foreground\/60:is(:where(.group):hover *){color:color-mix(in oklab,hsl(var(--muted-foreground)) 60%,transparent)}}.group-hover\:opacity-60:is(:where(.group):hover *){opacity:.6}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/md\:text-foreground:is(:where(.group\/md):hover *){color:hsl(var(--foreground))}}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-slate-9::placeholder{color:hsl(var(--slate-9))}.first\:mt-0:first-child{margin-top:calc(var(--spacing) * 0)}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-border:hover{border-color:hsl(var(--border))}.hover\:border-brand:hover{border-color:hsl(var(--brand))}.hover\:border-foreground\/30:hover{border-color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.hover\:border-foreground\/30:hover{border-color:color-mix(in oklab,hsl(var(--foreground)) 30%,transparent)}}.hover\:border-muted-foreground\/30:hover{border-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.hover\:border-muted-foreground\/30:hover{border-color:color-mix(in oklab,hsl(var(--muted-foreground)) 30%,transparent)}}.hover\:border-slate-6:hover{border-color:hsl(var(--slate-6))}.hover\:\!bg-accent:hover{background-color:hsl(var(--accent))!important}.hover\:\!bg-brand\/10:hover{background-color:hsl(var(--brand))!important}@supports (color:color-mix(in lab,red,red)){.hover\:\!bg-brand\/10:hover{background-color:color-mix(in oklab,hsl(var(--brand)) 10%,transparent)!important}}.hover\:\!bg-red-500\/10:hover{background-color:#fb2c361a!important}@supports (color:color-mix(in lab,red,red)){.hover\:\!bg-red-500\/10:hover{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)!important}}.hover\:bg-accent:hover,.hover\:bg-accent\/30:hover{background-color:hsl(var(--accent))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/30:hover{background-color:color-mix(in oklab,hsl(var(--accent)) 30%,transparent)}}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,hsl(var(--accent)) 50%,transparent)}}.hover\:bg-amber-9\/10:hover{background-color:hsl(var(--amber-9))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-9\/10:hover{background-color:color-mix(in oklab,hsl(var(--amber-9)) 10%,transparent)}}.hover\:bg-amber-10:hover{background-color:hsl(var(--amber-10))}.hover\:bg-amber-500:hover{background-color:var(--color-amber-500)}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-black\/60:hover{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/60:hover{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.hover\:bg-black\/80:hover{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/80:hover{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.hover\:bg-brand\/10:hover{background-color:hsl(var(--brand))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-brand\/10:hover{background-color:color-mix(in oklab,hsl(var(--brand)) 10%,transparent)}}.hover\:bg-brand\/15:hover{background-color:hsl(var(--brand))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-brand\/15:hover{background-color:color-mix(in oklab,hsl(var(--brand)) 15%,transparent)}}.hover\:bg-brand\/90:hover{background-color:hsl(var(--brand))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-brand\/90:hover{background-color:color-mix(in oklab,hsl(var(--brand)) 90%,transparent)}}.hover\:bg-destructive\/10:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,hsl(var(--destructive)) 10%,transparent)}}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab,hsl(var(--destructive)) 80%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,hsl(var(--destructive)) 90%,transparent)}}.hover\:bg-green-9\/10:hover{background-color:hsl(var(--green-9))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-green-9\/10:hover{background-color:color-mix(in oklab,hsl(var(--green-9)) 10%,transparent)}}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-orange-500\/10:hover{background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-orange-500\/10:hover{background-color:color-mix(in oklab,var(--color-orange-500) 10%,transparent)}}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary)) 90%,transparent)}}.hover\:bg-red-9\/10:hover{background-color:hsl(var(--red-9))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-9\/10:hover{background-color:color-mix(in oklab,hsl(var(--red-9)) 10%,transparent)}}.hover\:bg-red-10:hover{background-color:hsl(var(--red-10))}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-teal-10:hover{background-color:hsl(var(--teal-10))}.hover\:bg-violet-500\/25:hover{background-color:#8d54ff40}@supports (color:color-mix(in lab,red,red)){.hover\:bg-violet-500\/25:hover{background-color:color-mix(in oklab,var(--color-violet-500) 25%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,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-brand:hover{color:hsl(var(--brand))!important}.hover\:\!text-foreground:hover{color:hsl(var(--foreground))!important}.hover\:\!text-red-500:hover{color:var(--color-red-500)!important}.hover\:text-amber-10:hover{color:hsl(var(--amber-10))}.hover\:text-amber-11:hover{color:hsl(var(--amber-11))}.hover\:text-brand:hover,.hover\:text-brand\/80:hover{color:hsl(var(--brand))}@supports (color:color-mix(in lab,red,red)){.hover\:text-brand\/80:hover{color:color-mix(in oklab,hsl(var(--brand)) 80%,transparent)}}.hover\:text-destructive:hover,.hover\:text-destructive\/80:hover{color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:text-destructive\/80:hover{color:color-mix(in oklab,hsl(var(--destructive)) 80%,transparent)}}.hover\:text-emerald-400:hover{color:var(--color-emerald-400)}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-green-10:hover{color:hsl(var(--green-10))}.hover\:text-green-500:hover{color:var(--color-green-500)}.hover\:text-muted-foreground:hover,.hover\:text-muted-foreground\/80:hover{color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.hover\:text-muted-foreground\/80:hover{color:color-mix(in oklab,hsl(var(--muted-foreground)) 80%,transparent)}}.hover\:text-red-9:hover{color:hsl(var(--red-9))}.hover\:text-red-10:hover{color:hsl(var(--red-10))}.hover\:text-red-11:hover{color:hsl(var(--red-11))}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-teal-10:hover{color:hsl(var(--teal-10))}.hover\:text-white:hover{color:var(--color-white)}.hover\:text-yellow-500:hover{color:var(--color-yellow-500)}.hover\:underline:hover{text-decoration-line:underline}.hover\:\!opacity-100:hover{opacity:1!important}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.hover\:brightness-125:hover{--tw-brightness:brightness(125%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\:border-brand:focus{border-color:hsl(var(--brand))}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.focus\:ring-amber-9:focus{--tw-ring-color:hsl(var(--amber-9))}.focus\:ring-brand:focus{--tw-ring-color:hsl(var(--brand))}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-accent\/50:active{background-color:hsl(var(--accent))}@supports (color:color-mix(in lab,red,red)){.active\:bg-accent\/50:active{background-color:color-mix(in oklab,hsl(var(--accent)) 50%,transparent)}}.active\:bg-amber-9\/20:active{background-color:hsl(var(--amber-9))}@supports (color:color-mix(in lab,red,red)){.active\:bg-amber-9\/20:active{background-color:color-mix(in oklab,hsl(var(--amber-9)) 20%,transparent)}}.active\:bg-brand\/20:active{background-color:hsl(var(--brand))}@supports (color:color-mix(in lab,red,red)){.active\:bg-brand\/20:active{background-color:color-mix(in oklab,hsl(var(--brand)) 20%,transparent)}}.active\:bg-destructive\/70:active{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.active\:bg-destructive\/70:active{background-color:color-mix(in oklab,hsl(var(--destructive)) 70%,transparent)}}.active\:bg-green-9\/20:active{background-color:hsl(var(--green-9))}@supports (color:color-mix(in lab,red,red)){.active\:bg-green-9\/20:active{background-color:color-mix(in oklab,hsl(var(--green-9)) 20%,transparent)}}.active\:bg-muted:active{background-color:hsl(var(--muted))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:bg-amber-9\/25{background-color:hsl(var(--amber-9))}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-9\/25{background-color:color-mix(in oklab,hsl(var(--amber-9)) 25%,transparent)}}.dark\:bg-blue-900\/30{background-color:#1c398e4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-900\/30{background-color:color-mix(in oklab,var(--color-blue-900) 30%,transparent)}}.dark\:bg-brand\/25{background-color:hsl(var(--brand))}@supports (color:color-mix(in lab,red,red)){.dark\:bg-brand\/25{background-color:color-mix(in oklab,hsl(var(--brand)) 25%,transparent)}}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-gray-900{background-color:var(--color-gray-900)}.dark\:bg-green-9\/25{background-color:hsl(var(--green-9))}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-9\/25{background-color:color-mix(in oklab,hsl(var(--green-9)) 25%,transparent)}}.dark\:bg-red-9\/25{background-color:hsl(var(--red-9))}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-9\/25{background-color:color-mix(in oklab,hsl(var(--red-9)) 25%,transparent)}}.dark\:bg-slate-900\/80{background-color:#0f172bcc}@supports (color:color-mix(in lab,red,red)){.dark\:bg-slate-900\/80{background-color:color-mix(in oklab,var(--color-slate-900) 80%,transparent)}}.dark\:text-amber-11{color:hsl(var(--amber-11))}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-green-11{color:hsl(var(--green-11))}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-slate-11{color:hsl(var(--slate-11))}.dark\:text-slate-700{color:var(--color-slate-700)}.dark\:text-teal-11{color:hsl(var(--teal-11))}.dark\:text-yellow-500{color:var(--color-yellow-500)}@media (hover:hover){.dark\:hover\:border-slate-6:hover{border-color:hsl(var(--slate-6))}.dark\:hover\:bg-amber-9\/20:hover{background-color:hsl(var(--amber-9))}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-amber-9\/20:hover{background-color:color-mix(in oklab,hsl(var(--amber-9)) 20%,transparent)}}.dark\:hover\:bg-green-9\/20:hover{background-color:hsl(var(--green-9))}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-green-9\/20:hover{background-color:color-mix(in oklab,hsl(var(--green-9)) 20%,transparent)}}.dark\:hover\:bg-red-9\/20:hover{background-color:hsl(var(--red-9))}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-red-9\/20:hover{background-color:color-mix(in oklab,hsl(var(--red-9)) 20%,transparent)}}.dark\:hover\:text-foreground:hover{color:hsl(var(--foreground))}}}.\[\&_code\]\:\!bg-transparent code{background-color:#0000!important}.\[\&_pre\]\:\!m-0 pre{margin:calc(var(--spacing) * 0)!important}.\[\&_pre\]\:\!bg-transparent pre{background-color:#0000!important}.\[\&_pre\]\:\!p-2 pre{padding:calc(var(--spacing) * 2)!important}.\[\&\>svg\]\:mx-auto>svg{margin-inline:auto}.\[\&\>svg\]\:max-h-\[300px\]>svg{max-height:300px}.\[\&\>svg\]\:max-h-full>svg{max-height:100%}.\[\&\>svg\]\:max-w-full>svg{max-width:100%}}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm .xterm-cursor-pointer,.xterm.xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}body,html{overscroll-behavior:none}:root{--teal-1:180 50% 99.2%;--teal-2:180 44% 97%;--teal-3:180 43% 93.8%;--teal-4:180 44% 89.7%;--teal-5:180 42% 84.3%;--teal-6:181 39% 76.8%;--teal-7:181 35% 66.3%;--teal-8:181 33% 52.5%;--teal-9:179 35% 35%;--teal-10:179 37% 31%;--teal-11:180 50% 22%;--teal-12:186 100% 7%;--slate-1:240 20% 99%;--slate-2:240 17% 97%;--slate-3:240 14% 94.5%;--slate-4:240 13% 92%;--slate-5:240 12% 89.5%;--slate-6:237 11% 86%;--slate-7:235 9% 81%;--slate-8:233 8% 70%;--slate-9:230 7% 55%;--slate-10:228 6% 50%;--slate-11:225 6% 40%;--slate-12:210 14% 13%;--red-9:358 75% 59%;--red-10:358 69% 55%;--red-11:358 65% 49%;--green-9:151 55% 42%;--green-10:152 57% 39%;--green-11:153 67% 28%;--amber-9:39 100% 57%;--amber-10:36 100% 50%;--amber-11:24 100% 37%;--orange-9:24 94% 50%;--orange-10:21 90% 45%;--orange-11:16 80% 35%;--background:0 0% 98%;--foreground:var(--slate-12);--card:0 0% 100%;--card-foreground:var(--slate-12);--popover:0 0% 100%;--popover-foreground:var(--slate-12);--primary:var(--slate-12);--primary-foreground:0 0% 100%;--secondary:var(--slate-3);--secondary-foreground:var(--slate-12);--muted:var(--slate-3);--muted-foreground:var(--slate-11);--accent:var(--slate-4);--accent-foreground:var(--slate-12);--destructive:var(--red-9);--destructive-foreground:0 0% 100%;--border:var(--slate-5);--input:var(--slate-5);--ring:var(--teal-9);--brand:var(--teal-9);--brand-foreground:var(--teal-11);--radius:.5rem}.dark{--teal-1:183 30% 7%;--teal-2:183 35% 9%;--teal-3:183 38% 12%;--teal-4:182 40% 15%;--teal-5:182 40% 18%;--teal-6:182 38% 23%;--teal-7:181 35% 30%;--teal-8:180 34% 40%;--teal-9:179 42% 50%;--teal-10:179 48% 56%;--teal-11:179 55% 65%;--teal-12:180 50% 85%;--slate-1:240 6% 7%;--slate-2:240 5% 10%;--slate-3:240 5% 13%;--slate-4:240 4% 16%;--slate-5:240 4% 19%;--slate-6:238 4% 23%;--slate-7:235 4% 30%;--slate-8:233 4% 40%;--slate-9:230 5% 52%;--slate-10:228 5% 58%;--slate-11:220 9% 70%;--slate-12:220 9% 80%;--red-9:358 75% 59%;--red-10:357 74% 64%;--red-11:355 78% 75%;--green-9:151 55% 42%;--green-10:150 52% 48%;--green-11:148 58% 60%;--amber-9:39 100% 57%;--amber-10:43 100% 64%;--amber-11:46 100% 74%;--orange-9:24 94% 50%;--orange-10:27 96% 58%;--orange-11:30 100% 68%;--background:var(--slate-1);--foreground:var(--slate-12);--card:0 0% 12%;--card-foreground:var(--slate-12);--popover:0 0% 12%;--popover-foreground:var(--slate-12);--primary:var(--slate-12);--primary-foreground:var(--slate-1);--secondary:var(--slate-3);--secondary-foreground:var(--slate-12);--muted:var(--slate-3);--muted-foreground:var(--slate-11);--accent:var(--slate-4);--accent-foreground:var(--slate-12);--destructive:var(--red-9);--destructive-foreground:0 0% 100%;--border:var(--slate-6);--input:var(--slate-6);--ring:var(--teal-9);--brand:var(--teal-9);--brand-foreground:var(--teal-11)}html{font-size:14px}body{background:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-inter),"PingFang SC","Microsoft YaHei",sans-serif;overscroll-behavior-x:none}*{scrollbar-width:thin;scrollbar-color:hsl(var(--slate-6)) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:hsl(var(--slate-6));border-radius:4px}.dark ::-webkit-scrollbar-thumb{background-color:hsl(var(--slate-7))}.scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-hide::-webkit-scrollbar{display:none}@keyframes slideIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmFadeOut{0%{opacity:1}to{opacity:0}}@keyframes confirmScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.shiki-wrapper pre{border-radius:.5rem;margin:0;padding:1rem;overflow-x:auto}.shiki-wrapper code{flex-direction:column;display:flex}.shiki-wrapper .line{white-space:pre;line-height:1.5}.shiki-wrapper .line-number{text-align:right;color:#6b7280;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;border-right:1px solid #e5e7eb;min-width:4ch;margin-right:1em;padding-right:.5em;display:inline-block}.dark .shiki-wrapper .line-number{color:#9ca3af;border-right-color:#374151}.tiptap-editor{color:hsl(var(--foreground));outline:none;font-size:.9375rem;line-height:1.7}.tiptap-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:hsl(var(--slate-8));pointer-events:none;height:0}.tiptap-editor h1{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.5rem;font-weight:700;line-height:1.3}.tiptap-editor h2{margin-top:1.25rem;font-size:1.25rem}.tiptap-editor h2,.tiptap-editor h3{margin-bottom:.5rem;font-weight:600;line-height:1.3}.tiptap-editor h3{margin-top:1rem;font-size:1.1rem}.tiptap-editor p{margin-bottom:.5rem}.tiptap-editor ol,.tiptap-editor ul{margin-bottom:.5rem;padding-left:1.5rem}.tiptap-editor ul{list-style-type:disc}.tiptap-editor ol{list-style-type:decimal}.tiptap-editor li{margin-bottom:.25rem}.tiptap-editor li p{margin-bottom:0}.tiptap-editor blockquote{border-left:3px solid hsl(var(--border));color:hsl(var(--muted-foreground));margin-bottom:.5rem;margin-left:0;padding-left:1rem}.tiptap-editor code{background:hsl(var(--muted));border-radius:.25rem;padding:.15rem .35rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.875em}.tiptap-editor pre{background:hsl(var(--muted));border-radius:.5rem;margin-bottom:.5rem;padding:.75rem 1rem;overflow-x:auto}.tiptap-editor pre code{background:0 0;border-radius:0;padding:0;font-size:.875rem}.tiptap-editor hr{border:none;border-top:1px solid hsl(var(--border));margin:1rem 0}.tiptap-editor strong{font-weight:600}.tiptap-editor a,.tiptap-editor a.tiptap-link{color:hsl(var(--brand));cursor:pointer;text-decoration:underline;transition:opacity .15s}.tiptap-editor a.tiptap-link:hover,.tiptap-editor a:hover{opacity:.8}.tiptap-editor table{border-collapse:collapse;width:100%;margin-bottom:.75rem;overflow:hidden}.tiptap-editor td,.tiptap-editor th{border:1px solid hsl(var(--border));text-align:left;vertical-align:top;min-width:80px;padding:.4rem .6rem;position:relative}.tiptap-editor th{background:hsl(var(--muted));font-size:.875rem;font-weight:600}.tiptap-editor td>*,.tiptap-editor th>*{margin-bottom:0}.tiptap-editor .selectedCell:after{content:"";background:hsl(var(--brand)/.1);pointer-events:none;position:absolute;inset:0}.tiptap-editor ul[data-type=taskList]{padding-left:0;list-style:none}.tiptap-editor ul[data-type=taskList] li{align-items:flex-start;gap:.5rem;margin-bottom:.25rem;display:flex}.tiptap-editor ul[data-type=taskList] li>label{cursor:pointer;flex-shrink:0;margin-top:.2rem}.tiptap-editor ul[data-type=taskList] li>label input[type=checkbox]{width:1rem;height:1rem;accent-color:hsl(var(--brand));cursor:pointer}.tiptap-editor ul[data-type=taskList] li>div{flex:1}.tiptap-editor ul[data-type=taskList] li[data-checked=true]>div{color:hsl(var(--muted-foreground));text-decoration:line-through}.hl-cur{background:#d9770680}.hl-m{background:#d977064d}.hl-kw{background:#d9770666;border-radius:2px;padding:0 2px}.cmd-held-container{cursor:pointer}.cmd-held-container span[style]:hover{text-decoration:underline}.flash-line{animation:flash-fade .5s ease-out forwards!important}@keyframes flash-fade{0%{background-color:hsl(var(--brand)/.4)}30%{background-color:hsl(var(--brand)/.25)}65%{background-color:hsl(var(--brand)/.1)}to{background-color:#0000}}.vi-cursor-line{box-shadow:inset 2px 0 0 0 hsl(var(--brand));background-color:hsl(var(--brand)/.22)!important}.vi-char-cursor{background-color:hsl(var(--brand)/.65);animation:vi-cursor-blink 1s step-end infinite}@keyframes vi-cursor-blink{0%,to{background-color:hsl(var(--brand)/.65)}50%{background-color:#0000}}mark.chat-search-match{color:inherit;background:#d977064d;border-radius:2px}mark.chat-search-current{color:inherit;background:#d9770699;border-radius:2px}.ansi-bold{font-weight:700}.ansi-dim{opacity:.7}.ansi-italic{font-style:italic}.ansi-underline{text-decoration:underline}.ansi-strikethrough{text-decoration:line-through}.ansi-black-fg{color:#3c3c3c}.ansi-red-fg{color:#e55561}.ansi-green-fg{color:#8cc265}.ansi-yellow-fg{color:#d18f52}.ansi-blue-fg{color:#4aa5f0}.ansi-magenta-fg{color:#c162de}.ansi-cyan-fg{color:#42b3c2}.ansi-white-fg{color:#d0d0d0}.ansi-bright-black-fg{color:#666}.ansi-bright-red-fg{color:#ef8080}.ansi-bright-green-fg{color:#a5e075}.ansi-bright-yellow-fg{color:#e5c07b}.ansi-bright-blue-fg{color:#61afef}.ansi-bright-magenta-fg{color:#d68fd6}.ansi-bright-cyan-fg{color:#56d4dd}.ansi-bright-white-fg{color:#fff}.ansi-black-bg{background-color:#1e1e1e}.ansi-red-bg{background-color:#e55561}.ansi-green-bg{background-color:#8cc265}.ansi-yellow-bg{background-color:#d18f52}.ansi-blue-bg{background-color:#4aa5f0}.ansi-magenta-bg{background-color:#c162de}.ansi-cyan-bg{background-color:#42b3c2}.ansi-white-bg{background-color:#d0d0d0}.ansi-bright-black-bg{background-color:#666}.ansi-bright-red-bg{background-color:#ef8080}.ansi-bright-green-bg{background-color:#a5e075}.ansi-bright-yellow-bg{background-color:#e5c07b}.ansi-bright-blue-bg{background-color:#61afef}.ansi-bright-magenta-bg{background-color:#d68fd6}.ansi-bright-cyan-bg{background-color:#56d4dd}.ansi-bright-white-bg{background-color:#fff}:root .ansi-black-fg{color:#1e1e1e}:root .ansi-white-fg{color:#6b7280}:root .ansi-bright-black-fg{color:#4b5563}:root .ansi-bright-white-fg{color:#374151}.xterm-renderer .xterm{padding:0}.xterm-renderer .xterm-viewport{overflow-y:auto!important}.xterm-renderer .xterm-screen,.xterm-renderer .xterm-viewport{background-color:#0000!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-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-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}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var a,b,c,d;self.__BUILD_MANIFEST=(a=0,b=0,c=0,d=0,{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:101,errorRate:1e-4,numBits:1937,numHashes:14,bitArray:[0,0,1,1,0,0,1,1,0,0,1,0,1,1,0,1,1,0,1,1,1,0,1,0,0,1,0,0,1,1,1,0,1,0,1,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,1,0,0,0,1,0,0,1,0,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,1,0,1,1,1,1,1,0,1,1,1,0,0,0,1,0,0,0,0,1,1,0,1,0,0,1,0,1,1,0,1,1,0,0,1,1,0,0,0,1,1,1,0,1,1,0,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,0,1,0,1,1,0,0,1,0,0,0,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,1,1,1,0,0,1,0,0,0,1,1,1,0,0,0,1,0,1,1,0,0,1,0,0,0,1,1,1,0,0,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,0,0,1,0,1,1,1,0,0,1,0,0,0,0,1,1,1,1,1,0,0,1,0,1,1,1,0,0,0,1,0,1,1,0,0,1,0,0,1,1,0,0,1,0,1,0,1,1,1,1,1,0,0,1,1,0,0,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0,1,0,0,1,1,1,1,1,1,0,1,1,0,1,0,0,0,0,0,0,0,1,1,0,1,0,1,0,0,0,1,0,1,1,0,0,0,1,0,1,0,1,0,0,0,1,1,1,0,1,0,0,1,0,0,0,0,0,1,0,1,1,0,0,1,1,0,1,1,1,1,0,0,1,0,1,0,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,0,0,1,0,0,0,1,1,1,0,1,1,1,0,1,1,0,1,0,1,1,0,0,1,1,1,0,1,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,0,1,0,1,1,0,1,1,0,0,0,0,0,1,1,0,1,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,1,1,1,0,1,0,1,1,0,0,0,1,0,1,0,1,0,0,0,0,1,0,1,0,1,0,1,0,0,1,1,0,0,1,1,1,0,0,1,0,0,1,0,0,0,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,0,0,1,0,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,1,1,1,0,0,1,1,1,0,1,0,0,1,1,1,1,0,1,1,0,1,0,1,0,0,0,0,0,1,0,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,0,1,1,1,0,1,1,1,0,1,1,0,1,0,1,1,1,1,1,1,0,0,1,0,0,0,0,1,1,1,1,1,0,1,1,0,1,1,1,0,0,1,0,0,1,1,0,0,1,0,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0,1,0,1,1,0,1,0,0,0,1,0,0,0,1,0,1,1,1,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,1,0,0,1,0,1,1,0,1,1,0,0,1,0,0,0,1,0,1,0,0,1,1,0,1,1,0,0,1,1,0,0,0,0,0,0,1,0,1,1,0,1,0,0,1,0,0,1,0,0,1,0,1,0,0,1,0,1,0,0,0,0,0,0,0,1,1,1,1,0,0,1,0,1,1,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,0,0,0,0,1,1,1,0,1,0,0,1,0,1,0,1,0,1,1,0,0,0,0,1,1,1,0,1,0,1,0,1,0,1,0,0,0,1,1,1,0,1,0,0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,0,1,0,0,1,1,0,1,0,1,0,1,0,1,0,0,0,1,0,1,1,1,0,0,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1,1,0,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,0,1,0,1,1,0,0,0,1,1,0,1,0,1,0,0,1,0,0,0,1,1,0,1,1,1,0,0,0,1,0,1,1,0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,1,0,0,0,0,0,0,0,1,0,1,1,0,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,1,1,0,0,1,1,1,1,0,1,1,1,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,1,1,0,1,1,0,0,0,0,1,1,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,0,0,1,0,1,0,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,1,0,1,1,0,1,1,1,0,1,1,0,1,1,1,1,0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,1,0,1,1,0,0,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,0,0,0,1,0,1,0,0,1,1,0,1,1,0,0,1,0,0,0,1,0,0,0,0,1,1,1,0,0,0,1,1,0,1,0,0,1,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,0,1,1,1,0,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,0,0,1,1,1,0,1,0,0,0,1,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,1,0,1,1,1,1,0,1,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1,0,0,0,0,1,1,0,1,0,0,0,0,0,0,1,0,1,1,1,1,0,1,0,0,0,1,0,1,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,0,0,0,0,1,1,1,0,1,0,0,0,1,0,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,1,0,1,1,1,0,1,0,0,1,1,0,1,0,1,0,1,0,0,1,1,1,1,1,0,1,1,1,0,1,0,1,1,1,1,0,1,0,0,0,1,1,1,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,0,1,0,0,1,0,1,0,0,0,0,1,1,1,0,0,0,1,1,0,1,1,0,0,1,1,1,0,0,1,0,1,0,1,1,1,1,0,1,0,1,0,0,0,1,1,0,0,0,1,0,1,0,0,1,1,1,0,1,0,1,1,0,0,1,0,0,0,0,1,0,0,1,1,0,1,1,1,1,1,0,1,1,1,0,0,0,1,1,0,1,1,1,0,1,1,0,1,1,0,0,0,1,0,0,0,1,1,0,1,1,1,1,1,1,1,1,0,0,1,0,0,0,1,1,1,1,1,1,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,1,0,0,1,0,1,0,0,1,1,1,0,1,1,0,0,0,1,0,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,0,1,1,1,1,1,0,1,0,1,1,1,0,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,0,0,0,1,1,1,1,1,0,1,1,1,1,0,1,1,1,0,0,0,0,1,1,0,0,1,1,0,1,1,1,1,1,1,0,0,0,1,1,0,1,0,0,1,0,0,0,1,1,1,0,1,1,1,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,1,1,0,0,1,0,0,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,0,1,0,0,0,1,1,1,1,0,1,0,0,1,1,0,1,1,1,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,1,1,1,0,1,0,0,0,0,0,1,1,0,1,0,0,1,1,0,1,1,1,0,1,1,1,0,1,0,1,1,1,1]},__routerFilterDynamic:{numItems:5,errorRate:1e-4,numBits:96,numHashes:14,bitArray:[1,1,1,1,0,1,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,0,1,0,1,1,0,0,0,0,1,0,1,1,1,1,1,1,0,0,1,1,0,1,0,0,0,0,1,0,1,0,1,1,0,1,0,1,1,1,0,1,0,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,1,0,1,0,0,0,1,1,0,1,1,0,1,1,0]},sortedPages:["/_app"]}),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|