tokenhop 1.0.1 → 1.0.3
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/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +8 -8
- package/app/.next-cli-build/build-manifest.json +3 -3
- package/app/.next-cli-build/prerender-manifest.json +3 -3
- package/app/.next-cli-build/react-loadable-manifest.json +29 -29
- package/app/.next-cli-build/required-server-files.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/[...missing]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/[...missing]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/[...missing]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/ui-kit/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/ui-kit/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/ui-kit/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tool-settings/[toolId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tool-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/headroom/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/headroom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/gateway/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/home/live-routes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/home/quota/route.js +1 -1
- package/app/.next-cli-build/server/app/api/home/quota/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/home/summary/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/config/export/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/config/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/config/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/environment/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shell/savings-milestone/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shell/summary/route.js +1 -1
- package/app/.next-cli-build/server/app/api/shell/summary/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js +9 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +9 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +9 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +9 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/last-activity/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/savings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +9 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page.js +1 -1
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/__PAGE__.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/settings.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/settings.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/ui-kit.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/ui-kit.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/ui-kit.segments/!KGRhc2hib2FyZCk/dashboard/ui-kit/__PAGE__.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/ui-kit.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/ui-kit.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing/page.js +1 -1
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +6 -6
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/login/page.js +1 -1
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +5 -5
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page.js +1 -1
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/skills/[...slug]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +8 -8
- package/app/.next-cli-build/server/chunks/{6734.js → 1004.js} +1 -1
- package/app/.next-cli-build/server/chunks/{4037.js → 1215.js} +1 -1
- package/app/.next-cli-build/server/chunks/1533.js +1 -1
- package/app/.next-cli-build/server/chunks/2217.js +1 -1
- package/app/.next-cli-build/server/chunks/2380.js +3 -3
- package/app/.next-cli-build/server/chunks/24.js +1 -1
- package/app/.next-cli-build/server/chunks/2460.js +1 -1
- package/app/.next-cli-build/server/chunks/257.js +10 -0
- package/app/.next-cli-build/server/chunks/2592.js +1 -1
- package/app/.next-cli-build/server/chunks/2705.js +9 -0
- package/app/.next-cli-build/server/chunks/318.js +2 -10
- package/app/.next-cli-build/server/chunks/3943.js +1 -1
- package/app/.next-cli-build/server/chunks/4123.js +1 -1
- package/app/.next-cli-build/server/chunks/4334.js +1 -1
- package/app/.next-cli-build/server/chunks/5230.js +1 -0
- package/app/.next-cli-build/server/chunks/5260.js +1 -1
- package/app/.next-cli-build/server/chunks/5559.js +9 -0
- package/app/.next-cli-build/server/chunks/5615.js +1 -1
- package/app/.next-cli-build/server/chunks/5649.js +1 -0
- package/app/.next-cli-build/server/chunks/5827.js +1 -1
- package/app/.next-cli-build/server/chunks/5869.js +9 -0
- package/app/.next-cli-build/server/chunks/5908.js +1 -0
- package/app/.next-cli-build/server/chunks/620.js +1 -1
- package/app/.next-cli-build/server/chunks/{1854.js → 6355.js} +1 -1
- package/app/.next-cli-build/server/chunks/6493.js +1 -0
- package/app/.next-cli-build/server/chunks/6496.js +1 -1
- package/app/.next-cli-build/server/chunks/7485.js +9 -0
- package/app/.next-cli-build/server/chunks/{3676.js → 7695.js} +1 -1
- package/app/.next-cli-build/server/chunks/7716.js +1 -1
- package/app/.next-cli-build/server/chunks/7819.js +1 -1
- package/app/.next-cli-build/server/chunks/8171.js +1 -1
- package/app/.next-cli-build/server/chunks/8261.js +1 -0
- package/app/.next-cli-build/server/chunks/878.js +1 -0
- package/app/.next-cli-build/server/chunks/8895.js +10 -10
- package/app/.next-cli-build/server/chunks/8954.js +1 -0
- package/app/.next-cli-build/server/chunks/9016.js +9 -0
- package/app/.next-cli-build/server/chunks/9343.js +1 -1
- package/app/.next-cli-build/server/chunks/9421.js +1 -1
- package/app/.next-cli-build/server/chunks/9489.js +1 -1
- package/app/.next-cli-build/server/chunks/9578.js +1 -1
- package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/chunks/{198-0c7f5eadfd257db1.js → 198-7c5bbea89ef8bc14.js} +1 -1
- package/app/.next-cli-build/static/chunks/{3670-90f5cd325f460eb5.js → 3670-d6dc44bc181c9b8a.js} +1 -1
- package/app/.next-cli-build/static/chunks/{6174.f1da2912aec81c15.js → 6174.a18fedfa3d765b1e.js} +1 -1
- package/app/.next-cli-build/static/chunks/7899-a12f962af02edf7f.js +1 -0
- package/app/.next-cli-build/static/chunks/8105-71d1aea9708976db.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-084fc21b1dbae00d.js → page-1df6ad7d9adfc2a7.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-de53f51d191eec46.js → page-25d06b77bd1a5edb.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-243d3da0a2c6cbe9.js → page-5bb99ecaf48bde39.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/ui-kit/{page-998f8c5a36dac961.js → page-1bc393f267badc04.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-96ebd2b46f1f8d39.js → layout-a94f45e334f1841b.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/landing/{page-bcaea5febe1c68c0.js → page-98f05847e3372b16.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/{layout-c266f1acedfb4651.js → layout-29d74e164758a126.js} +1 -1
- package/app/.next-cli-build/static/chunks/{webpack-8693ccf029e9af63.js → webpack-1e19a4b05298b49d.js} +1 -1
- package/app/.next-cli-build/static/css/{9f0b95a0d0bc5e51.css → ffa1d9c3cbb4e959.css} +1 -1
- package/app/package.json +4 -5
- package/app/server.js +1 -1
- package/package.json +1 -1
- package/app/.next-cli-build/server/chunks/1764.js +0 -1
- package/app/.next-cli-build/server/chunks/3306.js +0 -1
- package/app/.next-cli-build/server/chunks/3558.js +0 -1
- package/app/.next-cli-build/server/chunks/368.js +0 -1
- package/app/.next-cli-build/server/chunks/4199.js +0 -2
- package/app/.next-cli-build/server/chunks/4903.js +0 -1
- package/app/.next-cli-build/server/chunks/6000.js +0 -1
- package/app/.next-cli-build/server/chunks/6403.js +0 -1
- package/app/.next-cli-build/server/chunks/6565.js +0 -1
- package/app/.next-cli-build/server/chunks/7901.js +0 -1
- package/app/.next-cli-build/server/chunks/8372.js +0 -1
- package/app/.next-cli-build/server/chunks/9219.js +0 -1
- package/app/.next-cli-build/static/chunks/7899-83edd7bbf1a98c4a.js +0 -1
- package/app/.next-cli-build/static/chunks/8105-bdd81b911fed8537.js +0 -1
- /package/app/.next-cli-build/static/{J4xdfHpBUAMOCO5dsemSj → gdVYVwJMM6JES9Y1KPQyw}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{J4xdfHpBUAMOCO5dsemSj → gdVYVwJMM6JES9Y1KPQyw}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7018],{1620:(e,t,r)=>{"use strict";r.d(t,{D:()=>o});var a=r(12115),n=r(90085);function s(e){let t=window.matchMedia("(prefers-color-scheme: dark)");return t.addEventListener("change",e),()=>t.removeEventListener("change",e)}function l(){return window.matchMedia("(prefers-color-scheme: dark)").matches}function i(){return!1}function o(){let{theme:e,setTheme:t,toggleTheme:r,initTheme:o}=(0,n.A)(),d=(0,a.useSyncExternalStore)(s,l,i);(0,a.useEffect)(()=>{o()},[o]),(0,a.useEffect)(()=>{if("system"!==e)return;let t=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>o();return t.addEventListener("change",r),()=>t.removeEventListener("change",r)},[e,o]);let c="dark"===e||"system"===e&&d;return{theme:e,setTheme:t,toggleTheme:r,isDark:c}}},1934:(e,t,r)=>{"use strict";r.d(t,{v:()=>l});var a=r(12115);let n=e=>{let t,r=new Set,a=(e,a)=>{let n="function"==typeof e?e(t):e;if(!Object.is(n,t)){let e=t;t=(null!=a?a:"object"!=typeof n||null===n)?n:Object.assign({},t,n),r.forEach(r=>r(t,e))}},n=()=>t,s={setState:a,getState:n,getInitialState:()=>l,subscribe:e=>(r.add(e),()=>r.delete(e))},l=t=e(a,n,s);return s},s=e=>{let t=e?n(e):n,r=e=>(function(e,t=e=>e){let r=a.useSyncExternalStore(e.subscribe,a.useCallback(()=>t(e.getState()),[e,t]),a.useCallback(()=>t(e.getInitialState()),[e,t]));return a.useDebugValue(r),r})(t,e);return Object.assign(r,t),r},l=e=>e?s(e):s},4553:(e,t,r)=>{"use strict";r.d(t,{DM:()=>l,Hc:()=>c,qt:()=>o,qx:()=>d});var a=r(35652);let{BRAND_IDS:n,DEFAULT_BRAND_ID:s,ACTIVE_BRAND_ID:l,isActiveBrand:i,BRAND:o,LEGACY:d,ACTIVE:c,UPSTREAM_CLIENT_IDS:m,envName:u,readEnv:x,warnLegacyOnce:h,header:p,legacyHeaderNames:f}=r.n(a)()},4650:(e,t,r)=>{"use strict";async function a(e){if("u">typeof navigator&&navigator?.clipboard?.writeText)try{await navigator.clipboard.writeText(String(e));return}catch{}if("u"<typeof document)throw Error("copyTextToClipboard: clipboard API unavailable");let t=document.createElement("textarea");t.value=String(e),t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select();let r=!1;try{r=document.execCommand("copy")}finally{document.body.removeChild(t)}if(!r)throw Error("copyTextToClipboard: execCommand('copy') failed")}function n(e,{min:t,max:r}={}){if(""===e||null==e)return e;let a=Number(e);if(!Number.isFinite(a))return e;let s=a;return Number.isFinite(t)&&(s=Math.max(t,s)),Number.isFinite(r)&&(s=Math.min(r,s)),s}function s(e,{min:t,max:r,step:a=1,direction:l}={}){let i=""===e||null==e?NaN:Number(n(e,{min:t,max:r})),o=Number.isFinite(i)?i:Number.isFinite(t)?t:0,d=Math.max(String(a).split(".")[1]?.length??0,String(o).split(".")[1]?.length??0);return n(Number((o+l*a).toFixed(Math.min(d,10))),{min:t,max:r})}function l(e,t,{length:r,rtl:a=!1}={}){if(!Number.isInteger(r)||r<=0)return e;let n=(e%r+r)%r;switch(t){case"ArrowRight":return(n+(a?-1:1)+r)%r;case"ArrowLeft":return(n+(a?1:-1)+r)%r;case"ArrowDown":return(n+1)%r;case"ArrowUp":return(n-1+r)%r;case"Home":return 0;case"End":return r-1;default:return n}}function i(e){return["ArrowRight","ArrowLeft","ArrowDown","ArrowUp","Home","End"].includes(e)}r.d(t,{CD:()=>s,Ck:()=>o,Ec:()=>c,GO:()=>d,Gc:()=>u,JF:()=>i,N:()=>n,V7:()=>m,eM:()=>a,lZ:()=>l,qM:()=>x});let o={primary:"bg-lime text-on-lime border border-transparent shadow-[inset_0_0_0_1px_rgba(0,0,0,0.14)] hover:brightness-95",secondary:"bg-raised text-text border border-line hover:bg-line/60",ghost:"bg-transparent text-text border border-line hover:bg-raised",danger:"bg-err-bg text-err border border-transparent hover:bg-err/15",outline:"bg-transparent text-muted border border-line hover:bg-raised hover:text-text",success:"bg-ok-bg text-ok border border-transparent hover:bg-ok/15"},d={sm:"h-10 px-3 text-sm rounded-lg",md:"h-11 px-4 text-sm rounded-lg",lg:"h-11 px-6 text-sm rounded-lg"},c={sm:"h-9 text-xs",md:"h-9 text-sm",lg:"h-11 text-sm"};function m(e="primary",t="md"){let r=o[e];if(!r)throw Error(`buttonClasses: unknown variant "${e}"`);let a=d[t];if(!a)throw Error(`buttonClasses: unknown size "${t}"`);return`${r} ${a}`}function u(e,{hint:t,error:r}={}){return r?`${e}-error`:t?`${e}-hint`:void 0}function x(e){return null!=e&&!1!==e&&""!==e}},6587:(e,t,r)=>{"use strict";r.d(t,{default:()=>i});var a=r(95155),n=r(14051),s=r.n(n),l=r(31474);function i({icon:e,label:t,"aria-label":r,loading:n=!1,disabled:s=!1,className:o,suffix:d,...c}){return(0,a.jsxs)("button",{...c,type:c.type||"button","aria-label":t??r,disabled:s||n,"aria-busy":n||void 0,className:(0,l.cn)("inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted","transition-colors duration-150 hover:bg-line/60 hover:text-text","focus-visible:outline-none focus-visible:shadow-focus","disabled:cursor-not-allowed disabled:opacity-50",o),children:[(0,a.jsx)("span",{className:(0,l.cn)("material-symbols-outlined text-[20px]",n&&"animate-spin"),"aria-hidden":"true",children:n?"progress_activity":e}),d]})}i.propTypes={icon:s().string.isRequired,label:function(e,t,r){return e.label||e["aria-label"]||e["aria-labelledby"]?null:Error(`${r}: provide "label", "aria-label" or "aria-labelledby".`)},"aria-label":s().string,"aria-labelledby":s().string,loading:s().bool,disabled:s().bool,className:s().string,suffix:s().node}},8247:(e,t,r)=>{"use strict";r.d(t,{HY:()=>o,Kw:()=>d});let a={"perplexity-agent":"perplexity","gitlab-duo":"gitlab","vercel-ai-gateway":"vercel","ollama-search":"ollama"};function n(e){return e.startsWith("openai-compatible")?"oai-cc":e.startsWith("anthropic-compatible")?"anthropic-m":""}let s=new Set;function l(e){return e&&"string"==typeof e?e.trim().toLowerCase():""}let i=new Set(["meta-code"]);function o(e){let t=function(e){let t=l(e);if(!t||s.has(t))return"";let r=a[t]||n(t)||t;return s.has(r)?"":r}(e);return t?`/providers/${t}.${i.has(t)?"svg":"webp"}`:null}function d(e){let t=l(e);t&&s.add(t);let r=a[t]||n(t);r&&s.add(r)}},10185:(e,t,r)=>{"use strict";r.d(t,{default:()=>d});var a=r(95155),n=r(14051),s=r.n(n),l=r(12115),i=r(31474),o=r(4650);function d({value:e,copyValue:t,label:r="Copy to clipboard",showCopyButton:n=!0,className:s,...c}){let[m,u]=(0,l.useState)(null),x=(0,l.useRef)(null);(0,l.useEffect)(()=>()=>clearTimeout(x.current),[]);let h=e=>{u(e),clearTimeout(x.current),x.current=setTimeout(()=>u(null),2e3)},p=async()=>{try{await (0,o.eM)(t??e),h("copied")}catch{h("error")}};return(0,a.jsxs)("div",{className:(0,i.cn)("flex h-11 items-center gap-2 rounded-lg border border-line bg-raised ps-3 pe-1.5 transition-colors","focus-within:border-coral focus-within:shadow-focus",s),...c,children:[(0,a.jsx)("code",{title:String(t??e),className:"min-w-0 flex-1 truncate font-mono text-sm text-text",children:e}),n?(0,a.jsx)("button",{type:"button","aria-label":r,onClick:p,className:"inline-flex size-8 shrink-0 items-center justify-center rounded-md text-muted transition-colors hover:bg-line/60 hover:text-text focus-visible:shadow-focus",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]","aria-hidden":"true",children:"copied"===m?"check":"error"===m?"error":"content_copy"})}):null,n?(0,a.jsx)("span",{"aria-live":"polite",className:"sr-only",children:"copied"===m?"Copied":"error"===m?"Copy failed":""}):null]})}d.propTypes={value:s().oneOfType([s().string,s().number]).isRequired,copyValue:s().string,label:s().string,showCopyButton:s().bool,className:s().string}},19123:(e,t,r)=>{"use strict";r.d(t,{default:()=>i});var a=r(95155),n=r(14051),s=r.n(n),l=r(50770);function i({children:e,variant:t="neutral",size:r="md",dot:n=!1,className:s}){return(0,a.jsxs)("span",{className:`inline-flex items-center gap-1.5 rounded-full font-semibold whitespace-nowrap ${(0,l.S3)(t,r)}${s?` ${s}`:""}`,children:[n&&(0,a.jsx)("span",{"aria-hidden":"true",className:"size-2 rounded-full bg-current"}),e]})}i.propTypes={children:s().node,variant:s().oneOf(l.XY),size:s().oneOf(Object.keys(l.vO)),dot:s().bool,className:s().string}},28745:(e,t,r)=>{"use strict";r.d(t,{vQ:()=>s,UY:()=>d,Nu:()=>l,B2:()=>o,h0:()=>i});var a=r(4553),n=r(41463);let s={name:`${a.Hc.name} Proxy`,description:"AI infrastructure management",version:"1.0.1",build:{channel:n.env.NEXT_PUBLIC_BUILD_CHANNEL||"",sha:n.env.NEXT_PUBLIC_BUILD_SHA||""}},l={changelogUrl:"https://raw.githubusercontent.com/tokenhop/tokenhop/refs/heads/master/CHANGELOG.md"},i={appPort:20128},o={storageKey:"theme",defaultTheme:"dark"},d={maxLines:200,pollIntervalMs:1e3}},31692:(e,t,r)=>{"use strict";r.d(t,{Zr:()=>n});let a=e=>t=>{try{let r=e(t);if(r instanceof Promise)return r;return{then:e=>a(e)(r),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>a(t)(e)}}},n=(e,t)=>(r,n,s)=>{let l,i={storage:function(e){let t;try{t=e()}catch(e){return}return{getItem:e=>{var r;let a=e=>null===e?null:JSON.parse(e,void 0),n=null!=(r=t.getItem(e))?r:null;return n instanceof Promise?n.then(a):a(n)},setItem:(e,r)=>t.setItem(e,JSON.stringify(r,void 0)),removeItem:e=>t.removeItem(e)}}(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,d=0,c=new Set,m=new Set,u=i.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`),r(...e)},n,s);let x=()=>{let e=i.partialize({...n()});return u.setItem(i.name,{state:e,version:i.version})},h=s.setState;s.setState=(e,t)=>(h(e,t),x());let p=e((...e)=>(r(...e),x()),n,s);s.getInitialState=()=>p;let f=()=>{var e,t;if(!u)return;let s=++d;o=!1,c.forEach(e=>{var t;return e(null!=(t=n())?t:p)});let h=(null==(t=i.onRehydrateStorage)?void 0:t.call(i,null!=(e=n())?e:p))||void 0;return a(u.getItem.bind(u))(i.name).then(e=>{if(e)if("number"!=typeof e.version||e.version===i.version)return[!1,e.state];else{if(i.migrate){let t=i.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(e=>{var t;if(s!==d)return;let[a,o]=e;if(r(l=i.merge(o,null!=(t=n())?t:p),!0),a)return x()}).then(()=>{s===d&&(null==h||h(n(),void 0),l=n(),o=!0,m.forEach(e=>e(l)))}).catch(e=>{s===d&&(null==h||h(void 0,e))})};return s.persist={setOptions:e=>{i={...i,...e},e.storage&&(u=e.storage)},clearStorage:()=>{++d,null==u||u.removeItem(i.name)},getOptions:()=>i,rehydrate:()=>f(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(m.add(e),()=>{m.delete(e)})},i.skipHydration||f(),l||p}},35652:(e,t,r)=>{"use strict";var a,n=r(41463);let s=Object.freeze(["9router","tokenhop"]),l="tokenhop";function i(e,t){if(s.includes(e))return e;let r=s.map(e=>`"${e}"`).join(", ");throw Error(`${t}: unknown brand ${JSON.stringify(e)}; allowed values: ${r}`)}let o=""==(a="tokenhop")?l:i(a,"NEXT_PUBLIC_BRAND"),d=Object.freeze({name:"tokenhop",slug:"tokenhop",envPrefix:"TOKENHOP_",headerPrefix:"x-tokenhop-",jcodeApiKeyEnv:"JCODE_TOKENHOP_API_KEY",defaultApiKey:"sk_tokenhop",dataDirName:"tokenhop",samlIssuerDefault:"urn:tokenhop:sp",mitmCaCommonName:"tokenhop MITM Root CA",mitmCaOrg:"tokenhop",mitmCertFile:"tokenhop-root-ca.crt",pidFile:"tokenhop.pid",autostartLabel:"dev.tokenhop.autostart",autostartDesktopFile:"tokenhop.desktop",autostartVbsFile:"tokenhop.vbs",clientConfigKey:"tokenhop",customModelIdPrefix:"custom:tokenhop-",storageKeyPrefix:"tokenhop.",eventPrefix:"tokenhop:",backupFilePrefix:"tokenhop-backup-",npmPackage:"tokenhop",appPackage:"tokenhop-app",repoSlug:"tokenhop/tokenhop",repoUrl:"https://github.com/tokenhop/tokenhop",imageName:"ghcr.io/tokenhop/tokenhop",websiteUrl:"https://tokenhop.ai",docsUrl:"https://tokenhop.dev",wordmark:"tokenhop",favicon:"/brand/favicon.svg",faviconIco:"/brand/favicon.ico",appIcon192:"/brand/icons/icon-192.svg",appIcon512:"/brand/icons/icon-512.svg",trayIconName:"icon-tokenhop",trayIconTemplate:!0}),c=Object.freeze({names:Object.freeze(["9Router","9router"]),slug:"9router",envPrefixes:Object.freeze(["NINEROUTER_","NINE_ROUTER_"]),headerPrefix:"x-9router-",jcodeApiKeyEnv:"JCODE_9ROUTER_API_KEY",defaultApiKey:"sk_9router",dataDirName:"9router",samlIssuerDefault:"urn:9router:sp",mitmCaCommonName:"9Router MITM Root CA",mitmCaOrg:"9Router",mitmCertFile:"9router-root-ca.crt",pidFile:"9router.pid",autostartLabel:"com.9router.autostart",autostartDesktopFile:"9router.desktop",autostartVbsFile:"9router.vbs",clientConfigKeys:Object.freeze(["9router","9Router"]),customModelIdPrefix:"custom:9Router-",storageKeyPrefix:"9router.",eventPrefix:"9router:",backupFilePrefix:"9router-backup-",npmPackage:"9router",appPackage:"9router-app",repoSlug:"yandy-r/9router",repoUrl:"https://github.com/yandy-r/9router",imageName:"ghcr.io/yandy-r/9router",wordmark:"router",favicon:"/favicon.svg",faviconIco:"/favicon.ico",appIcon192:"/icons/icon-192.svg",appIcon512:"/icons/icon-512.svg",trayIconName:"icon",trayIconTemplate:!1}),m=Object.freeze({kimiPlatform:"9router",clineUserAgentProduct:"9Router",clineClientType:"9router",devinMcpClientName:"9router",coworkMcpClientName:"9router",cursorMcpProvider:"9router",glmMcpClientName:"9router",xaiUserAgent:"grok-cli/9router",xiaomiKeyNamePrefix:"9router-xmd-",githubUserAgent:"9Router",proxyTestUserAgent:"9Router",denoRelayKind:"9router-relay"}),u=new Set(["repoSlug","repoUrl","imageName","websiteUrl","docsUrl"]),x={name:"names",envPrefix:"envPrefixes",clientConfigKey:"clientConfigKeys"},h="tokenhop"===o?d:Object.freeze(Object.fromEntries(Object.keys(d).map(e=>{let t;return[e,u.has(e)?d[e]:Array.isArray(t=c[x[e]||e])?t[0]:t]}))),p=new Set;function f(e,t,r){if("tokenhop"!==o)return!1;let a=`${e}\u0000${t}`;return!p.has(a)&&(p.add(a),console.warn(`[tokenhop] deprecated ${e} "${t}" → use "${r}" (legacy support ends in v2.0.0)`),!0)}let b=/^[A-Z0-9]+(_[A-Z0-9]+)*$/;function g(e){if("string"!=typeof e||!b.test(e))throw Error(`envName: invalid suffix ${JSON.stringify(e)}; expected e.g. "PEER_TOKEN"`);return d.envPrefix+e}let v=/^(?!x-)[a-z0-9]+(-[a-z0-9]+)*$/;function y(e){return h.headerPrefix+function(e,t){if("string"!=typeof e||!v.test(e))throw Error(`${t}: invalid header name ${JSON.stringify(e)}; expected a bare lowercase name like "connection-id"`);return e}(e,"header")}e.exports={BRAND_IDS:s,DEFAULT_BRAND_ID:l,ACTIVE_BRAND_ID:o,isActiveBrand:function(e){return i(e,"isActiveBrand")===o},BRAND:d,LEGACY:c,ACTIVE:h,UPSTREAM_CLIENT_IDS:m,envName:g,readEnv:function(e,t=n.env){let r=g(e);if(void 0!==t[r])return t[r];for(let a of c.envPrefixes){let n=a+e;if(void 0!==t[n])return f("env var",n,r),t[n]}},warnLegacyOnce:f,header:y,legacyHeaderNames:function(e){let t=y(e);return[c.headerPrefix+e].filter(e=>e!==t)}}},38587:(e,t,r)=>{"use strict";r.d(t,{default:()=>l});var a=r(95155),n=r(1620),s=r(31474);function l({className:e,variant:t="default"}){let{isDark:r,toggleTheme:i}=(0,n.D)(),o={default:(0,s.cn)("flex items-center justify-center size-10 rounded-full","text-muted hover:text-text","hover:bg-raised transition-colors"),card:(0,s.cn)("flex items-center justify-center size-11 rounded-full","bg-panel/60 hover:bg-panel","border border-line","backdrop-blur-md shadow-sm hover:shadow-card","text-muted hover:text-coral-ink","transition-all group")};return(0,a.jsx)("button",{onClick:i,className:(0,s.cn)(o[t],e),"aria-label":`Switch to ${r?"light":"dark"} mode`,title:`Switch to ${r?"light":"dark"} mode`,children:(0,a.jsx)("span",{className:(0,s.cn)("material-symbols-outlined text-[22px]","card"===t&&"transition-transform duration-300 group-hover:rotate-12"),children:r?"light_mode":"dark_mode"})})}},42586:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>U});var a=r(95155),n=r(92542),s=r(4553),l=r(98500),i=r.n(l),o=r(12115),d=r(38587),c=r(6587),m=r(48593);let u=[{label:"Features",href:"#features"},{label:"How it Works",href:"#how-it-works"},{label:"Docs",href:"https://github.com/tokenhop/tokenhop#readme",target:"_blank",rel:"noopener noreferrer"},{label:"GitHub",href:"https://github.com/tokenhop/tokenhop",target:"_blank",rel:"noopener noreferrer",external:!0}];function x(){let[e,t]=(0,o.useState)(!1);return(0,o.useEffect)(()=>{if(!e)return;let r=e=>{"Escape"===e.key&&t(!1)};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[e]),(0,a.jsxs)("header",{className:"fixed inset-x-0 top-0 z-50 border-b border-line bg-panel/80 backdrop-blur-md",children:[(0,a.jsxs)("nav",{"aria-label":"Primary",className:"mx-auto flex h-16 max-w-7xl items-center justify-between px-4 sm:px-6",children:[(0,a.jsx)(i(),{href:"/","aria-label":`${s.Hc.name} home`,className:"flex min-h-[44px] items-center gap-3 rounded-lg",children:(0,a.jsx)(m.A,{})}),(0,a.jsx)("div",{className:"hidden items-center gap-1 md:flex",children:u.map(e=>(0,a.jsxs)("a",{href:e.href,target:e.target,rel:e.rel,className:"inline-flex min-h-[44px] items-center gap-1 rounded-lg px-3 text-sm font-medium text-muted transition-colors hover:text-text",children:[e.label,e.external&&(0,a.jsx)("span",{className:"material-symbols-outlined text-[14px]","aria-hidden":"true",children:"open_in_new"})]},e.label))}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(d.default,{className:"min-h-[44px] min-w-[44px]"}),(0,a.jsx)(n.default,{variant:"primary",size:"md",href:"/dashboard",className:"hidden sm:inline-flex",children:"Get started"}),(0,a.jsx)(c.default,{icon:e?"close":"menu",label:e?"Close menu":"Open menu","aria-expanded":e,"aria-controls":"landing-mobile-menu",onClick:()=>t(e=>!e),className:"min-h-[44px] min-w-[44px] md:hidden"})]})]}),e&&(0,a.jsx)("div",{id:"landing-mobile-menu",className:"border-t border-line bg-panel/95 backdrop-blur-md md:hidden",children:(0,a.jsxs)("div",{className:"flex flex-col gap-1 p-4 sm:p-6",children:[u.map(e=>(0,a.jsx)("a",{href:e.href,target:e.target,rel:e.rel,onClick:()=>t(!1),className:"inline-flex min-h-[44px] items-center rounded-lg px-3 text-sm font-medium text-muted transition-colors hover:text-text",children:e.label},e.label)),(0,a.jsx)(n.default,{variant:"primary",size:"md",href:"/dashboard",fullWidth:!0,className:"mt-2",children:"Get started"})]})})]})}var h=r(14051),p=r.n(h),f=r(19123),b=r(10185);function g({endpoint:e="http://localhost:20128/v1"}){return(0,a.jsxs)("section",{className:"relative flex min-h-[90vh] flex-col items-center justify-center overflow-hidden px-4 pt-32 pb-20 sm:px-6",children:[(0,a.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-x-0 top-0 h-[420px] bg-coral-bg [mask-image:radial-gradient(ellipse_60%_100%_at_50%_0%,black,transparent)]"}),(0,a.jsxs)("div",{className:"relative z-10 flex w-full max-w-4xl flex-col items-center gap-8 text-center",children:[(0,a.jsx)(f.default,{variant:"neutral",dot:!0,children:"Open source \xb7 MIT"}),(0,a.jsxs)("h1",{className:"font-display text-[42px] leading-[1.05] font-bold tracking-[-0.02em] text-balance text-text sm:text-5xl md:text-6xl",children:["One endpoint for ",(0,a.jsx)("br",{}),(0,a.jsx)("span",{className:"text-coral",children:"all AI providers"})]}),(0,a.jsx)("p",{className:"mx-auto max-w-2xl text-lg font-light text-muted md:text-xl",children:"AI endpoint proxy with web dashboard - A JavaScript port of CLIProxyAPI. Works seamlessly with Claude Code, OpenAI Codex, Cline, RooCode, and other CLI tools."}),(0,a.jsx)("div",{className:"w-full max-w-md",children:(0,a.jsx)(b.default,{value:e,copyValue:e,label:"Copy endpoint URL"})}),(0,a.jsxs)("div",{className:"flex w-full flex-wrap items-center justify-center gap-4",children:[(0,a.jsx)(n.default,{variant:"primary",size:"md",href:"/dashboard",icon:"rocket_launch",children:"Get started"}),(0,a.jsx)(n.default,{variant:"secondary",size:"md",href:"https://github.com/tokenhop/tokenhop",target:"_blank",rel:"noopener noreferrer",icon:"code",children:"View on GitHub"})]})]})]})}g.propTypes={endpoint:p().string};var v=r(7256),y=r(8247);function k({src:e,providerId:t,alt:r,size:n=32,className:s="",fallbackText:l,fallbackColor:i}){let d=function(e,t){if(t)return(0,y.HY)(t);if(!e)return null;let r=String(e).match(/^\/providers\/([^/]+)\.(?:png|webp|svg)$/i);return r?(0,y.HY)(r[1]):e}(e,t),[c,m]=(0,o.useState)(!1),u=d?.match(/^\/providers\/([^/]+)\.(?:png|webp|svg)$/i)?.[1],x=(0,v.Do)(t??u),h=i??x.color;return!d||c?(0,a.jsx)("span",{role:"img","aria-label":r??t??"provider",className:`inline-flex shrink-0 items-center justify-center rounded-lg font-display font-bold text-white shadow-[inset_0_0_0_1px_rgba(255,255,255,0.14)] ${s}`.trim(),style:{width:n,height:n,backgroundColor:h,fontSize:Math.max(10,Math.floor(.38*n))},children:l??x.monogram}):(0,a.jsx)("img",{src:d,alt:r,width:n,height:n,className:s,loading:"lazy",decoding:"async",onError:()=>{u&&(0,y.Kw)(u),t&&(0,y.Kw)(t),m(!0)}})}k.propTypes={src:p().string,providerId:p().string,alt:p().string,size:p().number,className:p().string,fallbackText:p().string,fallbackColor:p().string};let j=[{id:"claude",name:"Claude Code",image:"/providers/claude.webp"},{id:"codex",name:"OpenAI Codex",image:"/providers/codex.webp"},{id:"cline",name:"Cline",image:"/providers/cline.webp"},{id:"cursor",name:"Cursor",image:"/providers/cursor.webp"}],w=[{id:"openai",name:"OpenAI"},{id:"anthropic",name:"Anthropic"},{id:"gemini",name:"Gemini"},{id:"github",name:"GitHub Copilot"}],N=["M 60 50 C 250 70, 250 180, 360 180","M 60 140 C 250 140, 250 180, 360 180","M 60 210 C 250 210, 250 180, 360 180","M 60 300 C 250 280, 250 180, 360 180"],C=["M 440 180 C 550 180, 550 50, 740 50","M 440 180 C 550 180, 550 130, 740 130","M 440 180 C 550 180, 550 230, 740 230","M 440 180 C 550 180, 550 310, 740 310"],E=e=>e?"border-lime-ink bg-lime-bg text-lime-ink ring-2 ring-lime-ink":"border-line bg-raised text-text";function _(){let[e,t]=(0,o.useState)(0);return(0,o.useEffect)(()=>{let e=window.matchMedia("(prefers-reduced-motion: reduce)"),r=null,a=()=>{clearInterval(r),r=e.matches?null:setInterval(()=>t(e=>(e+1)%w.length),2e3)};return a(),e.addEventListener("change",a),()=>{clearInterval(r),e.removeEventListener("change",a)}},[]),(0,a.jsxs)("div",{className:"w-full max-w-4xl",children:[(0,a.jsxs)("ul",{className:"sr-only",children:[(0,a.jsx)("li",{children:`Requests from Claude Code, OpenAI Codex, Cline and Cursor go to the ${s.Hc.name} hub.`}),(0,a.jsx)("li",{children:"The hub routes each request to OpenAI, Anthropic, Gemini or GitHub Copilot."})]}),(0,a.jsxs)("div",{"aria-hidden":"true",className:"mx-auto flex max-w-md flex-col gap-2 px-4 md:hidden",children:[(0,a.jsx)("div",{className:"grid grid-cols-2 gap-2",children:j.map(e=>(0,a.jsx)("span",{className:"rounded-lg border border-line bg-raised px-3 py-2 text-center text-sm font-medium text-text",children:e.name},e.id))}),(0,a.jsx)("span",{className:"material-symbols-outlined self-center text-[22px] text-subtle","aria-hidden":"true",children:"arrow_downward"}),(0,a.jsx)("span",{className:"rounded-xl border-2 border-coral bg-panel px-4 py-3 text-center font-display text-base font-bold text-text",children:`${s.Hc.name} hub`}),(0,a.jsx)("span",{className:"material-symbols-outlined self-center text-[22px] text-lime-ink","aria-hidden":"true",children:"arrow_downward"}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-2",children:w.map((t,r)=>(0,a.jsx)("span",{className:`rounded-lg border px-3 py-2 text-center text-sm font-semibold ${E(e===r)}`,children:t.name},t.id))})]}),(0,a.jsxs)("div",{"aria-hidden":"true",className:"relative mt-16 hidden h-[360px] w-full items-center justify-center md:flex",children:[(0,a.jsxs)("div",{className:"relative z-20 flex size-32 flex-col items-center justify-center gap-1 rounded-full border-2 border-coral bg-panel shadow-card",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-4xl text-coral",children:"hub"}),(0,a.jsx)("span",{className:"text-xs font-bold tracking-widest text-text uppercase",children:`${s.Hc.name}`}),(0,a.jsx)("span",{className:"absolute inset-0 rounded-full border border-coral opacity-40 motion-safe:animate-ping"})]}),(0,a.jsx)("div",{className:"absolute start-0 top-1/2 flex -translate-y-1/2 flex-col gap-7",children:j.map(e=>(0,a.jsx)("div",{className:"flex size-16 items-center justify-center overflow-hidden rounded-2xl border border-line bg-raised p-2",children:(0,a.jsx)(k,{src:e.image,alt:"",size:48,className:"max-h-12 max-w-12 rounded-xl object-contain",fallbackText:e.name.slice(0,2).toUpperCase()})},e.id))}),(0,a.jsxs)("svg",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0 z-10 size-full rtl:-scale-x-100",viewBox:"0 0 896 360",preserveAspectRatio:"none",xmlns:"http://www.w3.org/2000/svg",children:[N.map(e=>(0,a.jsx)("path",{d:e,fill:"none",strokeDasharray:"5 9",strokeWidth:"2",className:"stroke-subtle motion-safe:animate-flow"},e)),C.map((t,r)=>(0,a.jsx)("path",{d:t,fill:"none",strokeDasharray:e===r?"5 9":void 0,strokeWidth:e===r?3:2,className:e===r?"stroke-lime-ink motion-safe:animate-flow":"stroke-line"},t))]}),(0,a.jsx)("div",{className:"absolute end-0 top-0 bottom-0 flex flex-col justify-between py-6",children:w.map((t,r)=>(0,a.jsx)("span",{className:`flex min-w-[140px] items-center justify-center rounded-lg border px-4 py-2 text-xs font-bold transition-colors ${E(e===r)}`,children:t.name},t.id))})]})]})}function I(){return(0,a.jsx)("section",{className:"border-y border-line bg-raised/40 py-24",id:"how-it-works",children:(0,a.jsxs)("div",{className:"mx-auto max-w-7xl px-4 sm:px-6",children:[(0,a.jsxs)("div",{className:"mb-16",children:[(0,a.jsx)("p",{className:"mb-2 text-xs font-semibold tracking-[0.08em] text-subtle uppercase",children:"How it works"}),(0,a.jsx)("h2",{className:"mb-4 font-display text-3xl font-bold tracking-[-0.02em] text-text md:text-4xl",children:`How ${s.Hc.name} works`}),(0,a.jsx)("p",{className:"max-w-xl text-lg text-muted",children:"Data flows seamlessly from your application through our intelligent routing layer to the best provider for the job."})]}),(0,a.jsxs)("div",{className:"relative grid grid-cols-1 gap-8 md:grid-cols-3",children:[(0,a.jsx)("div",{"aria-hidden":"true",className:"absolute top-12 start-[16%] end-[16%] hidden h-[2px] bg-line md:block"}),(0,a.jsxs)("div",{className:"relative flex flex-col gap-6",children:[(0,a.jsx)("div",{className:"z-10 mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border border-line bg-panel shadow-card md:mx-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-4xl text-muted","aria-hidden":"true",children:"terminal"})}),(0,a.jsxs)("div",{className:"text-start",children:[(0,a.jsx)("h3",{className:"mb-2 text-xl font-bold text-text",children:"1. CLI & SDKs"}),(0,a.jsx)("p",{className:"text-sm text-muted",children:"Your requests start from your favorite tools or our unified SDK. Just change the base URL."})]})]}),(0,a.jsxs)("div",{className:"relative flex flex-col gap-6 md:items-center md:text-center",children:[(0,a.jsx)("div",{className:"z-10 mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border-2 border-coral bg-panel shadow-card",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-4xl text-coral motion-safe:animate-pulse motion-reduce:animate-none","aria-hidden":"true",children:"hub"})}),(0,a.jsxs)("div",{className:"text-start md:text-center",children:[(0,a.jsx)("h3",{className:"mb-2 text-xl font-bold text-coral",children:`2. ${s.Hc.name} hub`}),(0,a.jsx)("p",{className:"text-sm text-muted",children:"Our engine analyzes the prompt, checks provider health, and routes for lowest latency or cost."})]})]}),(0,a.jsxs)("div",{className:"relative flex flex-col gap-6 md:items-end md:text-end",children:[(0,a.jsx)("div",{className:"z-10 mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border border-line bg-panel shadow-card md:mx-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-4xl text-muted","aria-hidden":"true",children:"cloud"})}),(0,a.jsxs)("div",{className:"text-start md:text-end",children:[(0,a.jsx)("h3",{className:"mb-2 text-xl font-bold text-text",children:"3. AI providers"}),(0,a.jsx)("p",{className:"text-sm text-muted",children:"The request is fulfilled by OpenAI, Anthropic, Gemini, or others instantly."})]})]})]})]})})}let A=[{icon:"link",title:"Unified endpoint",desc:"Access all providers via a single standard API URL."},{icon:"bolt",title:"Easy setup",desc:"Get up and running in minutes with one Docker command."},{icon:"shield_with_heart",title:"Model fallback",desc:"Automatically switch providers on failure or high latency."},{icon:"monitoring",title:"Usage tracking",desc:"Detailed analytics and cost monitoring across all models."},{icon:"key",title:"OAuth & API keys",desc:"Securely manage credentials in one vault."},{icon:"cloud_sync",title:"Cloud sync",desc:"Sync your configurations across devices instantly."},{icon:"terminal",title:"CLI support",desc:"Works with Claude Code, Codex, Cline, Cursor, and more."},{icon:"dashboard",title:"Dashboard",desc:"Visual dashboard for real-time traffic analysis."}];function $(){return(0,a.jsx)("section",{className:"px-4 py-24 sm:px-6",id:"features",children:(0,a.jsxs)("div",{className:"mx-auto max-w-7xl",children:[(0,a.jsxs)("div",{className:"mb-16",children:[(0,a.jsx)("p",{className:"mb-2 text-xs font-semibold tracking-[0.08em] text-subtle uppercase",children:"Features"}),(0,a.jsx)("h2",{className:"mb-4 font-display text-3xl font-bold tracking-[-0.02em] text-text md:text-4xl",children:"Powerful features"}),(0,a.jsx)("p",{className:"max-w-xl text-lg text-muted",children:"Everything you need to manage your AI infrastructure in one place, built for scale."})]}),(0,a.jsx)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",children:A.map(e=>(0,a.jsxs)("article",{className:"rounded-2xl border border-line bg-panel p-6 shadow-card transition-colors hover:border-coral/40",children:[(0,a.jsx)("div",{className:"mb-4 flex size-10 items-center justify-center rounded-[10px] bg-coral-bg text-coral-ink",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]","aria-hidden":"true",children:e.icon})}),(0,a.jsx)("h3",{className:"mb-2 text-base font-semibold text-text",children:e.title}),(0,a.jsx)("p",{className:"text-sm leading-relaxed text-muted",children:e.desc})]},e.title))})]})})}let O=`docker run -d -p 20128:20128 -v ~/.${s.Hc.dataDirName}:/app/data -e INITIAL_PASSWORD=change-me ghcr.io/tokenhop/tokenhop`,S=[{title:`Install ${s.Hc.name}`,desc:"Run the Docker image to start the server instantly"},{title:"Open dashboard",desc:"Configure providers and API keys via web interface"},{title:"Route requests",desc:"Point your CLI tools to http://localhost:20128"}],P=[{text:`Starting ${s.Hc.name}...`,tone:"signal-terminal-log"},{text:"Server running on http://localhost:20128",tone:"signal-terminal-info"},{text:"Dashboard: http://localhost:20128/dashboard",tone:"signal-terminal-info"},{text:"Ready to route",tone:"signal-terminal-log"}];function z(){return(0,a.jsx)("section",{className:"px-4 py-24 sm:px-6",id:"get-started",children:(0,a.jsx)("div",{className:"mx-auto max-w-7xl",children:(0,a.jsxs)("div",{className:"flex flex-col items-start gap-16 lg:flex-row",children:[(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("p",{className:"mb-2 text-xs font-semibold tracking-[0.08em] text-subtle uppercase",children:"Get started"}),(0,a.jsx)("h2",{className:"mb-6 font-display text-3xl font-bold tracking-[-0.02em] text-text md:text-4xl",children:"Get started in 30 seconds"}),(0,a.jsx)("p",{className:"mb-8 text-lg text-muted",children:`Install ${s.Hc.name}, configure your providers via web dashboard, and start routing AI requests.`}),(0,a.jsx)("ol",{className:"flex list-none flex-col gap-6 p-0",children:S.map((e,t)=>(0,a.jsxs)("li",{className:"flex gap-4",children:[(0,a.jsx)("span",{"aria-hidden":"true",className:"flex size-8 flex-none items-center justify-center rounded-full bg-coral-bg font-semibold text-coral-ink",children:t+1}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-lg font-bold text-text",children:e.title}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted",children:e.desc})]})]},e.title))})]}),(0,a.jsx)("div",{className:"dark w-full min-w-0 flex-1",children:(0,a.jsxs)("div",{className:"signal-terminal overflow-hidden rounded-2xl border border-line shadow-card",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 border-b border-line px-4 py-3",children:[(0,a.jsxs)("span",{"aria-hidden":"true",className:"flex gap-2",children:[(0,a.jsx)("span",{className:"size-3 rounded-full bg-line"}),(0,a.jsx)("span",{className:"size-3 rounded-full bg-line"}),(0,a.jsx)("span",{className:"size-3 rounded-full bg-line"})]}),(0,a.jsx)("span",{className:"ms-2 font-mono text-xs text-muted",children:"terminal"})]}),(0,a.jsxs)("div",{className:"overflow-x-auto p-6 font-mono text-sm leading-relaxed",children:[(0,a.jsx)(b.default,{value:`$ ${O}`,copyValue:O,label:"Copy install command",className:"mb-6"}),(0,a.jsx)("p",{className:"sr-only",children:`Starting ${s.Hc.name}. Server running on http://localhost:20128. Dashboard at http://localhost:20128/dashboard. Ready to route.`}),(0,a.jsx)("div",{"aria-hidden":"true",className:"mb-6 flex flex-col gap-1",children:P.map(e=>(0,a.jsxs)("span",{className:e.tone,children:[(0,a.jsx)("span",{className:"signal-terminal-time me-2",children:">"}),e.text]},e.text))}),(0,a.jsxs)("p",{className:"mb-2 border-t border-line pt-4 text-xs",children:[(0,a.jsx)("span",{className:"material-symbols-outlined me-1 inline-block align-[-2px] text-[14px]","aria-hidden":"true",children:"edit_note"}),"Configure providers in dashboard or use environment variables"]}),(0,a.jsxs)("p",{className:"text-xs",children:[(0,a.jsx)("span",{className:"signal-terminal-debug",children:"Data location:"}),(0,a.jsx)("br",{}),(0,a.jsx)("span",{className:"signal-terminal-time",children:"macOS/Linux:"})," ",`~/.${s.Hc.dataDirName}/db/data.sqlite`,(0,a.jsx)("br",{}),(0,a.jsx)("span",{className:"signal-terminal-time",children:"Windows:"})," ",`%APPDATA%/${s.Hc.dataDirName}/db/data.sqlite`]})]})]})})]})})})}let H=s.DM===s.qt.slug,D=[{label:"Features",href:"#features"},{label:"Dashboard",href:"/dashboard"},{label:"Changelog",href:"https://github.com/tokenhop/tokenhop",target:"_blank",rel:"noopener noreferrer"}],M=[{label:"Documentation",href:"https://github.com/tokenhop/tokenhop#readme",target:"_blank",rel:"noopener noreferrer"},{label:"GitHub",href:"https://github.com/tokenhop/tokenhop",target:"_blank",rel:"noopener noreferrer"},{label:"Docker",href:"https://github.com/tokenhop/tokenhop/pkgs/container/tokenhop",target:"_blank",rel:"noopener noreferrer"},...H?[{label:"npm",href:`https://www.npmjs.com/package/${s.qt.npmPackage}`,target:"_blank",rel:"noopener noreferrer"}]:[]],R=H?{label:`Based on ${s.qx.names[0]} by decolua`,href:`https://github.com/decolua/${s.qx.slug}`}:null,T=[{label:"MIT License",href:"https://github.com/tokenhop/tokenhop/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}];function L(){return(0,a.jsx)("footer",{className:"border-t border-line bg-raised/30 px-4 pt-16 pb-8 sm:px-6",children:(0,a.jsxs)("div",{className:"mx-auto max-w-7xl",children:[(0,a.jsxs)("div",{className:"mb-16 grid grid-cols-2 gap-8 md:grid-cols-4 lg:grid-cols-5",children:[(0,a.jsxs)("div",{className:"col-span-2 lg:col-span-2",children:[(0,a.jsx)(i(),{href:"/","aria-label":`${s.Hc.name} home`,className:"mb-6 inline-flex min-h-[44px] items-center gap-3 rounded-lg",children:(0,a.jsx)(m.A,{})}),(0,a.jsx)("p",{className:"mb-6 max-w-xs text-sm leading-relaxed text-muted",children:"The unified endpoint for AI generation. Connect, route, and manage your AI providers with ease."}),(0,a.jsx)("div",{className:"flex gap-4",children:(0,a.jsxs)("a",{className:"inline-flex min-h-[44px] min-w-[44px] items-center justify-center rounded-lg text-muted transition-colors hover:text-text focus-visible:shadow-focus",href:"https://github.com/tokenhop/tokenhop",target:"_blank",rel:"noopener noreferrer",children:[(0,a.jsx)("span",{className:"sr-only",children:`${s.Hc.name} on GitHub`}),(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]","aria-hidden":"true",children:"code"})]})})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)("h2",{className:"font-sans text-sm font-semibold text-text",children:"Product"}),D.map(e=>(0,a.jsx)("a",{className:"inline-flex min-h-[44px] items-center text-sm text-muted transition-colors hover:text-coral focus-visible:shadow-focus",href:e.href,target:e.target,rel:e.rel,children:e.label},e.label))]}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)("h2",{className:"font-sans text-sm font-semibold text-text",children:"Resources"}),M.map(e=>(0,a.jsx)("a",{className:"inline-flex min-h-[44px] items-center text-sm text-muted transition-colors hover:text-coral focus-visible:shadow-focus",href:e.href,target:e.target,rel:e.rel,children:e.label},e.label))]}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)("h2",{className:"font-sans text-sm font-semibold text-text",children:"Legal"}),T.map(e=>(0,a.jsx)("a",{className:"inline-flex min-h-[44px] items-center text-sm text-muted transition-colors hover:text-coral focus-visible:shadow-focus",href:e.href,target:e.target,rel:e.rel,children:e.label},e.label))]})]}),(0,a.jsxs)("div",{className:"flex flex-col items-center justify-between gap-4 border-t border-line pt-8 sm:flex-row",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsx)("p",{className:"text-sm text-muted",children:`\xa9 2025 ${s.Hc.name}. All rights reserved.`}),R&&(0,a.jsx)("a",{className:"inline-flex min-h-[44px] items-center text-sm text-muted transition-colors hover:text-text focus-visible:shadow-focus",href:R.href,target:"_blank",rel:"noopener noreferrer",children:R.label})]}),(0,a.jsxs)("div",{className:"flex gap-6",children:[(0,a.jsx)("a",{className:"inline-flex min-h-[44px] items-center text-sm text-muted transition-colors hover:text-text focus-visible:shadow-focus",href:"https://github.com/tokenhop/tokenhop",target:"_blank",rel:"noopener noreferrer",children:"GitHub"}),(0,a.jsx)("a",{className:"inline-flex min-h-[44px] items-center text-sm text-muted transition-colors hover:text-text focus-visible:shadow-focus",href:"https://github.com/tokenhop/tokenhop/pkgs/container/tokenhop",target:"_blank",rel:"noopener noreferrer",children:"Docker"})]})]})]})})}function U(){return(0,a.jsxs)("div",{className:"relative overflow-x-hidden bg-bg font-sans text-text antialiased",children:[(0,a.jsx)("div",{"aria-hidden":"true",className:"landing-grid pointer-events-none fixed inset-0"}),(0,a.jsx)(x,{}),(0,a.jsxs)("main",{className:"relative",children:[(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)(g,{}),(0,a.jsx)("div",{className:"flex justify-center pb-20",children:(0,a.jsx)(_,{})})]}),(0,a.jsx)(z,{}),(0,a.jsx)(I,{}),(0,a.jsx)($,{}),(0,a.jsxs)("section",{className:"relative overflow-hidden px-4 py-24 sm:px-6","aria-labelledby":"cta-title",children:[(0,a.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0 bg-coral-bg [mask-image:radial-gradient(ellipse_70%_100%_at_50%_100%,black,transparent)]"}),(0,a.jsxs)("div",{className:"relative z-10 mx-auto max-w-4xl text-center",children:[(0,a.jsx)("h2",{id:"cta-title",className:"mb-6 font-display text-4xl font-bold tracking-[-0.02em] text-text md:text-5xl",children:"Ready to simplify your AI infrastructure?"}),(0,a.jsx)("p",{className:"mx-auto mb-10 max-w-2xl text-xl text-muted",children:`Join developers who are streamlining their AI integrations with ${s.Hc.name}. Open source and free to start.`}),(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-4 sm:flex-row",children:[(0,a.jsx)(n.default,{variant:"primary",size:"md",href:"/dashboard",className:"w-full sm:w-auto",children:"Start free"}),(0,a.jsx)(n.default,{variant:"secondary",size:"md",href:"https://github.com/tokenhop/tokenhop#readme",target:"_blank",rel:"noopener noreferrer",className:"w-full sm:w-auto",children:"Read documentation"})]})]})]})]}),(0,a.jsx)(L,{})]})}},48593:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var a=r(12115),n=r(4553),s=r(92466);function l({size:e=36,className:t=""}){return(0,a.createElement)("span",{className:`flex items-center gap-2.5 ${t}`},(0,a.createElement)(s.A,{size:e,decorative:!0}),(0,a.createElement)("span",{className:"font-display font-bold tracking-[-0.02em] text-text",style:{fontSize:22*e/36}},n.Hc.wordmark))}},50770:(e,t,r)=>{"use strict";r.d(t,{PK:()=>h,S3:()=>o,XY:()=>i,lN:()=>d,pN:()=>f,pi:()=>x,r4:()=>u,vE:()=>m,vO:()=>s});let a={connected:"ok",healthy:"ok",active:"ok",ok:"ok",success:"ok",cooldown:"warn",warning:"warn",low:"warn",warn:"warn",error:"err",empty:"err",err:"err",oauth:"info",info:"info","api-key":"brand",brand:"brand",live:"live",disabled:"neutral",off:"neutral",neutral:"neutral"},n={ok:"bg-ok-bg text-ok",warn:"bg-warn-bg text-warn",err:"bg-err-bg text-err",info:"bg-sky-bg text-sky-ink",brand:"bg-coral-bg text-coral-ink",live:"bg-lime-bg text-lime-ink",neutral:"bg-raised text-muted shadow-[inset_0_0_0_1px_var(--signal-line)]"},s={xs:"h-5 px-2 text-[11px]",sm:"h-5 px-2 text-[11px]",md:"h-6 px-2.5 text-xs",lg:"h-7 px-3 text-sm"},l={default:"neutral",primary:"brand",success:"ok",warning:"warn",error:"err"},i=[...new Set([...Object.keys(n),...Object.keys(l),...Object.keys(a)])];function o(e="neutral",t="md"){let r=s[t];if(!r)throw Error(`pillClasses: unknown size "${t}"`);return`${n[function(e){if(n[e])return e;let t=l[e]??a[e];if(!t)throw Error(`resolvePillVariant: unknown variant "${e}"`);return t}(e)]} ${r}`}let d={ok:"bg-ok",warn:"bg-warn",err:"bg-err",live:"bg-lime",info:"bg-sky",brand:"bg-coral",neutral:"bg-subtle"},c=new Set(["unlimited","credits"]);function m(e,t){if(void 0!==t&&!c.has(t))throw Error(`meterVariant: unknown kind "${t}"`);if("number"!=typeof e||!Number.isFinite(e))throw Error(`meterVariant: expected a finite number, got ${e}`);return"unlimited"===t?"live":"credits"===t?"info":e<=20?"err":e<=45?"warn":"ok"}function u(e){if("number"!=typeof e||!Number.isFinite(e))throw Error(`meterValue: expected a finite number, got ${e}`);return Math.min(100,Math.max(0,e))}let x="border-b border-line",h="whitespace-nowrap text-xs font-semibold text-muted",p={LOG:"signal-terminal-log",INFO:"signal-terminal-info",WARN:"signal-terminal-warn",ERROR:"signal-terminal-error",DEBUG:"signal-terminal-debug"};function f(e){let t=p[e];if(!t)throw Error(`terminalLevelClass: unknown level "${e}"`);return t}},90085:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var a=r(1934),n=r(31692),s=r(28745);function l(e){let t=document.documentElement,r=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";"dark"===("system"===e?r:e)?t.classList.add("dark"):t.classList.remove("dark")}let i=(0,a.v)((0,n.Zr)((e,t)=>({theme:s.B2.defaultTheme,setTheme:t=>{e({theme:t}),l(t)},toggleTheme:()=>{let r="dark"===t().theme?"light":"dark";e({theme:r}),l(r)},initTheme:()=>{l(t().theme)}}),{name:s.B2.storageKey}))},92466:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var a=r(12115),n=r(4553);let s=()=>[(0,a.createElement)("path",{key:"stem",d:"M25 11V41.5C25 48.5 28.8 52 35.5 52H40",fill:"none",stroke:"currentColor",strokeWidth:7.5,strokeLinecap:"round"}),(0,a.createElement)("path",{key:"arc",d:"M14 26.5C22 18.5 34 18 42 24",fill:"none",stroke:"currentColor",strokeWidth:6.5,strokeLinecap:"round"}),(0,a.createElement)("path",{key:"dot",d:"M43 29a6.5 6.5 0 1 0 13 0a6.5 6.5 0 1 0-13 0z",fill:"currentColor"})];function l({size:e=36,decorative:t=!1,className:r="",x:i,y:o}){let d=t?{"aria-hidden":"true"}:{role:"img","aria-label":n.Hc.name};return"number"==typeof i&&"number"==typeof o?function({x:e,y:t,size:r,aria:l}){if(n.DM===n.qx.slug){let s=r/96,i=e+r/2,o=t+r/2;return(0,a.createElement)("g",l,(0,a.createElement)("rect",{x:e,y:t,width:r,height:r,rx:28*s,fill:"var(--signal-coral)"}),(0,a.createElement)("text",{x:i,y:o-2*s,textAnchor:"middle",fill:"var(--signal-on-coral)",fontSize:`${42*s}`,fontWeight:"800",fontFamily:"var(--signal-font-display)"},"9"),(0,a.createElement)("text",{x:i,y:o+22*s,textAnchor:"middle",fill:"var(--signal-on-coral)",fontSize:`${11*s}`,fontWeight:"700",letterSpacing:`${1.1*s}`},n.Hc.wordmark))}return(0,a.createElement)("svg",{...l,x:e,y:t,width:r,height:r,viewBox:"0 0 64 64",color:"var(--signal-text)"},(0,a.createElement)("rect",{width:64,height:64,rx:16,fill:"var(--signal-coral)"}),...s())}({x:i,y:o,size:e,aria:d}):n.DM===n.qx.slug?(0,a.createElement)("span",{...d,className:`-rotate-[8deg] flex items-center justify-center bg-coral font-display font-extrabold text-on-coral shadow-card ${r}`,style:{width:e,height:e,fontSize:22*e/36,borderRadius:11*e/36}},"9"):(0,a.createElement)("svg",{...d,viewBox:"0 0 64 64",width:e,height:e,className:r,focusable:"false"},(0,a.createElement)("rect",{width:64,height:64,rx:16,fill:"var(--signal-coral)"}),...s())}},92542:(e,t,r)=>{"use strict";r.d(t,{default:()=>c});var a=r(95155),n=r(98500),s=r.n(n),l=r(14051),i=r.n(l),o=r(31474),d=r(4650);function c({children:e,variant:t="primary",size:r="md",icon:n,iconRight:l,href:i,disabled:m=!1,loading:u=!1,fullWidth:x=!1,className:h,...p}){let f=(0,o.cn)("inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer","active:scale-[0.97] focus-visible:outline-none focus-visible:shadow-focus","disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100","aria-disabled:opacity-50 aria-disabled:cursor-not-allowed aria-disabled:active:scale-100",(0,d.V7)(t,r),x&&"w-full",h),b=(0,a.jsxs)(a.Fragment,{children:[u?(0,a.jsx)("span",{className:"material-symbols-outlined animate-spin text-[18px]","aria-hidden":"true",children:"progress_activity"}):n?(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]","aria-hidden":"true",children:n}):null,e,l&&!u&&(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px] rtl:-scale-x-100","aria-hidden":"true",children:l})]});if(i&&!(m||u)){let{type:e,...t}=p;return t.className=f,/^(https?:|mailto:|tel:|#)/.test(i)?(0,a.jsx)("a",{href:i,...t,children:b}):(0,a.jsx)(s(),{href:i,...t,children:b})}return(0,a.jsx)("button",{className:f,disabled:m||u,"aria-busy":u||void 0,...p,children:b})}c.propTypes={children:i().node,variant:i().oneOf(Object.keys(d.Ck)),size:i().oneOf(Object.keys(d.GO)),icon:i().string,iconRight:i().string,href:i().string,disabled:i().bool,loading:i().bool,fullWidth:i().bool,className:i().string}},99013:(e,t,r)=>{Promise.resolve().then(r.bind(r,42586))}},e=>{e.O(0,[1610,2903,8441,3794,7358],()=>e(e.s=99013)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7018],{1620:(e,t,r)=>{"use strict";r.d(t,{D:()=>o});var a=r(12115),n=r(90085);function s(e){let t=window.matchMedia("(prefers-color-scheme: dark)");return t.addEventListener("change",e),()=>t.removeEventListener("change",e)}function l(){return window.matchMedia("(prefers-color-scheme: dark)").matches}function i(){return!1}function o(){let{theme:e,setTheme:t,toggleTheme:r,initTheme:o}=(0,n.A)(),d=(0,a.useSyncExternalStore)(s,l,i);(0,a.useEffect)(()=>{o()},[o]),(0,a.useEffect)(()=>{if("system"!==e)return;let t=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>o();return t.addEventListener("change",r),()=>t.removeEventListener("change",r)},[e,o]);let c="dark"===e||"system"===e&&d;return{theme:e,setTheme:t,toggleTheme:r,isDark:c}}},1934:(e,t,r)=>{"use strict";r.d(t,{v:()=>l});var a=r(12115);let n=e=>{let t,r=new Set,a=(e,a)=>{let n="function"==typeof e?e(t):e;if(!Object.is(n,t)){let e=t;t=(null!=a?a:"object"!=typeof n||null===n)?n:Object.assign({},t,n),r.forEach(r=>r(t,e))}},n=()=>t,s={setState:a,getState:n,getInitialState:()=>l,subscribe:e=>(r.add(e),()=>r.delete(e))},l=t=e(a,n,s);return s},s=e=>{let t=e?n(e):n,r=e=>(function(e,t=e=>e){let r=a.useSyncExternalStore(e.subscribe,a.useCallback(()=>t(e.getState()),[e,t]),a.useCallback(()=>t(e.getInitialState()),[e,t]));return a.useDebugValue(r),r})(t,e);return Object.assign(r,t),r},l=e=>e?s(e):s},4553:(e,t,r)=>{"use strict";r.d(t,{DM:()=>l,Hc:()=>c,qt:()=>o,qx:()=>d});var a=r(35652);let{BRAND_IDS:n,DEFAULT_BRAND_ID:s,ACTIVE_BRAND_ID:l,isActiveBrand:i,BRAND:o,LEGACY:d,ACTIVE:c,UPSTREAM_CLIENT_IDS:m,envName:u,readEnv:x,warnLegacyOnce:h,header:p,legacyHeaderNames:f}=r.n(a)()},4650:(e,t,r)=>{"use strict";async function a(e){if("u">typeof navigator&&navigator?.clipboard?.writeText)try{await navigator.clipboard.writeText(String(e));return}catch{}if("u"<typeof document)throw Error("copyTextToClipboard: clipboard API unavailable");let t=document.createElement("textarea");t.value=String(e),t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select();let r=!1;try{r=document.execCommand("copy")}finally{document.body.removeChild(t)}if(!r)throw Error("copyTextToClipboard: execCommand('copy') failed")}function n(e,{min:t,max:r}={}){if(""===e||null==e)return e;let a=Number(e);if(!Number.isFinite(a))return e;let s=a;return Number.isFinite(t)&&(s=Math.max(t,s)),Number.isFinite(r)&&(s=Math.min(r,s)),s}function s(e,{min:t,max:r,step:a=1,direction:l}={}){let i=""===e||null==e?NaN:Number(n(e,{min:t,max:r})),o=Number.isFinite(i)?i:Number.isFinite(t)?t:0,d=Math.max(String(a).split(".")[1]?.length??0,String(o).split(".")[1]?.length??0);return n(Number((o+l*a).toFixed(Math.min(d,10))),{min:t,max:r})}function l(e,t,{length:r,rtl:a=!1}={}){if(!Number.isInteger(r)||r<=0)return e;let n=(e%r+r)%r;switch(t){case"ArrowRight":return(n+(a?-1:1)+r)%r;case"ArrowLeft":return(n+(a?1:-1)+r)%r;case"ArrowDown":return(n+1)%r;case"ArrowUp":return(n-1+r)%r;case"Home":return 0;case"End":return r-1;default:return n}}function i(e){return["ArrowRight","ArrowLeft","ArrowDown","ArrowUp","Home","End"].includes(e)}r.d(t,{CD:()=>s,Ck:()=>o,Ec:()=>c,GO:()=>d,Gc:()=>u,JF:()=>i,N:()=>n,V7:()=>m,eM:()=>a,lZ:()=>l,qM:()=>x});let o={primary:"bg-lime text-on-lime border border-transparent shadow-[inset_0_0_0_1px_rgba(0,0,0,0.14)] hover:brightness-95",secondary:"bg-raised text-text border border-line hover:bg-line/60",ghost:"bg-transparent text-text border border-line hover:bg-raised",danger:"bg-err-bg text-err border border-transparent hover:bg-err/15",outline:"bg-transparent text-muted border border-line hover:bg-raised hover:text-text",success:"bg-ok-bg text-ok border border-transparent hover:bg-ok/15"},d={sm:"h-10 px-3 text-sm rounded-lg",md:"h-11 px-4 text-sm rounded-lg",lg:"h-11 px-6 text-sm rounded-lg"},c={sm:"h-9 text-xs",md:"h-9 text-sm",lg:"h-11 text-sm"};function m(e="primary",t="md"){let r=o[e];if(!r)throw Error(`buttonClasses: unknown variant "${e}"`);let a=d[t];if(!a)throw Error(`buttonClasses: unknown size "${t}"`);return`${r} ${a}`}function u(e,{hint:t,error:r}={}){return r?`${e}-error`:t?`${e}-hint`:void 0}function x(e){return null!=e&&!1!==e&&""!==e}},6587:(e,t,r)=>{"use strict";r.d(t,{default:()=>i});var a=r(95155),n=r(14051),s=r.n(n),l=r(31474);function i({icon:e,label:t,"aria-label":r,loading:n=!1,disabled:s=!1,className:o,suffix:d,...c}){return(0,a.jsxs)("button",{...c,type:c.type||"button","aria-label":t??r,disabled:s||n,"aria-busy":n||void 0,className:(0,l.cn)("inline-flex size-10 shrink-0 items-center justify-center rounded-lg border border-line bg-raised text-muted","transition-colors duration-150 hover:bg-line/60 hover:text-text","focus-visible:outline-none focus-visible:shadow-focus","disabled:cursor-not-allowed disabled:opacity-50",o),children:[(0,a.jsx)("span",{className:(0,l.cn)("material-symbols-outlined text-[20px]",n&&"animate-spin"),"aria-hidden":"true",children:n?"progress_activity":e}),d]})}i.propTypes={icon:s().string.isRequired,label:function(e,t,r){return e.label||e["aria-label"]||e["aria-labelledby"]?null:Error(`${r}: provide "label", "aria-label" or "aria-labelledby".`)},"aria-label":s().string,"aria-labelledby":s().string,loading:s().bool,disabled:s().bool,className:s().string,suffix:s().node}},8247:(e,t,r)=>{"use strict";r.d(t,{HY:()=>o,Kw:()=>d});let a={"perplexity-agent":"perplexity","gitlab-duo":"gitlab","vercel-ai-gateway":"vercel","ollama-search":"ollama"};function n(e){return e.startsWith("openai-compatible")?"oai-cc":e.startsWith("anthropic-compatible")?"anthropic-m":""}let s=new Set;function l(e){return e&&"string"==typeof e?e.trim().toLowerCase():""}let i=new Set(["meta-code"]);function o(e){let t=function(e){let t=l(e);if(!t||s.has(t))return"";let r=a[t]||n(t)||t;return s.has(r)?"":r}(e);return t?`/providers/${t}.${i.has(t)?"svg":"webp"}`:null}function d(e){let t=l(e);t&&s.add(t);let r=a[t]||n(t);r&&s.add(r)}},10185:(e,t,r)=>{"use strict";r.d(t,{default:()=>d});var a=r(95155),n=r(14051),s=r.n(n),l=r(12115),i=r(31474),o=r(4650);function d({value:e,copyValue:t,label:r="Copy to clipboard",showCopyButton:n=!0,className:s,...c}){let[m,u]=(0,l.useState)(null),x=(0,l.useRef)(null);(0,l.useEffect)(()=>()=>clearTimeout(x.current),[]);let h=e=>{u(e),clearTimeout(x.current),x.current=setTimeout(()=>u(null),2e3)},p=async()=>{try{await (0,o.eM)(t??e),h("copied")}catch{h("error")}};return(0,a.jsxs)("div",{className:(0,i.cn)("flex h-11 items-center gap-2 rounded-lg border border-line bg-raised ps-3 pe-1.5 transition-colors","focus-within:border-coral focus-within:shadow-focus",s),...c,children:[(0,a.jsx)("code",{title:String(t??e),className:"min-w-0 flex-1 truncate font-mono text-sm text-text",children:e}),n?(0,a.jsx)("button",{type:"button","aria-label":r,onClick:p,className:"inline-flex size-8 shrink-0 items-center justify-center rounded-md text-muted transition-colors hover:bg-line/60 hover:text-text focus-visible:shadow-focus",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]","aria-hidden":"true",children:"copied"===m?"check":"error"===m?"error":"content_copy"})}):null,n?(0,a.jsx)("span",{"aria-live":"polite",className:"sr-only",children:"copied"===m?"Copied":"error"===m?"Copy failed":""}):null]})}d.propTypes={value:s().oneOfType([s().string,s().number]).isRequired,copyValue:s().string,label:s().string,showCopyButton:s().bool,className:s().string}},19123:(e,t,r)=>{"use strict";r.d(t,{default:()=>i});var a=r(95155),n=r(14051),s=r.n(n),l=r(50770);function i({children:e,variant:t="neutral",size:r="md",dot:n=!1,className:s}){return(0,a.jsxs)("span",{className:`inline-flex items-center gap-1.5 rounded-full font-semibold whitespace-nowrap ${(0,l.S3)(t,r)}${s?` ${s}`:""}`,children:[n&&(0,a.jsx)("span",{"aria-hidden":"true",className:"size-2 rounded-full bg-current"}),e]})}i.propTypes={children:s().node,variant:s().oneOf(l.XY),size:s().oneOf(Object.keys(l.vO)),dot:s().bool,className:s().string}},28745:(e,t,r)=>{"use strict";r.d(t,{vQ:()=>s,UY:()=>d,Nu:()=>l,B2:()=>o,h0:()=>i});var a=r(4553),n=r(41463);let s={name:`${a.Hc.name} Proxy`,description:"AI infrastructure management",version:"1.0.3",build:{channel:n.env.NEXT_PUBLIC_BUILD_CHANNEL||"",sha:n.env.NEXT_PUBLIC_BUILD_SHA||""}},l={changelogUrl:"https://raw.githubusercontent.com/tokenhop/tokenhop/refs/heads/master/CHANGELOG.md"},i={appPort:20128},o={storageKey:"theme",defaultTheme:"dark"},d={maxLines:200,pollIntervalMs:1e3}},31692:(e,t,r)=>{"use strict";r.d(t,{Zr:()=>n});let a=e=>t=>{try{let r=e(t);if(r instanceof Promise)return r;return{then:e=>a(e)(r),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>a(t)(e)}}},n=(e,t)=>(r,n,s)=>{let l,i={storage:function(e){let t;try{t=e()}catch(e){return}return{getItem:e=>{var r;let a=e=>null===e?null:JSON.parse(e,void 0),n=null!=(r=t.getItem(e))?r:null;return n instanceof Promise?n.then(a):a(n)},setItem:(e,r)=>t.setItem(e,JSON.stringify(r,void 0)),removeItem:e=>t.removeItem(e)}}(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,d=0,c=new Set,m=new Set,u=i.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`),r(...e)},n,s);let x=()=>{let e=i.partialize({...n()});return u.setItem(i.name,{state:e,version:i.version})},h=s.setState;s.setState=(e,t)=>(h(e,t),x());let p=e((...e)=>(r(...e),x()),n,s);s.getInitialState=()=>p;let f=()=>{var e,t;if(!u)return;let s=++d;o=!1,c.forEach(e=>{var t;return e(null!=(t=n())?t:p)});let h=(null==(t=i.onRehydrateStorage)?void 0:t.call(i,null!=(e=n())?e:p))||void 0;return a(u.getItem.bind(u))(i.name).then(e=>{if(e)if("number"!=typeof e.version||e.version===i.version)return[!1,e.state];else{if(i.migrate){let t=i.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(e=>{var t;if(s!==d)return;let[a,o]=e;if(r(l=i.merge(o,null!=(t=n())?t:p),!0),a)return x()}).then(()=>{s===d&&(null==h||h(n(),void 0),l=n(),o=!0,m.forEach(e=>e(l)))}).catch(e=>{s===d&&(null==h||h(void 0,e))})};return s.persist={setOptions:e=>{i={...i,...e},e.storage&&(u=e.storage)},clearStorage:()=>{++d,null==u||u.removeItem(i.name)},getOptions:()=>i,rehydrate:()=>f(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(m.add(e),()=>{m.delete(e)})},i.skipHydration||f(),l||p}},35652:(e,t,r)=>{"use strict";var a,n=r(41463);let s=Object.freeze(["9router","tokenhop"]),l="tokenhop";function i(e,t){if(s.includes(e))return e;let r=s.map(e=>`"${e}"`).join(", ");throw Error(`${t}: unknown brand ${JSON.stringify(e)}; allowed values: ${r}`)}let o=""==(a="tokenhop")?l:i(a,"NEXT_PUBLIC_BRAND"),d=Object.freeze({name:"tokenhop",slug:"tokenhop",envPrefix:"TOKENHOP_",headerPrefix:"x-tokenhop-",jcodeApiKeyEnv:"JCODE_TOKENHOP_API_KEY",defaultApiKey:"sk_tokenhop",dataDirName:"tokenhop",samlIssuerDefault:"urn:tokenhop:sp",mitmCaCommonName:"tokenhop MITM Root CA",mitmCaOrg:"tokenhop",mitmCertFile:"tokenhop-root-ca.crt",pidFile:"tokenhop.pid",autostartLabel:"dev.tokenhop.autostart",autostartDesktopFile:"tokenhop.desktop",autostartVbsFile:"tokenhop.vbs",clientConfigKey:"tokenhop",customModelIdPrefix:"custom:tokenhop-",storageKeyPrefix:"tokenhop.",eventPrefix:"tokenhop:",backupFilePrefix:"tokenhop-backup-",npmPackage:"tokenhop",appPackage:"tokenhop-app",repoSlug:"tokenhop/tokenhop",repoUrl:"https://github.com/tokenhop/tokenhop",imageName:"ghcr.io/tokenhop/tokenhop",websiteUrl:"https://tokenhop.ai",docsUrl:"https://tokenhop.dev",wordmark:"tokenhop",favicon:"/brand/favicon.svg",faviconIco:"/brand/favicon.ico",appIcon192:"/brand/icons/icon-192.svg",appIcon512:"/brand/icons/icon-512.svg",trayIconName:"icon-tokenhop",trayIconTemplate:!0}),c=Object.freeze({names:Object.freeze(["9Router","9router"]),slug:"9router",envPrefixes:Object.freeze(["NINEROUTER_","NINE_ROUTER_"]),headerPrefix:"x-9router-",jcodeApiKeyEnv:"JCODE_9ROUTER_API_KEY",defaultApiKey:"sk_9router",dataDirName:"9router",samlIssuerDefault:"urn:9router:sp",mitmCaCommonName:"9Router MITM Root CA",mitmCaOrg:"9Router",mitmCertFile:"9router-root-ca.crt",pidFile:"9router.pid",autostartLabel:"com.9router.autostart",autostartDesktopFile:"9router.desktop",autostartVbsFile:"9router.vbs",clientConfigKeys:Object.freeze(["9router","9Router"]),customModelIdPrefix:"custom:9Router-",storageKeyPrefix:"9router.",eventPrefix:"9router:",backupFilePrefix:"9router-backup-",npmPackage:"9router",appPackage:"9router-app",repoSlug:"yandy-r/9router",repoUrl:"https://github.com/yandy-r/9router",imageName:"ghcr.io/yandy-r/9router",wordmark:"router",favicon:"/favicon.svg",faviconIco:"/favicon.ico",appIcon192:"/icons/icon-192.svg",appIcon512:"/icons/icon-512.svg",trayIconName:"icon",trayIconTemplate:!1}),m=Object.freeze({kimiPlatform:"9router",clineUserAgentProduct:"9Router",clineClientType:"9router",devinMcpClientName:"9router",coworkMcpClientName:"9router",cursorMcpProvider:"9router",glmMcpClientName:"9router",xaiUserAgent:"grok-cli/9router",xiaomiKeyNamePrefix:"9router-xmd-",githubUserAgent:"9Router",proxyTestUserAgent:"9Router",denoRelayKind:"9router-relay"}),u=new Set(["repoSlug","repoUrl","imageName","websiteUrl","docsUrl"]),x={name:"names",envPrefix:"envPrefixes",clientConfigKey:"clientConfigKeys"},h="tokenhop"===o?d:Object.freeze(Object.fromEntries(Object.keys(d).map(e=>{let t;return[e,u.has(e)?d[e]:Array.isArray(t=c[x[e]||e])?t[0]:t]}))),p=new Set;function f(e,t,r){if("tokenhop"!==o)return!1;let a=`${e}\u0000${t}`;return!p.has(a)&&(p.add(a),console.warn(`[tokenhop] deprecated ${e} "${t}" → use "${r}" (legacy support ends in v2.0.0)`),!0)}let b=/^[A-Z0-9]+(_[A-Z0-9]+)*$/;function g(e){if("string"!=typeof e||!b.test(e))throw Error(`envName: invalid suffix ${JSON.stringify(e)}; expected e.g. "PEER_TOKEN"`);return d.envPrefix+e}let v=/^(?!x-)[a-z0-9]+(-[a-z0-9]+)*$/;function y(e){return h.headerPrefix+function(e,t){if("string"!=typeof e||!v.test(e))throw Error(`${t}: invalid header name ${JSON.stringify(e)}; expected a bare lowercase name like "connection-id"`);return e}(e,"header")}e.exports={BRAND_IDS:s,DEFAULT_BRAND_ID:l,ACTIVE_BRAND_ID:o,isActiveBrand:function(e){return i(e,"isActiveBrand")===o},BRAND:d,LEGACY:c,ACTIVE:h,UPSTREAM_CLIENT_IDS:m,envName:g,readEnv:function(e,t=n.env){let r=g(e);if(void 0!==t[r])return t[r];for(let a of c.envPrefixes){let n=a+e;if(void 0!==t[n])return f("env var",n,r),t[n]}},warnLegacyOnce:f,header:y,legacyHeaderNames:function(e){let t=y(e);return[c.headerPrefix+e].filter(e=>e!==t)}}},38587:(e,t,r)=>{"use strict";r.d(t,{default:()=>l});var a=r(95155),n=r(1620),s=r(31474);function l({className:e,variant:t="default"}){let{isDark:r,toggleTheme:i}=(0,n.D)(),o={default:(0,s.cn)("flex items-center justify-center size-10 rounded-full","text-muted hover:text-text","hover:bg-raised transition-colors"),card:(0,s.cn)("flex items-center justify-center size-11 rounded-full","bg-panel/60 hover:bg-panel","border border-line","backdrop-blur-md shadow-sm hover:shadow-card","text-muted hover:text-coral-ink","transition-all group")};return(0,a.jsx)("button",{onClick:i,className:(0,s.cn)(o[t],e),"aria-label":`Switch to ${r?"light":"dark"} mode`,title:`Switch to ${r?"light":"dark"} mode`,children:(0,a.jsx)("span",{className:(0,s.cn)("material-symbols-outlined text-[22px]","card"===t&&"transition-transform duration-300 group-hover:rotate-12"),children:r?"light_mode":"dark_mode"})})}},42586:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>U});var a=r(95155),n=r(92542),s=r(4553),l=r(98500),i=r.n(l),o=r(12115),d=r(38587),c=r(6587),m=r(48593);let u=[{label:"Features",href:"#features"},{label:"How it Works",href:"#how-it-works"},{label:"Docs",href:"https://github.com/tokenhop/tokenhop#readme",target:"_blank",rel:"noopener noreferrer"},{label:"GitHub",href:"https://github.com/tokenhop/tokenhop",target:"_blank",rel:"noopener noreferrer",external:!0}];function x(){let[e,t]=(0,o.useState)(!1);return(0,o.useEffect)(()=>{if(!e)return;let r=e=>{"Escape"===e.key&&t(!1)};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[e]),(0,a.jsxs)("header",{className:"fixed inset-x-0 top-0 z-50 border-b border-line bg-panel/80 backdrop-blur-md",children:[(0,a.jsxs)("nav",{"aria-label":"Primary",className:"mx-auto flex h-16 max-w-7xl items-center justify-between px-4 sm:px-6",children:[(0,a.jsx)(i(),{href:"/","aria-label":`${s.Hc.name} home`,className:"flex min-h-[44px] items-center gap-3 rounded-lg",children:(0,a.jsx)(m.A,{})}),(0,a.jsx)("div",{className:"hidden items-center gap-1 md:flex",children:u.map(e=>(0,a.jsxs)("a",{href:e.href,target:e.target,rel:e.rel,className:"inline-flex min-h-[44px] items-center gap-1 rounded-lg px-3 text-sm font-medium text-muted transition-colors hover:text-text",children:[e.label,e.external&&(0,a.jsx)("span",{className:"material-symbols-outlined text-[14px]","aria-hidden":"true",children:"open_in_new"})]},e.label))}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(d.default,{className:"min-h-[44px] min-w-[44px]"}),(0,a.jsx)(n.default,{variant:"primary",size:"md",href:"/dashboard",className:"hidden sm:inline-flex",children:"Get started"}),(0,a.jsx)(c.default,{icon:e?"close":"menu",label:e?"Close menu":"Open menu","aria-expanded":e,"aria-controls":"landing-mobile-menu",onClick:()=>t(e=>!e),className:"min-h-[44px] min-w-[44px] md:hidden"})]})]}),e&&(0,a.jsx)("div",{id:"landing-mobile-menu",className:"border-t border-line bg-panel/95 backdrop-blur-md md:hidden",children:(0,a.jsxs)("div",{className:"flex flex-col gap-1 p-4 sm:p-6",children:[u.map(e=>(0,a.jsx)("a",{href:e.href,target:e.target,rel:e.rel,onClick:()=>t(!1),className:"inline-flex min-h-[44px] items-center rounded-lg px-3 text-sm font-medium text-muted transition-colors hover:text-text",children:e.label},e.label)),(0,a.jsx)(n.default,{variant:"primary",size:"md",href:"/dashboard",fullWidth:!0,className:"mt-2",children:"Get started"})]})})]})}var h=r(14051),p=r.n(h),f=r(19123),b=r(10185);function g({endpoint:e="http://localhost:20128/v1"}){return(0,a.jsxs)("section",{className:"relative flex min-h-[90vh] flex-col items-center justify-center overflow-hidden px-4 pt-32 pb-20 sm:px-6",children:[(0,a.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-x-0 top-0 h-[420px] bg-coral-bg [mask-image:radial-gradient(ellipse_60%_100%_at_50%_0%,black,transparent)]"}),(0,a.jsxs)("div",{className:"relative z-10 flex w-full max-w-4xl flex-col items-center gap-8 text-center",children:[(0,a.jsx)(f.default,{variant:"neutral",dot:!0,children:"Open source \xb7 MIT"}),(0,a.jsxs)("h1",{className:"font-display text-[42px] leading-[1.05] font-bold tracking-[-0.02em] text-balance text-text sm:text-5xl md:text-6xl",children:["One endpoint for ",(0,a.jsx)("br",{}),(0,a.jsx)("span",{className:"text-coral",children:"all AI providers"})]}),(0,a.jsx)("p",{className:"mx-auto max-w-2xl text-lg font-light text-muted md:text-xl",children:"AI endpoint proxy with web dashboard - A JavaScript port of CLIProxyAPI. Works seamlessly with Claude Code, OpenAI Codex, Cline, RooCode, and other CLI tools."}),(0,a.jsx)("div",{className:"w-full max-w-md",children:(0,a.jsx)(b.default,{value:e,copyValue:e,label:"Copy endpoint URL"})}),(0,a.jsxs)("div",{className:"flex w-full flex-wrap items-center justify-center gap-4",children:[(0,a.jsx)(n.default,{variant:"primary",size:"md",href:"/dashboard",icon:"rocket_launch",children:"Get started"}),(0,a.jsx)(n.default,{variant:"secondary",size:"md",href:"https://github.com/tokenhop/tokenhop",target:"_blank",rel:"noopener noreferrer",icon:"code",children:"View on GitHub"})]})]})]})}g.propTypes={endpoint:p().string};var v=r(7256),y=r(8247);function k({src:e,providerId:t,alt:r,size:n=32,className:s="",fallbackText:l,fallbackColor:i}){let d=function(e,t){if(t)return(0,y.HY)(t);if(!e)return null;let r=String(e).match(/^\/providers\/([^/]+)\.(?:png|webp|svg)$/i);return r?(0,y.HY)(r[1]):e}(e,t),[c,m]=(0,o.useState)(!1),u=d?.match(/^\/providers\/([^/]+)\.(?:png|webp|svg)$/i)?.[1],x=(0,v.Do)(t??u),h=i??x.color;return!d||c?(0,a.jsx)("span",{role:"img","aria-label":r??t??"provider",className:`inline-flex shrink-0 items-center justify-center rounded-lg font-display font-bold text-white shadow-[inset_0_0_0_1px_rgba(255,255,255,0.14)] ${s}`.trim(),style:{width:n,height:n,backgroundColor:h,fontSize:Math.max(10,Math.floor(.38*n))},children:l??x.monogram}):(0,a.jsx)("img",{src:d,alt:r,width:n,height:n,className:s,loading:"lazy",decoding:"async",onError:()=>{u&&(0,y.Kw)(u),t&&(0,y.Kw)(t),m(!0)}})}k.propTypes={src:p().string,providerId:p().string,alt:p().string,size:p().number,className:p().string,fallbackText:p().string,fallbackColor:p().string};let j=[{id:"claude",name:"Claude Code",image:"/providers/claude.webp"},{id:"codex",name:"OpenAI Codex",image:"/providers/codex.webp"},{id:"cline",name:"Cline",image:"/providers/cline.webp"},{id:"cursor",name:"Cursor",image:"/providers/cursor.webp"}],w=[{id:"openai",name:"OpenAI"},{id:"anthropic",name:"Anthropic"},{id:"gemini",name:"Gemini"},{id:"github",name:"GitHub Copilot"}],N=["M 60 50 C 250 70, 250 180, 360 180","M 60 140 C 250 140, 250 180, 360 180","M 60 210 C 250 210, 250 180, 360 180","M 60 300 C 250 280, 250 180, 360 180"],C=["M 440 180 C 550 180, 550 50, 740 50","M 440 180 C 550 180, 550 130, 740 130","M 440 180 C 550 180, 550 230, 740 230","M 440 180 C 550 180, 550 310, 740 310"],E=e=>e?"border-lime-ink bg-lime-bg text-lime-ink ring-2 ring-lime-ink":"border-line bg-raised text-text";function _(){let[e,t]=(0,o.useState)(0);return(0,o.useEffect)(()=>{let e=window.matchMedia("(prefers-reduced-motion: reduce)"),r=null,a=()=>{clearInterval(r),r=e.matches?null:setInterval(()=>t(e=>(e+1)%w.length),2e3)};return a(),e.addEventListener("change",a),()=>{clearInterval(r),e.removeEventListener("change",a)}},[]),(0,a.jsxs)("div",{className:"w-full max-w-4xl",children:[(0,a.jsxs)("ul",{className:"sr-only",children:[(0,a.jsx)("li",{children:`Requests from Claude Code, OpenAI Codex, Cline and Cursor go to the ${s.Hc.name} hub.`}),(0,a.jsx)("li",{children:"The hub routes each request to OpenAI, Anthropic, Gemini or GitHub Copilot."})]}),(0,a.jsxs)("div",{"aria-hidden":"true",className:"mx-auto flex max-w-md flex-col gap-2 px-4 md:hidden",children:[(0,a.jsx)("div",{className:"grid grid-cols-2 gap-2",children:j.map(e=>(0,a.jsx)("span",{className:"rounded-lg border border-line bg-raised px-3 py-2 text-center text-sm font-medium text-text",children:e.name},e.id))}),(0,a.jsx)("span",{className:"material-symbols-outlined self-center text-[22px] text-subtle","aria-hidden":"true",children:"arrow_downward"}),(0,a.jsx)("span",{className:"rounded-xl border-2 border-coral bg-panel px-4 py-3 text-center font-display text-base font-bold text-text",children:`${s.Hc.name} hub`}),(0,a.jsx)("span",{className:"material-symbols-outlined self-center text-[22px] text-lime-ink","aria-hidden":"true",children:"arrow_downward"}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-2",children:w.map((t,r)=>(0,a.jsx)("span",{className:`rounded-lg border px-3 py-2 text-center text-sm font-semibold ${E(e===r)}`,children:t.name},t.id))})]}),(0,a.jsxs)("div",{"aria-hidden":"true",className:"relative mt-16 hidden h-[360px] w-full items-center justify-center md:flex",children:[(0,a.jsxs)("div",{className:"relative z-20 flex size-32 flex-col items-center justify-center gap-1 rounded-full border-2 border-coral bg-panel shadow-card",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-4xl text-coral",children:"hub"}),(0,a.jsx)("span",{className:"text-xs font-bold tracking-widest text-text uppercase",children:`${s.Hc.name}`}),(0,a.jsx)("span",{className:"absolute inset-0 rounded-full border border-coral opacity-40 motion-safe:animate-ping"})]}),(0,a.jsx)("div",{className:"absolute start-0 top-1/2 flex -translate-y-1/2 flex-col gap-7",children:j.map(e=>(0,a.jsx)("div",{className:"flex size-16 items-center justify-center overflow-hidden rounded-2xl border border-line bg-raised p-2",children:(0,a.jsx)(k,{src:e.image,alt:"",size:48,className:"max-h-12 max-w-12 rounded-xl object-contain",fallbackText:e.name.slice(0,2).toUpperCase()})},e.id))}),(0,a.jsxs)("svg",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0 z-10 size-full rtl:-scale-x-100",viewBox:"0 0 896 360",preserveAspectRatio:"none",xmlns:"http://www.w3.org/2000/svg",children:[N.map(e=>(0,a.jsx)("path",{d:e,fill:"none",strokeDasharray:"5 9",strokeWidth:"2",className:"stroke-subtle motion-safe:animate-flow"},e)),C.map((t,r)=>(0,a.jsx)("path",{d:t,fill:"none",strokeDasharray:e===r?"5 9":void 0,strokeWidth:e===r?3:2,className:e===r?"stroke-lime-ink motion-safe:animate-flow":"stroke-line"},t))]}),(0,a.jsx)("div",{className:"absolute end-0 top-0 bottom-0 flex flex-col justify-between py-6",children:w.map((t,r)=>(0,a.jsx)("span",{className:`flex min-w-[140px] items-center justify-center rounded-lg border px-4 py-2 text-xs font-bold transition-colors ${E(e===r)}`,children:t.name},t.id))})]})]})}function I(){return(0,a.jsx)("section",{className:"border-y border-line bg-raised/40 py-24",id:"how-it-works",children:(0,a.jsxs)("div",{className:"mx-auto max-w-7xl px-4 sm:px-6",children:[(0,a.jsxs)("div",{className:"mb-16",children:[(0,a.jsx)("p",{className:"mb-2 text-xs font-semibold tracking-[0.08em] text-subtle uppercase",children:"How it works"}),(0,a.jsx)("h2",{className:"mb-4 font-display text-3xl font-bold tracking-[-0.02em] text-text md:text-4xl",children:`How ${s.Hc.name} works`}),(0,a.jsx)("p",{className:"max-w-xl text-lg text-muted",children:"Data flows seamlessly from your application through our intelligent routing layer to the best provider for the job."})]}),(0,a.jsxs)("div",{className:"relative grid grid-cols-1 gap-8 md:grid-cols-3",children:[(0,a.jsx)("div",{"aria-hidden":"true",className:"absolute top-12 start-[16%] end-[16%] hidden h-[2px] bg-line md:block"}),(0,a.jsxs)("div",{className:"relative flex flex-col gap-6",children:[(0,a.jsx)("div",{className:"z-10 mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border border-line bg-panel shadow-card md:mx-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-4xl text-muted","aria-hidden":"true",children:"terminal"})}),(0,a.jsxs)("div",{className:"text-start",children:[(0,a.jsx)("h3",{className:"mb-2 text-xl font-bold text-text",children:"1. CLI & SDKs"}),(0,a.jsx)("p",{className:"text-sm text-muted",children:"Your requests start from your favorite tools or our unified SDK. Just change the base URL."})]})]}),(0,a.jsxs)("div",{className:"relative flex flex-col gap-6 md:items-center md:text-center",children:[(0,a.jsx)("div",{className:"z-10 mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border-2 border-coral bg-panel shadow-card",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-4xl text-coral motion-safe:animate-pulse motion-reduce:animate-none","aria-hidden":"true",children:"hub"})}),(0,a.jsxs)("div",{className:"text-start md:text-center",children:[(0,a.jsx)("h3",{className:"mb-2 text-xl font-bold text-coral",children:`2. ${s.Hc.name} hub`}),(0,a.jsx)("p",{className:"text-sm text-muted",children:"Our engine analyzes the prompt, checks provider health, and routes for lowest latency or cost."})]})]}),(0,a.jsxs)("div",{className:"relative flex flex-col gap-6 md:items-end md:text-end",children:[(0,a.jsx)("div",{className:"z-10 mx-auto flex h-24 w-24 items-center justify-center rounded-2xl border border-line bg-panel shadow-card md:mx-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-4xl text-muted","aria-hidden":"true",children:"cloud"})}),(0,a.jsxs)("div",{className:"text-start md:text-end",children:[(0,a.jsx)("h3",{className:"mb-2 text-xl font-bold text-text",children:"3. AI providers"}),(0,a.jsx)("p",{className:"text-sm text-muted",children:"The request is fulfilled by OpenAI, Anthropic, Gemini, or others instantly."})]})]})]})]})})}let A=[{icon:"link",title:"Unified endpoint",desc:"Access all providers via a single standard API URL."},{icon:"bolt",title:"Easy setup",desc:"Get up and running in minutes with one Docker command."},{icon:"shield_with_heart",title:"Model fallback",desc:"Automatically switch providers on failure or high latency."},{icon:"monitoring",title:"Usage tracking",desc:"Detailed analytics and cost monitoring across all models."},{icon:"key",title:"OAuth & API keys",desc:"Securely manage credentials in one vault."},{icon:"cloud_sync",title:"Cloud sync",desc:"Sync your configurations across devices instantly."},{icon:"terminal",title:"CLI support",desc:"Works with Claude Code, Codex, Cline, Cursor, and more."},{icon:"dashboard",title:"Dashboard",desc:"Visual dashboard for real-time traffic analysis."}];function $(){return(0,a.jsx)("section",{className:"px-4 py-24 sm:px-6",id:"features",children:(0,a.jsxs)("div",{className:"mx-auto max-w-7xl",children:[(0,a.jsxs)("div",{className:"mb-16",children:[(0,a.jsx)("p",{className:"mb-2 text-xs font-semibold tracking-[0.08em] text-subtle uppercase",children:"Features"}),(0,a.jsx)("h2",{className:"mb-4 font-display text-3xl font-bold tracking-[-0.02em] text-text md:text-4xl",children:"Powerful features"}),(0,a.jsx)("p",{className:"max-w-xl text-lg text-muted",children:"Everything you need to manage your AI infrastructure in one place, built for scale."})]}),(0,a.jsx)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",children:A.map(e=>(0,a.jsxs)("article",{className:"rounded-2xl border border-line bg-panel p-6 shadow-card transition-colors hover:border-coral/40",children:[(0,a.jsx)("div",{className:"mb-4 flex size-10 items-center justify-center rounded-[10px] bg-coral-bg text-coral-ink",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]","aria-hidden":"true",children:e.icon})}),(0,a.jsx)("h3",{className:"mb-2 text-base font-semibold text-text",children:e.title}),(0,a.jsx)("p",{className:"text-sm leading-relaxed text-muted",children:e.desc})]},e.title))})]})})}let O=`docker run -d -p 20128:20128 -v ~/.${s.Hc.dataDirName}:/app/data -e INITIAL_PASSWORD=change-me ghcr.io/tokenhop/tokenhop`,S=[{title:`Install ${s.Hc.name}`,desc:"Run the Docker image to start the server instantly"},{title:"Open dashboard",desc:"Configure providers and API keys via web interface"},{title:"Route requests",desc:"Point your CLI tools to http://localhost:20128"}],P=[{text:`Starting ${s.Hc.name}...`,tone:"signal-terminal-log"},{text:"Server running on http://localhost:20128",tone:"signal-terminal-info"},{text:"Dashboard: http://localhost:20128/dashboard",tone:"signal-terminal-info"},{text:"Ready to route",tone:"signal-terminal-log"}];function z(){return(0,a.jsx)("section",{className:"px-4 py-24 sm:px-6",id:"get-started",children:(0,a.jsx)("div",{className:"mx-auto max-w-7xl",children:(0,a.jsxs)("div",{className:"flex flex-col items-start gap-16 lg:flex-row",children:[(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsx)("p",{className:"mb-2 text-xs font-semibold tracking-[0.08em] text-subtle uppercase",children:"Get started"}),(0,a.jsx)("h2",{className:"mb-6 font-display text-3xl font-bold tracking-[-0.02em] text-text md:text-4xl",children:"Get started in 30 seconds"}),(0,a.jsx)("p",{className:"mb-8 text-lg text-muted",children:`Install ${s.Hc.name}, configure your providers via web dashboard, and start routing AI requests.`}),(0,a.jsx)("ol",{className:"flex list-none flex-col gap-6 p-0",children:S.map((e,t)=>(0,a.jsxs)("li",{className:"flex gap-4",children:[(0,a.jsx)("span",{"aria-hidden":"true",className:"flex size-8 flex-none items-center justify-center rounded-full bg-coral-bg font-semibold text-coral-ink",children:t+1}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-lg font-bold text-text",children:e.title}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted",children:e.desc})]})]},e.title))})]}),(0,a.jsx)("div",{className:"dark w-full min-w-0 flex-1",children:(0,a.jsxs)("div",{className:"signal-terminal overflow-hidden rounded-2xl border border-line shadow-card",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 border-b border-line px-4 py-3",children:[(0,a.jsxs)("span",{"aria-hidden":"true",className:"flex gap-2",children:[(0,a.jsx)("span",{className:"size-3 rounded-full bg-line"}),(0,a.jsx)("span",{className:"size-3 rounded-full bg-line"}),(0,a.jsx)("span",{className:"size-3 rounded-full bg-line"})]}),(0,a.jsx)("span",{className:"ms-2 font-mono text-xs text-muted",children:"terminal"})]}),(0,a.jsxs)("div",{className:"overflow-x-auto p-6 font-mono text-sm leading-relaxed",children:[(0,a.jsx)(b.default,{value:`$ ${O}`,copyValue:O,label:"Copy install command",className:"mb-6"}),(0,a.jsx)("p",{className:"sr-only",children:`Starting ${s.Hc.name}. Server running on http://localhost:20128. Dashboard at http://localhost:20128/dashboard. Ready to route.`}),(0,a.jsx)("div",{"aria-hidden":"true",className:"mb-6 flex flex-col gap-1",children:P.map(e=>(0,a.jsxs)("span",{className:e.tone,children:[(0,a.jsx)("span",{className:"signal-terminal-time me-2",children:">"}),e.text]},e.text))}),(0,a.jsxs)("p",{className:"mb-2 border-t border-line pt-4 text-xs",children:[(0,a.jsx)("span",{className:"material-symbols-outlined me-1 inline-block align-[-2px] text-[14px]","aria-hidden":"true",children:"edit_note"}),"Configure providers in dashboard or use environment variables"]}),(0,a.jsxs)("p",{className:"text-xs",children:[(0,a.jsx)("span",{className:"signal-terminal-debug",children:"Data location:"}),(0,a.jsx)("br",{}),(0,a.jsx)("span",{className:"signal-terminal-time",children:"macOS/Linux:"})," ",`~/.${s.Hc.dataDirName}/db/data.sqlite`,(0,a.jsx)("br",{}),(0,a.jsx)("span",{className:"signal-terminal-time",children:"Windows:"})," ",`%APPDATA%/${s.Hc.dataDirName}/db/data.sqlite`]})]})]})})]})})})}let H=s.DM===s.qt.slug,D=[{label:"Features",href:"#features"},{label:"Dashboard",href:"/dashboard"},{label:"Changelog",href:"https://github.com/tokenhop/tokenhop",target:"_blank",rel:"noopener noreferrer"}],M=[{label:"Documentation",href:"https://github.com/tokenhop/tokenhop#readme",target:"_blank",rel:"noopener noreferrer"},{label:"GitHub",href:"https://github.com/tokenhop/tokenhop",target:"_blank",rel:"noopener noreferrer"},{label:"Docker",href:"https://github.com/tokenhop/tokenhop/pkgs/container/tokenhop",target:"_blank",rel:"noopener noreferrer"},...H?[{label:"npm",href:`https://www.npmjs.com/package/${s.qt.npmPackage}`,target:"_blank",rel:"noopener noreferrer"}]:[]],R=H?{label:`Based on ${s.qx.names[0]} by decolua`,href:`https://github.com/decolua/${s.qx.slug}`}:null,T=[{label:"MIT License",href:"https://github.com/tokenhop/tokenhop/blob/master/LICENSE",target:"_blank",rel:"noopener noreferrer"}];function L(){return(0,a.jsx)("footer",{className:"border-t border-line bg-raised/30 px-4 pt-16 pb-8 sm:px-6",children:(0,a.jsxs)("div",{className:"mx-auto max-w-7xl",children:[(0,a.jsxs)("div",{className:"mb-16 grid grid-cols-2 gap-8 md:grid-cols-4 lg:grid-cols-5",children:[(0,a.jsxs)("div",{className:"col-span-2 lg:col-span-2",children:[(0,a.jsx)(i(),{href:"/","aria-label":`${s.Hc.name} home`,className:"mb-6 inline-flex min-h-[44px] items-center gap-3 rounded-lg",children:(0,a.jsx)(m.A,{})}),(0,a.jsx)("p",{className:"mb-6 max-w-xs text-sm leading-relaxed text-muted",children:"The unified endpoint for AI generation. Connect, route, and manage your AI providers with ease."}),(0,a.jsx)("div",{className:"flex gap-4",children:(0,a.jsxs)("a",{className:"inline-flex min-h-[44px] min-w-[44px] items-center justify-center rounded-lg text-muted transition-colors hover:text-text focus-visible:shadow-focus",href:"https://github.com/tokenhop/tokenhop",target:"_blank",rel:"noopener noreferrer",children:[(0,a.jsx)("span",{className:"sr-only",children:`${s.Hc.name} on GitHub`}),(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]","aria-hidden":"true",children:"code"})]})})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)("h2",{className:"font-sans text-sm font-semibold text-text",children:"Product"}),D.map(e=>(0,a.jsx)("a",{className:"inline-flex min-h-[44px] items-center text-sm text-muted transition-colors hover:text-coral focus-visible:shadow-focus",href:e.href,target:e.target,rel:e.rel,children:e.label},e.label))]}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)("h2",{className:"font-sans text-sm font-semibold text-text",children:"Resources"}),M.map(e=>(0,a.jsx)("a",{className:"inline-flex min-h-[44px] items-center text-sm text-muted transition-colors hover:text-coral focus-visible:shadow-focus",href:e.href,target:e.target,rel:e.rel,children:e.label},e.label))]}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)("h2",{className:"font-sans text-sm font-semibold text-text",children:"Legal"}),T.map(e=>(0,a.jsx)("a",{className:"inline-flex min-h-[44px] items-center text-sm text-muted transition-colors hover:text-coral focus-visible:shadow-focus",href:e.href,target:e.target,rel:e.rel,children:e.label},e.label))]})]}),(0,a.jsxs)("div",{className:"flex flex-col items-center justify-between gap-4 border-t border-line pt-8 sm:flex-row",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsx)("p",{className:"text-sm text-muted",children:`\xa9 2025 ${s.Hc.name}. All rights reserved.`}),R&&(0,a.jsx)("a",{className:"inline-flex min-h-[44px] items-center text-sm text-muted transition-colors hover:text-text focus-visible:shadow-focus",href:R.href,target:"_blank",rel:"noopener noreferrer",children:R.label})]}),(0,a.jsxs)("div",{className:"flex gap-6",children:[(0,a.jsx)("a",{className:"inline-flex min-h-[44px] items-center text-sm text-muted transition-colors hover:text-text focus-visible:shadow-focus",href:"https://github.com/tokenhop/tokenhop",target:"_blank",rel:"noopener noreferrer",children:"GitHub"}),(0,a.jsx)("a",{className:"inline-flex min-h-[44px] items-center text-sm text-muted transition-colors hover:text-text focus-visible:shadow-focus",href:"https://github.com/tokenhop/tokenhop/pkgs/container/tokenhop",target:"_blank",rel:"noopener noreferrer",children:"Docker"})]})]})]})})}function U(){return(0,a.jsxs)("div",{className:"relative overflow-x-hidden bg-bg font-sans text-text antialiased",children:[(0,a.jsx)("div",{"aria-hidden":"true",className:"landing-grid pointer-events-none fixed inset-0"}),(0,a.jsx)(x,{}),(0,a.jsxs)("main",{className:"relative",children:[(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)(g,{}),(0,a.jsx)("div",{className:"flex justify-center pb-20",children:(0,a.jsx)(_,{})})]}),(0,a.jsx)(z,{}),(0,a.jsx)(I,{}),(0,a.jsx)($,{}),(0,a.jsxs)("section",{className:"relative overflow-hidden px-4 py-24 sm:px-6","aria-labelledby":"cta-title",children:[(0,a.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0 bg-coral-bg [mask-image:radial-gradient(ellipse_70%_100%_at_50%_100%,black,transparent)]"}),(0,a.jsxs)("div",{className:"relative z-10 mx-auto max-w-4xl text-center",children:[(0,a.jsx)("h2",{id:"cta-title",className:"mb-6 font-display text-4xl font-bold tracking-[-0.02em] text-text md:text-5xl",children:"Ready to simplify your AI infrastructure?"}),(0,a.jsx)("p",{className:"mx-auto mb-10 max-w-2xl text-xl text-muted",children:`Join developers who are streamlining their AI integrations with ${s.Hc.name}. Open source and free to start.`}),(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center gap-4 sm:flex-row",children:[(0,a.jsx)(n.default,{variant:"primary",size:"md",href:"/dashboard",className:"w-full sm:w-auto",children:"Start free"}),(0,a.jsx)(n.default,{variant:"secondary",size:"md",href:"https://github.com/tokenhop/tokenhop#readme",target:"_blank",rel:"noopener noreferrer",className:"w-full sm:w-auto",children:"Read documentation"})]})]})]})]}),(0,a.jsx)(L,{})]})}},48593:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var a=r(12115),n=r(4553),s=r(92466);function l({size:e=36,className:t=""}){return(0,a.createElement)("span",{className:`flex items-center gap-2.5 ${t}`},(0,a.createElement)(s.A,{size:e,decorative:!0}),(0,a.createElement)("span",{className:"font-display font-bold tracking-[-0.02em] text-text",style:{fontSize:22*e/36}},n.Hc.wordmark))}},50770:(e,t,r)=>{"use strict";r.d(t,{PK:()=>h,S3:()=>o,XY:()=>i,lN:()=>d,pN:()=>f,pi:()=>x,r4:()=>u,vE:()=>m,vO:()=>s});let a={connected:"ok",healthy:"ok",active:"ok",ok:"ok",success:"ok",cooldown:"warn",warning:"warn",low:"warn",warn:"warn",error:"err",empty:"err",err:"err",oauth:"info",info:"info","api-key":"brand",brand:"brand",live:"live",disabled:"neutral",off:"neutral",neutral:"neutral"},n={ok:"bg-ok-bg text-ok",warn:"bg-warn-bg text-warn",err:"bg-err-bg text-err",info:"bg-sky-bg text-sky-ink",brand:"bg-coral-bg text-coral-ink",live:"bg-lime-bg text-lime-ink",neutral:"bg-raised text-muted shadow-[inset_0_0_0_1px_var(--signal-line)]"},s={xs:"h-5 px-2 text-[11px]",sm:"h-5 px-2 text-[11px]",md:"h-6 px-2.5 text-xs",lg:"h-7 px-3 text-sm"},l={default:"neutral",primary:"brand",success:"ok",warning:"warn",error:"err"},i=[...new Set([...Object.keys(n),...Object.keys(l),...Object.keys(a)])];function o(e="neutral",t="md"){let r=s[t];if(!r)throw Error(`pillClasses: unknown size "${t}"`);return`${n[function(e){if(n[e])return e;let t=l[e]??a[e];if(!t)throw Error(`resolvePillVariant: unknown variant "${e}"`);return t}(e)]} ${r}`}let d={ok:"bg-ok",warn:"bg-warn",err:"bg-err",live:"bg-lime",info:"bg-sky",brand:"bg-coral",neutral:"bg-subtle"},c=new Set(["unlimited","credits"]);function m(e,t){if(void 0!==t&&!c.has(t))throw Error(`meterVariant: unknown kind "${t}"`);if("number"!=typeof e||!Number.isFinite(e))throw Error(`meterVariant: expected a finite number, got ${e}`);return"unlimited"===t?"live":"credits"===t?"info":e<=20?"err":e<=45?"warn":"ok"}function u(e){if("number"!=typeof e||!Number.isFinite(e))throw Error(`meterValue: expected a finite number, got ${e}`);return Math.min(100,Math.max(0,e))}let x="border-b border-line",h="whitespace-nowrap text-xs font-semibold text-muted",p={LOG:"signal-terminal-log",INFO:"signal-terminal-info",WARN:"signal-terminal-warn",ERROR:"signal-terminal-error",DEBUG:"signal-terminal-debug"};function f(e){let t=p[e];if(!t)throw Error(`terminalLevelClass: unknown level "${e}"`);return t}},90085:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var a=r(1934),n=r(31692),s=r(28745);function l(e){let t=document.documentElement,r=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";"dark"===("system"===e?r:e)?t.classList.add("dark"):t.classList.remove("dark")}let i=(0,a.v)((0,n.Zr)((e,t)=>({theme:s.B2.defaultTheme,setTheme:t=>{e({theme:t}),l(t)},toggleTheme:()=>{let r="dark"===t().theme?"light":"dark";e({theme:r}),l(r)},initTheme:()=>{l(t().theme)}}),{name:s.B2.storageKey}))},92466:(e,t,r)=>{"use strict";r.d(t,{A:()=>l});var a=r(12115),n=r(4553);let s=()=>[(0,a.createElement)("path",{key:"stem",d:"M25 11V41.5C25 48.5 28.8 52 35.5 52H40",fill:"none",stroke:"currentColor",strokeWidth:7.5,strokeLinecap:"round"}),(0,a.createElement)("path",{key:"arc",d:"M14 26.5C22 18.5 34 18 42 24",fill:"none",stroke:"currentColor",strokeWidth:6.5,strokeLinecap:"round"}),(0,a.createElement)("path",{key:"dot",d:"M43 29a6.5 6.5 0 1 0 13 0a6.5 6.5 0 1 0-13 0z",fill:"currentColor"})];function l({size:e=36,decorative:t=!1,className:r="",x:i,y:o}){let d=t?{"aria-hidden":"true"}:{role:"img","aria-label":n.Hc.name};return"number"==typeof i&&"number"==typeof o?function({x:e,y:t,size:r,aria:l}){if(n.DM===n.qx.slug){let s=r/96,i=e+r/2,o=t+r/2;return(0,a.createElement)("g",l,(0,a.createElement)("rect",{x:e,y:t,width:r,height:r,rx:28*s,fill:"var(--signal-coral)"}),(0,a.createElement)("text",{x:i,y:o-2*s,textAnchor:"middle",fill:"var(--signal-on-coral)",fontSize:`${42*s}`,fontWeight:"800",fontFamily:"var(--signal-font-display)"},"9"),(0,a.createElement)("text",{x:i,y:o+22*s,textAnchor:"middle",fill:"var(--signal-on-coral)",fontSize:`${11*s}`,fontWeight:"700",letterSpacing:`${1.1*s}`},n.Hc.wordmark))}return(0,a.createElement)("svg",{...l,x:e,y:t,width:r,height:r,viewBox:"0 0 64 64",color:"var(--signal-text)"},(0,a.createElement)("rect",{width:64,height:64,rx:16,fill:"var(--signal-coral)"}),...s())}({x:i,y:o,size:e,aria:d}):n.DM===n.qx.slug?(0,a.createElement)("span",{...d,className:`-rotate-[8deg] flex items-center justify-center bg-coral font-display font-extrabold text-on-coral shadow-card ${r}`,style:{width:e,height:e,fontSize:22*e/36,borderRadius:11*e/36}},"9"):(0,a.createElement)("svg",{...d,viewBox:"0 0 64 64",width:e,height:e,className:r,focusable:"false"},(0,a.createElement)("rect",{width:64,height:64,rx:16,fill:"var(--signal-coral)"}),...s())}},92542:(e,t,r)=>{"use strict";r.d(t,{default:()=>c});var a=r(95155),n=r(98500),s=r.n(n),l=r(14051),i=r.n(l),o=r(31474),d=r(4650);function c({children:e,variant:t="primary",size:r="md",icon:n,iconRight:l,href:i,disabled:m=!1,loading:u=!1,fullWidth:x=!1,className:h,...p}){let f=(0,o.cn)("inline-flex items-center justify-center gap-2 font-semibold transition-all duration-150 ease-out cursor-pointer","active:scale-[0.97] focus-visible:outline-none focus-visible:shadow-focus","disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100","aria-disabled:opacity-50 aria-disabled:cursor-not-allowed aria-disabled:active:scale-100",(0,d.V7)(t,r),x&&"w-full",h),b=(0,a.jsxs)(a.Fragment,{children:[u?(0,a.jsx)("span",{className:"material-symbols-outlined animate-spin text-[18px]","aria-hidden":"true",children:"progress_activity"}):n?(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]","aria-hidden":"true",children:n}):null,e,l&&!u&&(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px] rtl:-scale-x-100","aria-hidden":"true",children:l})]});if(i&&!(m||u)){let{type:e,...t}=p;return t.className=f,/^(https?:|mailto:|tel:|#)/.test(i)?(0,a.jsx)("a",{href:i,...t,children:b}):(0,a.jsx)(s(),{href:i,...t,children:b})}return(0,a.jsx)("button",{className:f,disabled:m||u,"aria-busy":u||void 0,...p,children:b})}c.propTypes={children:i().node,variant:i().oneOf(Object.keys(d.Ck)),size:i().oneOf(Object.keys(d.GO)),icon:i().string,iconRight:i().string,href:i().string,disabled:i().bool,loading:i().bool,fullWidth:i().bool,className:i().string}},99013:(e,t,r)=>{Promise.resolve().then(r.bind(r,42586))}},e=>{e.O(0,[1610,2903,8441,3794,7358],()=>e(e.s=99013)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{4553:(e,t,r)=>{"use strict";r.d(t,{DM:()=>i,Hc:()=>u,qt:()=>c,qx:()=>l});var o=r(35652);let{BRAND_IDS:n,DEFAULT_BRAND_ID:a,ACTIVE_BRAND_ID:i,isActiveBrand:s,BRAND:c,LEGACY:l,ACTIVE:u,UPSTREAM_CLIENT_IDS:m,envName:p,readEnv:d,warnLegacyOnce:f,header:h,legacyHeaderNames:k}=r.n(o)()},21110:(e,t,r)=>{"use strict";r.d(t,{ThemeProvider:()=>i});var o=r(95155),n=r(12115),a=r(90085);function i({children:e}){let{initTheme:t}=(0,a.A)();return(0,n.useEffect)(()=>{t()},[t]),(0,o.jsx)(o.Fragment,{children:e})}},24597:(e,t,r)=>{"use strict";r.d(t,{default:()=>a});var o=r(12115),n=r(30787);function a(){return(0,o.useEffect)(()=>{let e=document.cookie.match(/(?:^|; )nr-density=([^;]*)/),t=(0,n.b5)(e?decodeURIComponent(e[1]):"comfortable");document.documentElement.classList.toggle(n.WA,"compact"===t)},[]),null}},29344:e=>{e.exports={style:{fontFamily:"'materialSymbols'"},className:"__className_614881",variable:"__variable_614881"}},35652:(e,t,r)=>{"use strict";var o,n=r(41463);let a=Object.freeze(["9router","tokenhop"]),i="tokenhop";function s(e,t){if(a.includes(e))return e;let r=a.map(e=>`"${e}"`).join(", ");throw Error(`${t}: unknown brand ${JSON.stringify(e)}; allowed values: ${r}`)}let c=""==(o="tokenhop")?i:s(o,"NEXT_PUBLIC_BRAND"),l=Object.freeze({name:"tokenhop",slug:"tokenhop",envPrefix:"TOKENHOP_",headerPrefix:"x-tokenhop-",jcodeApiKeyEnv:"JCODE_TOKENHOP_API_KEY",defaultApiKey:"sk_tokenhop",dataDirName:"tokenhop",samlIssuerDefault:"urn:tokenhop:sp",mitmCaCommonName:"tokenhop MITM Root CA",mitmCaOrg:"tokenhop",mitmCertFile:"tokenhop-root-ca.crt",pidFile:"tokenhop.pid",autostartLabel:"dev.tokenhop.autostart",autostartDesktopFile:"tokenhop.desktop",autostartVbsFile:"tokenhop.vbs",clientConfigKey:"tokenhop",customModelIdPrefix:"custom:tokenhop-",storageKeyPrefix:"tokenhop.",eventPrefix:"tokenhop:",backupFilePrefix:"tokenhop-backup-",npmPackage:"tokenhop",appPackage:"tokenhop-app",repoSlug:"tokenhop/tokenhop",repoUrl:"https://github.com/tokenhop/tokenhop",imageName:"ghcr.io/tokenhop/tokenhop",websiteUrl:"https://tokenhop.ai",docsUrl:"https://tokenhop.dev",wordmark:"tokenhop",favicon:"/brand/favicon.svg",faviconIco:"/brand/favicon.ico",appIcon192:"/brand/icons/icon-192.svg",appIcon512:"/brand/icons/icon-512.svg",trayIconName:"icon-tokenhop",trayIconTemplate:!0}),u=Object.freeze({names:Object.freeze(["9Router","9router"]),slug:"9router",envPrefixes:Object.freeze(["NINEROUTER_","NINE_ROUTER_"]),headerPrefix:"x-9router-",jcodeApiKeyEnv:"JCODE_9ROUTER_API_KEY",defaultApiKey:"sk_9router",dataDirName:"9router",samlIssuerDefault:"urn:9router:sp",mitmCaCommonName:"9Router MITM Root CA",mitmCaOrg:"9Router",mitmCertFile:"9router-root-ca.crt",pidFile:"9router.pid",autostartLabel:"com.9router.autostart",autostartDesktopFile:"9router.desktop",autostartVbsFile:"9router.vbs",clientConfigKeys:Object.freeze(["9router","9Router"]),customModelIdPrefix:"custom:9Router-",storageKeyPrefix:"9router.",eventPrefix:"9router:",backupFilePrefix:"9router-backup-",npmPackage:"9router",appPackage:"9router-app",repoSlug:"yandy-r/9router",repoUrl:"https://github.com/yandy-r/9router",imageName:"ghcr.io/yandy-r/9router",wordmark:"router",favicon:"/favicon.svg",faviconIco:"/favicon.ico",appIcon192:"/icons/icon-192.svg",appIcon512:"/icons/icon-512.svg",trayIconName:"icon",trayIconTemplate:!1}),m=Object.freeze({kimiPlatform:"9router",clineUserAgentProduct:"9Router",clineClientType:"9router",devinMcpClientName:"9router",coworkMcpClientName:"9router",cursorMcpProvider:"9router",glmMcpClientName:"9router",xaiUserAgent:"grok-cli/9router",xiaomiKeyNamePrefix:"9router-xmd-",githubUserAgent:"9Router",proxyTestUserAgent:"9Router",denoRelayKind:"9router-relay"}),p=new Set(["repoSlug","repoUrl","imageName","websiteUrl","docsUrl"]),d={name:"names",envPrefix:"envPrefixes",clientConfigKey:"clientConfigKeys"},f="tokenhop"===c?l:Object.freeze(Object.fromEntries(Object.keys(l).map(e=>{let t;return[e,p.has(e)?l[e]:Array.isArray(t=u[d[e]||e])?t[0]:t]}))),h=new Set;function k(e,t,r){if("tokenhop"!==c)return!1;let o=`${e}\u0000${t}`;return!h.has(o)&&(h.add(o),console.warn(`[tokenhop] deprecated ${e} "${t}" → use "${r}" (legacy support ends in v2.0.0)`),!0)}let v=/^[A-Z0-9]+(_[A-Z0-9]+)*$/;function b(e){if("string"!=typeof e||!v.test(e))throw Error(`envName: invalid suffix ${JSON.stringify(e)}; expected e.g. "PEER_TOKEN"`);return l.envPrefix+e}let g=/^(?!x-)[a-z0-9]+(-[a-z0-9]+)*$/;function y(e){return f.headerPrefix+function(e,t){if("string"!=typeof e||!g.test(e))throw Error(`${t}: invalid header name ${JSON.stringify(e)}; expected a bare lowercase name like "connection-id"`);return e}(e,"header")}e.exports={BRAND_IDS:a,DEFAULT_BRAND_ID:i,ACTIVE_BRAND_ID:c,isActiveBrand:function(e){return s(e,"isActiveBrand")===c},BRAND:l,LEGACY:u,ACTIVE:f,UPSTREAM_CLIENT_IDS:m,envName:b,readEnv:function(e,t=n.env){let r=b(e);if(void 0!==t[r])return t[r];for(let o of u.envPrefixes){let n=o+e;if(void 0!==t[n])return k("env var",n,r),t[n]}},warnLegacyOnce:k,header:y,legacyHeaderNames:function(e){let t=y(e);return[u.headerPrefix+e].filter(e=>e!==t)}}},42316:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,44735,23)),Promise.resolve().then(r.t.bind(r,61837,23)),Promise.resolve().then(r.t.bind(r,42654,23)),Promise.resolve().then(r.t.bind(r,29344,23)),Promise.resolve().then(r.t.bind(r,51743,23)),Promise.resolve().then(r.bind(r,94635)),Promise.resolve().then(r.bind(r,24597)),Promise.resolve().then(r.bind(r,21110))},42654:e=>{e.exports={style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"},className:"
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{4553:(e,t,r)=>{"use strict";r.d(t,{DM:()=>i,Hc:()=>u,qt:()=>c,qx:()=>l});var o=r(35652);let{BRAND_IDS:n,DEFAULT_BRAND_ID:a,ACTIVE_BRAND_ID:i,isActiveBrand:s,BRAND:c,LEGACY:l,ACTIVE:u,UPSTREAM_CLIENT_IDS:m,envName:p,readEnv:d,warnLegacyOnce:f,header:h,legacyHeaderNames:k}=r.n(o)()},21110:(e,t,r)=>{"use strict";r.d(t,{ThemeProvider:()=>i});var o=r(95155),n=r(12115),a=r(90085);function i({children:e}){let{initTheme:t}=(0,a.A)();return(0,n.useEffect)(()=>{t()},[t]),(0,o.jsx)(o.Fragment,{children:e})}},24597:(e,t,r)=>{"use strict";r.d(t,{default:()=>a});var o=r(12115),n=r(30787);function a(){return(0,o.useEffect)(()=>{let e=document.cookie.match(/(?:^|; )nr-density=([^;]*)/),t=(0,n.b5)(e?decodeURIComponent(e[1]):"comfortable");document.documentElement.classList.toggle(n.WA,"compact"===t)},[]),null}},29344:e=>{e.exports={style:{fontFamily:"'materialSymbols'"},className:"__className_614881",variable:"__variable_614881"}},35652:(e,t,r)=>{"use strict";var o,n=r(41463);let a=Object.freeze(["9router","tokenhop"]),i="tokenhop";function s(e,t){if(a.includes(e))return e;let r=a.map(e=>`"${e}"`).join(", ");throw Error(`${t}: unknown brand ${JSON.stringify(e)}; allowed values: ${r}`)}let c=""==(o="tokenhop")?i:s(o,"NEXT_PUBLIC_BRAND"),l=Object.freeze({name:"tokenhop",slug:"tokenhop",envPrefix:"TOKENHOP_",headerPrefix:"x-tokenhop-",jcodeApiKeyEnv:"JCODE_TOKENHOP_API_KEY",defaultApiKey:"sk_tokenhop",dataDirName:"tokenhop",samlIssuerDefault:"urn:tokenhop:sp",mitmCaCommonName:"tokenhop MITM Root CA",mitmCaOrg:"tokenhop",mitmCertFile:"tokenhop-root-ca.crt",pidFile:"tokenhop.pid",autostartLabel:"dev.tokenhop.autostart",autostartDesktopFile:"tokenhop.desktop",autostartVbsFile:"tokenhop.vbs",clientConfigKey:"tokenhop",customModelIdPrefix:"custom:tokenhop-",storageKeyPrefix:"tokenhop.",eventPrefix:"tokenhop:",backupFilePrefix:"tokenhop-backup-",npmPackage:"tokenhop",appPackage:"tokenhop-app",repoSlug:"tokenhop/tokenhop",repoUrl:"https://github.com/tokenhop/tokenhop",imageName:"ghcr.io/tokenhop/tokenhop",websiteUrl:"https://tokenhop.ai",docsUrl:"https://tokenhop.dev",wordmark:"tokenhop",favicon:"/brand/favicon.svg",faviconIco:"/brand/favicon.ico",appIcon192:"/brand/icons/icon-192.svg",appIcon512:"/brand/icons/icon-512.svg",trayIconName:"icon-tokenhop",trayIconTemplate:!0}),u=Object.freeze({names:Object.freeze(["9Router","9router"]),slug:"9router",envPrefixes:Object.freeze(["NINEROUTER_","NINE_ROUTER_"]),headerPrefix:"x-9router-",jcodeApiKeyEnv:"JCODE_9ROUTER_API_KEY",defaultApiKey:"sk_9router",dataDirName:"9router",samlIssuerDefault:"urn:9router:sp",mitmCaCommonName:"9Router MITM Root CA",mitmCaOrg:"9Router",mitmCertFile:"9router-root-ca.crt",pidFile:"9router.pid",autostartLabel:"com.9router.autostart",autostartDesktopFile:"9router.desktop",autostartVbsFile:"9router.vbs",clientConfigKeys:Object.freeze(["9router","9Router"]),customModelIdPrefix:"custom:9Router-",storageKeyPrefix:"9router.",eventPrefix:"9router:",backupFilePrefix:"9router-backup-",npmPackage:"9router",appPackage:"9router-app",repoSlug:"yandy-r/9router",repoUrl:"https://github.com/yandy-r/9router",imageName:"ghcr.io/yandy-r/9router",wordmark:"router",favicon:"/favicon.svg",faviconIco:"/favicon.ico",appIcon192:"/icons/icon-192.svg",appIcon512:"/icons/icon-512.svg",trayIconName:"icon",trayIconTemplate:!1}),m=Object.freeze({kimiPlatform:"9router",clineUserAgentProduct:"9Router",clineClientType:"9router",devinMcpClientName:"9router",coworkMcpClientName:"9router",cursorMcpProvider:"9router",glmMcpClientName:"9router",xaiUserAgent:"grok-cli/9router",xiaomiKeyNamePrefix:"9router-xmd-",githubUserAgent:"9Router",proxyTestUserAgent:"9Router",denoRelayKind:"9router-relay"}),p=new Set(["repoSlug","repoUrl","imageName","websiteUrl","docsUrl"]),d={name:"names",envPrefix:"envPrefixes",clientConfigKey:"clientConfigKeys"},f="tokenhop"===c?l:Object.freeze(Object.fromEntries(Object.keys(l).map(e=>{let t;return[e,p.has(e)?l[e]:Array.isArray(t=u[d[e]||e])?t[0]:t]}))),h=new Set;function k(e,t,r){if("tokenhop"!==c)return!1;let o=`${e}\u0000${t}`;return!h.has(o)&&(h.add(o),console.warn(`[tokenhop] deprecated ${e} "${t}" → use "${r}" (legacy support ends in v2.0.0)`),!0)}let v=/^[A-Z0-9]+(_[A-Z0-9]+)*$/;function b(e){if("string"!=typeof e||!v.test(e))throw Error(`envName: invalid suffix ${JSON.stringify(e)}; expected e.g. "PEER_TOKEN"`);return l.envPrefix+e}let g=/^(?!x-)[a-z0-9]+(-[a-z0-9]+)*$/;function y(e){return f.headerPrefix+function(e,t){if("string"!=typeof e||!g.test(e))throw Error(`${t}: invalid header name ${JSON.stringify(e)}; expected a bare lowercase name like "connection-id"`);return e}(e,"header")}e.exports={BRAND_IDS:a,DEFAULT_BRAND_ID:i,ACTIVE_BRAND_ID:c,isActiveBrand:function(e){return s(e,"isActiveBrand")===c},BRAND:l,LEGACY:u,ACTIVE:f,UPSTREAM_CLIENT_IDS:m,envName:b,readEnv:function(e,t=n.env){let r=b(e);if(void 0!==t[r])return t[r];for(let o of u.envPrefixes){let n=o+e;if(void 0!==t[n])return k("env var",n,r),t[n]}},warnLegacyOnce:k,header:y,legacyHeaderNames:function(e){let t=y(e);return[u.headerPrefix+e].filter(e=>e!==t)}}},42316:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,44735,23)),Promise.resolve().then(r.t.bind(r,61837,23)),Promise.resolve().then(r.t.bind(r,42654,23)),Promise.resolve().then(r.t.bind(r,29344,23)),Promise.resolve().then(r.t.bind(r,51743,23)),Promise.resolve().then(r.bind(r,94635)),Promise.resolve().then(r.bind(r,24597)),Promise.resolve().then(r.bind(r,21110))},42654:e=>{e.exports={style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"},className:"__className_258e5a",variable:"__variable_258e5a"}},44735:e=>{e.exports={style:{fontFamily:"'Bricolage Grotesque', 'Bricolage Grotesque Fallback'",fontStyle:"normal"},className:"__className_0d2d87",variable:"__variable_0d2d87"}},51743:()=>{},61837:e=>{e.exports={style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"},className:"__className_4994ab",variable:"__variable_4994ab"}},90085:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var o=r(1934),n=r(31692),a=r(28745);function i(e){let t=document.documentElement,r=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";"dark"===("system"===e?r:e)?t.classList.add("dark"):t.classList.remove("dark")}let s=(0,o.v)((0,n.Zr)((e,t)=>({theme:a.B2.defaultTheme,setTheme:t=>{e({theme:t}),i(t)},toggleTheme:()=>{let r="dark"===t().theme?"light":"dark";e({theme:r}),i(r)},initTheme:()=>{i(t().theme)}}),{name:a.B2.storageKey}))},94635:(e,t,r)=>{"use strict";r.d(t,{RuntimeI18nProvider:()=>c});var o=r(95155),n=r(12115),a=r(73006),i=r(93308);function s(){let e=(0,a.kk)(),t=document.documentElement;t.lang=e,t.dir=i.rB.includes(e)?"rtl":"ltr"}function c({children:e}){return(0,n.useEffect)(()=>{(0,a.FE)().then(s)},[]),(0,o.jsx)(o.Fragment,{children:e})}}},e=>{e.O(0,[3139,3670,8441,3794,7358],()=>e(e.s=42316)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e,t,r,a,c,s,n,o,
|
|
1
|
+
(()=>{"use strict";var e,t,r,a,c,s,n,o,d={},i={};function f(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}},a=!0;try{d[e].call(r.exports,r,r.exports,f),a=!1}finally{a&&delete i[e]}return r.exports}f.m=d,e=[],f.O=(t,r,a,c)=>{if(r){c=c||0;for(var s=e.length;s>0&&e[s-1][2]>c;s--)e[s]=e[s-1];e[s]=[r,a,c];return}for(var n=1/0,s=0;s<e.length;s++){for(var[r,a,c]=e[s],o=!0,d=0;d<r.length;d++)(!1&c||n>=c)&&Object.keys(f.O).every(e=>f.O[e](r[d]))?r.splice(d--,1):(o=!1,c<n&&(n=c));if(o){e.splice(s--,1);var i=a();void 0!==i&&(t=i)}}return t},f.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return f.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,a){if(1&a&&(e=this(e)),8&a||"object"==typeof e&&e&&(4&a&&e.__esModule||16&a&&"function"==typeof e.then))return e;var c=Object.create(null);f.r(c);var s={};t=t||[null,r({}),r([]),r(r)];for(var n=2&a&&e;"object"==typeof n&&!~t.indexOf(n);n=r(n))Object.getOwnPropertyNames(n).forEach(t=>s[t]=()=>e[t]);return s.default=()=>e,f.d(c,s),c},f.d=(e,t)=>{for(var r in t)f.o(t,r)&&!f.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce((t,r)=>(f.f[r](e,t),t),[])),f.u=e=>8105===e?"static/chunks/8105-71d1aea9708976db.js":5814===e?"static/chunks/5814-f219e250823160d0.js":9233===e?"static/chunks/9233-7c1e356386d4e864.js":4070===e?"static/chunks/4070-c76ef7302b944563.js":9671===e?"static/chunks/9671-13bf0a1dd082ad39.js":4685===e?"static/chunks/4685-8a4450325e60133c.js":7899===e?"static/chunks/7899-a12f962af02edf7f.js":1863===e?"static/chunks/1863-07d1c4c60eabc139.js":5014===e?"static/chunks/5014-a5d960f4c6bc6297.js":198===e?"static/chunks/198-7c5bbea89ef8bc14.js":3961===e?"static/chunks/3961-193c64b1695b33ee.js":5060===e?"static/chunks/5060-1c610ccae6241090.js":971===e?"static/chunks/971-27c4c5772ea6abeb.js":3044===e?"static/chunks/3044-ee7d162fa370dc8a.js":9284===e?"static/chunks/9284-61f162b7e4e8e29a.js":9394===e?"static/chunks/9394-ac4431dfa81224cc.js":9449===e?"static/chunks/9449-f56c6dfcfae3b50a.js":"static/chunks/"+e+"."+({270:"fca1d241965ad518",1036:"8a38d2bfc9f93236",1536:"2f931db1adf1a474",1931:"0a9b23f72463011f",2513:"07cfab564e286e41",4289:"6b78acbbff5886aa",4490:"0a9025c0609ad814",4506:"fbe8545026f1cbaa",4815:"903371440731eb11",5064:"98f2197be4baff8a",6174:"a18fedfa3d765b1e",6354:"7a4bb5771a8b2614",6554:"5d2fe03b263ab0ac",7198:"150be318dbc95704",7556:"0336d8b6a1abd43a",7942:"65a1310eb9394724",8046:"10d75ab56fadd8a5",8202:"1ffc6ce531e066ce",8387:"d76fed15eca7020b",8388:"699e1ab12e1565d1",8922:"3da620b68775ad61",9176:"7bca687eb6d20d48",9300:"56f8a551e86baf88",9499:"83d2d5f989f163b0"})[e]+".js",f.miniCssF=e=>{},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},f.l=(e,t,r,c)=>{if(a[e])return void a[e].push(t);if(void 0!==r)for(var s,n,o=document.getElementsByTagName("script"),d=0;d<o.length;d++){var i=o[d];if(i.getAttribute("src")==e||i.getAttribute("data-webpack")=="_N_E:"+r){s=i;break}}s||(n=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,f.nc&&s.setAttribute("nonce",f.nc),s.setAttribute("data-webpack","_N_E:"+r),s.src=f.tu(e)),a[e]=[t];var u=(t,r)=>{s.onerror=s.onload=null,clearTimeout(b);var c=a[e];if(delete a[e],s.parentNode&&s.parentNode.removeChild(s),c&&c.forEach(e=>e(r)),t)return t(r)},b=setTimeout(u.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=u.bind(null,s.onerror),s.onload=u.bind(null,s.onload),n&&document.head.appendChild(s)},f.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.tt=()=>(void 0===c&&(c={createScriptURL:e=>e},"u">typeof trustedTypes&&trustedTypes.createPolicy&&(c=trustedTypes.createPolicy("nextjs#bundler",c))),c),f.tu=e=>f.tt().createScriptURL(e),f.p="/_next/",s={8068:0,3139:0},f.f.j=(e,t)=>{var r=f.o(s,e)?s[e]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(3139|8068)$/.test(e))s[e]=0;else{var a=new Promise((t,a)=>r=s[e]=[t,a]);t.push(r[2]=a);var c=f.p+f.u(e),n=Error();f.l(c,t=>{if(f.o(s,e)&&(0!==(r=s[e])&&(s[e]=void 0),r)){var a=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;n.message="Loading chunk "+e+" failed.\n("+a+": "+c+")",n.name="ChunkLoadError",n.type=a,n.request=c,r[1](n)}},"chunk-"+e,e)}},f.O.j=e=>0===s[e],n=(e,t)=>{var r,a,[c,n,o]=t,d=0;if(c.some(e=>0!==s[e])){for(r in n)f.o(n,r)&&(f.m[r]=n[r]);if(o)var i=o(f)}for(e&&e(t);d<c.length;d++)a=c[d],f.o(s,a)&&s[a]&&s[a][0](),s[a]=0;return f.O(i)},(o=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(n.bind(null,0)),o.push=n.bind(null,o.push.bind(o))})();
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-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:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.p.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-
|
|
1
|
+
@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-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:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.p.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-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:Bricolage Grotesque Fallback;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_0d2d87{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.__variable_0d2d87{--font-bricolage:"Bricolage Grotesque","Bricolage Grotesque Fallback"}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.p.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-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:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_4994ab{font-family:Geist,Geist Fallback;font-style:normal}.__variable_4994ab{--font-geist:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.p.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-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:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_258e5a{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_258e5a{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}@font-face{font-family:materialSymbols;src:url(/_next/static/media/a3e6e8037ffa1953.p.woff2) format("woff2");font-display:block}.__className_614881{font-family:materialSymbols}.__variable_614881{--font-icons:"materialSymbols"}
|
|
2
2
|
|
|
3
3
|
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::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-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-content:""}}}@layer theme{:host,:root{--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--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-blue-500:oklch(62.3% .214 259.815);--color-pink-500:oklch(65.6% .241 354.308);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--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-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-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--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-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1) infinite;--animate-pulse:pulse 1.8s ease-in-out infinite;--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--signal-font-sans);--default-mono-font-family:var(--signal-font-mono);--color-raised:var(--signal-raised);--shadow-card:var(--signal-shadow-card);--shadow-focus:var(--signal-focus-ring);--animate-flow:flow 1.1s linear infinite}}@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,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;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:where(:not(iframe)){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}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-x-2{inset-inline:calc(var(--spacing) * 2)}.inset-y-0{inset-block:0}.start-0{inset-inline-start:calc(var(--spacing) * 0)}.start-1\/2{inset-inline-start:50%}.start-\[16\%\]{inset-inline-start:16%}.start-full{inset-inline-start:100%}.-end-0\.5{inset-inline-end:calc(var(--spacing) * -.5)}.-end-6{inset-inline-end:calc(var(--spacing) * -6)}.end-0{inset-inline-end:calc(var(--spacing) * 0)}.end-1{inset-inline-end:calc(var(--spacing) * 1)}.end-2{inset-inline-end:calc(var(--spacing) * 2)}.end-3{inset-inline-end:calc(var(--spacing) * 3)}.end-4{inset-inline-end:calc(var(--spacing) * 4)}.end-\[16\%\]{inset-inline-end:16%}.end-full{inset-inline-end:100%}.-top-6{top:calc(var(--spacing) * -6)}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-12{top:calc(var(--spacing) * 12)}.top-16{top:calc(var(--spacing) * 16)}.top-\[72px\]{top:72px}.top-\[calc\(100\%\+8px\)\]{top:calc(100% + 8px)}.top-full{top:100%}.right-1{right:var(--spacing)}.-bottom-0\.5{bottom:calc(var(--spacing) * -.5)}.-bottom-px{bottom:-1px}.bottom-0{bottom:0}.bottom-full{bottom:100%}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[80\]{z-index:80}.z-\[9999\]{z-index:9999}.col-span-2{grid-column:span 2/span 2}.col-start-1{grid-column-start:1}.row-start-1{grid-row-start:1}.\!container{width:100%!important}@media (min-width:40rem){.\!container{max-width:40rem!important}}@media (min-width:48rem){.\!container{max-width:48rem!important}}@media (min-width:64rem){.\!container{max-width:64rem!important}}@media (min-width:80rem){.\!container{max-width:80rem!important}}@media (min-width:96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.-mx-3{margin-inline:calc(var(--spacing) * -3)}.mx-auto{margin-inline:auto}.-my-3{margin-block:calc(var(--spacing) * -3)}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.-ms-1\.5{margin-inline-start:calc(var(--spacing) * -1.5)}.-ms-2\.5{margin-inline-start:calc(var(--spacing) * -2.5)}.ms-0\.5{margin-inline-start:calc(var(--spacing) * .5)}.ms-1{margin-inline-start:var(--spacing)}.ms-1\.5{margin-inline-start:calc(var(--spacing) * 1.5)}.ms-2{margin-inline-start:calc(var(--spacing) * 2)}.ms-3{margin-inline-start:calc(var(--spacing) * 3)}.ms-11{margin-inline-start:calc(var(--spacing) * 11)}.ms-auto{margin-inline-start:auto}.me-1{margin-inline-end:var(--spacing)}.me-1\.5{margin-inline-end:calc(var(--spacing) * 1.5)}.me-2{margin-inline-end:calc(var(--spacing) * 2)}.me-auto{margin-inline-end:auto}.-mt-2{margin-top:calc(var(--spacing) * -2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-3\.5{margin-bottom:calc(var(--spacing) * 3.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!hidden{display:none!important}.\[display\:-webkit-box\]{display:-webkit-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.table-cell{display:table-cell}.aspect-square{aspect-ratio:1}.\!size-14{width:calc(var(--spacing) * 14)!important;height:calc(var(--spacing) * 14)!important}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-32{width:calc(var(--spacing) * 32);height:calc(var(--spacing) * 32)}.size-\[22px\]{width:22px;height:22px}.size-full{width:100%;height:100%}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.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-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-32{height:calc(var(--spacing) * 32)}.h-36{height:calc(var(--spacing) * 36)}.h-64{height:calc(var(--spacing) * 64)}.h-\[1em\]{height:1em}.h-\[2px\]{height:2px}.h-\[15px\]{height:15px}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.h-\[26px\]{height:26px}.h-\[52px\]{height:52px}.h-\[54px\]{height:54px}.h-\[104px\]{height:104px}.h-\[220px\]{height:220px}.h-\[360px\]{height:360px}.h-\[400px\]{height:400px}.h-\[420px\]{height:420px}.h-\[calc\(100vh-4rem\)\]{height:calc(100vh - 4rem)}.h-\[min\(60vh\,720px\)\]{height:min(60vh,720px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-12{max-height:calc(var(--spacing) * 12)}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\[25vh\]{max-height:25vh}.max-h-\[45vh\]{max-height:45vh}.max-h-\[48vh\]{max-height:48vh}.max-h-\[50vh\]{max-height:50vh}.max-h-\[55vh\]{max-height:55vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[300px\]{max-height:300px}.max-h-\[400px\]{max-height:400px}.max-h-\[460px\]{max-height:460px}.max-h-\[calc\(100vh-6rem\)\]{max-height:calc(100vh - 6rem)}.min-h-0{min-height:0}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-40{min-height:calc(var(--spacing) * 40)}.min-h-\[44px\]{min-height:44px}.min-h-\[50vh\]{min-height:50vh}.min-h-\[90vh\]{min-height:90vh}.min-h-\[108px\]{min-height:108px}.min-h-\[140px\]{min-height:140px}.min-h-\[240px\]{min-height:240px}.min-h-\[320px\]{min-height:320px}.min-h-screen{min-height:100vh}.w-0\.5{width:calc(var(--spacing) * .5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\/3{width:66.6667%}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-56{width:calc(var(--spacing) * 56)}.w-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-\[1em\]{width:1em}.w-\[52px\]{width:52px}.w-\[248px\]{width:248px}.w-\[280px\]{width:280px}.w-\[380px\]{width:380px}.w-\[400px\]{width:400px}.w-\[420px\]{width:420px}.w-\[440px\]{width:440px}.w-\[500px\]{width:500px}.w-\[600px\]{width:600px}.w-\[800px\]{width:800px}.w-\[calc\(100\%\+1rem\)\]{width:calc(100% + 1rem)}.w-\[min\(92vw\,380px\)\]{width:min(92vw,380px)}.w-\[min\(360px\,calc\(100vw-2rem\)\)\]{width:min(360px,100vw - 2rem)}.w-\[min\(520px\,calc\(100vw-2rem\)\)\]{width:min(520px,100vw - 2rem)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-12{max-width:calc(var(--spacing) * 12)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-48{max-width:calc(var(--spacing) * 48)}.max-w-56{max-width:calc(var(--spacing) * 56)}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-\[7\.5rem\]{max-width:7.5rem}.max-w-\[12rem\]{max-width:12rem}.max-w-\[48ch\]{max-width:48ch}.max-w-\[60\%\]{max-width:60%}.max-w-\[72ch\]{max-width:72ch}.max-w-\[85vw\]{max-width:85vw}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[180px\]{max-width:180px}.max-w-\[260px\]{max-width:260px}.max-w-\[280px\]{max-width:280px}.max-w-\[min\(24rem\,calc\(100vw-16px\)\)\]{max-width:min(24rem,100vw - 16px)}.max-w-\[min\(88\%\,42rem\)\]{max-width:min(88%,42rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-24{min-width:calc(var(--spacing) * 24)}.min-w-28{min-width:calc(var(--spacing) * 28)}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-52{min-width:calc(var(--spacing) * 52)}.min-w-60{min-width:calc(var(--spacing) * 60)}.min-w-\[28px\]{min-width:28px}.min-w-\[42rem\]{min-width:42rem}.min-w-\[44px\]{min-width:44px}.min-w-\[140px\]{min-width:140px}.min-w-\[200px\]{min-width:200px}.min-w-\[210px\]{min-width:210px}.min-w-\[560px\]{min-width:560px}.min-w-\[880px\]{min-width:880px}.flex-1{flex:1}.flex-\[1_1_160px\]{flex:160px}.flex-none{flex:none}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-48{flex-basis:calc(var(--spacing) * 48)}.basis-full{flex-basis:100%}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1)}.-translate-x-1\/2,.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-5{--tw-translate-x:calc(var(--spacing) * 5)}.-translate-y-1\/2,.translate-x-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-\[8deg\]{rotate:-8deg}.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-flow{animation:var(--animate-flow)}.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}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.\[appearance\:textfield\]{appearance:textfield}.appearance-none{appearance:none}.auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.grid-flow-col{grid-auto-flow:column}.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-\[minmax\(0\,1\.4fr\)_minmax\(11rem\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(11rem,1fr) minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[repeat\(auto-fill\,minmax\(100px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-16{gap:calc(var(--spacing) * 16)}.gap-\[3px\]{gap:3px}.gap-\[18px\]{gap:18px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-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)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-3\.5{row-gap:calc(var(--spacing) * 3.5)}: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-line>:not(:last-child)){border-color:var(--signal-line)}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.\!rounded-2xl{border-radius:var(--signal-radius-2xl)!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--signal-radius-2xl)}.rounded-\[10px\]{border-radius:10px}.rounded-\[14px\]{border-radius:14px}.rounded-\[20px\]{border-radius:20px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--signal-radius-lg)}.rounded-md{border-radius:var(--signal-radius-md)}.rounded-none{border-radius:0}.rounded-pill{border-radius:var(--signal-radius-pill)}.rounded-sm{border-radius:var(--signal-radius-sm)}.rounded-xl{border-radius:var(--signal-radius-xl)}.rounded-xs{border-radius:var(--signal-radius-xs)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.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-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-e-0{border-inline-end-style:var(--tw-border-style);border-inline-end-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--signal-terminal-time\)\]{border-color:var(--signal-terminal-time)}.border-black\/10{border-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.border-black\/10{border-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.border-coral,.border-coral\/20{border-color:var(--signal-coral)}@supports (color:color-mix(in lab,red,red)){.border-coral\/20{border-color:color-mix(in oklab,var(--signal-coral) 20%,transparent)}}.border-coral\/30{border-color:var(--signal-coral)}@supports (color:color-mix(in lab,red,red)){.border-coral\/30{border-color:color-mix(in oklab,var(--signal-coral) 30%,transparent)}}.border-coral\/40{border-color:var(--signal-coral)}@supports (color:color-mix(in lab,red,red)){.border-coral\/40{border-color:color-mix(in oklab,var(--signal-coral) 40%,transparent)}}.border-current{border-color:currentColor}.border-err,.border-err\/30{border-color:var(--signal-err)}@supports (color:color-mix(in lab,red,red)){.border-err\/30{border-color:color-mix(in oklab,var(--signal-err) 30%,transparent)}}.border-err\/40{border-color:var(--signal-err)}@supports (color:color-mix(in lab,red,red)){.border-err\/40{border-color:color-mix(in oklab,var(--signal-err) 40%,transparent)}}.border-gray-200{border-color:var(--color-gray-200)}.border-lime{border-color:var(--signal-lime)}.border-lime-ink{border-color:var(--signal-lime-ink)}.border-lime\/40{border-color:var(--signal-lime)}@supports (color:color-mix(in lab,red,red)){.border-lime\/40{border-color:color-mix(in oklab,var(--signal-lime) 40%,transparent)}}.border-line,.border-line\/50{border-color:var(--signal-line)}@supports (color:color-mix(in lab,red,red)){.border-line\/50{border-color:color-mix(in oklab,var(--signal-line) 50%,transparent)}}.border-line\/60{border-color:var(--signal-line)}@supports (color:color-mix(in lab,red,red)){.border-line\/60{border-color:color-mix(in oklab,var(--signal-line) 60%,transparent)}}.border-ok\/20{border-color:var(--signal-ok)}@supports (color:color-mix(in lab,red,red)){.border-ok\/20{border-color:color-mix(in oklab,var(--signal-ok) 20%,transparent)}}.border-ok\/30{border-color:var(--signal-ok)}@supports (color:color-mix(in lab,red,red)){.border-ok\/30{border-color:color-mix(in oklab,var(--signal-ok) 30%,transparent)}}.border-ok\/40{border-color:var(--signal-ok)}@supports (color:color-mix(in lab,red,red)){.border-ok\/40{border-color:color-mix(in oklab,var(--signal-ok) 40%,transparent)}}.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-sky,.border-sky\/30{border-color:var(--signal-sky)}@supports (color:color-mix(in lab,red,red)){.border-sky\/30{border-color:color-mix(in oklab,var(--signal-sky) 30%,transparent)}}.border-subtle{border-color:var(--signal-subtle)}.border-transparent{border-color:#0000}.border-warn,.border-warn\/20{border-color:var(--signal-warn)}@supports (color:color-mix(in lab,red,red)){.border-warn\/20{border-color:color-mix(in oklab,var(--signal-warn) 20%,transparent)}}.border-warn\/30{border-color:var(--signal-warn)}@supports (color:color-mix(in lab,red,red)){.border-warn\/30{border-color:color-mix(in oklab,var(--signal-warn) 30%,transparent)}}.border-warn\/40{border-color:var(--signal-warn)}@supports (color:color-mix(in lab,red,red)){.border-warn\/40{border-color:color-mix(in oklab,var(--signal-warn) 40%,transparent)}}.bg-\[\#E68A6E\]{background-color:#e68a6e}.bg-\[\#E68A6E\]\/10{background-color:oklab(72.4373% .0948418 .0733231/.1)}.bg-\[\#FCFBF9\]{background-color:#fcfbf9}.bg-\[var\(--signal-terminal-panel\)\]{background-color:var(--signal-terminal-panel)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500) 10%,transparent)}}.bg-bg{background-color:var(--signal-bg)}.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-coral{background-color:var(--signal-coral)}.bg-coral-bg{background-color:var(--signal-coral-bg)}.bg-current{background-color:currentColor}.bg-err{background-color:var(--signal-err)}.bg-err-bg{background-color:var(--signal-err-bg)}.bg-gray-100{background-color:var(--color-gray-100)}.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-lime{background-color:var(--signal-lime)}.bg-lime-bg{background-color:var(--signal-lime-bg)}.bg-lime-ink{background-color:var(--signal-lime-ink)}.bg-line,.bg-line\/40{background-color:var(--signal-line)}@supports (color:color-mix(in lab,red,red)){.bg-line\/40{background-color:color-mix(in oklab,var(--signal-line) 40%,transparent)}}.bg-line\/60{background-color:var(--signal-line)}@supports (color:color-mix(in lab,red,red)){.bg-line\/60{background-color:color-mix(in oklab,var(--signal-line) 60%,transparent)}}.bg-muted{background-color:var(--signal-muted)}.bg-ok{background-color:var(--signal-ok)}.bg-ok-bg{background-color:var(--signal-ok-bg)}.bg-on-lime\/30{background-color:var(--signal-on-lime)}@supports (color:color-mix(in lab,red,red)){.bg-on-lime\/30{background-color:color-mix(in oklab,var(--signal-on-lime) 30%,transparent)}}.bg-on-lime\/55{background-color:var(--signal-on-lime)}@supports (color:color-mix(in lab,red,red)){.bg-on-lime\/55{background-color:color-mix(in oklab,var(--signal-on-lime) 55%,transparent)}}.bg-on-lime\/90{background-color:var(--signal-on-lime)}@supports (color:color-mix(in lab,red,red)){.bg-on-lime\/90{background-color:color-mix(in oklab,var(--signal-on-lime) 90%,transparent)}}.bg-panel,.bg-panel\/40{background-color:var(--signal-panel)}@supports (color:color-mix(in lab,red,red)){.bg-panel\/40{background-color:color-mix(in oklab,var(--signal-panel) 40%,transparent)}}.bg-panel\/50{background-color:var(--signal-panel)}@supports (color:color-mix(in lab,red,red)){.bg-panel\/50{background-color:color-mix(in oklab,var(--signal-panel) 50%,transparent)}}.bg-panel\/60{background-color:var(--signal-panel)}@supports (color:color-mix(in lab,red,red)){.bg-panel\/60{background-color:color-mix(in oklab,var(--signal-panel) 60%,transparent)}}.bg-panel\/80{background-color:var(--signal-panel)}@supports (color:color-mix(in lab,red,red)){.bg-panel\/80{background-color:color-mix(in oklab,var(--signal-panel) 80%,transparent)}}.bg-panel\/90{background-color:var(--signal-panel)}@supports (color:color-mix(in lab,red,red)){.bg-panel\/90{background-color:color-mix(in oklab,var(--signal-panel) 90%,transparent)}}.bg-panel\/95{background-color:var(--signal-panel)}@supports (color:color-mix(in lab,red,red)){.bg-panel\/95{background-color:color-mix(in oklab,var(--signal-panel) 95%,transparent)}}.bg-raised,.bg-raised\/20{background-color:var(--signal-raised)}@supports (color:color-mix(in lab,red,red)){.bg-raised\/20{background-color:color-mix(in oklab,var(--signal-raised) 20%,transparent)}}.bg-raised\/30{background-color:var(--signal-raised)}@supports (color:color-mix(in lab,red,red)){.bg-raised\/30{background-color:color-mix(in oklab,var(--signal-raised) 30%,transparent)}}.bg-raised\/40{background-color:var(--signal-raised)}@supports (color:color-mix(in lab,red,red)){.bg-raised\/40{background-color:color-mix(in oklab,var(--signal-raised) 40%,transparent)}}.bg-sky{background-color:var(--signal-sky)}.bg-sky-bg{background-color:var(--signal-sky-bg)}.bg-subtle{background-color:var(--signal-subtle)}.bg-text{background-color:var(--signal-text)}.bg-toggle-knob-on{background-color:var(--signal-toggle-knob-on)}.bg-toggle-on{background-color:var(--signal-toggle-on)}.bg-transparent{background-color:#0000}.bg-warn{background-color:var(--signal-warn)}.bg-warn-bg{background-color:var(--signal-warn-bg)}.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-\[repeating-linear-gradient\(var\(--signal-subtle\)_0_5px\,transparent_5px_11px\)\]{background-image:repeating-linear-gradient(var(--signal-subtle) 0 5px,transparent 5px 11px)}.\[mask-image\:radial-gradient\(ellipse_60\%_100\%_at_50\%_0\%\,black\,transparent\)\]{-webkit-mask-image:radial-gradient(60% 100% at 50% 0,#000,#0000);mask-image:radial-gradient(60% 100% at 50% 0,#000,#0000)}.\[mask-image\:radial-gradient\(ellipse_70\%_100\%_at_50\%_100\%\,black\,transparent\)\]{-webkit-mask-image:radial-gradient(70% 100% at 50% 100%,#000,#0000);mask-image:radial-gradient(70% 100% at 50% 100%,#000,#0000)}.stroke-lime-ink{stroke:var(--signal-lime-ink)}.stroke-line{stroke:var(--signal-line)}.stroke-subtle{stroke:var(--signal-subtle)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-\[18px\]{padding:18px}.p-\[18px_22px\]{padding:18px 22px}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[3px\]{padding-inline:3px}.px-\[7px\]{padding-inline:7px}.py-0{padding-block:0}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.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-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-\[3px\]{padding-block:3px}.py-px{padding-block:1px}.ps-2{padding-inline-start:calc(var(--spacing) * 2)}.ps-3{padding-inline-start:calc(var(--spacing) * 3)}.ps-3\.5{padding-inline-start:calc(var(--spacing) * 3.5)}.ps-4{padding-inline-start:calc(var(--spacing) * 4)}.ps-5{padding-inline-start:calc(var(--spacing) * 5)}.ps-6{padding-inline-start:calc(var(--spacing) * 6)}.ps-9\.5{padding-inline-start:calc(var(--spacing) * 9.5)}.ps-10{padding-inline-start:calc(var(--spacing) * 10)}.ps-12{padding-inline-start:calc(var(--spacing) * 12)}.pe-1{padding-inline-end:var(--spacing)}.pe-1\.5{padding-inline-end:calc(var(--spacing) * 1.5)}.pe-3{padding-inline-end:calc(var(--spacing) * 3)}.pe-4{padding-inline-end:calc(var(--spacing) * 4)}.pe-6{padding-inline-end:calc(var(--spacing) * 6)}.pe-10{padding-inline-end:calc(var(--spacing) * 10)}.pe-11{padding-inline-end:calc(var(--spacing) * 11)}.pe-16{padding-inline-end:calc(var(--spacing) * 16)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pt-32{padding-top:calc(var(--spacing) * 32)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-end{text-align:end}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.align-\[-0\.15em\]{vertical-align:-.15em}.align-\[-2px\]{vertical-align:-2px}.align-middle{vertical-align:middle}.font-display{font-family:var(--signal-font-display)}.font-mono{font-family:var(--signal-font-mono)}.font-sans{font-family:var(--signal-font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--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-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.text-\[28px\]{font-size:28px}.text-\[32px\]{font-size:32px}.text-\[40px\]{font-size:40px}.text-\[42px\]{font-size:42px}.text-\[44px\]{font-size:44px}.text-\[48px\]{font-size:48px}.text-\[68px\]{font-size:68px}.text-\[160px\]{font-size:160px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.75\]{--tw-leading:1.75;line-height:1.75}.leading-\[15px\]{--tw-leading:15px;line-height:15px}.leading-\[17px\]{--tw-leading:17px;line-height:17px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.\[word-break\:break-word\]{word-break:break-word}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#6B7280\]{color:#6b7280}.text-\[\#E68A6E\]{color:#e68a6e}.text-\[var\(--signal-terminal-time\)\]{color:var(--signal-terminal-time)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-bg,.text-bg\/80{color:var(--signal-bg)}@supports (color:color-mix(in lab,red,red)){.text-bg\/80{color:color-mix(in oklab,var(--signal-bg) 80%,transparent)}}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-coral{color:var(--signal-coral)}.text-coral-ink{color:var(--signal-coral-ink)}.text-current\/70{color:currentColor}@supports (color:color-mix(in lab,red,red)){.text-current\/70{color:color-mix(in oklab,currentcolor 70%,transparent)}}.text-err{color:var(--signal-err)}.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-400{color:var(--color-green-400)}.text-green-600{color:var(--color-green-600)}.text-inherit{color:inherit}.text-lime-ink{color:var(--signal-lime-ink)}.text-muted,.text-muted\/30{color:var(--signal-muted)}@supports (color:color-mix(in lab,red,red)){.text-muted\/30{color:color-mix(in oklab,var(--signal-muted) 30%,transparent)}}.text-ok{color:var(--signal-ok)}.text-on-coral{color:var(--signal-on-coral)}.text-on-lime,.text-on-lime\/80{color:var(--signal-on-lime)}@supports (color:color-mix(in lab,red,red)){.text-on-lime\/80{color:color-mix(in oklab,var(--signal-on-lime) 80%,transparent)}}.text-pink-500{color:var(--color-pink-500)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-sky{color:var(--signal-sky)}.text-sky-ink{color:var(--signal-sky-ink)}.text-subtle{color:var(--signal-subtle)}.text-text,.text-text\/80{color:var(--signal-text)}@supports (color:color-mix(in lab,red,red)){.text-text\/80{color:color-mix(in oklab,var(--signal-text) 80%,transparent)}}.text-transparent{color:#0000}.text-warn{color:var(--signal-warn)}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[var\(--signal-coral\)\]{accent-color:var(--signal-coral)}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.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-\[0_0_0_2px_var\(--signal-panel\)\]{--tw-shadow:0 0 0 2px var(--tw-shadow-color,var(--signal-panel))}.shadow-\[0_0_0_2px_var\(--signal-panel\)\],.shadow-\[0_0_0_3px_var\(--signal-coral-bg\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_3px_var\(--signal-coral-bg\)\]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--signal-coral-bg))}.shadow-\[inset_0_0_0_1px_rgba\(0\,0\,0\,0\.14\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#00000024)}.shadow-\[inset_0_0_0_1px_rgba\(0\,0\,0\,0\.14\)\],.shadow-\[inset_0_0_0_1px_rgba\(255\,255\,255\,0\.14\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_rgba\(255\,255\,255\,0\.14\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff24)}.shadow-\[inset_0_0_0_1px_var\(--signal-line\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--signal-line))}.shadow-\[inset_0_0_0_1px_var\(--signal-line\)\],.shadow-card{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-card{--tw-shadow:var(--signal-shadow-card)}.shadow-focus{--tw-shadow:var(--signal-focus-ring)}.shadow-focus,.shadow-none{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.inset-shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.12\)\],.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)}.inset-shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.12\)\]{--tw-inset-shadow:inset 0 0 0 1px var(--tw-inset-shadow-color,#0000001f)}.ring-coral\/30{--tw-ring-color:var(--signal-coral)}@supports (color:color-mix(in lab,red,red)){.ring-coral\/30{--tw-ring-color:color-mix(in oklab,var(--signal-coral) 30%,transparent)}}.ring-lime-ink{--tw-ring-color:var(--signal-lime-ink)}.ring-panel{--tw-ring-color:var(--signal-panel)}.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-md{--tw-backdrop-blur:blur(var(--blur-md))}.backdrop-blur-md,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm))}.backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-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-\[opacity\,color\,background-color\]{transition-property:opacity,color,background-color;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-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-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.\[-webkit-box-orient\:vertical\]{-webkit-box-orient:vertical}.\[-webkit-line-clamp\:2\]{-webkit-line-clamp:2}.\[contain-intrinsic-size\:auto_29px\]{contain-intrinsic-size:auto 29px}.\[content-visibility\:auto\]{content-visibility:auto}.inline-400{inline-size:calc(var(--spacing) * 400)}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:rotate-12:is(:where(.group):hover *){rotate:12deg}.group-hover\:text-text:is(:where(.group):hover *){color:var(--signal-text)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.peer-checked\:border-transparent:is(:where(.peer):checked~*){border-color:#0000}.peer-checked\:bg-coral:is(:where(.peer):checked~*){background-color:var(--signal-coral)}.peer-checked\:text-on-coral:is(:where(.peer):checked~*){color:var(--signal-on-coral)}.peer-focus-visible\:shadow-focus:is(:where(.peer):focus-visible~*){--tw-shadow:var(--signal-focus-ring);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.file\:me-2::file-selector-button{margin-inline-end:calc(var(--spacing) * 2)}.file\:cursor-pointer::file-selector-button{cursor:pointer}.file\:rounded-lg::file-selector-button{border-radius:var(--signal-radius-lg)}.file\:border::file-selector-button{border-style:var(--tw-border-style);border-width:1px}.file\:border-line::file-selector-button{border-color:var(--signal-line)}.file\:bg-raised::file-selector-button{background-color:var(--signal-raised)}.file\:px-2\.5::file-selector-button{padding-inline:calc(var(--spacing) * 2.5)}.file\:py-1::file-selector-button{padding-block:var(--spacing)}.file\:py-1\.5::file-selector-button{padding-block:calc(var(--spacing) * 1.5)}.file\:text-xs::file-selector-button{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.file\:font-semibold::file-selector-button{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.file\:text-text::file-selector-button{color:var(--signal-text)}.placeholder\:text-subtle::placeholder{color:var(--signal-subtle)}.first\:ms-0:first-child{margin-inline-start:0}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:pt-0:first-child{padding-top:0}.last\:mb-0:last-child{margin-bottom:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:0}.empty\:hidden:empty{display:none}.focus-within\:border-coral:focus-within{border-color:var(--signal-coral)}.focus-within\:border-err:focus-within{border-color:var(--signal-err)}.focus-within\:border-subtle:focus-within{border-color:var(--signal-subtle)}.focus-within\:shadow-focus:focus-within{--tw-shadow:var(--signal-focus-ring);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-coral:hover,.hover\:border-coral\/40:hover{border-color:var(--signal-coral)}@supports (color:color-mix(in lab,red,red)){.hover\:border-coral\/40:hover{border-color:color-mix(in oklab,var(--signal-coral) 40%,transparent)}}.hover\:border-coral\/50:hover{border-color:var(--signal-coral)}@supports (color:color-mix(in lab,red,red)){.hover\:border-coral\/50:hover{border-color:color-mix(in oklab,var(--signal-coral) 50%,transparent)}}.hover\:border-coral\/60:hover{border-color:var(--signal-coral)}@supports (color:color-mix(in lab,red,red)){.hover\:border-coral\/60:hover{border-color:color-mix(in oklab,var(--signal-coral) 60%,transparent)}}.hover\:border-line:hover,.hover\:border-line\/80:hover{border-color:var(--signal-line)}@supports (color:color-mix(in lab,red,red)){.hover\:border-line\/80:hover{border-color:color-mix(in oklab,var(--signal-line) 80%,transparent)}}.hover\:border-subtle:hover{border-color:var(--signal-subtle)}.hover\:bg-\[\#d67a5e\]:hover{background-color:#d67a5e}.hover\:bg-bg:hover{background-color:var(--signal-bg)}.hover\:bg-coral-bg:hover{background-color:var(--signal-coral-bg)}.hover\:bg-coral-ink:hover{background-color:var(--signal-coral-ink)}.hover\:bg-err-bg:hover{background-color:var(--signal-err-bg)}.hover\:bg-err\/15:hover{background-color:var(--signal-err)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-err\/15:hover{background-color:color-mix(in oklab,var(--signal-err) 15%,transparent)}}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-line\/40:hover{background-color:var(--signal-line)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-line\/40:hover{background-color:color-mix(in oklab,var(--signal-line) 40%,transparent)}}.hover\:bg-line\/60:hover{background-color:var(--signal-line)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-line\/60:hover{background-color:color-mix(in oklab,var(--signal-line) 60%,transparent)}}.hover\:bg-ok\/15:hover{background-color:var(--signal-ok)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-ok\/15:hover{background-color:color-mix(in oklab,var(--signal-ok) 15%,transparent)}}.hover\:bg-panel:hover{background-color:var(--signal-panel)}.hover\:bg-raised:hover,.hover\:bg-raised\/50:hover{background-color:var(--signal-raised)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-raised\/50:hover{background-color:color-mix(in oklab,var(--signal-raised) 50%,transparent)}}.hover\:bg-raised\/60:hover{background-color:var(--signal-raised)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-raised\/60:hover{background-color:color-mix(in oklab,var(--signal-raised) 60%,transparent)}}.hover\:text-\[\#E68A6E\]:hover{color:#e68a6e}.hover\:text-\[var\(--signal-terminal-text\)\]:hover{color:var(--signal-terminal-text)}.hover\:text-coral:hover{color:var(--signal-coral)}.hover\:text-coral-ink:hover{color:var(--signal-coral-ink)}.hover\:text-current:hover{color:currentColor}.hover\:text-err:hover{color:var(--signal-err)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-text:hover{color:var(--signal-text)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-card:hover{--tw-shadow:var(--signal-shadow-card);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:brightness-95:hover{--tw-brightness:brightness(95%);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,)}.hover\:file\:bg-line\/40:hover::file-selector-button{background-color:var(--signal-line)}@supports (color:color-mix(in lab,red,red)){.hover\:file\:bg-line\/40:hover::file-selector-button{background-color:color-mix(in oklab,var(--signal-line) 40%,transparent)}}.hover\:file\:bg-line\/60:hover::file-selector-button{background-color:var(--signal-line)}@supports (color:color-mix(in lab,red,red)){.hover\:file\:bg-line\/60:hover::file-selector-button{background-color:color-mix(in oklab,var(--signal-line) 60%,transparent)}}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:absolute:focus{position:absolute}.focus\:start-4:focus{inset-inline-start:calc(var(--spacing) * 4)}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus\:z-\[90\]:focus{z-index:90}.focus\:rounded-lg:focus{border-radius:var(--signal-radius-lg)}.focus\:border-coral:focus,.focus\:border-coral\/50:focus{border-color:var(--signal-coral)}@supports (color:color-mix(in lab,red,red)){.focus\:border-coral\/50:focus{border-color:color-mix(in oklab,var(--signal-coral) 50%,transparent)}}.focus\:border-err:focus{border-color:var(--signal-err)}.focus\:bg-panel:focus{background-color:var(--signal-panel)}.focus\:px-3:focus{padding-inline:calc(var(--spacing) * 3)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:text-sm:focus{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.focus\:shadow-card:focus{--tw-shadow:var(--signal-shadow-card)}.focus\:shadow-card:focus,.focus\:shadow-focus: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\:shadow-focus:focus{--tw-shadow:var(--signal-focus-ring)}.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-coral:focus,.focus\:ring-coral\/20:focus{--tw-ring-color:var(--signal-coral)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-coral\/20:focus{--tw-ring-color:color-mix(in oklab,var(--signal-coral) 20%,transparent)}}.focus\:ring-coral\/30:focus{--tw-ring-color:var(--signal-coral)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-coral\/30:focus{--tw-ring-color:color-mix(in oklab,var(--signal-coral) 30%,transparent)}}.focus\:ring-coral\/50:focus{--tw-ring-color:var(--signal-coral)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-coral\/50:focus{--tw-ring-color:color-mix(in oklab,var(--signal-coral) 50%,transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:shadow-focus:focus-visible{--tw-shadow:var(--signal-focus-ring);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-\[0\.97\]:active{scale:.97}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-20:disabled{opacity:.2}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media (hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}}.disabled\:active\:scale-100:disabled:active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.aria-disabled\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-disabled\:active\:scale-100[aria-disabled=true]:active{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.aria-invalid\:border-err[aria-invalid=true]{border-color:var(--signal-err)}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-flow{animation:var(--animate-flow)}.motion-safe\:animate-ping{animation:var(--animate-ping)}.motion-safe\:animate-pulse{animation:var(--animate-pulse)}.motion-safe\:animate-spin{animation:var(--animate-spin)}.motion-safe\: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))}}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:transition-none{transition-property:none}}@media not all and (min-width:40rem){.max-sm\:m-0{margin:0}.max-sm\:line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.max-sm\:hidden{display:none}.max-sm\:size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.max-sm\:h-dvh{height:100dvh}.max-sm\:max-h-none{max-height:none}.max-sm\:justify-center{justify-content:center}.max-sm\:rounded-none{border-radius:0}.max-sm\:px-0{padding-inline:0}.max-sm\:break-words{overflow-wrap:break-word}}@media (min-width:420px){.min-\[420px\]\:grid{display:grid}.min-\[420px\]\:hidden{display:none}.min-\[420px\]\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(11rem\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(11rem,1fr) minmax(0,1fr)}.min-\[420px\]\:items-center{align-items:center}.min-\[420px\]\:gap-2{gap:calc(var(--spacing) * 2)}.min-\[420px\]\:py-2{padding-block:calc(var(--spacing) * 2)}}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:ms-0{margin-inline-start:0}.sm\:ms-1\.5{margin-inline-start:calc(var(--spacing) * 1.5)}.sm\:ms-auto{margin-inline-start:auto}.sm\:contents{display:contents}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:max-h-\[350px\]{max-height:350px}.sm\:min-h-\[60px\]{min-height:60px}.sm\:w-20{width:calc(var(--spacing) * 20)}.sm\:w-\[200px\]{width:200px}.sm\:w-\[220px\]{width:220px}.sm\:w-auto{width:auto}.sm\:max-w-\[28rem\]{max-width:28rem}.sm\:max-w-\[260px\]{max-width:260px}.sm\:max-w-\[300px\]{max-width:300px}.sm\:max-w-\[320px\]{max-width:320px}.sm\:max-w-\[360px\]{max-width:360px}.sm\:max-w-\[420px\]{max-width:420px}.sm\:max-w-\[440px\]{max-width:440px}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:min-w-0{min-width:0}.sm\:min-w-52{min-width:calc(var(--spacing) * 52)}.sm\:min-w-72{min-width:calc(var(--spacing) * 72)}.sm\:min-w-\[140px\]{min-width:140px}.sm\:flex-1{flex:1}.sm\:flex-none{flex:none}.sm\:shrink-0{flex-shrink:0}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[1\.6fr_1fr\]{grid-template-columns:1.6fr 1fr}.sm\:grid-cols-\[8rem_auto_1fr\]{grid-template-columns:8rem auto 1fr}.sm\:grid-cols-\[9rem_auto_1fr_auto\]{grid-template-columns:9rem auto 1fr auto}.sm\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.3fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:gap-3\.5{gap:calc(var(--spacing) * 3.5)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:gap-5{gap:calc(var(--spacing) * 5)}.sm\:gap-8{gap:calc(var(--spacing) * 8)}.sm\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:px-0{padding-inline:0}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-4\.5{padding-inline:calc(var(--spacing) * 4.5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.sm\:pe-10{padding-inline-end:calc(var(--spacing) * 10)}.sm\:text-right{text-align:right}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.sm\:text-\[15px\]{font-size:15px}.sm\:opacity-0{opacity:0}.sm\:group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.sm\:group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}}@media (min-width:48rem){.md\:mx-0{margin-inline:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:text-center{text-align:center}.md\:text-end{text-align:end}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:64rem){.lg\:sticky{position:sticky}.lg\:end-6{inset-inline-end:calc(var(--spacing) * 6)}.lg\:top-0{top:0}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:ms-auto{margin-inline-start:auto}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:w-60{width:calc(var(--spacing) * 60)}.lg\:w-80{width:calc(var(--spacing) * 80)}.lg\:w-\[280px\]{width:280px}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[15rem_minmax\(0\,1fr\)\]{grid-template-columns:15rem minmax(0,1fr)}.lg\:flex-col{flex-direction:column}.lg\:flex-row{flex-direction:row}.lg\:flex-wrap{flex-wrap:wrap}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:gap-8{gap:calc(var(--spacing) * 8)}.lg\:gap-10{gap:calc(var(--spacing) * 10)}.lg\:self-start{align-self:flex-start}.lg\:p-6{padding:calc(var(--spacing) * 6)}.lg\:px-6{padding-inline:calc(var(--spacing) * 6)}.lg\:px-7{padding-inline:calc(var(--spacing) * 7)}.lg\:px-10{padding-inline:calc(var(--spacing) * 10)}.lg\:pt-7{padding-top:calc(var(--spacing) * 7)}.lg\:pb-5{padding-bottom:calc(var(--spacing) * 5)}.lg\:pb-8{padding-bottom:calc(var(--spacing) * 8)}.lg\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.lg\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.lg\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.lg\:text-\[22px\]{font-size:22px}.lg\:text-\[42px\]{font-size:42px}.lg\:leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.lg\:opacity-0{opacity:0}.lg\:group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.lg\:group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.lg\:before\:absolute:before{content:var(--tw-content);position:absolute}.lg\:before\:inset-y-2:before{content:var(--tw-content);inset-block:calc(var(--spacing) * 2)}.lg\:before\:left-0:before{content:var(--tw-content);left:0}.lg\:before\:w-0\.5:before{content:var(--tw-content);width:calc(var(--spacing) * .5)}.lg\:before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e+38px}.lg\:before\:bg-coral:before{content:var(--tw-content);background-color:var(--signal-coral)}}@media (min-width:80rem){.xl\:block{display:block}.xl\:w-\[460px\]{width:460px}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}.xl\:text-\[42px\]{font-size:42px}.xl\:leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}}.rtl\:-translate-x-0\.5:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.rtl\:-translate-x-5:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(var(--spacing) * -5);translate:var(--tw-translate-x) var(--tw-translate-y)}.rtl\:translate-x-1\/2:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.rtl\:-scale-x-100:where(:dir(rtl),[dir=rtl],[dir=rtl] *){--tw-scale-x:calc(100% * -1);scale:var(--tw-scale-x) var(--tw-scale-y)}.rtl\:rotate-90:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:90deg}.rtl\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:180deg}.dark\:border-white\/10:where(.dark,.dark *){border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dark\:border-white\/10:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.dark\:bg-white\/5:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-white\/5:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.dark\:text-lime:where(.dark,.dark *){color:var(--signal-lime)}.dark\:text-red-400:where(.dark,.dark *){color:var(--color-red-400)}.\[\&_h3\]\:text-\[var\(--signal-terminal-text\)\] h3{color:var(--signal-terminal-text)}.\[\&_p\]\:text-\[var\(--signal-terminal-time\)\] p{color:var(--signal-terminal-time)}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button,.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{appearance:none}.\[\&\>\*\]\:border-t>*{border-top-style:var(--tw-border-style);border-top-width:1px}.\[\&\>\*\]\:border-line>*{border-color:var(--signal-line)}.\[\&\>\*\]\:py-2>*{padding-block:calc(var(--spacing) * 2)}.\[\&\>\*\:not\(\:first-child\)\]\:shrink-0>:not(:first-child){flex-shrink:0}@media (min-width:40rem){.sm\:\[\&\>dd\]\:border-t-0>dd{border-top-style:var(--tw-border-style);border-top-width:0}}.\[\&\>div\>div\>select\]\:h-8>div>div>select{height:calc(var(--spacing) * 8)}.\[\&\>div\>div\>select\]\:py-0>div>div>select{padding-block:0}.\[\&\>div\>div\>select\]\:text-xs>div>div>select{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}@media (min-width:40rem){.sm\:\[\&\>dt\]\:border-t-0>dt{border-top-style:var(--tw-border-style);border-top-width:0}}.\[\&\>label\]\:pt-0>label{padding-top:0}.\[\&\>span\:first-child\]\:-ms-0>span:first-child{margin-inline-start:0}.\[\&\>span\:first-child\]\:size-6>span:first-child{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.\[\&\>span\:first-child\>span\]\:size-3\.5>span:first-child>span{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>span\:first-child\>span\>span\]\:text-\[10px\]>span:first-child>span>span{font-size:10px}@media (hover:hover){.\[\@media\(hover\:hover\)\]\:opacity-0{opacity:0}@media (hover:hover){.\[\@media\(hover\:hover\)\]\:group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}}@media (pointer:coarse){.\[\@media\(pointer\:coarse\)\]\:opacity-100{opacity:1}}}:root{--signal-bg:#f3f1ea;--signal-panel:#fff;--signal-raised:#f7f5ef;--signal-line:#e2ded3;--signal-text:#16171c;--signal-muted:#545968;--signal-subtle:#696d7c;--signal-coral:#b93a1d;--signal-coral-ink:#b93a1d;--signal-coral-bg:#cf432317;--signal-on-coral:#fff;--signal-lime:#cff24a;--signal-lime-ink:#4a6600;--signal-lime-bg:#8fb80026;--signal-on-lime:#12140a;--signal-sky:#1f6bc2;--signal-sky-ink:#1b62b3;--signal-sky-bg:#1f6bc217;--signal-ok:#0a7c4d;--signal-ok-bg:#0a7f4f1a;--signal-warn:#986105;--signal-warn-bg:#c4820a1f;--signal-err:#c4284a;--signal-err-bg:#c4284a17;--signal-scrim:#16171c59;--signal-toggle-on:#16171c;--signal-toggle-knob-on:#cff24a;--signal-shadow-card:0 1px 2px #16171c0d,0 16px 40px -24px #16171c38;color-scheme:light}.dark{--signal-bg:#0d0e12;--signal-panel:#15171d;--signal-raised:#1c1f27;--signal-line:#2a2e39;--signal-text:#f3f2ee;--signal-muted:#a3a8b5;--signal-subtle:#838898;--signal-coral:#ff6a48;--signal-coral-ink:#ff8b70;--signal-coral-bg:#ff6a4824;--signal-on-coral:#12140a;--signal-lime:#d5f84b;--signal-lime-ink:#d5f84b;--signal-lime-bg:#d5f84b1a;--signal-on-lime:#12140a;--signal-sky:#72b7ff;--signal-sky-ink:#72b7ff;--signal-sky-bg:#72b7ff1f;--signal-ok:#3ddc97;--signal-ok-bg:#3ddc971f;--signal-warn:#ffc24b;--signal-warn-bg:#ffc24b1f;--signal-err:#ff6384;--signal-err-bg:#ff638421;--signal-toggle-on:#d5f84b;--signal-toggle-knob-on:#12140a;--signal-scrim:#00000080;--signal-shadow-card:inset 0 1px 0 #ffffff0a,0 16px 40px -20px #000000b3;color-scheme:dark}:root{--signal-radius-xs:6px;--signal-radius-sm:8px;--signal-radius-md:10px;--signal-radius-lg:12px;--signal-radius-xl:16px;--signal-radius-2xl:20px;--signal-radius-pill:999px;--signal-font-display:var(--font-bricolage),"Bricolage Grotesque",system-ui,sans-serif;--signal-font-sans:var(--font-geist),"Geist",system-ui,sans-serif;--signal-font-mono:var(--font-geist-mono),"Geist Mono",ui-monospace,monospace;--signal-focus-ring:0 0 0 3px var(--signal-coral-bg),0 0 0 1px var(--signal-coral);--signal-terminal-bg:#0a0b0e;--signal-terminal-text:#e4e6eb;--signal-terminal-time:#8a8f9e;--signal-terminal-log:#3ddc97;--signal-terminal-info:#72b7ff;--signal-terminal-warn:#ffc24b;--signal-terminal-error:#ff6384;--signal-terminal-debug:#c4a1ff}select{color-scheme:light}.dark select{color-scheme:dark}.dark select option{background-color:var(--signal-panel);color:var(--signal-text)}.signal-backdrop{background-color:var(--signal-scrim)}.signal-backdrop,.signal-overlay,.signal-overlay-drawer,.signal-overlay-menu,.signal-overlay-pop,.signal-overlay-tip{animation:signalFade .28s ease-out}.signal-overlay-modal{transform-origin:50%;animation:signalFade .28s ease-out,signalZoom .28s ease-out}@keyframes signalFade{0%{opacity:0}to{opacity:1}}@keyframes signalZoom{0%{transform:scale(.97)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.animate-flow,.animate-pulse{animation:none}.signal-backdrop,.signal-overlay,.signal-overlay-drawer,.signal-overlay-menu,.signal-overlay-modal,.signal-overlay-pop,.signal-overlay-tip{transition:none;animation:none}}.compact-density{--spacing:.225rem}.compact-density .py-4{padding-block:calc(var(--spacing) * 3)}.compact-density .p-5{padding:calc(var(--spacing) * 3.5)}.compact-density .gap-6{gap:calc(var(--spacing) * 4)}.compact-density .space-y-6>:not([hidden])~:not([hidden]){margin-top:calc(var(--spacing) * 4)}.compact-density .space-y-4>:not([hidden])~:not([hidden]){margin-top:calc(var(--spacing) * 3)}.compact-density .h-11{height:calc(var(--spacing) * 9);min-height:2.25rem}.compact-density .size-12{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.signal-terminal{background-color:var(--signal-terminal-bg);color:var(--signal-terminal-text);color-scheme:dark}.signal-terminal-time{color:var(--signal-terminal-time)}.signal-terminal-log{color:var(--signal-terminal-log)}.signal-terminal-info{color:var(--signal-terminal-info)}.signal-terminal-warn{color:var(--signal-terminal-warn)}.signal-terminal-error{color:var(--signal-terminal-error)}.signal-terminal-debug{color:var(--signal-terminal-debug)}.signal-terminal-cursor{color:var(--signal-lime)}@media (prefers-reduced-motion:reduce){.signal-terminal-cursor{animation:none}}body{background-color:var(--signal-bg);color:var(--signal-text);font-family:var(--signal-font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:where(a,button,input,select,textarea,summary,[role=button],[role=switch],[tabindex]:not([tabindex="-1"])):focus-visible{box-shadow:var(--signal-focus-ring);outline:2px solid #0000}::selection{background-color:#cf432333}.dark ::selection{background-color:#ff6a4847}input,textarea{accent-color:var(--signal-coral)}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#9ca3af4d;border-radius:20px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--signal-coral-ink)}*{scrollbar-width:thin;scrollbar-color:#78787859 transparent}.dark *{scrollbar-color:#b4b4b44d transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:#78787859;background-clip:padding-box;border:2px solid #0000;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background-color:#7878788c}.dark ::-webkit-scrollbar-thumb{background-color:#b4b4b44d}.dark ::-webkit-scrollbar-thumb:hover{background-color:#b4b4b480}.material-symbols-outlined{font-family:var(--font-icons);letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 20;direction:ltr;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.material-symbols-outlined.fill-1{font-variation-settings:"FILL" 1,"wght" 300,"GRAD" 0,"opsz" 20}button{-webkit-user-select:none;user-select:none}[role=button]:not([aria-disabled=true]),button:not(:disabled),label[for],select,summary{cursor:pointer}[role=button][aria-disabled=true],button:disabled{cursor:not-allowed}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}@media (prefers-reduced-motion:reduce){.animate-spin{animation:none}}.landing-grid{background-image:linear-gradient(to right,var(--signal-coral) 1px,transparent 1px),linear-gradient(to bottom,var(--signal-coral) 1px,transparent 1px);opacity:.08;background-size:40px 40px}.dark .landing-grid{opacity:.04}.routes-map-edge-line{transition:stroke .3s ease-out,stroke-dasharray .3s ease-out}.routes-map-edge .routes-map-edge-label{opacity:0;transition:opacity .15s ease-out}.routes-map-edge:focus-visible .routes-map-edge-label,.routes-map-edge:hover .routes-map-edge-label{opacity:1}.routes-map-edge:focus-visible .routes-map-edge-line{stroke-width:4px}.routes-map-edge:focus-visible .routes-map-edge-hit{stroke:var(--signal-coral);stroke-opacity:.85}.routes-map-node text{transition:fill .3s ease-out}@media (prefers-reduced-motion:reduce){.routes-map-edge .routes-map-edge-label,.routes-map-edge-line,.routes-map-node text{transition:none}}.changelog-body h1{border-bottom:1px solid var(--signal-line);margin:1.5rem 0 .75rem;padding-bottom:.5rem;font-size:1.4rem;font-weight:700}.changelog-body h1:first-child{margin-top:0}.changelog-body h2{color:var(--signal-coral-ink);margin:1rem 0 .5rem;font-size:1.05rem;font-weight:600}.changelog-body h3{margin:.75rem 0 .4rem;font-size:.95rem;font-weight:600}.changelog-body ul{margin:.5rem 0;padding-left:1.5rem;list-style:outside}.changelog-body li{margin:.25rem 0;line-height:1.6}.changelog-body p{margin:.5rem 0;line-height:1.6}.changelog-body code{background:var(--signal-raised);font-size:.875em;font-family:var(--signal-font-mono);border-radius:4px;padding:.1rem .35rem}.changelog-body a{color:var(--signal-coral-ink);text-decoration:underline}.changelog-body hr{border:none;border-top:1px solid var(--signal-line);margin:1.5rem 0}@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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes flow{to{stroke-dashoffset:-28px}}
|