@kitn.ai/ui 0.20.1 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -45
- package/dist/components/artifact-card.d.ts +51 -0
- package/dist/components/artifact.d.ts +1 -1
- package/dist/components/attachments.d.ts +2 -2
- package/dist/components/audio-visualizer/index.d.ts +3 -3
- package/dist/components/audio-visualizer/labs/lab-choreography.d.ts +59 -0
- package/dist/components/audio-visualizer/labs/lab-shaders.d.ts +22 -0
- package/dist/components/audio-visualizer/labs/lab-visualizer.d.ts +18 -0
- package/dist/components/audio-visualizer/variant-aurora.d.ts +2 -2
- package/dist/components/audio-visualizer/variant-bar.d.ts +2 -2
- package/dist/components/audio-visualizer/variant-custom.d.ts +2 -2
- package/dist/components/audio-visualizer/variant-grid.d.ts +1 -1
- package/dist/components/audio-visualizer/variant-radial.d.ts +1 -1
- package/dist/components/audio-visualizer/variant-wave.d.ts +1 -1
- package/dist/components/card-fallback.d.ts +12 -2
- package/dist/components/card-renderer.d.ts +63 -2
- package/dist/components/chat-container.d.ts +3 -0
- package/dist/components/chat-scope-picker.d.ts +2 -2
- package/dist/components/chat-thread.d.ts +77 -18
- package/dist/components/choice-card.d.ts +3 -28
- package/dist/components/composer-dom.d.ts +1 -1
- package/dist/components/composer-highlight.d.ts +1 -1
- package/dist/components/composer-history.d.ts +1 -1
- package/dist/components/composer.d.ts +1 -1
- package/dist/components/confirm-card.d.ts +3 -18
- package/dist/components/context.d.ts +8 -4
- package/dist/components/conversation-item.d.ts +1 -1
- package/dist/components/conversation-list.d.ts +4 -3
- package/dist/components/embed.d.ts +3 -3
- package/dist/components/file-tree.d.ts +11 -22
- package/dist/components/form-widgets.d.ts +1 -1
- package/dist/components/form.d.ts +3 -44
- package/dist/components/link-preview.d.ts +3 -3
- package/dist/components/loader.d.ts +30 -48
- package/dist/components/message-skills.d.ts +4 -0
- package/dist/components/message.d.ts +84 -21
- package/dist/components/model-switcher.d.ts +2 -2
- package/dist/components/prompt-input.d.ts +2 -2
- package/dist/components/response-compare-types.d.ts +11 -2
- package/dist/components/response-compare.d.ts +3 -3
- package/dist/components/source.d.ts +12 -3
- package/dist/components/tasks-card.d.ts +3 -31
- package/dist/components/thread.d.ts +17 -5
- package/dist/components/toast.d.ts +2 -2
- package/dist/components/tool-classify.d.ts +8 -0
- package/dist/components/tool-types.d.ts +29 -1
- package/dist/components/tool.d.ts +3 -3
- package/dist/components/use-card-resolution.d.ts +1 -1
- package/dist/create-tween-COnPwAQN.js +338 -0
- package/dist/create-tween-DmTUaXWE.js +341 -0
- package/dist/create-tween-qs-jjvNA.js +7 -0
- package/dist/custom-elements.json +1726 -463
- package/dist/elements/agent-card.js +1 -1
- package/dist/elements/artifact.js +1 -1
- package/dist/elements/attachments.js +1 -1
- package/dist/elements/audio-visualizer.js +1 -1
- package/dist/elements/avatar.js +1 -1
- package/dist/elements/badge.js +1 -1
- package/dist/elements/button.js +1 -1
- package/dist/elements/card.js +1 -1
- package/dist/elements/cards.js +1 -1
- package/dist/elements/chain-of-thought.js +1 -1
- package/dist/elements/chat-scope-picker.js +1 -1
- package/dist/elements/chat-types.d.ts +70 -10
- package/dist/elements/chat-workspace.js +1 -1
- package/dist/elements/chat.js +1 -1
- package/dist/elements/checkpoint.js +1 -1
- package/dist/elements/choice.js +1 -1
- package/dist/elements/chunks/{Icon-Tj58ES_d.js → Icon-CHG5z5L7.js} +1 -1
- package/dist/elements/chunks/{action-icons-ns1Fnedj.js → action-icons-BAtCEEgg.js} +1 -1
- package/dist/elements/chunks/arrow-left-CFPTeL1Y.js +1 -0
- package/dist/elements/chunks/artifact-fBZOE4SO.js +1 -0
- package/dist/elements/chunks/{attachments-mCB5F1Fq.js → attachments-DpYMe5VQ.js} +1 -1
- package/dist/elements/chunks/audio-visualizer-DFwzAcuL.js +1 -0
- package/dist/elements/chunks/{badge-B4Zuajl2.js → badge-D6zodm6E.js} +1 -1
- package/dist/elements/chunks/{button-ZWNif3--.js → button-C42vrGvO.js} +1 -1
- package/dist/elements/chunks/card-renderer-DMZsSuvU.js +1 -0
- package/dist/elements/chunks/card-tags-D8lZ-C_U.js +1 -0
- package/dist/elements/chunks/chat-thread-CNNEhol-.js +1 -0
- package/dist/elements/chunks/check-7Q3K-iXE.js +1 -0
- package/dist/elements/chunks/chevron-down-CpNYLn7E.js +1 -0
- package/dist/elements/chunks/chevron-right-DrH85Fha.js +1 -0
- package/dist/elements/chunks/choice-card-YoWjpsFV.js +1 -0
- package/dist/elements/chunks/circle-C9KRjKYv.js +1 -0
- package/dist/elements/chunks/circle-check-Dmi7Y4zw.js +1 -0
- package/dist/elements/chunks/{circle-x-B7faJFlY.js → circle-x-QIxXda6k.js} +1 -1
- package/dist/elements/chunks/code-block-CqeugReY.js +1 -0
- package/dist/elements/chunks/{collapsible-DM1Ckd4e.js → collapsible-sTv-_5lF.js} +1 -1
- package/dist/elements/chunks/{composer-BguS0QL_.js → composer-ldQyeVEB.js} +2 -2
- package/dist/elements/chunks/confirm-card-C0RNOwfn.js +1 -0
- package/dist/elements/chunks/context-5qgypNHC.js +1 -0
- package/dist/elements/chunks/conversation-list-DLzOacXz.js +1 -0
- package/dist/elements/chunks/create-tween-V4TXZ93X.js +7 -0
- package/dist/elements/chunks/default-input-DeeRSDHc.js +1 -0
- package/dist/elements/chunks/define-lE-QvQFn.js +1 -0
- package/dist/elements/chunks/{disclosure-CIZ5c8nO.js → disclosure-DZSa9jog.js} +1 -1
- package/dist/elements/chunks/{download-Dsbg3ste.js → download-B2ZmnGqW.js} +1 -1
- package/dist/elements/chunks/{dropdown-BDd1-Zgi.js → dropdown-R3B7cSRE.js} +1 -1
- package/dist/elements/chunks/{ellipsis-Dw6qrss-.js → ellipsis-BmxceY4l.js} +1 -1
- package/dist/elements/chunks/embed-BVrtTZPo.js +1 -0
- package/dist/elements/chunks/{external-link-Vt74zAoL.js → external-link-BbdR7YO7.js} +1 -1
- package/dist/elements/chunks/{file-text-CZrZF6_v.js → file-text-D7dijo1A.js} +1 -1
- package/dist/elements/chunks/{file-tree-DF4okKyo.js → file-tree-0upJ5jeb.js} +1 -1
- package/dist/elements/chunks/{folder-glP5rha4.js → folder-D8z58t7B.js} +1 -1
- package/dist/elements/chunks/form-p5BKJNw5.js +1 -0
- package/dist/elements/chunks/hover-card-CN9s2md5.js +1 -0
- package/dist/elements/chunks/{icon-BLb8beoi.js → icon-CNiKP37E.js} +1 -1
- package/dist/elements/chunks/{info-CIsv92JK.js → info-BSnuJiHI.js} +1 -1
- package/dist/elements/chunks/{input-Dds1kFyt.js → input-BauDmzxX.js} +1 -1
- package/dist/elements/chunks/{kbd-De_xbgi9.js → kbd-BlHJaP9b.js} +1 -1
- package/dist/elements/chunks/{link-i4r_k7z4.js → link-DEi5iUWC.js} +1 -1
- package/dist/elements/chunks/link-preview-BaHyM6W4.js +1 -0
- package/dist/elements/chunks/{loader-BmQH4s3V.js → loader-CmJG_Fkq.js} +1 -1
- package/dist/elements/chunks/{markdown-Zi21WhUz.js → markdown-D2jaMpCN.js} +1 -1
- package/dist/elements/chunks/message-C5UfXZ2Z.js +1 -0
- package/dist/elements/chunks/message-CXWLmmLn.js +1 -0
- package/dist/elements/chunks/message-square-hXylwsy0.js +1 -0
- package/dist/elements/chunks/{minimize-2--ifeCGrl.js → minimize-2-C9ytZFMU.js} +1 -1
- package/dist/elements/chunks/model-switcher-CivGfD7-.js +1 -0
- package/dist/elements/chunks/{overlay-kD8dwRv_.js → overlay-DJL_sbOm.js} +1 -1
- package/dist/elements/chunks/{paperclip-q21dYOSK.js → paperclip-CFaB8naM.js} +1 -1
- package/dist/elements/chunks/{progress-bar-BrAIIaaJ.js → progress-bar-Br5SksfR.js} +1 -1
- package/dist/elements/chunks/{prompt-suggestion-Bjn2K-fR.js → prompt-suggestion-CMIvtAhU.js} +1 -1
- package/dist/elements/chunks/reasoning-DpZcNzLq.js +1 -0
- package/dist/elements/chunks/{resizable-Dp4JExql.js → resizable-Q8i3T9a_.js} +1 -1
- package/dist/elements/chunks/{rotate-cw-CFWWkpj2.js → rotate-cw-B5IHCBFV.js} +1 -1
- package/dist/elements/chunks/{scroll-area-Bb0kHH1j.js → scroll-area-eLeydBje.js} +1 -1
- package/dist/elements/chunks/scroll-button-DWbz0yA1.js +1 -0
- package/dist/elements/chunks/{separator-9kRgr1X9.js → separator-Xic78AD_.js} +1 -1
- package/dist/elements/chunks/{settings-B8lmec4D.js → settings-B8H51pAx.js} +1 -1
- package/dist/elements/chunks/{settings-group-I0hEuXiN.js → settings-group-CsG9eYLe.js} +1 -1
- package/dist/elements/chunks/{share-C3lTiYGt.js → share-CNTx0z__.js} +1 -1
- package/dist/elements/chunks/skeleton-CLlHTcMI.js +1 -0
- package/dist/elements/chunks/slots-CIw9RlAe.js +1 -0
- package/dist/elements/chunks/source-BoVcU5ok.js +1 -0
- package/dist/elements/chunks/{star-CSJtGxgv.js → star-CxQVTVhI.js} +1 -1
- package/dist/elements/chunks/{store-CHyW95TP.js → store-CLtS5CUG.js} +1 -1
- package/dist/elements/chunks/tasks-card-CzlkLmUt.js +1 -0
- package/dist/elements/chunks/{text-shimmer-Cn9TmNpI.js → text-shimmer-D5NhpIQ1.js} +1 -1
- package/dist/elements/chunks/textarea-x5Uxsmtm.js +1 -0
- package/dist/elements/chunks/{thumbs-up-PNVVThEF.js → thumbs-up-UobcJnx9.js} +1 -1
- package/dist/elements/chunks/{toast-store-DKbQn3Wn.js → toast-store-BOfs9eXq.js} +1 -1
- package/dist/elements/chunks/{tool-DjTRpIpl.js → tool-Be6Dh_dt.js} +1 -1
- package/dist/elements/chunks/tooltip-RxMxyCLF.js +1 -0
- package/dist/elements/chunks/{triangle-alert-DsHTHCPm.js → triangle-alert-C4yxH2XN.js} +1 -1
- package/dist/elements/chunks/use-card-resolution-jva9ehH6.js +1 -0
- package/dist/elements/chunks/{variant-aurora-Dc4nQUia.js → variant-aurora-Dx4VRcjS.js} +2 -2
- package/dist/elements/chunks/{variant-custom-y_3kVQhS.js → variant-custom-Y1ZTWgEa.js} +1 -1
- package/dist/elements/chunks/{variant-wave-D5OR1-9Z.js → variant-wave-B9gml9Cg.js} +2 -2
- package/dist/elements/chunks/{video-B7vmenoC.js → video-CrPHsytT.js} +1 -1
- package/dist/elements/chunks/x-_-OPHept.js +1 -0
- package/dist/elements/coachmark.js +1 -1
- package/dist/elements/code-block.js +1 -1
- package/dist/elements/command.js +1 -1
- package/dist/elements/compare.js +1 -1
- package/dist/elements/composer.js +1 -1
- package/dist/elements/confirm-card.js +1 -1
- package/dist/elements/context-meter.js +1 -1
- package/dist/elements/conversation-list.js +1 -1
- package/dist/elements/default-input.d.ts +34 -7
- package/dist/elements/define.d.ts +1 -0
- package/dist/elements/dialog.js +1 -1
- package/dist/elements/disclosure.d.ts +1 -1
- package/dist/elements/editable-label.js +1 -1
- package/dist/elements/element-data-types.d.ts +107 -0
- package/dist/elements/embed.js +1 -1
- package/dist/elements/empty.js +1 -1
- package/dist/elements/feedback-bar.js +1 -1
- package/dist/elements/file-tree.js +1 -1
- package/dist/elements/file-upload.js +1 -1
- package/dist/elements/form.js +1 -1
- package/dist/elements/hover-card.js +1 -1
- package/dist/elements/icon.js +1 -1
- package/dist/elements/image.js +1 -1
- package/dist/elements/input.js +1 -1
- package/dist/elements/kbd.js +1 -1
- package/dist/elements/link-preview.js +1 -1
- package/dist/elements/loader.js +1 -1
- package/dist/elements/markdown.js +1 -1
- package/dist/elements/menu.js +1 -1
- package/dist/elements/message-skills.js +1 -1
- package/dist/elements/message.js +1 -1
- package/dist/elements/model-switcher.js +1 -1
- package/dist/elements/nav.js +1 -1
- package/dist/elements/notice.js +1 -1
- package/dist/elements/pane-group.js +1 -1
- package/dist/elements/pane.js +1 -1
- package/dist/elements/popover.js +1 -1
- package/dist/elements/progress-bar.js +1 -1
- package/dist/elements/prompt-dock.js +1 -1
- package/dist/elements/prompt-input.js +1 -1
- package/dist/elements/prompt-suggestions.js +1 -1
- package/dist/elements/reasoning.js +1 -1
- package/dist/elements/register.d.ts +8 -6
- package/dist/elements/remote.js +1 -1
- package/dist/elements/resizable.js +1 -1
- package/dist/elements/response-stream.js +1 -1
- package/dist/elements/screen.js +1 -1
- package/dist/elements/scroll-area.js +1 -1
- package/dist/elements/scroll-button.js +1 -1
- package/dist/elements/search.js +1 -1
- package/dist/elements/segmented.js +1 -1
- package/dist/elements/separator.js +1 -1
- package/dist/elements/setting-item.js +1 -1
- package/dist/elements/settings-group.js +1 -1
- package/dist/elements/skeleton.js +1 -1
- package/dist/elements/slot-text.d.ts +51 -0
- package/dist/elements/slots.d.ts +21 -0
- package/dist/elements/source.js +1 -1
- package/dist/elements/status.js +1 -1
- package/dist/elements/switch.js +1 -1
- package/dist/elements/tabs.js +1 -1
- package/dist/elements/tasks.js +1 -1
- package/dist/elements/text-shimmer.js +1 -1
- package/dist/elements/thinking-bar.js +1 -1
- package/dist/elements/thread.js +1 -1
- package/dist/elements/toast.js +1 -1
- package/dist/elements/tool.js +1 -1
- package/dist/elements/tooltip.js +1 -1
- package/dist/elements/validate-messages.d.ts +25 -0
- package/dist/elements/voice-input.js +1 -1
- package/dist/elements/voice-output.js +1 -1
- package/dist/elements.d.ts +2734 -217
- package/dist/index.d.ts +163 -125
- package/dist/index.js +6572 -5990
- package/dist/index.server.d.ts +5 -0
- package/dist/index.server.js +5403 -4860
- package/dist/kai-provider.es.d.ts +5 -0
- package/dist/kai-provider.es.js +79 -77
- package/dist/kai.es.d.ts +5 -0
- package/dist/kai.es.js +1 -1
- package/dist/llms/llms-full.txt +774 -151
- package/dist/llms/llms.txt +57 -5
- package/dist/mcp.es.js +4756 -782
- package/dist/primitives/card-component-types.d.ts +11 -0
- package/dist/primitives/card-data-types.d.ts +196 -0
- package/dist/primitives/card-host.d.ts +1 -1
- package/dist/primitives/card-recovery.d.ts +3 -3
- package/dist/primitives/card-registry.d.ts +4 -14
- package/dist/primitives/card-resolution.d.ts +1 -1
- package/dist/primitives/card-routing.d.ts +1 -1
- package/dist/primitives/card-tags.d.ts +11 -0
- package/dist/primitives/card-validate-cards.d.ts +57 -0
- package/dist/primitives/card-validate-generator.testlib.d.ts +20 -0
- package/dist/primitives/card-validate-schemas.d.ts +17 -0
- package/dist/primitives/card-validate.d.ts +24 -0
- package/dist/primitives/create-kai-chat.d.ts +3 -3
- package/dist/primitives/embed-providers.d.ts +1 -1
- package/dist/primitives/link-preview.d.ts +1 -1
- package/dist/primitives/message-feedback.d.ts +2 -2
- package/dist/primitives/toast-store.d.ts +1 -1
- package/dist/react/index.d.ts +730 -302
- package/dist/react/use-kai-chat.d.ts +8 -4
- package/dist/react.d.ts +5 -0
- package/dist/react.js +418 -317
- package/dist/register-impl-AxIlqjo7.js +145 -0
- package/dist/remote/host-embed.d.ts +1 -1
- package/dist/remote/index.d.ts +2 -2
- package/dist/remote/provider-runtime.d.ts +2 -2
- package/dist/remote/provider.d.ts +2 -2
- package/dist/remote/validate.d.ts +1 -1
- package/dist/remote/wire.d.ts +1 -1
- package/dist/schemas/artifact.schema.json +92 -0
- package/dist/schemas/embed.schema.json +0 -2
- package/dist/schemas/from-tool-call.d.ts +48 -0
- package/dist/schemas/index.d.ts +48 -0
- package/dist/schemas/link.schema.json +0 -2
- package/dist/schemas/provider-subsets.d.ts +136 -0
- package/dist/schemas/registry.d.ts +140 -0
- package/dist/schemas/tool-defs.d.ts +121 -0
- package/dist/schemas.d.ts +5 -0
- package/dist/schemas.js +717 -0
- package/dist/solid-BGYSJyHG.js +22960 -0
- package/dist/solid-Dt2nEwfl.js +20194 -0
- package/dist/solid.d.ts +66 -0
- package/dist/solid.js +261 -0
- package/dist/solid.server.d.ts +5 -0
- package/dist/solid.server.js +261 -0
- package/dist/state/index.d.ts +14 -4
- package/dist/state/messages.d.ts +8 -3
- package/dist/state/mock.d.ts +46 -0
- package/dist/state/parts.d.ts +85 -0
- package/dist/state/stream.d.ts +15 -9
- package/dist/state.d.ts +5 -0
- package/dist/state.js +253 -84
- package/dist/ui/action-icons.d.ts +1 -1
- package/dist/ui/collapsible.d.ts +11 -6
- package/dist/ui/dropdown.d.ts +47 -42
- package/dist/ui/pane-group.d.ts +1 -1
- package/dist/{variant-aurora-DVtGqVH6.js → variant-aurora-B44X69AG.js} +1 -1
- package/dist/variant-aurora-BRhV8Flk.js +391 -0
- package/dist/variant-aurora-Ds5ou9BH.js +381 -0
- package/dist/variant-custom-B20FhtYj.js +170 -0
- package/dist/{variant-custom-Dif-IV4u.js → variant-custom-BvA1Schl.js} +1 -1
- package/dist/variant-custom-D6Rtvneb.js +200 -0
- package/dist/{variant-wave-DbfNdvSi.js → variant-wave-BUQtkryq.js} +1 -1
- package/dist/variant-wave-BVYnqy9L.js +218 -0
- package/dist/variant-wave-DXC6_LcH.js +208 -0
- package/dist/wire/chunk.d.ts +171 -0
- package/dist/wire/consume.d.ts +26 -0
- package/dist/wire/encode.d.ts +221 -0
- package/dist/wire/files.d.ts +116 -0
- package/dist/wire/formats/anthropic.d.ts +2 -0
- package/dist/wire/formats/openai.d.ts +5 -0
- package/dist/wire/index.d.ts +16 -0
- package/dist/wire/media-types.d.ts +106 -0
- package/dist/wire/read.d.ts +26 -0
- package/dist/wire/sink-helpers.d.ts +21 -0
- package/dist/wire/sse.d.ts +33 -0
- package/dist/wire.d.ts +5 -53
- package/dist/wire.js +1126 -0
- package/frameworks/react/index.tsx +191 -158
- package/frameworks/react/runtime.tsx +21 -1
- package/frameworks/react/use-kai-chat.tsx +11 -1
- package/llms-full.txt +774 -151
- package/llms.txt +57 -5
- package/package.json +62 -8
- package/src/agent-tooling/archetypes.ts +127 -0
- package/src/agent-tooling/integrations/anthropic.ts +436 -0
- package/src/agent-tooling/integrations/cloudflare.ts +141 -52
- package/src/agent-tooling/integrations/langgraph.ts +80 -13
- package/src/agent-tooling/integrations/mastra.ts +161 -12
- package/src/agent-tooling/integrations/mock.ts +47 -8
- package/src/agent-tooling/integrations/ollama.ts +68 -24
- package/src/agent-tooling/integrations/openai.ts +89 -0
- package/src/agent-tooling/integrations/openrouter.ts +58 -8
- package/src/agent-tooling/integrations/pi.ts +104 -23
- package/src/agent-tooling/integrations/pydantic-ai.ts +61 -5
- package/src/agent-tooling/integrations/vercel-ai-sdk.ts +120 -13
- package/src/agent-tooling/mcp/manifest.ts +206 -25
- package/src/agent-tooling/mcp/tools/debug.ts +13 -7
- package/src/agent-tooling/mcp/tools/reference.ts +285 -6
- package/src/agent-tooling/mcp/tools/scaffold.ts +4152 -661
- package/src/agent-tooling/registry.ts +74 -0
- package/src/agent-tooling/types.ts +361 -1
- package/src/components/artifact-card.tsx +120 -0
- package/src/components/audio-visualizer/index.tsx +9 -0
- package/src/components/audio-visualizer/labs/lab-choreography.ts +187 -0
- package/src/components/audio-visualizer/labs/lab-shaders.ts +363 -0
- package/src/components/audio-visualizer/labs/lab-visualizer.tsx +102 -0
- package/src/components/audio-visualizer/shader-canvas.tsx +31 -1
- package/src/components/card-fallback.tsx +42 -10
- package/src/components/card-renderer.tsx +146 -9
- package/src/components/chat-container.tsx +4 -0
- package/src/components/chat-thread.tsx +128 -52
- package/src/components/choice-card.tsx +17 -29
- package/src/components/composer.tsx +12 -2
- package/src/components/confirm-card.tsx +24 -20
- package/src/components/context.tsx +30 -16
- package/src/components/conversation-item.tsx +6 -0
- package/src/components/conversation-list.tsx +18 -2
- package/src/components/file-tree.tsx +11 -22
- package/src/components/file-upload.tsx +14 -8
- package/src/components/form.tsx +14 -47
- package/src/components/loader.tsx +39 -12
- package/src/components/message-skills.tsx +4 -0
- package/src/components/message.tsx +294 -46
- package/src/components/model-switcher.tsx +38 -8
- package/src/components/reasoning.tsx +92 -5
- package/src/components/response-compare-types.ts +25 -0
- package/src/components/response-compare.tsx +4 -9
- package/src/components/source.tsx +50 -24
- package/src/components/tasks-card.tsx +10 -33
- package/src/components/thread.tsx +84 -42
- package/src/components/toast.tsx +17 -6
- package/src/components/tool-classify.ts +26 -0
- package/src/components/tool-types.ts +31 -1
- package/src/elements/agent-card.tsx +11 -11
- package/src/elements/artifact.tsx +15 -7
- package/src/elements/attachments.tsx +6 -4
- package/src/elements/avatar.tsx +1 -1
- package/src/elements/button.tsx +29 -6
- package/src/elements/card.tsx +2 -2
- package/src/elements/cards.tsx +109 -14
- package/src/elements/chain-of-thought.tsx +14 -10
- package/src/elements/chat-scope-picker.tsx +9 -7
- package/src/elements/chat-types.ts +59 -6
- package/src/elements/chat-workspace.tsx +50 -9
- package/src/elements/chat.tsx +90 -3
- package/src/elements/choice.tsx +8 -8
- package/src/elements/coachmark.tsx +1 -1
- package/src/elements/command.tsx +8 -23
- package/src/elements/compare.tsx +7 -6
- package/src/elements/compiled.css +1 -1
- package/src/elements/composer.tsx +8 -8
- package/src/elements/confirm-card.tsx +9 -9
- package/src/elements/context-meter.tsx +4 -18
- package/src/elements/conversation-list.tsx +14 -9
- package/src/elements/default-input.tsx +131 -8
- package/src/elements/define.tsx +178 -43
- package/src/elements/editable-label.tsx +17 -2
- package/src/elements/element-data-types.ts +112 -0
- package/src/elements/element-meta.json +1624 -306
- package/src/elements/element-types.d.ts +2645 -214
- package/src/elements/feedback-bar.tsx +1 -1
- package/src/elements/file-tree.tsx +1 -1
- package/src/elements/file-upload.tsx +1 -1
- package/src/elements/form.tsx +14 -6
- package/src/elements/input.tsx +1 -1
- package/src/elements/kbd.tsx +1 -1
- package/src/elements/menu.tsx +40 -32
- package/src/elements/message-skills.tsx +7 -9
- package/src/elements/message.tsx +200 -32
- package/src/elements/model-switcher.tsx +5 -3
- package/src/elements/pane.tsx +1 -1
- package/src/elements/prompt-dock.tsx +8 -8
- package/src/elements/prompt-input.tsx +10 -10
- package/src/elements/prompt-suggestions.tsx +7 -4
- package/src/elements/reasoning.tsx +1 -1
- package/src/elements/register.ts +9 -0
- package/src/elements/resizable.globals.d.ts +36 -0
- package/src/elements/resizable.tsx +24 -13
- package/src/elements/response-stream.tsx +1 -1
- package/src/elements/scroll-button.tsx +1 -1
- package/src/elements/search.tsx +6 -1
- package/src/elements/segmented.tsx +5 -11
- package/src/elements/separator.tsx +1 -1
- package/src/elements/slot-text.ts +73 -0
- package/src/elements/slots.ts +67 -24
- package/src/elements/source.tsx +21 -22
- package/src/elements/switch.tsx +3 -3
- package/src/elements/tasks.tsx +5 -4
- package/src/elements/thread.tsx +36 -4
- package/src/elements/toast.tsx +3 -2
- package/src/elements/tool.tsx +1 -1
- package/src/elements/validate-messages.ts +76 -0
- package/src/elements/voice-input.tsx +7 -7
- package/src/elements/voice-output.tsx +4 -4
- package/src/index.ts +145 -6
- package/src/primitives/card-component-types.ts +63 -0
- package/src/primitives/card-data-types.ts +312 -0
- package/src/primitives/card-recovery.ts +13 -2
- package/src/primitives/card-registry.tsx +34 -23
- package/src/primitives/card-schemas/artifact.schema.json +92 -0
- package/src/primitives/card-schemas/embed.schema.json +0 -2
- package/src/primitives/card-schemas/link.schema.json +0 -2
- package/src/primitives/card-tags.ts +61 -0
- package/src/primitives/card-validate-cards.ts +255 -0
- package/src/primitives/card-validate-generator.testlib.ts +38 -0
- package/src/primitives/card-validate-schemas.ts +58 -0
- package/src/primitives/card-validate.ts +48 -20
- package/src/primitives/create-tween.ts +54 -2
- package/src/primitives/message-feedback.ts +3 -2
- package/src/primitives/use-audio-analysis.ts +20 -1
- package/src/primitives/use-sequencer.ts +20 -1
- package/src/schemas/from-tool-call.ts +151 -0
- package/src/schemas/index.ts +340 -0
- package/src/schemas/provider-subsets.ts +538 -0
- package/src/schemas/registry.ts +355 -0
- package/src/schemas/tool-defs.ts +492 -0
- package/src/solid.ts +150 -0
- package/src/state/index.ts +27 -1
- package/src/state/messages.ts +21 -4
- package/src/state/mock.ts +211 -0
- package/src/state/parts.ts +295 -0
- package/src/state/stream.ts +56 -58
- package/src/ui/collapsible.tsx +17 -5
- package/src/ui/dropdown.tsx +46 -12
- package/src/ui/overlay.tsx +10 -4
- package/src/wire/chunk.ts +201 -0
- package/src/wire/consume.ts +440 -0
- package/src/wire/encode.ts +689 -0
- package/src/wire/files.ts +342 -0
- package/src/wire/formats/anthropic.ts +267 -0
- package/src/wire/formats/openai.ts +187 -0
- package/src/wire/index.ts +73 -0
- package/src/wire/media-types.ts +344 -0
- package/src/wire/read.ts +152 -0
- package/src/wire/sink-helpers.ts +50 -0
- package/src/wire/sse.ts +140 -0
- package/dist/create-tween-hvpmSuwW.js +0 -7
- package/dist/elements/chunks/arrow-left-DQocUFvy.js +0 -1
- package/dist/elements/chunks/audio-visualizer-BqNy7dfm.js +0 -1
- package/dist/elements/chunks/card-BkHbp4BA.js +0 -1
- package/dist/elements/chunks/chat-thread-CkRN6pZ7.js +0 -1
- package/dist/elements/chunks/check-B9-gn6SS.js +0 -1
- package/dist/elements/chunks/chevron-down-BNsxc2hk.js +0 -1
- package/dist/elements/chunks/chevron-right-Hv00StBO.js +0 -1
- package/dist/elements/chunks/circle-0e3KJTDr.js +0 -1
- package/dist/elements/chunks/circle-check-BNAS0JEy.js +0 -1
- package/dist/elements/chunks/code-block-BFUHn6Va.js +0 -1
- package/dist/elements/chunks/context-Cb7k4F-v.js +0 -1
- package/dist/elements/chunks/conversation-list-CvoAkWhN.js +0 -1
- package/dist/elements/chunks/create-tween-oVvAIG8r.js +0 -7
- package/dist/elements/chunks/default-input-Cqqilg9t.js +0 -1
- package/dist/elements/chunks/define-D1din7Ld.js +0 -1
- package/dist/elements/chunks/hover-card-Cmm6Q53m.js +0 -1
- package/dist/elements/chunks/message-BqyXDN3-.js +0 -1
- package/dist/elements/chunks/message-feedback-Djr3z6Yb.js +0 -1
- package/dist/elements/chunks/message-square-vFAgbDaX.js +0 -1
- package/dist/elements/chunks/model-switcher-B94YAKsM.js +0 -1
- package/dist/elements/chunks/reasoning-DTpCGtnY.js +0 -1
- package/dist/elements/chunks/scroll-button-B0cH5fXf.js +0 -1
- package/dist/elements/chunks/skeleton-DSXW5Yya.js +0 -1
- package/dist/elements/chunks/slots--V19HwUb.js +0 -1
- package/dist/elements/chunks/textarea-CUwqAX0G.js +0 -1
- package/dist/elements/chunks/tooltip-CgBZCVKp.js +0 -1
- package/dist/elements/chunks/use-card-resolution-BSu_XHjH.js +0 -1
- package/dist/elements/chunks/x-GRUeeQFT.js +0 -1
- package/dist/host-embed.d.ts +0 -33
- package/dist/kai-provider.d.ts +0 -2
- package/dist/origin.d.ts +0 -5
- package/dist/provider-runtime.d.ts +0 -27
- package/dist/register-impl-DQyejdfb.js +0 -145
- package/dist/validate.d.ts +0 -4
- package/dist/version.d.ts +0 -4
- package/src/components/component-meta.json +0 -4550
- package/src/elements/card-media.jpg +0 -0
- package/src/elements/resizable.d.ts +0 -27
- package/src/elements/video-poster.jpg +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const g={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return _r(this.context.count)},getNextContextId(){return _r(this.context.count++)}};function _r(r){const o=String(r),e=o.length-1;return g.context.id+(e?String.fromCharCode(96+e):"")+o}function ao(r){g.context=r}const Ce=!1,no=(r,o)=>r===o,V=Symbol("solid-proxy"),Sr=typeof Proxy=="function",pr=Symbol("solid-track"),K={equals:no};let G=null,Ar=Tr;const N=1,Z=2,Or={owned:null,cleanups:null,context:null,owner:null},gr={};var u=null;let hr=null,_e=null,m=null,_=null,P=null,Q=0;function L(r,o){const e=m,t=u,a=r.length===0,n=o===void 0?t:o,s=a?Or:{owned:null,cleanups:null,context:n?n.context:null,owner:n},i=a?r:()=>r(()=>x(()=>Y(s)));u=s,m=null;try{return I(i,!0)}finally{m=e,u=t}}function j(r,o){o=o?Object.assign({},K,o):K;const e={value:r,observers:null,observerSlots:null,comparator:o.equals||void 0},t=a=>(typeof a=="function"&&(a=a(e.value)),Nr(e,a));return[$r.bind(e),t]}function io(r,o,e){const t=U(r,o,!0,N);D(t)}function T(r,o,e){const t=U(r,o,!1,N);D(t)}function ur(r,o,e){Ar=bo;const t=U(r,o,!1,N);(!e||!e.render)&&(t.user=!0),P?P.push(t):D(t)}function k(r,o,e){e=e?Object.assign({},K,e):K;const t=U(r,o,!0,0);return t.observers=null,t.observerSlots=null,t.comparator=e.equals||void 0,D(t),$r.bind(t)}function so(r){return r&&typeof r=="object"&&"then"in r}function lo(r,o,e){let t,a,n;typeof o=="function"?(t=r,a=o,n={}):(t=!0,a=r,n=o||{});let s=null,i=gr,l=null,c=!1,p="initialValue"in n,d=typeof t=="function"&&k(t);const h=new Set,[w,z]=(n.storage||j)(n.initialValue),[A,M]=j(void 0),[v,b]=j(void 0,{equals:!1}),[y,O]=j(p?"ready":"unresolved");g.context&&(l=g.getNextContextId(),n.ssrLoadFrom==="initial"?i=n.initialValue:g.load&&g.has(l)&&(i=g.load(l)));function E(C,f,$,S){return s===C&&(s=null,S!==void 0&&(p=!0),(C===i||f===i)&&n.onHydrated&&queueMicrotask(()=>n.onHydrated(S,{value:f})),i=gr,lr(f,$)),f}function lr(C,f){I(()=>{f===void 0&&z(()=>C),O(f!==void 0?"errored":p?"ready":"unresolved"),M(f);for(const $ of h.keys())$.decrement();h.clear()},!1)}function cr(){const C=mo,f=w(),$=A();if($!==void 0&&!s)throw $;return m&&m.user,f}function dr(C=!0){if(C!==!1&&c)return;c=!1;const f=d?d():t;if(f==null||f===!1){E(s,x(w));return}let $;const S=i!==gr?i:x(()=>{try{return a(f,{value:w(),refetching:C})}catch(H){$=H}});if($!==void 0){E(s,void 0,er($),f);return}else if(!so(S))return E(s,S,void 0,f),S;return s=S,"v"in S?(S.s===1?E(s,S.v,void 0,f):E(s,void 0,er(S.v),f),S):(c=!0,queueMicrotask(()=>c=!1),I(()=>{O(p?"refreshing":"pending"),b()},!1),S.then(H=>E(S,H,void 0,f),H=>E(S,void 0,er(H),f)))}Object.defineProperties(cr,{state:{get:()=>y()},error:{get:()=>A()},loading:{get(){const C=y();return C==="pending"||C==="refreshing"}},latest:{get(){if(!p)return cr();const C=A();if(C&&!s)throw C;return w()}}});let Cr=u;return d?io(()=>(Cr=u,dr(!1))):dr(!1),[cr,{refetch:C=>Er(Cr,()=>dr(C)),mutate:z}]}function co(r){return I(r,!1)}function x(r){if(m===null)return r();const o=m;m=null;try{return r()}finally{m=o}}function po(r,o,e){const t=Array.isArray(r);let a,n=e&&e.defer;return s=>{let i;if(t){i=Array(r.length);for(let c=0;c<r.length;c++)i[c]=r[c]()}else i=r();if(n)return n=!1,s;const l=x(()=>o(i,a,s));return a=i,l}}function go(r){ur(()=>x(r))}function q(r){return u===null||(u.cleanups===null?u.cleanups=[r]:u.cleanups.push(r)),r}function ho(r,o){G||(G=Symbol("error")),u=U(void 0,void 0,!0),u.context={...u.context,[G]:[o]};try{return r()}catch(e){W(e)}finally{u=u.owner}}function uo(){return m}function mr(){return u}function Er(r,o){const e=u,t=m;u=r,m=null;try{return I(o,!0)}catch(a){W(a)}finally{u=e,m=t}}const[Se,Ae]=j(!1);function jr(r,o){const e=Symbol("context");return{id:e,Provider:fo(e),defaultValue:r}}function Mr(r){let o;return u&&u.context&&(o=u.context[r.id])!==void 0?o:r.defaultValue}function Pr(r){const o=k(r),e=k(()=>wr(o()));return e.toArray=()=>{const t=e();return Array.isArray(t)?t:t!=null?[t]:[]},e}let mo;function $r(){if(this.sources&&this.state)if(this.state===N)D(this);else{const r=_;_=null,I(()=>or(this),!1),_=r}if(m){const r=this.observers;if(!r||r[r.length-1]!==m){const o=r?r.length:0;m.sources?(m.sources.push(this),m.sourceSlots.push(o)):(m.sources=[this],m.sourceSlots=[o]),r?(r.push(m),this.observerSlots.push(m.sources.length-1)):(this.observers=[m],this.observerSlots=[m.sources.length-1])}}return this.value}function Nr(r,o,e){let t=r.value;return(!r.comparator||!r.comparator(t,o))&&(r.value=o,r.observers&&r.observers.length&&I(()=>{for(let a=0;a<r.observers.length;a+=1){const n=r.observers[a],s=hr&&hr.running;s&&hr.disposed.has(n),(s?!n.tState:!n.state)&&(n.pure?_.push(n):P.push(n),n.observers&&Ir(n)),s||(n.state=N)}if(_.length>1e6)throw _=[],new Error},!1)),o}function D(r){if(!r.fn)return;Y(r);const o=Q;wo(r,r.value,o)}function wo(r,o,e){let t;const a=u,n=m;m=u=r;try{t=r.fn(o)}catch(s){return r.pure&&(r.state=N,r.owned&&r.owned.forEach(Y),r.owned=null),r.updatedAt=e+1,W(s)}finally{m=n,u=a}(!r.updatedAt||r.updatedAt<=e)&&(r.updatedAt!=null&&"observers"in r?Nr(r,t):r.value=t,r.updatedAt=e)}function U(r,o,e,t=N,a){const n={fn:r,state:t,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:o,owner:u,context:u?u.context:null,pure:e};return u===null||u!==Or&&(u.owned?u.owned.push(n):u.owned=[n]),n}function rr(r){if(r.state===0)return;if(r.state===Z)return or(r);if(r.suspense&&x(r.suspense.inFallback))return r.suspense.effects.push(r);const o=[r];for(;(r=r.owner)&&(!r.updatedAt||r.updatedAt<Q);)r.state&&o.push(r);for(let e=o.length-1;e>=0;e--)if(r=o[e],r.state===N)D(r);else if(r.state===Z){const t=_;_=null,I(()=>or(r,o[0]),!1),_=t}}function I(r,o){if(_)return r();let e=!1;o||(_=[]),P?e=!0:P=[],Q++;try{const t=r();return vo(e),t}catch(t){e||(P=null),_=null,W(t)}}function vo(r){if(_&&(Tr(_),_=null),r)return;const o=P;P=null,o.length&&I(()=>Ar(o),!1)}function Tr(r){for(let o=0;o<r.length;o++)rr(r[o])}function bo(r){let o,e=0;for(o=0;o<r.length;o++){const t=r[o];t.user?r[e++]=t:rr(t)}if(g.context){if(g.count){g.effects||(g.effects=[]),g.effects.push(...r.slice(0,e));return}ao()}for(g.effects&&(g.done||!g.count)&&(r=[...g.effects,...r],e+=g.effects.length,delete g.effects),o=0;o<e;o++)rr(r[o])}function or(r,o){r.state=0;for(let e=0;e<r.sources.length;e+=1){const t=r.sources[e];if(t.sources){const a=t.state;a===N?t!==o&&(!t.updatedAt||t.updatedAt<Q)&&rr(t):a===Z&&or(t,o)}}}function Ir(r){for(let o=0;o<r.observers.length;o+=1){const e=r.observers[o];e.state||(e.state=Z,e.pure?_.push(e):P.push(e),e.observers&&Ir(e))}}function Y(r){let o;if(r.sources)for(;r.sources.length;){const e=r.sources.pop(),t=r.sourceSlots.pop(),a=e.observers;if(a&&a.length){const n=a.pop(),s=e.observerSlots.pop();t<a.length&&(n.sourceSlots[s]=t,a[t]=n,e.observerSlots[t]=s)}}if(r.tOwned){for(o=r.tOwned.length-1;o>=0;o--)Y(r.tOwned[o]);delete r.tOwned}if(r.owned){for(o=r.owned.length-1;o>=0;o--)Y(r.owned[o]);r.owned=null}if(r.cleanups){for(o=r.cleanups.length-1;o>=0;o--)r.cleanups[o]();r.cleanups=null}r.state=0}function er(r){return r instanceof Error?r:new Error(typeof r=="string"?r:"Unknown error",{cause:r})}function Lr(r,o,e){try{for(const t of o)t(r)}catch(t){W(t,e&&e.owner||null)}}function W(r,o=u){const e=G&&o&&o.context&&o.context[G],t=er(r);if(!e)throw t;P?P.push({fn(){Lr(t,e,o)},state:N}):Lr(t,e,o)}function wr(r){if(typeof r=="function"&&!r.length)return wr(r());if(Array.isArray(r)){const o=[];for(let e=0;e<r.length;e++){const t=wr(r[e]);if(Array.isArray(t))if(t.length<32768)o.push.apply(o,t);else for(let a=0;a<t.length;a++)o.push(t[a]);else o.push(t)}return o}return r}function fo(r,o){return function(e){let t;return T(()=>t=x(()=>(u.context={...u.context,[r]:e.value},Pr(()=>e.children))),void 0),t}}const vr=Symbol("fallback");function tr(r){for(let o=0;o<r.length;o++)r[o]()}function xo(r,o,e={}){let t=[],a=[],n=[],s=0,i=o.length>1?[]:null;return q(()=>tr(n)),()=>{let l=r()||[],c=l.length,p,d;return l[pr],x(()=>{let w,z,A,M,v,b,y,O,E;if(c===0)s!==0&&(tr(n),n=[],t=[],a=[],s=0,i&&(i=[])),e.fallback&&(t=[vr],a[0]=L(lr=>(n[0]=lr,e.fallback())),s=1);else if(s===0){for(a=new Array(c),d=0;d<c;d++)t[d]=l[d],a[d]=L(h);s=c}else{for(A=new Array(c),M=new Array(c),i&&(v=new Array(c)),b=0,y=Math.min(s,c);b<y&&t[b]===l[b];b++);for(y=s-1,O=c-1;y>=b&&O>=b&&t[y]===l[O];y--,O--)A[O]=a[y],M[O]=n[y],i&&(v[O]=i[y]);for(w=new Map,z=new Array(O+1),d=O;d>=b;d--)E=l[d],p=w.get(E),z[d]=p===void 0?-1:p,w.set(E,d);for(p=b;p<=y;p++)E=t[p],d=w.get(E),d!==void 0&&d!==-1?(A[d]=a[p],M[d]=n[p],i&&(v[d]=i[p]),d=z[d],w.set(E,d)):n[p]();for(d=b;d<c;d++)d in A?(a[d]=A[d],n[d]=M[d],i&&(i[d]=v[d],i[d](d))):a[d]=L(h);a=a.slice(0,s=c),t=l.slice(0)}return a});function h(w){if(n[d]=w,i){const[z,A]=j(d);return i[d]=A,o(l[d],z)}return o(l[d])}}}function ko(r,o,e={}){let t=[],a=[],n=[],s=[],i=0,l;return q(()=>tr(n)),()=>{const c=r()||[],p=c.length;return c[pr],x(()=>{if(p===0)return i!==0&&(tr(n),n=[],t=[],a=[],i=0,s=[]),e.fallback&&(t=[vr],a[0]=L(h=>(n[0]=h,e.fallback())),i=1),a;for(t[0]===vr&&(n[0](),n=[],t=[],a=[],i=0),l=0;l<p;l++)l<t.length&&t[l]!==c[l]?s[l](()=>c[l]):l>=t.length&&(a[l]=L(d));for(;l<t.length;l++)n[l]();return i=s.length=n.length=p,t=c.slice(0),a=a.slice(0,i)});function d(h){n[l]=h;const[w,z]=j(c[l]);return s[l]=z,o(w,l)}}}function ar(r,o){return x(()=>r(o||{}))}function nr(){return!0}const br={get(r,o,e){return o===V?e:r.get(o)},has(r,o){return o===V?!0:r.has(o)},set:nr,deleteProperty:nr,getOwnPropertyDescriptor(r,o){return{configurable:!0,enumerable:!0,get(){return r.get(o)},set:nr,deleteProperty:nr}},ownKeys(r){return r.keys()}};function fr(r){return(r=typeof r=="function"?r():r)?r:{}}function yo(){for(let r=0,o=this.length;r<o;++r){const e=this[r]();if(e!==void 0)return e}}function zo(...r){let o=!1;for(let s=0;s<r.length;s++){const i=r[s];o=o||!!i&&V in i,r[s]=typeof i=="function"?(o=!0,k(i)):i}if(Sr&&o)return new Proxy({get(s){for(let i=r.length-1;i>=0;i--){const l=fr(r[i])[s];if(l!==void 0)return l}},has(s){for(let i=r.length-1;i>=0;i--)if(s in fr(r[i]))return!0;return!1},keys(){const s=[];for(let i=0;i<r.length;i++)s.push(...Object.keys(fr(r[i])));return[...new Set(s)]}},br);const e={},t=Object.create(null);for(let s=r.length-1;s>=0;s--){const i=r[s];if(!i)continue;const l=Object.getOwnPropertyNames(i);for(let c=l.length-1;c>=0;c--){const p=l[c];if(p==="__proto__"||p==="constructor")continue;const d=Object.getOwnPropertyDescriptor(i,p);if(!t[p])t[p]=d.get?{enumerable:!0,configurable:!0,get:yo.bind(e[p]=[d.get.bind(i)])}:d.value!==void 0?d:void 0;else{const h=e[p];h&&(d.get?h.push(d.get.bind(i)):d.value!==void 0&&h.push(()=>d.value))}}}const a={},n=Object.keys(t);for(let s=n.length-1;s>=0;s--){const i=n[s],l=t[i];l&&l.get?Object.defineProperty(a,i,l):a[i]=l?l.value:void 0}return a}function qr(r,...o){const e=o.length;if(Sr&&V in r){const a=e>1?o.flat():o[0],n=o.map(s=>new Proxy({get(i){return s.includes(i)?r[i]:void 0},has(i){return s.includes(i)&&i in r},keys(){return s.filter(i=>i in r)}},br));return n.push(new Proxy({get(s){return a.includes(s)?void 0:r[s]},has(s){return a.includes(s)?!1:s in r},keys(){return Object.keys(r).filter(s=>!a.includes(s))}},br)),n}const t=[];for(let a=0;a<=e;a++)t[a]={};for(const a of Object.getOwnPropertyNames(r)){let n=e;for(let i=0;i<o.length;i++)if(o[i].includes(a)){n=i;break}const s=Object.getOwnPropertyDescriptor(r,a);!s.get&&!s.set&&s.enumerable&&s.writable&&s.configurable?t[n][a]=s.value:Object.defineProperty(t[n],a,s)}return t}let Co=0;function _o(){return g.context?g.getNextContextId():`cl-${Co++}`}const Rr=r=>`Stale read from <${r}>.`;function So(r){const o="fallback"in r&&{fallback:()=>r.fallback};return k(xo(()=>r.each,r.children,o||void 0))}function Ao(r){const o="fallback"in r&&{fallback:()=>r.fallback};return k(ko(()=>r.each,r.children,o||void 0))}function Dr(r){const o=r.keyed,e=k(()=>r.when,void 0,void 0),t=o?e:k(e,void 0,{equals:(a,n)=>!a==!n});return k(()=>{const a=t();if(a){const n=r.children;return typeof n=="function"&&n.length>0?x(()=>n(o?a:()=>{if(!x(t))throw Rr("Show");return e()})):n}return r.fallback},void 0,void 0)}function Oo(r){const o=Pr(()=>r.children),e=k(()=>{const t=o(),a=Array.isArray(t)?t:[t];let n=()=>{};for(let s=0;s<a.length;s++){const i=s,l=a[s],c=n,p=k(()=>c()?void 0:l.when,void 0,void 0),d=l.keyed?p:k(p,void 0,{equals:(h,w)=>!h==!w});n=()=>c()||(d()?[i,p,l]:void 0)}return n});return k(()=>{const t=e()();if(!t)return r.fallback;const[a,n,s]=t,i=s.children;return typeof i=="function"&&i.length>0?x(()=>i(s.keyed?n():()=>{var l;if(((l=x(e)())==null?void 0:l[0])!==a)throw Rr("Match");return n()})):i},void 0,void 0)}function Eo(r){return r}let ir;function jo(r){let o;g.context&&g.load&&(o=g.load(g.getContextId()));const[e,t]=j(o,void 0);return ir||(ir=new Set),ir.add(t),q(()=>ir.delete(t)),k(()=>{let a;if(a=e()){const n=r.fallback;return typeof n=="function"&&n.length?x(()=>n(a,()=>t())):n}return ho(()=>r.children,t)},void 0,void 0)}const Mo=["allowfullscreen","async","alpha","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","hidden","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected","adauctionheaders","browsingtopics","credentialless","defaultchecked","defaultmuted","defaultselected","defer","disablepictureinpicture","disableremoteplayback","preservespitch","shadowrootclonable","shadowrootcustomelementregistry","shadowrootdelegatesfocus","shadowrootserializable","sharedstoragewritable"],Po=new Set(["className","value","readOnly","noValidate","formNoValidate","isMap","noModule","playsInline","adAuctionHeaders","allowFullscreen","browsingTopics","defaultChecked","defaultMuted","defaultSelected","disablePictureInPicture","disableRemotePlayback","preservesPitch","shadowRootClonable","shadowRootCustomElementRegistry","shadowRootDelegatesFocus","shadowRootSerializable","sharedStorageWritable",...Mo]),$o=new Set(["innerHTML","textContent","innerText","children"]),No=Object.assign(Object.create(null),{className:"class",htmlFor:"for"}),To=Object.assign(Object.create(null),{class:"className",novalidate:{$:"noValidate",FORM:1},formnovalidate:{$:"formNoValidate",BUTTON:1,INPUT:1},ismap:{$:"isMap",IMG:1},nomodule:{$:"noModule",SCRIPT:1},playsinline:{$:"playsInline",VIDEO:1},readonly:{$:"readOnly",INPUT:1,TEXTAREA:1},adauctionheaders:{$:"adAuctionHeaders",IFRAME:1},allowfullscreen:{$:"allowFullscreen",IFRAME:1},browsingtopics:{$:"browsingTopics",IMG:1},defaultchecked:{$:"defaultChecked",INPUT:1},defaultmuted:{$:"defaultMuted",AUDIO:1,VIDEO:1},defaultselected:{$:"defaultSelected",OPTION:1},disablepictureinpicture:{$:"disablePictureInPicture",VIDEO:1},disableremoteplayback:{$:"disableRemotePlayback",AUDIO:1,VIDEO:1},preservespitch:{$:"preservesPitch",AUDIO:1,VIDEO:1},shadowrootclonable:{$:"shadowRootClonable",TEMPLATE:1},shadowrootdelegatesfocus:{$:"shadowRootDelegatesFocus",TEMPLATE:1},shadowrootserializable:{$:"shadowRootSerializable",TEMPLATE:1},sharedstoragewritable:{$:"sharedStorageWritable",IFRAME:1,IMG:1}});function Io(r,o){const e=To[r];return typeof e=="object"?e[o]?e.$:void 0:e}const Lo=new Set(["beforeinput","click","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"]),qo=new Set(["altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignObject","g","glyph","glyphRef","hkern","image","line","linearGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","svg","switch","symbol","text","textPath","tref","tspan","use","view","vkern"]),Ro={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},Do=r=>k(()=>r());function Fo(r,o,e){let t=e.length,a=o.length,n=t,s=0,i=0,l=o[a-1].nextSibling,c=null;for(;s<a||i<n;){if(o[s]===e[i]){s++,i++;continue}for(;o[a-1]===e[n-1];)a--,n--;if(a===s){const p=n<t?i?e[i-1].nextSibling:e[n-i]:l;for(;i<n;)r.insertBefore(e[i++],p)}else if(n===i)for(;s<a;)(!c||!c.has(o[s]))&&o[s].remove(),s++;else if(o[s]===e[n-1]&&e[i]===o[a-1]){const p=o[--a].nextSibling;r.insertBefore(e[i++],o[s++].nextSibling),r.insertBefore(e[--n],p),o[a]=e[n]}else{if(!c){c=new Map;let d=i;for(;d<n;)c.set(e[d],d++)}const p=c.get(o[s]);if(p!=null)if(i<p&&p<n){let d=s,h=1,w;for(;++d<a&&d<n&&!((w=c.get(o[d]))==null||w!==p+h);)h++;if(h>p-i){const z=o[s];for(;i<p;)r.insertBefore(e[i++],z)}else r.replaceChild(e[i++],o[s++])}else s++;else o[s++].remove()}}}const Fr="_$DX_DELEGATE";function xr(r,o,e,t){let a;const n=()=>{const i=document.createElement("template");return i.innerHTML=r,i.content.firstChild},s=o?()=>x(()=>document.importNode(a||(a=n()),!0)):()=>(a||(a=n())).cloneNode(!0);return s.cloneNode=s,s}function Br(r,o=window.document){const e=o[Fr]||(o[Fr]=new Set);for(let t=0,a=r.length;t<a;t++){const n=r[t];e.has(n)||(e.add(n),o.addEventListener(n,Wo))}}function sr(r,o,e){R(r)||(e==null?r.removeAttribute(o):r.setAttribute(o,e))}function Bo(r,o,e,t){R(r)||(t==null?r.removeAttributeNS(o,e):r.setAttributeNS(o,e,t))}function Hr(r,o,e){R(r)||(e?r.setAttribute(o,""):r.removeAttribute(o))}function Vr(r,o){R(r)||(o==null?r.removeAttribute("class"):r.className=o)}function Gr(r,o,e,t){if(t)Array.isArray(e)?(r[`$$${o}`]=e[0],r[`$$${o}Data`]=e[1]):r[`$$${o}`]=e;else if(Array.isArray(e)){const a=e[0];r.addEventListener(o,e[0]=n=>a.call(r,e[1],n))}else r.addEventListener(o,e,typeof e!="function"&&e)}function Ho(r,o,e={}){const t=Object.keys(o||{}),a=Object.keys(e);let n,s;for(n=0,s=a.length;n<s;n++){const i=a[n];!i||i==="undefined"||o[i]||(Wr(r,i,!1),delete e[i])}for(n=0,s=t.length;n<s;n++){const i=t[n],l=!!o[i];!i||i==="undefined"||e[i]===l||!l||(Wr(r,i,!0),e[i]=l)}return e}function Ur(r,o,e){if(!o)return e?sr(r,"style"):o;const t=r.style;if(typeof o=="string")return t.cssText=o;typeof e=="string"&&(t.cssText=e=void 0),e||(e={}),o||(o={});let a,n;for(n in e)o[n]==null&&t.removeProperty(n),delete e[n];for(n in o)a=o[n],a!==e[n]&&(t.setProperty(n,a),e[n]=a);return e}function Vo(r,o,e){e!=null?r.style.setProperty(o,e):r.style.removeProperty(o)}function Yr(r,o={},e,t){const a={};return t||T(()=>a.children=J(r,o.children,a.children)),T(()=>typeof o.ref=="function"&&kr(o.ref,r)),T(()=>Go(r,o,e,!0,a,!0)),a}function kr(r,o,e){return x(()=>r(o,e))}function F(r,o,e,t){if(e!==void 0&&!t&&(t=[]),typeof o!="function")return J(r,o,t,e);T(a=>J(r,o(),a,e),t)}function Go(r,o,e,t,a={},n=!1){o||(o={});for(const s in a)if(!(s in o)){if(s==="children")continue;a[s]=Jr(r,s,null,a[s],e,n,o)}for(const s in o){if(s==="children")continue;const i=o[s];a[s]=Jr(r,s,i,a[s],e,n,o)}}function Uo(r){let o,e;return!R()||!(o=g.registry.get(e=Jo()))?r():(g.completed&&g.completed.add(o),g.registry.delete(e),o)}function R(r){return!!g.context&&!g.done&&(!r||r.isConnected)}function Yo(r){return r.toLowerCase().replace(/-([a-z])/g,(o,e)=>e.toUpperCase())}function Wr(r,o,e){const t=o.trim().split(/\s+/);for(let a=0,n=t.length;a<n;a++)r.classList.toggle(t[a],e)}function Jr(r,o,e,t,a,n,s){let i,l,c,p,d;if(o==="style")return Ur(r,e,t);if(o==="classList")return Ho(r,e,t);if(e===t)return t;if(o==="ref")n||e(r);else if(o.slice(0,3)==="on:"){const h=o.slice(3);t&&r.removeEventListener(h,t,typeof t!="function"&&t),e&&r.addEventListener(h,e,typeof e!="function"&&e)}else if(o.slice(0,10)==="oncapture:"){const h=o.slice(10);t&&r.removeEventListener(h,t,!0),e&&r.addEventListener(h,e,!0)}else if(o.slice(0,2)==="on"){const h=o.slice(2).toLowerCase(),w=Lo.has(h);if(!w&&t){const z=Array.isArray(t)?t[0]:t;r.removeEventListener(h,z)}(w||e)&&(Gr(r,h,e,w),w&&Br([h]))}else if(o.slice(0,5)==="attr:")sr(r,o.slice(5),e);else if(o.slice(0,5)==="bool:")Hr(r,o.slice(5),e);else if((d=o.slice(0,5)==="prop:")||(c=$o.has(o))||!a&&((p=Io(o,r.tagName))||(l=Po.has(o)))||(i=r.nodeName.includes("-")||"is"in s)){if(d)o=o.slice(5),l=!0;else if(R(r))return e;o==="class"||o==="className"?Vr(r,e):i&&!l&&!c?r[Yo(o)]=e:r[p||o]=e}else{const h=a&&o.indexOf(":")>-1&&Ro[o.split(":")[0]];h?Bo(r,h,o,e):sr(r,No[o]||o,e)}return e}function Wo(r){if(g.registry&&g.events&&g.events.find(([l,c])=>c===r))return;let o=r.target;const e=`$$${r.type}`,t=r.target,a=r.currentTarget,n=l=>Object.defineProperty(r,"target",{configurable:!0,value:l}),s=()=>{const l=o[e];if(l&&!o.disabled){const c=o[`${e}Data`];if(c!==void 0?l.call(o,c,r):l.call(o,r),r.cancelBubble)return}return o.host&&typeof o.host!="string"&&!o.host._$host&&o.contains(r.target)&&n(o.host),!0},i=()=>{for(;s()&&(o=o._$host||o.parentNode||o.host););};if(Object.defineProperty(r,"currentTarget",{configurable:!0,get(){return o||document}}),g.registry&&!g.done&&(g.done=_$HY.done=!0),r.composedPath){const l=r.composedPath();n(l[0]);for(let c=0;c<l.length-2&&(o=l[c],!!s());c++){if(o._$host){o=o._$host,i();break}if(o.parentNode===a)break}}else i();n(t)}function J(r,o,e,t,a){const n=R(r);if(n){!e&&(e=[...r.childNodes]);let l=[];for(let c=0;c<e.length;c++){const p=e[c];p.nodeType===8&&p.data.slice(0,2)==="!$"?p.remove():l.push(p)}e=l}for(;typeof e=="function";)e=e();if(o===e)return e;const s=typeof o,i=t!==void 0;if(r=i&&e[0]&&e[0].parentNode||r,s==="string"||s==="number"){if(n||s==="number"&&(o=o.toString(),o===e))return e;if(i){let l=e[0];l&&l.nodeType===3?l.data!==o&&(l.data=o):l=document.createTextNode(o),e=B(r,e,t,l)}else e!==""&&typeof e=="string"?e=r.firstChild.data=o:e=r.textContent=o}else if(o==null||s==="boolean"){if(n)return e;e=B(r,e,t)}else{if(s==="function")return T(()=>{let l=o();for(;typeof l=="function";)l=l();e=J(r,l,e,t)}),()=>e;if(Array.isArray(o)){const l=[],c=e&&Array.isArray(e);if(yr(l,o,e,a))return T(()=>e=J(r,l,e,t,!0)),()=>e;if(n){if(!l.length)return e;if(t===void 0)return e=[...r.childNodes];let p=l[0];if(p.parentNode!==r)return e;const d=[p];for(;(p=p.nextSibling)!==t;)d.push(p);return e=d}if(l.length===0){if(e=B(r,e,t),i)return e}else c?e.length===0?Xr(r,l,t):Fo(r,e,l):(e&&B(r),Xr(r,l));e=l}else if(o.nodeType){if(n&&o.parentNode)return e=i?[o]:o;if(Array.isArray(e)){if(i)return e=B(r,e,t,o);B(r,e,null,o)}else e==null||e===""||!r.firstChild?r.appendChild(o):r.replaceChild(o,r.firstChild);e=o}}return e}function yr(r,o,e,t){let a=!1;for(let n=0,s=o.length;n<s;n++){let i=o[n],l=e&&e[r.length],c;if(!(i==null||i===!0||i===!1))if((c=typeof i)=="object"&&i.nodeType)r.push(i);else if(Array.isArray(i))a=yr(r,i,l)||a;else if(c==="function")if(t){for(;typeof i=="function";)i=i();a=yr(r,Array.isArray(i)?i:[i],Array.isArray(l)?l:[l])||a}else r.push(i),a=!0;else{const p=String(i);l&&l.nodeType===3&&l.data===p?r.push(l):r.push(document.createTextNode(p))}}return a}function Xr(r,o,e=null){for(let t=0,a=o.length;t<a;t++)r.insertBefore(o[t],e)}function B(r,o,e,t){if(e===void 0)return r.textContent="";const a=t||document.createTextNode("");if(o.length){let n=!1;for(let s=o.length-1;s>=0;s--){const i=o[s];if(a!==i){const l=i.parentNode===r;!n&&!s?l?r.replaceChild(a,i):r.insertBefore(a,e):l&&i.remove()}else n=!0}}else r.insertBefore(a,e);return[a]}function Jo(){return g.getNextContextId()}const Xo="http://www.w3.org/2000/svg";function Kr(r,o=!1,e=void 0){return o?document.createElementNS(Xo,r):document.createElement(r,{is:e})}function Ko(r){const{useShadow:o}=r,e=document.createTextNode(""),t=()=>r.mount||document.body,a=mr();let n,s=!!g.context;return ur(()=>{s&&(mr().user=s=!1),n||(n=Er(a,()=>k(()=>r.children)));const i=t();if(i instanceof HTMLHeadElement){const[l,c]=j(!1),p=()=>c(!0);L(d=>F(i,()=>l()?d():n(),null)),q(p)}else{const l=Kr(r.isSVG?"g":"div",r.isSVG),c=o&&l.attachShadow?l.attachShadow({mode:"open"}):l;Object.defineProperty(l,"_$host",{get(){return e.parentNode},configurable:!0}),F(c,n),i.appendChild(l),r.ref&&r.ref(l),q(()=>i.removeChild(l))}},void 0,{render:!s}),e}function Zo(r,o){const e=k(r);return k(()=>{const t=e();switch(typeof t){case"function":return x(()=>t(o));case"string":const a=qo.has(t),n=g.context?Uo():Kr(t,a,x(()=>o.is));return Yr(n,o,a),n}})}function Qo(r){const[,o]=qr(r,["component"]);return Zo(()=>r.component,o)}function re(r){return Object.keys(r).reduce((o,e)=>{const t=r[e];return o[e]=Object.assign({},t),ro(t.value)&&!ne(t.value)&&!Array.isArray(t.value)&&(o[e].value=Object.assign({},t.value)),Array.isArray(t.value)&&(o[e].value=t.value.slice(0)),o},{})}function oe(r){return r?Object.keys(r).reduce((o,e)=>{const t=r[e];return o[e]=ro(t)&&"value"in t?t:{value:t},o[e].attribute||(o[e].attribute=ae(e)),o[e].parse="parse"in o[e]?o[e].parse:typeof o[e].value!="string",o},{}):{}}function ee(r){return Object.keys(r).reduce((o,e)=>(o[e]=r[e].value,o),{})}function te(r,o){const e=re(o);return Object.keys(o).forEach(t=>{const a=e[t],n=r.getAttribute(a.attribute),s=r[t];n!=null&&(a.value=a.parse?Zr(n):n),s!=null&&(a.value=Array.isArray(s)?s.slice(0):s),a.reflect&&Qr(r,a.attribute,a.value,!!a.parse),Object.defineProperty(r,t,{get(){return a.value},set(i){const l=a.value;a.value=i,a.reflect&&Qr(this,a.attribute,a.value,!!a.parse);for(let c=0,p=this.__propertyChangedCallbacks.length;c<p;c++)this.__propertyChangedCallbacks[c](t,i,l)},enumerable:!0,configurable:!0})}),e}function Zr(r){if(r)try{return JSON.parse(r)}catch{return r}}function Qr(r,o,e,t){if(e==null||e===!1)return r.removeAttribute(o);let a=t?JSON.stringify(e):e;r.__updating[o]=!0,a==="true"&&(a=""),r.setAttribute(o,a),Promise.resolve().then(()=>delete r.__updating[o])}function ae(r){return r.replace(/\.?([A-Z]+)/g,(o,e)=>"-"+e.toLowerCase()).replace("_","-").replace(/^-/,"")}function ro(r){return r!=null&&(typeof r=="object"||typeof r=="function")}function ne(r){return Object.prototype.toString.call(r)==="[object Function]"}function ie(r){return typeof r=="function"&&r.toString().indexOf("class")===0}let zr;function se(r,o){const e=Object.keys(o);return class extends r{static get observedAttributes(){return e.map(t=>o[t].attribute)}constructor(){super(),this.__initialized=!1,this.__released=!1,this.__releaseCallbacks=[],this.__propertyChangedCallbacks=[],this.__updating={},this.props={};for(let t of e)this[t]=void 0}connectedCallback(){if(this.__initialized)return;this.__releaseCallbacks=[],this.__propertyChangedCallbacks=[],this.__updating={},this.props=te(this,o);const t=ee(this.props),a=this.Component,n=zr;try{zr=this,this.__initialized=!0,ie(a)?new a(t,{element:this}):a(t,{element:this})}finally{zr=n}}async disconnectedCallback(){if(await Promise.resolve(),this.isConnected)return;this.__propertyChangedCallbacks.length=0;let t=null;for(;t=this.__releaseCallbacks.pop();)t(this);delete this.__initialized,this.__released=!0}attributeChangedCallback(t,a,n){if(this.__initialized&&!this.__updating[t]&&(t=this.lookupProp(t),t in o)){if(n==null&&!this[t])return;this[t]=o[t].parse?Zr(n):n}}lookupProp(t){if(o)return e.find(a=>t===a||t===o[a].attribute)}get renderRoot(){return this.shadowRoot||this.attachShadow({mode:"open"})}addReleaseCallback(t){this.__releaseCallbacks.push(t)}addPropertyChangedCallback(t){this.__propertyChangedCallbacks.push(t)}}}function le(r,o={},e={}){const{BaseElement:t=HTMLElement,extension:a,customElements:n=window.customElements}=e;return s=>{if(!r)throw new Error("tag is required to register a Component");let i=n.get(r);return i?(i.prototype.Component=s,i):(i=se(t,oe(o)),i.prototype.Component=s,i.prototype.registeredTag=r,n.define(r,i,a),i)}}function ce(r){const o=Object.keys(r),e={};for(let t=0;t<o.length;t++){const[a,n]=j(r[o[t]]);Object.defineProperty(e,o[t],{get:a,set(s){n(()=>s)}})}return e}function de(r){if(r.assignedSlot&&r.assignedSlot._$owner)return r.assignedSlot._$owner;let o=r.parentNode;for(;o&&!o._$owner&&!(o.assignedSlot&&o.assignedSlot._$owner);)o=o.parentNode;return o&&o.assignedSlot?o.assignedSlot._$owner:r._$owner}function pe(r){return(o,e)=>{const{element:t}=e;return L(a=>{const n=ce(o);t.addPropertyChangedCallback((i,l)=>n[i]=l),t.addReleaseCallback(()=>{t.renderRoot.textContent="",a()});const s=r(n,e);return F(t.renderRoot,s)},de(t))}}function ge(r,o,e){return arguments.length===2&&(e=o,o={}),le(r,o)(pe(e))}const he={proseSize:()=>"sm",codeTheme:()=>"github-dark-dimmed",portalMount:()=>{},codeHighlight:()=>!0},oo=jr(he);function eo(r){const o={proseSize:()=>r.proseSize??"sm",codeTheme:()=>r.codeTheme??"github-dark-dimmed",portalMount:()=>r.portalMount,codeHighlight:()=>r.codeHighlight??!0};return ar(oo.Provider,{value:o,get children(){return r.children}})}function ue(){return Mr(oo)}function me(r){switch(r){case"xs":return"text-xs";case"sm":return"text-sm";case"base":return"text-base";case"lg":return"text-lg"}}const we=`/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-orange-500:oklch(70.5% .213 47.604);--color-yellow-400:oklch(85.2% .199 91.936);--color-green-500:oklch(72.3% .219 149.579);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-sky-400:oklch(74.6% .16 232.661);--color-blue-500:oklch(62.3% .214 259.815);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-600:oklch(54.1% .281 293.009);--color-fuchsia-500:oklch(66.7% .295 322.15);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-950:oklch(14.1% .005 285.823);--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;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius:var(--kai-radius,.6rem);--color-background:var(--kai-color-background,#fff);--color-foreground:var(--kai-color-foreground,#09090b);--color-card:var(--kai-color-card,#fff);--color-card-foreground:var(--kai-color-card-foreground,#09090b);--color-popover:var(--kai-color-popover,#fff);--color-popover-foreground:var(--kai-color-popover-foreground,#09090b);--color-primary:var(--kai-color-primary,#18181b);--color-primary-foreground:var(--kai-color-primary-foreground,#fafafa);--color-secondary:var(--kai-color-secondary,#f4f4f5);--color-secondary-foreground:var(--kai-color-secondary-foreground,#18181b);--color-muted:var(--kai-color-muted,#f4f4f5);--color-muted-foreground:var(--kai-color-muted-foreground,#696972);--color-surface:var(--kai-color-surface,var(--color-muted))}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-surface:var(--kai-color-surface,color-mix(in srgb, var(--color-muted) 40%, var(--color-background)))}}:root,:host{--color-surface-strong:var(--kai-color-surface-strong,var(--color-muted))}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-surface-strong:var(--kai-color-surface-strong,color-mix(in srgb, var(--color-muted) 60%, var(--color-background)))}}:root,:host{--color-surface-sunken:var(--kai-color-surface-sunken,var(--color-muted))}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-surface-sunken:var(--kai-color-surface-sunken,color-mix(in srgb, var(--color-muted) 85%, var(--color-background)))}}:root,:host{--color-accent:var(--kai-color-accent,#f4f4f5);--color-accent-foreground:var(--kai-color-accent-foreground,#18181b);--color-destructive:var(--kai-color-destructive,#c52020);--color-destructive-foreground:var(--kai-color-destructive-foreground,#fafafa);--color-success:var(--kai-color-success,#16833e);--color-warning:var(--kai-color-warning,#935f06);--color-info:var(--kai-color-info,#0a54cd);--color-success-soft:var(--kai-color-success-soft,var(--color-success))}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-success-soft:var(--kai-color-success-soft,color-mix(in oklab, var(--color-success) 14%, var(--color-background)))}}:root,:host{--color-warning-soft:var(--kai-color-warning-soft,var(--color-warning))}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-warning-soft:var(--kai-color-warning-soft,color-mix(in oklab, var(--color-warning) 14%, var(--color-background)))}}:root,:host{--color-info-soft:var(--kai-color-info-soft,var(--color-info))}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-info-soft:var(--kai-color-info-soft,color-mix(in oklab, var(--color-info) 14%, var(--color-background)))}}:root,:host{--color-destructive-soft:var(--kai-color-destructive-soft,var(--color-destructive))}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-destructive-soft:var(--kai-color-destructive-soft,color-mix(in oklab, var(--color-destructive) 14%, var(--color-background)))}}:root,:host{--color-hover:var(--kai-color-hover,var(--color-muted))}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-hover:var(--kai-color-hover,color-mix(in oklab, var(--color-muted) 60%, var(--color-background)))}}:root,:host{--color-selected:var(--kai-color-selected,var(--color-primary))}@supports (color:color-mix(in lab,red,red)){:root,:host{--color-selected:var(--kai-color-selected,color-mix(in oklab, var(--color-primary) 8%, var(--color-background)))}}:root,:host{--color-border:var(--kai-color-border,#e4e4e7);--color-input:var(--kai-color-input,#e4e4e7);--color-ring:var(--kai-color-ring,#1a6ef4);--color-scrollbar-thumb:var(--kai-color-scrollbar-thumb,#c9c9cf);--color-scrollbar-thumb-hover:var(--kai-color-scrollbar-thumb-hover,#a0a0a7);--color-sidebar:var(--kai-color-sidebar,#fff);--color-code-foreground:var(--kai-color-code-foreground,#1d4ed8);--color-tool-blue:var(--kai-color-tool-blue,#094cb9);--color-tool-amber:var(--kai-color-tool-amber,#895906);--color-tool-green:var(--kai-color-tool-green,#137136);--color-tool-red:var(--kai-color-tool-red,#b81e1e);--text-caption:var(--kai-text-caption,.6875rem);--text-caption--line-height:1rem;--text-meta:var(--kai-text-meta,.75rem);--text-meta--line-height:1.1rem;--text-body:var(--kai-text-body,.875rem);--text-body--line-height:1.45rem;--text-title:var(--kai-text-title,1rem);--text-title--line-height:1.5rem}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:host{font-family:var(--kai-font-base,ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);letter-spacing:var(--kai-tracking,normal);display:block}code,kbd,samp,pre{font-family:var(--kai-font-code,ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace)}*{border-color:var(--color-border)}:host{color-scheme:light}.dark{color-scheme:dark}:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background-color:var(--color-scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:0 0}@media(prefers-reduced-motion:reduce){.animate-in,.animate-out,[class*="animate-["]{animation:none!important}}}@layer components{.kai-radio,.kai-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:1.5px solid var(--color-input);background-color:var(--color-background);flex-shrink:0;place-content:center;block-size:1.125rem;inline-size:1.125rem;margin:0;transition:border-color .18s,background-color .18s,box-shadow .18s,transform .1s;display:inline-grid;box-shadow:0 1px 2px #0000000a}.kai-radio{border-radius:9999px}.kai-checkbox{border-radius:.3rem}.kai-radio:after{content:"";background-color:var(--color-primary);border-radius:9999px;block-size:.5rem;inline-size:.5rem;transition:transform .2s cubic-bezier(.34,1.56,.64,1);transform:scale(0)}.kai-radio:checked{border-color:var(--color-primary)}.kai-radio:checked:after{transform:scale(1)}.kai-checkbox:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.kai-checkbox:after{content:"";background-color:var(--color-primary-foreground);block-size:.8rem;inline-size:.8rem;transition:transform .2s cubic-bezier(.34,1.56,.64,1);transform:scale(0);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") 50%/contain no-repeat}.kai-checkbox:checked:after{transform:scale(1)}.kai-radio:hover:not(:disabled),.kai-checkbox:hover:not(:disabled){border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.kai-radio:hover:not(:disabled),.kai-checkbox:hover:not(:disabled){box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 9%,transparent)}}.kai-radio:active:not(:disabled),.kai-checkbox:active:not(:disabled){transform:scale(.92)}.kai-checkbox:checked{box-shadow:0 1px 4px var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.kai-checkbox:checked{box-shadow:0 1px 4px color-mix(in srgb,var(--color-primary) 26%,transparent)}}.kai-radio:disabled,.kai-checkbox:disabled{opacity:.5;cursor:not-allowed}.kai-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:0 0;block-size:1.25rem;inline-size:100%;margin:0}.kai-range::-webkit-slider-runnable-track{block-size:.375rem;box-shadow:none;background:linear-gradient(to right,var(--color-primary) var(--kai-range-fill,0%),var(--color-muted) var(--kai-range-fill,0%));border:none;border-radius:9999px}.kai-range::-moz-range-track{block-size:.375rem;box-shadow:none;background:var(--color-muted);border:none;border-radius:9999px}.kai-range::-moz-range-progress{background:var(--color-primary);border-radius:9999px;block-size:.375rem}.kai-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-background);border:2px solid var(--color-primary);border-radius:9999px;block-size:1.125rem;inline-size:1.125rem;margin-block-start:-.375rem;transition:transform .12s,box-shadow .12s;box-shadow:0 1px 3px #0000002e}.kai-range::-moz-range-thumb{background:var(--color-background);border:2px solid var(--color-primary);border-radius:9999px;block-size:1.125rem;inline-size:1.125rem;transition:transform .12s,box-shadow .12s;box-shadow:0 1px 3px #0000002e}.kai-range:hover::-webkit-slider-thumb{transform:scale(1.12)}.kai-range:hover::-moz-range-thumb{transform:scale(1.12)}.kai-range:focus-visible{outline:none}.kai-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 6px var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.kai-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 6px color-mix(in srgb,var(--color-primary) 14%,transparent)}}.kai-range:active::-webkit-slider-thumb{box-shadow:0 0 0 6px var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.kai-range:active::-webkit-slider-thumb{box-shadow:0 0 0 6px color-mix(in srgb,var(--color-primary) 14%,transparent)}}.kai-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 6px var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.kai-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 6px color-mix(in srgb,var(--color-primary) 14%,transparent)}}.kai-range:active::-moz-range-thumb{box-shadow:0 0 0 6px var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.kai-range:active::-moz-range-thumb{box-shadow:0 0 0 6px color-mix(in srgb,var(--color-primary) 14%,transparent)}}.kai-range:disabled{opacity:.5;cursor:not-allowed}}@layer utilities{.\\@container\\/compare{container:compare/inline-size}.\\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{inset-inline:0}.inset-x-2{inset-inline:calc(var(--spacing) * 2)}.inset-x-3{inset-inline:calc(var(--spacing) * 3)}.inset-y-0{inset-block:0}.inset-y-2{inset-block:calc(var(--spacing) * 2)}.inset-y-3{inset-block:calc(var(--spacing) * 3)}.-top-0\\.5{top:calc(var(--spacing) * -.5)}.-top-3{top:calc(var(--spacing) * -3)}.top-0{top:0}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-2\\.5{top:calc(var(--spacing) * 2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.-right-0\\.5{right:calc(var(--spacing) * -.5)}.right-0{right:0}.right-2{right:calc(var(--spacing) * 2)}.right-2\\.5{right:calc(var(--spacing) * 2.5)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-5{right:calc(var(--spacing) * 5)}.bottom-0{bottom:0}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-5{bottom:calc(var(--spacing) * 5)}.left-0{left:0}.left-1\\/2{left:50%}.left-4{left:calc(var(--spacing) * 4)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\\[60\\]{z-index:60}.z-\\[100\\]{z-index:100}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-m-1\\.5{margin:calc(var(--spacing) * -1.5)}.m-0{margin:0}.m-auto{margin:auto}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-1\\.5{margin-inline:calc(var(--spacing) * -1.5)}.-mx-2\\.5{margin-inline:calc(var(--spacing) * -2.5)}.mx-0\\.5{margin-inline:calc(var(--spacing) * .5)}.mx-1{margin-inline:var(--spacing)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.-my-1{margin-block:calc(var(--spacing) * -1)}.my-0\\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:var(--spacing)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\u201C""\u201D""\u2018""\u2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"\`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-lg{font-size:1.125rem;line-height:1.77778}.prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em}.prose-lg :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.09091em;margin-bottom:1.09091em;font-size:1.22222em;line-height:1.45455}.prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em}.prose-lg :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.833333em;font-size:2.66667em;line-height:1}.prose-lg :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.86667em;margin-bottom:1.06667em;font-size:1.66667em;line-height:1.33333}.prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.66667em;margin-bottom:.666667em;font-size:1.33333em;line-height:1.5}.prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.77778em;margin-bottom:.444444em;line-height:1.55556}.prose-lg :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.77778em;margin-bottom:1.77778em}.prose-lg :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.77778em;margin-bottom:1.77778em}.prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.222222em;padding-inline-end:.444444em;padding-bottom:.222222em;border-radius:.3125rem;padding-inline-start:.444444em;font-size:.888889em}.prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.866667em}.prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:1em;padding-inline-end:1.5em;padding-bottom:1em;border-radius:.375rem;margin-top:2em;margin-bottom:2em;padding-inline-start:1.5em;font-size:.888889em;line-height:1.75}.prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.55556em}.prose-lg :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;margin-bottom:.666667em}.prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.444444em}.prose-lg :where(.prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em}.prose-lg :where(.prose-lg>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em}.prose-lg :where(.prose-lg>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.33333em}.prose-lg :where(.prose-lg>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em}.prose-lg :where(.prose-lg>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.33333em}.prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em}.prose-lg :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em}.prose-lg :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em}.prose-lg :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;padding-inline-start:1.55556em}.prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3.11111em;margin-bottom:3.11111em}.prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em;line-height:1.5}.prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.75em;padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.77778em;margin-bottom:1.77778em}.prose-lg :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1em;font-size:.888889em;line-height:1.5}.prose-lg :where(.prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(.prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.-mt-1{margin-top:calc(var(--spacing) * -1)}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-auto{margin-top:auto}.-mr-1{margin-right:calc(var(--spacing) * -1)}.-mr-1\\.5{margin-right:calc(var(--spacing) * -1.5)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.-ml-2\\.5{margin-left:calc(var(--spacing) * -2.5)}.ml-0\\.5{margin-left:calc(var(--spacing) * .5)}.ml-1\\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-1\\.75{margin-left:calc(var(--spacing) * 1.75)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\\[16\\/9\\]{aspect-ratio:16/9}.size-1{width:var(--spacing);height:var(--spacing)}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.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-3\\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.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-24{width:calc(var(--spacing) * 24);height:calc(var(--spacing) * 24)}.size-\\[18px\\]{width:18px;height:18px}.size-full{width:100%;height:100%}.h-0\\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-1\\/2{height:50%}.h-2{height:calc(var(--spacing) * 2)}.h-2\\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-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-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-32{height:calc(var(--spacing) * 32)}.h-40{height:calc(var(--spacing) * 40)}.h-44{height:calc(var(--spacing) * 44)}.h-48{height:calc(var(--spacing) * 48)}.h-52{height:calc(var(--spacing) * 52)}.h-56{height:calc(var(--spacing) * 56)}.h-64{height:calc(var(--spacing) * 64)}.h-72{height:calc(var(--spacing) * 72)}.h-80{height:calc(var(--spacing) * 80)}.h-96{height:calc(var(--spacing) * 96)}.h-\\[1\\.125rem\\]{height:1.125rem}.h-\\[400px\\]{height:400px}.h-\\[420px\\]{height:420px}.h-\\[440px\\]{height:440px}.h-\\[500px\\]{height:500px}.h-\\[520px\\]{height:520px}.h-\\[640px\\]{height:640px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\\[42vh\\]{max-height:42vh}.max-h-\\[45\\%\\]{max-height:45%}.max-h-\\[85vh\\]{max-height:85vh}.max-h-\\[90\\%\\]{max-height:90%}.max-h-\\[320px\\]{max-height:320px}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-5{min-height:calc(var(--spacing) * 5)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-\\[2\\.6rem\\]{min-height:2.6rem}.min-h-\\[3\\.75rem\\]{min-height:3.75rem}.min-h-\\[3rem\\]{min-height:3rem}.min-h-\\[6rem\\]{min-height:6rem}.min-h-\\[10rem\\]{min-height:10rem}.min-h-\\[44px\\]{min-height:44px}.min-h-\\[260px\\]{min-height:260px}.min-h-\\[360px\\]{min-height:360px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0\\.5{width:calc(var(--spacing) * .5)}.w-1{width:var(--spacing)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-1\\/2{width:50%}.w-1\\/3{width:33.3333%}.w-1\\/4{width:25%}.w-2{width:calc(var(--spacing) * 2)}.w-2\\.5{width:calc(var(--spacing) * 2.5)}.w-2\\/3{width:66.6667%}.w-3{width:calc(var(--spacing) * 3)}.w-3\\.5{width:calc(var(--spacing) * 3.5)}.w-3\\/4{width:75%}.w-3\\/5{width:60%}.w-4{width:calc(var(--spacing) * 4)}.w-4\\/5{width:80%}.w-5{width:calc(var(--spacing) * 5)}.w-5\\/6{width:83.3333%}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-96{width:calc(var(--spacing) * 96)}.w-\\[1\\.125rem\\]{width:1.125rem}.w-\\[4px\\]{width:4px}.w-\\[264px\\]{width:264px}.w-\\[280px\\]{width:280px}.w-\\[300px\\]{width:300px}.w-\\[360px\\]{width:360px}.w-\\[400px\\]{width:400px}.w-\\[420px\\]{width:420px}.w-\\[460px\\]{width:460px}.w-\\[560px\\]{width:560px}.w-\\[min\\(22rem\\,80vw\\)\\]{width:min(22rem,80vw)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-32{max-width:calc(var(--spacing) * 32)}.max-w-80{max-width:calc(var(--spacing) * 80)}.max-w-\\[8rem\\]{max-width:8rem}.max-w-\\[10rem\\]{max-width:10rem}.max-w-\\[12rem\\]{max-width:12rem}.max-w-\\[85\\%\\]{max-width:85%}.max-w-\\[420px\\]{max-width:420px}.max-w-\\[660px\\]{max-width:660px}.max-w-\\[720px\\]{max-width:720px}.max-w-\\[768px\\]{max-width:768px}.max-w-\\[880px\\]{max-width:880px}.max-w-\\[900px\\]{max-width:900px}.max-w-\\[min\\(30rem\\,calc\\(100vw-2rem\\)\\)\\]{max-width:min(30rem,100vw - 2rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.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-6{min-width:calc(var(--spacing) * 6)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-60{min-width:calc(var(--spacing) * 60)}.min-w-\\[1\\.25rem\\]{min-width:1.25rem}.min-w-\\[8rem\\]{min-width:8rem}.min-w-\\[12rem\\]{min-width:12rem}.min-w-\\[15rem\\]{min-width:15rem}.min-w-\\[24rem\\]{min-width:24rem}.min-w-\\[180px\\]{min-width:180px}.min-w-\\[240px\\]{min-width:240px}.min-w-\\[260px\\]{min-width:260px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-bottom{transform-origin:bottom}.origin-top{transform-origin:top}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0\\.5{--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\\[1\\.125rem\\]{--tw-translate-x:1.125rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-45{rotate:45deg}.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-\\[blink_1s_step-end_infinite\\]{animation:1s step-end infinite blink}.animate-\\[bounce-dots_1\\.4s_ease-in-out_infinite\\]{animation:1.4s ease-in-out infinite bounce-dots}.animate-\\[loading-dots_1\\.4s_infinite_0\\.2s\\]{animation:1.4s .2s infinite loading-dots}.animate-\\[loading-dots_1\\.4s_infinite_0\\.4s\\]{animation:1.4s .4s infinite loading-dots}.animate-\\[loading-dots_1\\.4s_infinite_0\\.6s\\]{animation:1.4s .6s infinite loading-dots}.animate-\\[pulse-dot_1\\.2s_ease-in-out_infinite\\]{animation:1.2s ease-in-out infinite pulse-dot}.animate-\\[shimmer_4s_infinite_linear\\]{animation:4s linear infinite shimmer}.animate-\\[spinner-fade_1\\.2s_linear_infinite\\]{animation:1.2s linear infinite spinner-fade}.animate-\\[text-blink_2s_ease-in-out_infinite\\]{animation:2s ease-in-out infinite text-blink}.animate-\\[thin-pulse_1\\.5s_ease-in-out_infinite\\]{animation:1.5s ease-in-out infinite thin-pulse}.animate-\\[typing_1s_infinite\\]{animation:1s infinite typing}.animate-\\[wave-bars_1\\.2s_ease-in-out_infinite\\]{animation:1.2s ease-in-out infinite wave-bars}.animate-\\[wave_1s_ease-in-out_infinite\\]{animation:1s ease-in-out infinite wave}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.scroll-mt-4{scroll-margin-top:calc(var(--spacing) * 4)}.scrollbar-thin{scrollbar-width:thin}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\\[0fr\\]{grid-template-columns:0fr}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-cols-\\[max-content_1fr\\]{grid-template-columns:max-content 1fr}.grid-cols-\\[min-content_minmax\\(0\\,1fr\\)\\]{grid-template-columns:min-content minmax(0,1fr)}.grid-rows-\\[0fr\\]{grid-template-rows:0fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.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{gap:0!important}.gap-0{gap:0}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-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-10{gap:calc(var(--spacing) * 10)}.gap-16{gap:calc(var(--spacing) * 16)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block:0}: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-4{column-gap:calc(var(--spacing) * 4)}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(var(--spacing) * var(--tw-space-x-reverse));margin-inline-end:calc(var(--spacing) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\\.5{row-gap:calc(var(--spacing) * 1.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-border>:not(:last-child)){border-color:var(--color-border)}.place-self-center{place-self:center}.self-center{align-self:center}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:var(--radius)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[12px\\]{border-radius:12px}.rounded-\\[var\\(--kai-code-radius\\,0\\.75rem\\)\\]{border-radius:var(--kai-code-radius,.75rem)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-sm{border-top-left-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br-sm{border-bottom-right-radius:var(--radius-sm)}.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-\\[1\\.5px\\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-\\[var\\(--color-primary\\)\\]{border-color:var(--color-primary)}.border-background\\/30{border-color:var(--color-background)}@supports (color:color-mix(in lab,red,red)){.border-background\\/30{border-color:color-mix(in oklab,var(--color-background) 30%,transparent)}}.border-border,.border-border\\/60{border-color:var(--color-border)}@supports (color:color-mix(in lab,red,red)){.border-border\\/60{border-color:color-mix(in oklab,var(--color-border) 60%,transparent)}}.border-destructive,.border-destructive\\/30{border-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\\/30{border-color:color-mix(in oklab,var(--color-destructive) 30%,transparent)}}.border-destructive\\/40{border-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\\/40{border-color:color-mix(in oklab,var(--color-destructive) 40%,transparent)}}.border-input{border-color:var(--color-input)}.border-muted-foreground\\/50{border-color:var(--color-muted-foreground)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\\/50{border-color:color-mix(in oklab,var(--color-muted-foreground) 50%,transparent)}}.border-primary{border-color:var(--color-primary)}.border-red-400\\/30{border-color:#ff65684d}@supports (color:color-mix(in lab,red,red)){.border-red-400\\/30{border-color:color-mix(in oklab,var(--color-red-400) 30%,transparent)}}.border-ring,.border-ring\\/50{border-color:var(--color-ring)}@supports (color:color-mix(in lab,red,red)){.border-ring\\/50{border-color:color-mix(in oklab,var(--color-ring) 50%,transparent)}}.border-tool-amber,.border-tool-amber\\/50{border-color:var(--color-tool-amber)}@supports (color:color-mix(in lab,red,red)){.border-tool-amber\\/50{border-color:color-mix(in oklab,var(--color-tool-amber) 50%,transparent)}}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-\\[\\#161618\\]{background-color:#161618}.bg-\\[var\\(--color-primary\\)\\]{background-color:var(--color-primary)}.bg-accent,.bg-accent\\/40{background-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\\/40{background-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}.bg-background,.bg-background\\/40{background-color:var(--color-background)}@supports (color:color-mix(in lab,red,red)){.bg-background\\/40{background-color:color-mix(in oklab,var(--color-background) 40%,transparent)}}.bg-background\\/80{background-color:var(--color-background)}@supports (color:color-mix(in lab,red,red)){.bg-background\\/80{background-color:color-mix(in oklab,var(--color-background) 80%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-card,.bg-card\\/40{background-color:var(--color-card)}@supports (color:color-mix(in lab,red,red)){.bg-card\\/40{background-color:color-mix(in oklab,var(--color-card) 40%,transparent)}}.bg-card\\/80{background-color:var(--color-card)}@supports (color:color-mix(in lab,red,red)){.bg-card\\/80{background-color:color-mix(in oklab,var(--color-card) 80%,transparent)}}.bg-current,.bg-current\\/10{background-color:currentColor}@supports (color:color-mix(in lab,red,red)){.bg-current\\/10{background-color:color-mix(in oklab,currentcolor 10%,transparent)}}.bg-current\\/20{background-color:currentColor}@supports (color:color-mix(in lab,red,red)){.bg-current\\/20{background-color:color-mix(in oklab,currentcolor 20%,transparent)}}.bg-destructive,.bg-destructive\\/10{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\\/10{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-foreground,.bg-foreground\\/10{background-color:var(--color-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\\/10{background-color:color-mix(in oklab,var(--color-foreground) 10%,transparent)}}.bg-muted{background-color:var(--color-muted)}.bg-muted-foreground,.bg-muted-foreground\\/40{background-color:var(--color-muted-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\\/40{background-color:color-mix(in oklab,var(--color-muted-foreground) 40%,transparent)}}.bg-muted\\/30{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\\/30{background-color:color-mix(in oklab,var(--color-muted) 30%,transparent)}}.bg-muted\\/40{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\\/40{background-color:color-mix(in oklab,var(--color-muted) 40%,transparent)}}.bg-muted\\/50{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\\/50{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-primary-foreground{background-color:var(--color-primary-foreground)}.bg-primary\\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\\/10{background-color:color-mix(in oklab,var(--color-primary) 10%,transparent)}}.bg-primary\\/15{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\\/15{background-color:color-mix(in oklab,var(--color-primary) 15%,transparent)}}.bg-primary\\/20{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\\/20{background-color:color-mix(in oklab,var(--color-primary) 20%,transparent)}}.bg-primary\\/\\[0\\.05\\]{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\\/\\[0\\.05\\]{background-color:color-mix(in oklab,var(--color-primary) 5%,transparent)}}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500\\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-ring{background-color:var(--color-ring)}.bg-secondary{background-color:var(--color-secondary)}.bg-sidebar{background-color:var(--color-sidebar)}.bg-sky-400\\/10{background-color:#00bcfe1a}@supports (color:color-mix(in lab,red,red)){.bg-sky-400\\/10{background-color:color-mix(in oklab,var(--color-sky-400) 10%,transparent)}}.bg-surface{background-color:var(--color-surface)}.bg-surface-strong{background-color:var(--color-surface-strong)}.bg-surface-sunken,.bg-surface-sunken\\/50{background-color:var(--color-surface-sunken)}@supports (color:color-mix(in lab,red,red)){.bg-surface-sunken\\/50{background-color:color-mix(in oklab,var(--color-surface-sunken) 50%,transparent)}}.bg-tool-amber,.bg-tool-amber\\/10{background-color:var(--color-tool-amber)}@supports (color:color-mix(in lab,red,red)){.bg-tool-amber\\/10{background-color:color-mix(in oklab,var(--color-tool-amber) 10%,transparent)}}.bg-tool-amber\\/15{background-color:var(--color-tool-amber)}@supports (color:color-mix(in lab,red,red)){.bg-tool-amber\\/15{background-color:color-mix(in oklab,var(--color-tool-amber) 15%,transparent)}}.bg-tool-blue,.bg-tool-blue\\/12{background-color:var(--color-tool-blue)}@supports (color:color-mix(in lab,red,red)){.bg-tool-blue\\/12{background-color:color-mix(in oklab,var(--color-tool-blue) 12%,transparent)}}.bg-tool-blue\\/15{background-color:var(--color-tool-blue)}@supports (color:color-mix(in lab,red,red)){.bg-tool-blue\\/15{background-color:color-mix(in oklab,var(--color-tool-blue) 15%,transparent)}}.bg-tool-green,.bg-tool-green\\/12{background-color:var(--color-tool-green)}@supports (color:color-mix(in lab,red,red)){.bg-tool-green\\/12{background-color:color-mix(in oklab,var(--color-tool-green) 12%,transparent)}}.bg-tool-green\\/15{background-color:var(--color-tool-green)}@supports (color:color-mix(in lab,red,red)){.bg-tool-green\\/15{background-color:color-mix(in oklab,var(--color-tool-green) 15%,transparent)}}.bg-tool-green\\/60{background-color:var(--color-tool-green)}@supports (color:color-mix(in lab,red,red)){.bg-tool-green\\/60{background-color:color-mix(in oklab,var(--color-tool-green) 60%,transparent)}}.bg-tool-red,.bg-tool-red\\/15{background-color:var(--color-tool-red)}@supports (color:color-mix(in lab,red,red)){.bg-tool-red\\/15{background-color:color-mix(in oklab,var(--color-tool-red) 15%,transparent)}}.bg-tool-red\\/60{background-color:var(--color-tool-red)}@supports (color:color-mix(in lab,red,red)){.bg-tool-red\\/60{background-color:color-mix(in oklab,var(--color-tool-red) 60%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-400\\/10{background-color:#a685ff1a}@supports (color:color-mix(in lab,red,red)){.bg-violet-400\\/10{background-color:color-mix(in oklab,var(--color-violet-400) 10%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\\[linear-gradient\\(to_right\\,var\\(--color-muted-foreground\\)_40\\%\\,var\\(--color-foreground\\)_60\\%\\,var\\(--color-muted-foreground\\)_80\\%\\)\\]{background-image:linear-gradient(to right,var(--color-muted-foreground) 40%,var(--color-foreground) 60%,var(--color-muted-foreground) 80%)}.from-fuchsia-500{--tw-gradient-from:var(--color-fuchsia-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-zinc-800{--tw-gradient-from:var(--color-zinc-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-violet-600{--tw-gradient-to:var(--color-violet-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-zinc-950{--tw-gradient-to:var(--color-zinc-950);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-size-\\[200\\%_auto\\]{background-size:200%}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.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-3{padding:calc(var(--spacing) * 3)}.p-3\\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.p-16{padding:calc(var(--spacing) * 16)}.px-0\\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.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-7{padding-block:calc(var(--spacing) * 7)}.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-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-1{padding-top:var(--spacing)}.pt-1\\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-\\[14vh\\]{padding-top:14vh}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-0{padding-bottom:0}.pb-0\\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-1{padding-left:var(--spacing)}.pl-1\\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.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-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-body{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height))}.text-caption{font-size:var(--text-caption);line-height:var(--tw-leading,var(--text-caption--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-meta{font-size:var(--text-meta);line-height:var(--tw-leading,var(--text-meta--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\\/relaxed{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.text-title{font-size:var(--text-title);line-height:var(--tw-leading,var(--text-title--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-\\[0\\.625rem\\]{font-size:.625rem}.text-\\[0\\.6875rem\\]{font-size:.6875rem}.text-\\[0\\.8125rem\\]{font-size:.8125rem}.text-\\[0\\.9375rem\\]{font-size:.9375rem}.text-\\[1\\.0625rem\\]{font-size:1.0625rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-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}.text-pretty{text-wrap:pretty}.break-words{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[\\#d97757\\]{color:#d97757}.text-\\[var\\(--color-primary\\)\\]{color:var(--color-primary)}.text-\\[var\\(--color-primary-foreground\\,white\\)\\]{color:var(--color-primary-foreground,white)}.text-accent-foreground{color:var(--color-accent-foreground)}.text-background,.text-background\\/70{color:var(--color-background)}@supports (color:color-mix(in lab,red,red)){.text-background\\/70{color:color-mix(in oklab,var(--color-background) 70%,transparent)}}.text-blue-500{color:var(--color-blue-500)}.text-card-foreground{color:var(--color-card-foreground)}.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-current\\/85{color:currentColor}@supports (color:color-mix(in lab,red,red)){.text-current\\/85{color:color-mix(in oklab,currentcolor 85%,transparent)}}.text-destructive{color:var(--color-destructive)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground,.text-foreground\\/70{color:var(--color-foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\\/70{color:color-mix(in oklab,var(--color-foreground) 70%,transparent)}}.text-foreground\\/75{color:var(--color-foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\\/75{color:color-mix(in oklab,var(--color-foreground) 75%,transparent)}}.text-foreground\\/80{color:var(--color-foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\\/80{color:color-mix(in oklab,var(--color-foreground) 80%,transparent)}}.text-foreground\\/90{color:var(--color-foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\\/90{color:color-mix(in oklab,var(--color-foreground) 90%,transparent)}}.text-green-500{color:var(--color-green-500)}.text-info{color:var(--color-info)}.text-inherit{color:inherit}.text-muted-foreground,.text-muted-foreground\\/40{color:var(--color-muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\\/40{color:color-mix(in oklab,var(--color-muted-foreground) 40%,transparent)}}.text-orange-500{color:var(--color-orange-500)}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-primary\\/80{color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\\/80{color:color-mix(in oklab,var(--color-primary) 80%,transparent)}}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-sky-400{color:var(--color-sky-400)}.text-tool-amber{color:var(--color-tool-amber)}.text-tool-blue{color:var(--color-tool-blue)}.text-tool-green{color:var(--color-tool-green)}.text-tool-red{color:var(--color-tool-red)}.text-transparent{color:#0000}.text-violet-600{color:var(--color-violet-600)}.text-warning{color:var(--color-warning)}.text-white{color:var(--color-white)}.text-white\\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\\/70{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.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,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.accent-foreground{accent-color:var(--color-foreground)}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-black\\/5{--tw-ring-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.ring-black\\/5{--tw-ring-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.ring-border{--tw-ring-color:var(--color-border)}.ring-primary{--tw-ring-color:var(--color-primary)}.ring-ring,.ring-ring\\/35{--tw-ring-color:var(--color-ring)}@supports (color:color-mix(in lab,red,red)){.ring-ring\\/35{--tw-ring-color:color-mix(in oklab, var(--color-ring) 35%, transparent)}}.ring-tool-amber\\/50{--tw-ring-color:var(--color-tool-amber)}@supports (color:color-mix(in lab,red,red)){.ring-tool-amber\\/50{--tw-ring-color:color-mix(in oklab, var(--color-tool-amber) 50%, transparent)}}.ring-tool-amber\\/60{--tw-ring-color:var(--color-tool-amber)}@supports (color:color-mix(in lab,red,red)){.ring-tool-amber\\/60{--tw-ring-color:color-mix(in oklab, var(--color-tool-amber) 60%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-none{--tw-backdrop-blur: ;-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[background-color\\,border-color\\,box-shadow\\]{transition-property:background-color,border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-columns\\,opacity\\]{transition-property:grid-template-columns,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[height\\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[max-height\\]{transition-property:max-height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,opacity\\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.slide-in-from-bottom-10{--tw-enter-translate-y: 10% }.zoom-in-90{--tw-enter-scale:.9}.zoom-in-95{--tw-enter-scale:.95}.fade-in{--tw-enter-opacity:0}.paused{animation-play-state:paused}.ring-inset{--tw-ring-inset:inset}.running{animation-play-state:running}.slide-in-from-bottom-2{--tw-enter-translate-y:calc(2*var(--spacing))}.slide-in-from-top-4{--tw-enter-translate-y:calc(4*var(--spacing)*-1)}.zoom-in{--tw-enter-scale:0}.group-focus-within\\:grid-rows-\\[1fr\\]:is(:where(.group):focus-within *){grid-template-rows:1fr}.group-focus-within\\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media(hover:hover){.group-hover\\:grid-rows-\\[1fr\\]:is(:where(.group):hover *){grid-template-rows:1fr}.group-hover\\:text-foreground:is(:where(.group):hover *){color:var(--color-foreground)}.group-hover\\:opacity-0:is(:where(.group):hover *){opacity:0}.group-hover\\:opacity-60:is(:where(.group):hover *){opacity:.6}.group-hover\\:opacity-100:is(:where(.group):hover *),.group-hover\\/btab\\:opacity-100:is(:where(.group\\/btab):hover *){opacity:1}.group-hover\\/div\\:bg-ring:is(:where(.group\\/div):hover *){background-color:var(--color-ring)}.group-hover\\/pane\\:opacity-100:is(:where(.group\\/pane):hover *){opacity:1}.group-hover\\/rdiv\\:bg-ring:is(:where(.group\\/rdiv):hover *){background-color:var(--color-ring)}.group-hover\\/tab\\:inline:is(:where(.group\\/tab):hover *){display:inline}.group-hover\\/tab\\:opacity-100:is(:where(.group\\/tab):hover *),.group-hover\\/ws\\:opacity-100:is(:where(.group\\/ws):hover *){opacity:1}}.group-data-\\[expanded\\]\\:rotate-180:is(:where(.group)[data-expanded] *){rotate:180deg}.group-data-\\[last\\=false\\]\\:hidden:is(:where(.group)[data-last=false] *),.group-data-\\[last\\=true\\]\\:hidden:is(:where(.group)[data-last=true] *){display:none}.group-data-\\[state\\=open\\]\\:rotate-180:is(:where(.group)[data-state=open] *){rotate:180deg}.placeholder\\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:inset-0:before{content:var(--tw-content);top:0;right:0;bottom:0;left:0}.before\\:rounded-lg:before{content:var(--tw-content);border-radius:var(--radius-lg)}.before\\:content-\\[\\'\\'\\]:before{--tw-content:"";content:var(--tw-content)}.last\\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.focus-within\\:border-ring:focus-within{border-color:var(--color-ring)}.focus-within\\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\\:ring-ring:focus-within{--tw-ring-color:var(--color-ring)}.focus-within\\:ring-offset-0:focus-within{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-within\\:outline-none:focus-within{--tw-outline-style:none;outline-style:none}@media(hover:hover){.hover\\:border-foreground:hover{border-color:var(--color-foreground)}.hover\\:border-muted-foreground\\/70:hover{border-color:var(--color-muted-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:border-muted-foreground\\/70:hover{border-color:color-mix(in oklab,var(--color-muted-foreground) 70%,transparent)}}.hover\\:border-ring:hover{border-color:var(--color-ring)}.hover\\:bg-accent:hover,.hover\\:bg-accent\\/40:hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-accent\\/40:hover{background-color:color-mix(in oklab,var(--color-accent) 40%,transparent)}}.hover\\:bg-background:hover,.hover\\:bg-background\\/10:hover{background-color:var(--color-background)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-background\\/10:hover{background-color:color-mix(in oklab,var(--color-background) 10%,transparent)}}.hover\\:bg-background\\/70:hover{background-color:var(--color-background)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-background\\/70:hover{background-color:color-mix(in oklab,var(--color-background) 70%,transparent)}}.hover\\:bg-current\\/15:hover{background-color:currentColor}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-current\\/15:hover{background-color:color-mix(in oklab,currentcolor 15%,transparent)}}.hover\\:bg-destructive\\/15:hover{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-destructive\\/15:hover{background-color:color-mix(in oklab,var(--color-destructive) 15%,transparent)}}.hover\\:bg-destructive\\/80:hover{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-destructive\\/80:hover{background-color:color-mix(in oklab,var(--color-destructive) 80%,transparent)}}.hover\\:bg-destructive\\/90:hover{background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--color-destructive) 90%,transparent)}}.hover\\:bg-hover:hover{background-color:var(--color-hover)}.hover\\:bg-muted:hover{background-color:var(--color-muted)}.hover\\:bg-muted-foreground\\/30:hover{background-color:var(--color-muted-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-muted-foreground\\/30:hover{background-color:color-mix(in oklab,var(--color-muted-foreground) 30%,transparent)}}.hover\\:bg-muted\\/30:hover{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-muted\\/30:hover{background-color:color-mix(in oklab,var(--color-muted) 30%,transparent)}}.hover\\:bg-muted\\/50:hover{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-muted\\/50:hover{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.hover\\:bg-muted\\/60:hover{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-muted\\/60:hover{background-color:color-mix(in oklab,var(--color-muted) 60%,transparent)}}.hover\\:bg-muted\\/80:hover{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-muted\\/80:hover{background-color:color-mix(in oklab,var(--color-muted) 80%,transparent)}}.hover\\:bg-primary\\/90:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--color-primary) 90%,transparent)}}.hover\\:bg-surface:hover{background-color:var(--color-surface)}.hover\\:bg-surface-strong:hover{background-color:var(--color-surface-strong)}.hover\\:bg-surface-sunken:hover{background-color:var(--color-surface-sunken)}.hover\\:bg-surface\\/40:hover{background-color:var(--color-surface)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-surface\\/40:hover{background-color:color-mix(in oklab,var(--color-surface) 40%,transparent)}}.hover\\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\\:text-background:hover,.hover\\:text-background\\/80:hover{color:var(--color-background)}@supports (color:color-mix(in lab,red,red)){.hover\\:text-background\\/80:hover{color:color-mix(in oklab,var(--color-background) 80%,transparent)}}.hover\\:text-current:hover{color:currentColor}.hover\\:text-foreground:hover{color:var(--color-foreground)}.hover\\:text-primary:hover,.hover\\:text-primary\\/80:hover{color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.hover\\:text-primary\\/80:hover{color:color-mix(in oklab,var(--color-primary) 80%,transparent)}}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}.hover\\:opacity-90:hover{opacity:.9}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\\:bg-muted:focus{background-color:var(--color-muted)}.focus-visible\\:opacity-100:focus-visible{opacity:1}.focus-visible\\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-ring:focus-visible{--tw-ring-color:var(--color-ring)}.focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--color-background)}.focus-visible\\:ring-offset-card:focus-visible{--tw-ring-offset-color:var(--color-card)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.focus-visible\\:ring-inset:focus-visible{--tw-ring-inset:inset}.focus-visible\\:before\\:ring-2:focus-visible:before{content:var(--tw-content);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:before\\:ring-ring:focus-visible:before{content:var(--tw-content);--tw-ring-color:var(--color-ring)}.focus-visible\\:before\\:ring-inset:focus-visible:before{content:var(--tw-content);--tw-ring-inset:inset}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:opacity-60:disabled{opacity:.6}.data-\\[closed\\]\\:animate-out[data-closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\\[closed\\]\\:fade-out-0[data-closed]{--tw-exit-opacity:0}.data-\\[closed\\]\\:zoom-out-95[data-closed]{--tw-exit-scale:.95}.data-\\[closed\\]\\:slide-out-to-bottom-2[data-closed]{--tw-exit-translate-y:calc(2*var(--spacing))}.data-\\[closed\\]\\:slide-out-to-top-2[data-closed]{--tw-exit-translate-y:calc(2*var(--spacing)*-1)}.data-\\[expanded\\]\\:bg-muted[data-expanded]{background-color:var(--color-muted)}.data-\\[kai-highlighted\\=true\\]\\:bg-current[data-kai-highlighted=true]{background-color:currentColor}.data-\\[state\\=closed\\]\\:animate-collapsible-up[data-state=closed]{animation:collapsible-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\\[state\\=open\\]\\:animate-collapsible-down[data-state=open]{animation:collapsible-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}@media(prefers-reduced-motion:no-preference){.motion-safe\\:transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.motion-safe\\:transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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))}.motion-safe\\: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))}.motion-safe\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.motion-safe\\:duration-500{--tw-duration:.5s;transition-duration:.5s}.motion-safe\\:ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.motion-safe\\:group-hover\\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.motion-safe\\:group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}}@media(prefers-reduced-motion:reduce){.motion-reduce\\:hidden{display:none}.motion-reduce\\:animate-none{animation:none}}@media(min-width:40rem){.sm\\:block{display:block}.sm\\:flex{display:flex}.sm\\:table-cell{display:table-cell}.sm\\:w-2\\.5{width:calc(var(--spacing) * 2.5)}.sm\\:min-w-\\[13rem\\]{min-width:13rem}.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-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:p-8{padding:calc(var(--spacing) * 8)}.sm\\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media(min-width:48rem){.md\\:hidden{display:none}.md\\:table-cell{display:table-cell}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:64rem){.lg\\:col-span-2{grid-column:span 2/span 2}.lg\\:table-cell{display:table-cell}.lg\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@container compare (min-width:640px){.\\@\\[640px\\]\\/compare\\:block{display:block}.\\@\\[640px\\]\\/compare\\:hidden{display:none}.\\@\\[640px\\]\\/compare\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (min-width:28rem){.\\@min-\\[28rem\\]\\:h-full{height:100%}.\\@min-\\[28rem\\]\\:w-48{width:calc(var(--spacing) * 48)}}.dark\\:border-red-400\\/50:is(.dark *){border-color:#ff656880}@supports (color:color-mix(in lab,red,red)){.dark\\:border-red-400\\/50:is(.dark *){border-color:color-mix(in oklab,var(--color-red-400) 50%,transparent)}}.dark\\:border-red-400\\/70:is(.dark *){border-color:#ff6568b3}@supports (color:color-mix(in lab,red,red)){.dark\\:border-red-400\\/70:is(.dark *){border-color:color-mix(in oklab,var(--color-red-400) 70%,transparent)}}.dark\\:bg-destructive\\/15:is(.dark *){background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-destructive\\/15:is(.dark *){background-color:color-mix(in oklab,var(--color-destructive) 15%,transparent)}}.dark\\:bg-destructive\\/20:is(.dark *){background-color:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-destructive\\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-destructive) 20%,transparent)}}.dark\\:text-red-400:is(.dark *){color:var(--color-red-400)}.dark\\:text-violet-400:is(.dark *){color:var(--color-violet-400)}.dark\\:invert:is(.dark *){--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.dark\\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.\\[\\&_svg\\]\\:size-6 svg{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.\\[\\&\\:\\:-webkit-search-cancel-button\\]\\:hidden::-webkit-search-cancel-button{display:none}.\\[\\&\\:\\:-webkit-search-cancel-button\\]\\:appearance-none::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\\[\\&\\:\\:-webkit-search-decoration\\]\\:appearance-none::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\\[\\&\\>a\\]\\:underline>a{text-decoration-line:underline}.\\[\\&\\>a\\]\\:underline-offset-4>a{text-underline-offset:4px}.\\[\\&\\>a\\:hover\\]\\:text-primary>a:hover{color:var(--color-primary)}.\\[\\&\\>button\\]\\:rounded>button{border-radius:var(--radius)}.\\[\\&\\>button\\]\\:p-1>button{padding:var(--spacing)}.\\[\\&\\>button\\]\\:text-foreground\\/60>button{color:var(--color-foreground)}@supports (color:color-mix(in lab,red,red)){.\\[\\&\\>button\\]\\:text-foreground\\/60>button{color:color-mix(in oklab,var(--color-foreground) 60%,transparent)}}.\\[\\&\\>button\\]\\:transition-colors>button{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))}@media(hover:hover){.\\[\\&\\>button\\]\\:hover\\:text-foreground>button:hover{color:var(--color-foreground)}}.\\[\\&\\>div\\:first-child\\>p\\:first-child\\]\\:mt-0>div:first-child>p:first-child{margin-top:0}.\\[\\&\\>div\\:last-child\\>p\\:last-child\\]\\:mb-0>div:last-child>p:last-child{margin-bottom:0}.\\[\\&\\>pre\\]\\:px-4>pre{padding-inline:calc(var(--spacing) * 4)}.\\[\\&\\>pre\\]\\:py-4>pre{padding-block:calc(var(--spacing) * 4)}.\\[\\&\\>svg\\]\\:size-2\\.5>svg{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.\\[\\&\\>svg\\]\\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\\[\\&\\>svg\\]\\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.dark{--color-background:var(--kai-color-background,#171716);--color-foreground:var(--kai-color-foreground,#fafafa);--color-card:var(--kai-color-card,#201f1d);--color-card-foreground:var(--kai-color-card-foreground,#fafafa);--color-popover:var(--kai-color-popover,#201f1d);--color-popover-foreground:var(--kai-color-popover-foreground,#fafafa);--color-primary:var(--kai-color-primary,#fafafa);--color-primary-foreground:var(--kai-color-primary-foreground,#1d1d1b);--color-secondary:var(--kai-color-secondary,#2d2c2a);--color-secondary-foreground:var(--kai-color-secondary-foreground,#fafafa);--color-muted:var(--kai-color-muted,#2d2c2a);--color-muted-foreground:var(--kai-color-muted-foreground,#a7a5a0);--color-surface:var(--kai-color-surface,var(--color-muted))}@supports (color:color-mix(in lab,red,red)){.dark{--color-surface:var(--kai-color-surface,color-mix(in srgb, var(--color-muted) 40%, var(--color-background)))}}.dark{--color-surface-strong:var(--kai-color-surface-strong,var(--color-muted))}@supports (color:color-mix(in lab,red,red)){.dark{--color-surface-strong:var(--kai-color-surface-strong,color-mix(in srgb, var(--color-muted) 60%, var(--color-background)))}}.dark{--color-surface-sunken:var(--kai-color-surface-sunken,var(--color-muted))}@supports (color:color-mix(in lab,red,red)){.dark{--color-surface-sunken:var(--kai-color-surface-sunken,color-mix(in srgb, var(--color-muted) 18%, var(--color-background)))}}.dark{--color-accent:var(--kai-color-accent,#2d2c2a);--color-accent-foreground:var(--kai-color-accent-foreground,#fafafa);--color-destructive:var(--kai-color-destructive,#7f1d1d);--color-destructive-foreground:var(--kai-color-destructive-foreground,#fafafa);--color-success:var(--kai-color-success,#21c45d);--color-success-foreground:var(--kai-color-success-foreground,#1d1d1b);--color-warning:var(--kai-color-warning,#f59f0a);--color-warning-foreground:var(--kai-color-warning-foreground,#1d1d1b);--color-info:var(--kai-color-info,#6da2f8);--color-info-foreground:var(--kai-color-info-foreground,#1d1d1b);--color-success-soft:var(--kai-color-success-soft,var(--color-success))}@supports (color:color-mix(in lab,red,red)){.dark{--color-success-soft:var(--kai-color-success-soft,color-mix(in oklab, var(--color-success) 14%, var(--color-background)))}}.dark{--color-warning-soft:var(--kai-color-warning-soft,var(--color-warning))}@supports (color:color-mix(in lab,red,red)){.dark{--color-warning-soft:var(--kai-color-warning-soft,color-mix(in oklab, var(--color-warning) 14%, var(--color-background)))}}.dark{--color-info-soft:var(--kai-color-info-soft,var(--color-info))}@supports (color:color-mix(in lab,red,red)){.dark{--color-info-soft:var(--kai-color-info-soft,color-mix(in oklab, var(--color-info) 14%, var(--color-background)))}}.dark{--color-destructive-soft:var(--kai-color-destructive-soft,var(--color-destructive))}@supports (color:color-mix(in lab,red,red)){.dark{--color-destructive-soft:var(--kai-color-destructive-soft,color-mix(in oklab, var(--color-destructive) 14%, var(--color-background)))}}.dark{--color-hover:var(--kai-color-hover,var(--color-muted))}@supports (color:color-mix(in lab,red,red)){.dark{--color-hover:var(--kai-color-hover,color-mix(in oklab, var(--color-muted) 60%, var(--color-background)))}}.dark{--color-selected:var(--kai-color-selected,var(--color-primary))}@supports (color:color-mix(in lab,red,red)){.dark{--color-selected:var(--kai-color-selected,color-mix(in oklab, var(--color-primary) 8%, var(--color-background)))}}.dark{--color-border:var(--kai-color-border,#2d2c2a);--color-input:var(--kai-color-input,#2d2c2a);--color-ring:var(--kai-color-ring,#639cf8);--color-scrollbar-thumb:var(--kai-color-scrollbar-thumb,#4f4e4a);--color-scrollbar-thumb-hover:var(--kai-color-scrollbar-thumb-hover,#6e6d68);--color-sidebar:var(--kai-color-sidebar,#121211);--color-code-foreground:var(--kai-color-code-foreground,#92c2fc);--color-tool-blue:var(--kai-color-tool-blue,#6da2f8);--color-tool-amber:var(--kai-color-tool-amber,#f59f0a);--color-tool-green:var(--kai-color-tool-green,#21c45d);--color-tool-red:var(--kai-color-tool-red,#f37272)}.chat-markdown{color:var(--color-foreground);line-height:1.6}.chat-markdown>div:first-child>:first-child{margin-top:0}.chat-markdown>div:last-child>:last-child{margin-bottom:0}.chat-markdown p{margin:0 0 .75em}.chat-markdown p:last-child{margin-bottom:0}.chat-markdown h1,.chat-markdown h2,.chat-markdown h3,.chat-markdown h4{color:var(--color-foreground);margin:1.2em 0 .5em;font-weight:600;line-height:1.3}.chat-markdown h1{font-size:1.4em}.chat-markdown h2{font-size:1.25em}.chat-markdown h3{font-size:1.1em}.chat-markdown h4{font-size:1em}.chat-markdown ul,.chat-markdown ol{margin:0 0 .75em;padding-left:1.4em}.chat-markdown li{margin:.2em 0}.chat-markdown ul{list-style:outside}.chat-markdown ol{list-style:decimal}.chat-markdown a{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.chat-markdown strong{color:var(--color-foreground);font-weight:600}.chat-markdown em{font-style:italic}.chat-markdown blockquote{border-left:2px solid var(--color-border);color:var(--color-muted-foreground);margin:0 0 .75em;padding-left:.9em}.chat-markdown hr{border:0;border-top:1px solid var(--color-border);margin:1em 0}.chat-markdown code:not(pre code){background:var(--color-code-foreground)}@supports (color:color-mix(in lab,red,red)){.chat-markdown code:not(pre code){background:color-mix(in oklab,var(--color-code-foreground) 15%,transparent)}}.chat-markdown code:not(pre code){color:var(--color-code-foreground);font-size:.875em;font-family:var(--kai-font-code,ui-monospace, "SF Mono", Menlo, monospace);border-radius:4px;padding:.1em .35em}.chat-markdown table{border-collapse:collapse;width:100%;margin:0 0 .75em;font-size:.9em}.chat-markdown th,.chat-markdown td{border:1px solid var(--color-border);text-align:left;padding:.4em .6em}.chat-markdown th{background:var(--color-muted-foreground);font-weight:600}@supports (color:color-mix(in lab,red,red)){.chat-markdown th{background:color-mix(in oklab,var(--color-muted-foreground) 8%,transparent)}}.kai-elevation{box-shadow:0 4px 12px -2px var(--kai-shadow-color,oklch(0% 0 0)),0 2px 6px -2px var(--kai-shadow-color,oklch(0% 0 0))}@supports (color:color-mix(in lab,red,red)){.kai-elevation{box-shadow:0 4px 12px -2px color-mix(in oklab,var(--kai-shadow-color,oklch(0% 0 0)) 14%,transparent),0 2px 6px -2px color-mix(in oklab,var(--kai-shadow-color,oklch(0% 0 0)) 10%,transparent)}}.kai-elevation-sm{box-shadow:0 1px 2px 0 var(--kai-shadow-color,oklch(0% 0 0))}@supports (color:color-mix(in lab,red,red)){.kai-elevation-sm{box-shadow:0 1px 2px color-mix(in oklab,var(--kai-shadow-color,oklch(0% 0 0)) 8%,transparent)}}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) transparent}.scrollbar-thin::-webkit-scrollbar{width:8px;height:8px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:9999px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--color-scrollbar-thumb-hover)}.scrollbar-thin::-webkit-scrollbar-corner{background:0 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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes collapsible-down{0%{opacity:0;height:0}to{height:var(--kb-collapsible-content-height);opacity:1}}@keyframes collapsible-up{0%{height:var(--kb-collapsible-content-height);opacity:1}to{opacity:0;height:0}}@keyframes typing{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@keyframes loading-dots{0%,to{opacity:0}50%{opacity:1}}@keyframes wave{0%,to{transform:scaleY(1)}50%{transform:scaleY(.6)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes text-blink{0%,to{color:var(--color-primary)}50%{color:var(--color-muted-foreground)}}@keyframes bounce-dots{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes thin-pulse{0%,to{opacity:.8;transform:scale(.95)}50%{opacity:.4;transform:scale(1.05)}}@keyframes pulse-dot{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}@keyframes wave-bars{0%,to{opacity:.5;transform:scaleY(1)}50%{opacity:1;transform:scaleY(.6)}}@keyframes shimmer{0%{background-position:200%}to{background-position:-200%}}@keyframes spinner-fade{0%{opacity:0}to{opacity:1}}`,to=we;var ve=xr("<style>"),be=xr("<div style=display:contents;color:var(--color-foreground)><div>");let X;function fe(){if(X!==void 0)return X;try{if(typeof CSSStyleSheet>"u")throw new Error("no CSSStyleSheet");const r=new CSSStyleSheet;r.replaceSync(to),X=r}catch{X=null}return X}function xe(r){const[o,e]=j(!1);if(typeof window<"u"&&typeof window.matchMedia=="function"){const t=window.matchMedia("(prefers-color-scheme: dark)");e(t.matches);const a=n=>e(n.matches);t.addEventListener("change",a),q(()=>t.removeEventListener("change",a))}return()=>{const t=r()??"auto";return t==="dark"||t==="auto"&&o()}}function ke(r){return r.replace(/([A-Z])/g,"-$1").toLowerCase()}function ye(r,o,e){return o===!0?!0:o===!1?!1:r.hasAttribute(e)&&r.getAttribute(e)!=="false"}function ze(r,o,e){if(typeof customElements>"u"||customElements.get(r))return;const t=["title","id","slot","lang"];for(const l of Object.keys(o))if(t.includes(l))throw new Error(`defineWebComponent(${r}): prop "${l}" collides with a global HTMLElement attribute and will break the element constructor. Rename it (e.g. "bar-title" \u2192 barTitle, a source title \u2192 headline).`);const a=["role"],n={theme:"auto",...o},s=ge(r,n,(l,c)=>{const p=c.element;let d;const h=((v,b)=>p.dispatchEvent(new CustomEvent(v,{detail:b,bubbles:!1,composed:!1}))),w=v=>ye(p,l[v],ke(v)),z=v=>{for(const[b,y]of Object.entries(v))try{Object.defineProperty(p,b,{value:y,writable:!0,configurable:!0})}catch(O){console.warn(`defineWebComponent(${r}): could not expose method "${b}"`,O)}},A=xe(()=>l.theme),M=fe();if(M){const v=p.shadowRoot??p.attachShadow({mode:"open"});"adoptedStyleSheets"in v&&!v.adoptedStyleSheets.includes(M)&&(v.adoptedStyleSheets=[...v.adoptedStyleSheets,M])}return[ar(Dr,{when:!M,get children(){var v=ve();return F(v,to),v}}),(()=>{var v=be(),b=v.firstChild,y=d;return typeof y=="function"?kr(y,b):d=b,F(v,ar(eo,{portalMount:d,get children(){return e(l,{element:p,dispatch:h,flag:w,expose:z,dark:A})}}),null),T(()=>v.classList.toggle("dark",!!A())),v})()]}),i=s?.prototype;if(i)for(const l of a){if(!(l in n))continue;const c=Symbol(`kai-prop:${l}`);Object.defineProperty(i,l,{get(){return this[c]},set(p){this[c]=p},enumerable:!0,configurable:!0})}}export{V as $,jr as A,Mr as B,eo as C,Qo as D,jo as E,So as F,x as G,lo as H,Ao as I,co as J,pr as K,uo as L,Eo as M,Hr as N,me as O,Ko as P,L as Q,Dr as S,T as a,Vr as b,ar as c,sr as d,Br as e,ze as f,j as g,ur as h,F as i,k as j,go as k,Yr as l,zo as m,Do as n,po as o,q as p,Vo as q,Ur as r,qr as s,xr as t,kr as u,Oo as v,mr as w,_o as x,ue as y,Gr as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as v,p as T,c as i,y as x,P as C,z as g,u as z,i as P,a as k,r as H,d as f,b as O,S as R,A as $,B as A,t as E,s as F,e as B}from"./define-D1din7Ld.js";import{c as m}from"./cn-CU7UAWzk.js";import{A as I,c as L,u as M,a as S}from"./overlay-kD8dwRv_.js";var G=E("<div data-hovercard-content class=z-50 style=position:fixed;background:transparent><div>");const h=$(),b=()=>{const t=A(h);if(!t)throw new Error("HoverCard parts must be used within <HoverCardRoot>");return t};function y(t){var e;const[a,n]=v(t.defaultOpen??!1),[l,o]=v(),[c,r]=v();let s;(e=t.controllerRef)==null||e.call(t,{open:a,setOpen:n});const d=()=>{t.disabled||(clearTimeout(s),s=window.setTimeout(()=>n(!0),t.openDelay??0))},u=()=>{clearTimeout(s),s=window.setTimeout(()=>n(!1),t.closeDelay??300)},p=()=>{clearTimeout(s),n(!1)};return T(()=>clearTimeout(s)),i(h.Provider,{value:{open:a,enter:d,leave:u,close:p,setTrigger:o,setContent:r,trigger:l,content:c},get children(){return t.children}})}function D(t){const e=b();return i(I,{as:"span",get class(){return m("inline-block",t.class)},ref(a){var n=e.setTrigger;typeof n=="function"?n(a):e.setTrigger=a},get onPointerEnter(){return e.enter},get onPointerLeave(){return e.leave},get onFocusIn(){return e.enter},get onFocusOut(){return e.leave},get children(){return t.children}})}const K=8;function N(t,e){const a=t.split("-")[0];return{[{bottom:"padding-top",top:"padding-bottom",left:"padding-right",right:"padding-left"}[a]??"padding-top"]:`${e}px`}}function w(t){const e=b(),a=x(),n=L(e.open),l=M(e.trigger,e.content,{placement:t.placement??"bottom",gutter:0,onDisconnect:()=>e.close()});return S({enabled:e.open,onDismiss:()=>e.close(),refs:()=>[e.trigger(),e.content()]}),i(R,{get when(){return n.present()},get children(){return i(C,{get mount(){return a.portalMount()},get children(){var o=G(),c=o.firstChild;return g(o,"focusout",e.leave,!0),g(o,"focusin",e.enter,!0),g(o,"pointerleave",e.leave),g(o,"pointerenter",e.enter),z(r=>{e.setContent(r),n.setRef(r)},o),P(c,()=>t.children),k(r=>{var s={left:`${l.pos().x}px`,top:`${l.pos().y}px`,visibility:l.hidden()?"hidden":"visible",...N(l.pos().placement,K)},d=n.state()==="open"?"":void 0,u=n.state()==="closed"?"":void 0,p=m("rounded-lg bg-card kai-elevation","animate-in fade-in-0 zoom-in-95 data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95",t.class);return r.e=H(o,s,r.e),d!==r.t&&f(c,"data-expanded",r.t=d),u!==r.a&&f(c,"data-closed",r.a=u),p!==r.o&&O(c,r.o=p),r},{e:void 0,t:void 0,a:void 0,o:void 0}),o}})}})}function U(t){const[e]=F(t,["trigger","children","class","openDelay","closeDelay","placement"]);return i(y,{get openDelay(){return e.openDelay},get closeDelay(){return e.closeDelay},get children(){return[i(D,{get children(){return e.trigger}}),i(w,{get class(){return m("w-64 p-4",e.class)},get placement(){return e.placement},get children(){return e.children}})]}})}B(["focusin","focusout"]);export{U as H,y as a,D as b,w as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as e,S as i,F as f,s as p,l as v,m,i as u,a as b,d as w,b as z,y as R,t as d,O as M,n as S,e as T}from"./define-D1din7Ld.js";import{T as U}from"./tooltip-CgBZCVKp.js";import{c as o}from"./cn-CU7UAWzk.js";import{M as O}from"./markdown-Zi21WhUz.js";import{B as P}from"./button-ZWNif3--.js";import{B as q,a as A}from"./action-icons-ns1Fnedj.js";import{R as D,a as E,b as G}from"./reasoning-DTpCGtnY.js";import{T as H}from"./tool-DjTRpIpl.js";import{A as J,a as K,d as L,e as N}from"./attachments-mCB5F1Fq.js";import{c as Q}from"./check-B9-gn6SS.js";var V=d("<div part=row>"),W=d('<img class="h-full w-full object-cover">'),X=d("<div part=avatar>"),Y=d('<div class="flex h-full w-full items-center justify-center bg-muted text-xs font-medium text-muted-foreground">'),I=d("<div>"),Z=d('<span class="px-1 text-xs">'),_=d('<span><span class="min-w-0 overflow-hidden">');function $(r){const[t,n]=p(r,["children","class"]);return(()=>{var a=V();return v(a,m({get class(){return o("flex items-start gap-3",t.class)}},n),!1,!0),u(a,()=>t.children),a})()}function rr(r){return(()=>{var t=X();return u(t,e(i,{get when(){return r.src},get fallback(){return e(i,{get when(){return r.fallback},get children(){var n=Y();return u(n,()=>r.fallback),n}})},get children(){var n=W();return b(a=>{var l=r.src,c=r.alt;return l!==a.e&&w(n,"src",a.e=l),c!==a.t&&w(n,"alt",a.t=c),a},{e:void 0,t:void 0}),n}})),b(()=>z(t,o("h-8 w-8 shrink-0 overflow-hidden rounded-full",r.class))),t})()}function tr(r){const[t,n]=p(r,["children","markdown","class","part"]),a=R(),l=()=>o("min-w-0 rounded-lg p-2 text-foreground bg-secondary max-w-none break-words whitespace-normal",M(a.proseSize()),t.class);return e(i,{get when(){return t.markdown},get fallback(){return(()=>{var c=I();return v(c,m({get part(){return t.part},get class(){return l()}},n),!1,!0),u(c,()=>t.children),c})()},get children(){return e(O,{get part(){return t.part},get content(){return t.children},get class(){return l()}})}})}function er(r){const[t,n]=p(r,["children","class"]);return(()=>{var a=I();return v(a,m({get class(){return o("flex items-center gap-0.5 mt-0.5",t.class)}},n),!1,!0),u(a,()=>t.children),a})()}function nr(r){return typeof r=="string"?{id:r,label:q[r],Icon:A(r)}:{id:r.id,label:r.label,Icon:A(r.icon)}}function ar(r){return r==="like"||r==="dislike"?r:void 0}function ir(r){return e(er,{part:"actions",get class(){return o("mt-1 flex gap-0",r.reveal==="hover"&&"opacity-0 transition-opacity group-hover:opacity-100",r.class)},get children(){return e(f,{get each(){return r.actions},children:t=>{const n=nr(t),a=()=>typeof t!="string"&&t.tooltip?t.tooltip:n.label,l=ar(t),c=()=>l!==void 0&&r.activeFeedback===l,j=n.id==="copy",k=()=>j&&r.copied===!0,y=()=>e(P,{variant:"ghost",size:"icon-sm",get class(){return o("rounded-full",c()&&"text-primary")},get"data-action"(){return n.id},get"aria-label"(){return S(()=>!!k())()?"Copied":n.label},get"aria-pressed"(){return l!==void 0?c():void 0},onClick:()=>r.onAction(n.id),get children(){return e(i,{get when(){return k()},get fallback(){return e(i,{get when(){return n.Icon},get fallback(){return(()=>{var s=Z();return u(s,()=>n.label),s})()},children:s=>{const g=s();return e(g,{get class(){return o("size-3.5",c()&&"fill-current")}})}})},get children(){return e(Q,{class:"size-3.5 text-emerald-400"})}})}}),x=()=>e(i,{get when(){return n.Icon},get fallback(){return y()},get children(){return e(U,{get content(){return a()},get children(){return y()}})}});return e(i,{when:l!==void 0,get fallback(){return x()},get children(){return(()=>{const s=()=>r.activeFeedback===void 0||r.activeFeedback===l;return(()=>{var g=_(),C=g.firstChild;return u(C,x),b(h=>{var B=s()?void 0:"",F=o("grid transition-[grid-template-columns,opacity] duration-300 ease-out",s()?"grid-cols-[1fr] opacity-100":"grid-cols-[0fr] opacity-0");return B!==h.e&&w(g,"data-feedback-collapsed",h.e=B),F!==h.t&&z(g,h.t=F),h},{e:void 0,t:void 0}),g})()})()}})}})}})}function lr(r){return[e(i,{get when(){return r.beforeBody},get children(){return r.beforeBody}}),e(i,{get when(){return r.reasoning},children:t=>e(D,{class:"mb-2 w-full",get children(){return[e(E,{get children(){return t().label??"Reasoning"}}),e(G,{markdown:!0,get children(){return t().text}})]}})}),e(f,{get each(){return r.tools??[]},children:t=>e(H,{toolPart:t,class:"mb-2 w-full"})}),e(i,{get when(){var t;return(t=r.attachments)==null?void 0:t.length},get children(){return e(J,{variant:"inline",get class(){return r.isUser?"mb-2 justify-end":"mb-2"},get children(){return e(f,{get each(){return r.attachments},children:t=>e(K,{data:t,get children(){return[e(L,{}),e(N,{})]}})})}})}}),e(tr,{part:"bubble content",get markdown(){return r.markdown},get class(){return r.isUser?"bg-muted text-primary max-w-[85%] rounded-2xl px-4 py-2":"bg-transparent p-0"},get children(){return r.content}}),e(i,{get when(){var t;return(((t=r.actions)==null?void 0:t.length)??0)>0},get children(){return e(ir,{get actions(){return r.actions},get reveal(){return r.actionsReveal==="hover"?"hover":"always"},get activeFeedback(){return r.activeFeedback},get copied(){return r.copied},onAction:t=>{var n;return(n=r.onAction)==null?void 0:n.call(r,t)}})}}),e(i,{get when(){return r.afterBody},get children(){return r.afterBody}})]}T(["click"]);export{lr as M,$ as a,rr as b};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as l,p as v}from"./define-D1din7Ld.js";import{t as u}from"./toast-store-DKbQn3Wn.js";const b=2e3;function T(r){const[m,f]=l({}),[g,d]=l(new Set),p=r.copiedDuration??b,a=new Map;v(()=>{a.forEach(e=>clearTimeout(e)),a.clear()});const c=e=>e.feedback??m()[e.id],h=e=>g().has(e),k=e=>{d(o=>{const i=new Set(o);return i.add(e),i});const t=a.get(e);t&&clearTimeout(t),a.set(e,setTimeout(()=>{a.delete(e),d(o=>{if(!o.has(e))return o;const i=new Set(o);return i.delete(e),i})},p))},s=(e,t)=>{f(o=>{const i={...o};return t===void 0?delete i[e]:i[e]=t,i})};return{resolveFeedback:c,isCopied:h,handleAction:(e,t)=>{var o,i,n;if(t==="copy"){try{(o=navigator.clipboard)==null||o.writeText(e.content)}catch{}k(e.id),u("Copied to clipboard",{target:(i=r.target)==null?void 0:i.call(r)}),r.emit({messageId:e.id,action:t});return}if(t==="like"||t==="dislike"){c(e)===t?(s(e.id,void 0),r.emit({messageId:e.id,action:t,state:"off"})):(s(e.id,t),u("Thanks for your feedback",{target:(n=r.target)==null?void 0:n.call(r)}),r.emit({messageId:e.id,action:t,state:"on"}));return}r.emit({messageId:e.id,action:t})}}}export{T as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as e}from"./Icon-Tj58ES_d.js";import{c as m,m as o}from"./define-D1din7Ld.js";var r=[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]],s=a=>m(e,o(a,{name:"MessageSquare",iconNode:r})),i=s;export{i as m};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as C,c as r,m as I,n as y,F as m,g as k,i as d,S as h,a as p,d as M,b as O,t as a,e as R}from"./define-D1din7Ld.js";import{c as f}from"./cn-CU7UAWzk.js";import{c as S,D as $,a as j,b as z}from"./dropdown-BDd1-Zgi.js";import{B}from"./button-ZWNif3--.js";var D=a('<svg width=12 height=12 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2><polyline points="6 9 12 15 18 9">'),F=a('<span class="text-caption text-muted-foreground">'),q=a('<div class="flex flex-col"><span>'),E=a("<div class=pl-2>"),P=a('<div><button type=button class="flex w-full items-center justify-between rounded-md px-2 py-1.5 text-body outline-none transition-colors hover:bg-muted focus:bg-muted">');const x=o=>(()=>{var e=D();return p(()=>M(e,"class",o.class)),e})();function b(o){const e=()=>o.model.description??o.model.provider;return r(z,{onSelect:()=>o.onModelChange(o.model.id),get children(){var s=q(),u=s.firstChild;return d(u,()=>o.model.name),d(s,r(h,{get when(){return e()},get children(){var c=F();return d(c,e),c}}),null),p(()=>O(u,f("text-body",o.model.id===o.currentModelId&&"font-medium text-foreground"))),s}})}function _(o){const[e]=C(o,["models","currentModelId","onModelChange","class","defaultOpen","disabled","controllerRef"]),s=()=>e.models.find(t=>t.id===e.currentModelId),u=()=>e.models.filter(t=>!t.group),c=()=>{const t=[],n=new Map;for(const l of e.models)l.group&&(n.has(l.group)||(n.set(l.group,[]),t.push(l.group)),n.get(l.group).push(l));return t.map(l=>({name:l,models:n.get(l)}))};return r(h,{get when(){return e.models.length>1},get children(){return r(S,{get defaultOpen(){return e.defaultOpen},get disabled(){return e.disabled},get controllerRef(){return e.controllerRef},get children(){return[r($,{as:t=>r(B,I({variant:"ghost",size:"sm",get class(){return f("gap-1 text-meta text-muted-foreground",e.class)}},t,{get children(){return[y(()=>{var n;return((n=s())==null?void 0:n.name)??e.currentModelId}),r(x,{})]}}))}),r(j,{get children(){return[r(m,{get each(){return u()},children:t=>r(b,{model:t,get currentModelId(){return e.currentModelId},get onModelChange(){return e.onModelChange}})}),r(m,{get each(){return c()},children:t=>{const[n,l]=k(!1);return(()=>{var g=P(),i=g.firstChild;return i.$$click=()=>l(!n()),d(i,()=>t.name,null),d(i,r(x,{get class(){return f("transition-transform",n()&&"rotate-180")}}),null),d(g,r(h,{get when(){return n()},get children(){var v=E();return d(v,r(m,{get each(){return t.models},children:w=>r(b,{model:w,get currentModelId(){return e.currentModelId},get onModelChange(){return e.onModelChange}})})),v}}),null),p(()=>M(i,"aria-expanded",n())),g})()}})]}})]}})}})}R(["click"]);export{_ as M};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as p,g as O,h as C,c as u,i as h,a as f,b as m,l as w,m as y,S,t as v,A as $,B as z,p as B,u as R,e as A}from"./define-D1din7Ld.js";import{c as g}from"./cn-CU7UAWzk.js";import{M as E}from"./markdown-Zi21WhUz.js";import{c as M}from"./chevron-down-BNsxc2hk.js";const P=1;function q(i,s){let e=-1;const o=new ResizeObserver(n=>{var r;const t=((r=n[n.length-1])==null?void 0:r.contentRect.height)??i.getBoundingClientRect().height;(e<0||Math.abs(t-e)>P)&&(e=t,s(t))});return o.observe(i),()=>o.disconnect()}var D=v("<div>"),F=v("<button><span class=text-primary></span><div>"),G=v("<div style=max-height:0px><div>");const k=$();function H(){const i=z(k);if(!i)throw new Error("useReasoningContext must be used within a Reasoning provider");return i}function I(i){var s;const[e]=p(i,["children","class","open","defaultOpen","onOpenChange","isStreaming","disabled","controllerRef"]),[o,n]=O(e.defaultOpen??!1),[r,t]=O(!1),a=()=>e.open!==void 0,c=()=>a()?e.open:o(),d=()=>!!e.disabled,x=l=>{var b;c()!==l&&(a()||n(l),(b=e.onOpenChange)==null||b.call(e,l))};return C(()=>{const l=e.isStreaming;l&&!r()&&(a()||n(!0),t(!0)),!l&&r()&&(a()||n(!1),t(!1))}),(s=e.controllerRef)==null||s.call(e,{open:c,setOpen:x}),u(k.Provider,{value:{isOpen:c,onOpenChange:x,disabled:d},get children(){var l=D();return h(l,()=>e.children),f(()=>m(l,e.class)),l}})}function T(i){const[s,e]=p(i,["children","class"]),{isOpen:o,onOpenChange:n,disabled:r}=H();return(()=>{var t=F(),a=t.firstChild,c=a.nextSibling;return t.$$click=()=>{r()||n(!o())},w(t,y({get class(){return g("flex cursor-pointer items-center gap-2 text-meta",s.class)},get disabled(){return r()||void 0}},e),!1,!0),h(a,()=>s.children),h(c,u(M,{class:"size-4"})),f(()=>m(c,g("transform transition-transform",o()?"rotate-180":""))),t})()}function _(i){const[s,e]=p(i,["children","class","contentClass","markdown"]),{isOpen:o}=H();let n,r;return C(()=>{if(!n||!r)return;const t=q(r,()=>{n&&r&&o()&&(n.style.maxHeight=`${r.scrollHeight}px`)});o()?n.style.maxHeight=`${r.scrollHeight}px`:n.style.maxHeight="0px",B(t)}),(()=>{var t=G(),a=t.firstChild,c=n;typeof c=="function"?R(c,t):n=t,w(t,y({get class(){return g("overflow-hidden transition-[max-height] duration-150 ease-out",s.class)}},e),!1,!0);var d=r;return typeof d=="function"?R(d,a):r=a,h(a,u(S,{get when(){return s.markdown},get fallback(){return s.children},get children(){return u(E,{get content(){return s.children}})}})),f(()=>m(a,g("text-muted-foreground text-body",s.contentClass))),t})()}A(["click"]);export{I as R,T as a,_ as b};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as i}from"./cn-CU7UAWzk.js";import{B as w}from"./button-ZWNif3--.js";import{g as x,p as A,s as u,c as f,u as C,l as m,m as h,i as g,t as d,A as T,B as y}from"./define-D1din7Ld.js";import{c as E}from"./chevron-down-BNsxc2hk.js";const H=50;function L(){const[t,o]=x(!0);let r,e=!0;function a(){if(!r)return;const{scrollTop:s,scrollHeight:c,clientHeight:b}=r,v=c-s-b<H;o(v),e=v}function l(s="smooth"){r&&(r.scrollTo({top:r.scrollHeight,behavior:s}),e=!0,o(!0))}function n(){e&&requestAnimationFrame(()=>l("instant"))}function B(s){r=s,s.addEventListener("scroll",a,{passive:!0});const c=new MutationObserver(n);c.observe(s,{childList:!0,subtree:!0,characterData:!0}),A(()=>{s.removeEventListener("scroll",a),c.disconnect()})}return{ref:B,isAtBottom:t,scrollToBottom:l}}var k=d("<div role=log tabindex=0>"),S=d("<div>"),q=d("<div aria-hidden=true>");const p=T();function z(){const t=y(p);if(!t)throw new Error("useChatContainer must be used within ChatContainer");return t}function D(t){const[o,r]=u(t,["children","class"]),{ref:e,isAtBottom:a,scrollToBottom:l}=L();return f(p.Provider,{value:{isAtBottom:a,scrollToBottom:l},get children(){var n=k();return C(e,n),m(n,h({get class(){return i("flex flex-col overflow-y-auto",o.class)}},r),!1,!0),g(n,()=>o.children),n}})}function F(t){const[o,r]=u(t,["children","class"]);return(()=>{var e=S();return m(e,h({get class(){return i("flex w-full flex-col",o.class)}},r),!1,!0),g(e,()=>o.children),e})()}function I(t){const[o,r]=u(t,["class"]);return(()=>{var e=q();return m(e,h({get class(){return i("h-px w-full shrink-0 scroll-mt-4",o.class)}},r),!1,!1),e})()}function M(t){const{isAtBottom:o,scrollToBottom:r}=z();return f(w,{get variant(){return t.variant??"outline"},get size(){return t.size??"sm"},"aria-label":"Scroll to bottom",get class(){return i("h-10 w-10 rounded-full transition-all duration-150 ease-out",o()?"pointer-events-none translate-y-4 scale-95 opacity-0":"translate-y-0 scale-100 opacity-100",t.class)},onClick:()=>r(),get children(){return f(E,{class:"h-5 w-5"})}})}export{D as C,M as S,F as a,I as b};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as m,c as u,i as v,F as w,S as p,t as c,l as x,m as y}from"./define-D1din7Ld.js";import{c as b}from"./cn-CU7UAWzk.js";var k=c("<div part=skeleton>"),S=c('<div class="flex w-full flex-col gap-2">');const l=r=>typeof r=="number"?`${r}px`:r,F=r=>r==="circle"?"rounded-full":r==="text"?"rounded":"rounded-md";function j(r){const[t,o]=m(r,["class","variant","width","height","lines","style"]),s=()=>t.width!=null,d=()=>t.height!=null,g=()=>!s()&&t.variant!=null&&t.variant!=="circle",f=a=>{const e=typeof t.style=="object"&&t.style?{...t.style}:{};if(t.variant==="circle"){const n=l(t.width)??l(t.height)??"2.5rem";return e.width=n,e.height=n,e}return a?e.width="70%":s()&&(e.width=l(t.width)),d()?e.height=l(t.height):t.variant==="text"&&(e.height="0.75rem"),e},h=(a=!1)=>(()=>{var e=k();return x(e,y({get class(){return b("animate-pulse bg-foreground/10",F(t.variant),g()&&"w-full",t.class)},get style(){return f(a)}},o),!1,!1),e})(),i=()=>t.variant==="text"?Math.max(1,t.lines??1):1;return u(p,{get when(){return i()>1},get fallback(){return h()},get children(){var a=S();return v(a,u(w,{get each(){return Array.from({length:i()})},children:(e,n)=>h(n()===i()-1)})),a}})}export{j as S};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const a=[{name:"header-start",mode:"inject",doc:"Leading header controls, left of the title."},{name:"header-end",mode:"inject",doc:"Trailing header controls."},{name:"header",mode:"replace",part:!0,doc:"Full custom header; replaces the built-in title/model/context bar."},{name:"sidebar",mode:"inject",part:!0,doc:"Left column (your nav / conversation list). Fixed width; use compose-your-own for resizable."},{name:"empty",mode:"replace",doc:"Custom zero-state rendered in the message area while the thread is empty. Replaces the empty message list only \u2014 the composer and any suggestions still render."},{name:"composer",mode:"replace",doc:"Full custom composer; you own submit + loading, drive the thread via messages."},{name:"composer-actions",mode:"inject",doc:"Accessory row above the composer."},{name:"footer",mode:"inject",part:!0,doc:"Row below the composer (disclaimers, token meter)."}],n=[{name:"header",mode:"replace",doc:'Full custom title bar; replaces the built-in toggle / "Chats" / New-chat row.'},{name:"empty",mode:"replace",doc:'Custom zero-state shown when there are no conversations; replaces the built-in "No conversations yet".'},{name:"footer",mode:"inject",doc:"A row below the list \u2014 account, settings, or usage."}],s=[{name:"before-body",mode:"inject",doc:"A per-message header at the TOP of the body, above reasoning/tools/content \u2014 a model-name label, a role + timestamp line."},{name:"after-body",mode:"inject",doc:"A row at the BOTTOM of the body, below the action bar \u2014 a citation/sources row, a token-cost/latency line."},{name:"avatar",mode:"replace",part:!0,doc:'Replaces the built-in avatar rail with your own node. Use `avatar="none"` to omit the rail and let the body span the full row.'}],c=[{name:"sidebar-header",mode:"inject",doc:"Top of the conversation rail (brand, a kai-tabs strip)."},{name:"sidebar-footer",mode:"inject",doc:"Bottom of the rail: an upgrade card, a Design trigger, a user-menu cluster."},{name:"main-header",mode:"inject",doc:"Top of the main region (a top-placed banner or a corner action)."},{name:"main",mode:"replace",doc:"Replace the built-in chat thread with your own main view (a home or dashboard screen). Omit to keep the thread."}],d=[{name:"empty",mode:"replace",doc:"Custom zero-state rendered in the message area while the thread is empty; replaces the built-in default."}];function i(t,r=a){const e={};for(const o of r)e[o.name]=!!t.querySelector(`:scope > [slot="${o.name}"]`);return e}export{a as C,s as M,d as T,c as W,n as a,i as r};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p as s,s as a,u,l,m as f,t as g}from"./define-D1din7Ld.js";import{c as m}from"./cn-CU7UAWzk.js";function c(i={}){let e;function r(){if(!e)return;e.style.height="auto";const t=e.scrollHeight;i.maxHeight&&t>i.maxHeight?(e.style.height=`${i.maxHeight}px`,e.style.overflowY="auto"):(e.style.height=`${t}px`,e.style.overflowY="hidden")}function n(t){e=t,t.addEventListener("input",r),requestAnimationFrame(r),s(()=>t.removeEventListener("input",r))}return{ref:n,resize:r}}var h=g("<textarea rows=1>");function d(i){const[e,r]=a(i,["class","maxHeight","autoResize"]),{ref:n}=c({maxHeight:e.maxHeight});return(()=>{var t=h(),o=e.autoResize!==!1?n:void 0;return typeof o=="function"&&u(o,t),l(t,f({get class(){return m("w-full resize-none rounded-md bg-transparent text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",e.class)}},r),!1,!1),t})()}export{d as T};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as L,y as M,x as S,g as s,p as $,c as v,P as j,u as B,d as f,i as G,a as H,q as g,b as J,S as K,t as N}from"./define-D1din7Ld.js";import{c as Q}from"./cn-CU7UAWzk.js";import{c as U,u as V,a as W,A as X}from"./overlay-kD8dwRv_.js";var Y=N("<div role=tooltip style=position:fixed;pointer-events:none>");function Z(R){var x;const[n]=L(R,["content","children","class","openDelay","closeDelay","placement","defaultOpen","disabled","controllerRef","dismissOnClick"]),F=M(),b=S(),[i,t]=s(n.defaultOpen??!1),[r,q]=s(),[y,A]=s();(x=n.controllerRef)==null||x.call(n,{open:i,setOpen:e=>t(e&&!n.disabled)});let a,l=!1;const[E,c]=s(!1),[I,u]=s(!1),h=(e=0)=>{n.disabled||(clearTimeout(a),e?a=window.setTimeout(()=>t(!0),e):t(!0))},p=()=>{clearTimeout(a);const e=n.closeDelay??0;e?a=window.setTimeout(()=>t(!1),e):t(!1)},w=()=>{!E()&&!I()&&p()},T=()=>{n.dismissOnClick!==!1&&(c(!1),u(!1),p())};$(()=>clearTimeout(a));const d=U(i),m=V(r,y,{placement:n.placement??"top",gutter:6,onDisconnect:()=>t(!1)});return W({enabled:i,onDismiss:p,refs:()=>[r(),y()]}),[v(X,{as:"span",class:"inline-flex",ref:q,get"aria-describedby"(){return i()?b:void 0},onPointerEnter:()=>{c(!0),h(n.openDelay??600)},onPointerLeave:()=>{c(!1),w()},onPointerDown:()=>{l=!0,T(),window.setTimeout(()=>{l=!1},0)},onClick:T,onFocusIn:()=>{u(!0),l||h()},onFocusOut:e=>{const o=r();o&&o.contains(e.relatedTarget)||(u(!1),w())},get children(){return n.children}}),v(K,{get when(){return d.present()},get children(){return v(j,{get mount(){return F.portalMount()},get children(){var e=Y();return B(o=>{A(o),d.setRef(o)},e),f(e,"id",b),G(e,()=>n.content),H(o=>{var D=d.state()==="open"?"":void 0,O=d.state()==="closed"?"":void 0,P=`${m.pos().x}px`,k=`${m.pos().y}px`,z=m.hidden()?"hidden":"visible",C=Q("z-50 rounded-md bg-foreground px-2.5 py-1 text-xs text-background shadow-md","animate-in fade-in-0 zoom-in-95 data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95",n.class);return D!==o.e&&f(e,"data-expanded",o.e=D),O!==o.t&&f(e,"data-closed",o.t=O),P!==o.a&&g(e,"left",o.a=P),k!==o.o&&g(e,"top",o.o=k),z!==o.i&&g(e,"visibility",o.i=z),C!==o.n&&J(e,o.n=C),o},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),e}})}})]}export{Z as T};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as o,m,i as p,S as f,a as g,d as h,t as v,B as x,A as C,g as k,h as b,o as w,j as i}from"./define-D1din7Ld.js";import{c as $}from"./cn-CU7UAWzk.js";import{B as y}from"./button-ZWNif3--.js";import{C as R}from"./card-BkHbp4BA.js";import{I as S}from"./Icon-Tj58ES_d.js";var L=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],A=s=>o(S,m(s,{name:"RotateCcw",iconNode:L})),B=A,D=v('<div role=group class="flex flex-wrap items-center gap-x-2 gap-y-1"><span class="min-w-0 text-sm text-muted-foreground"><span class="font-medium text-foreground"></span> <span class=text-foreground></span><span class=text-muted-foreground> \u2014 dismissed');const T={confirm:"Proposed",choice:"Choose",form:"Form",tasks:"Tasks"};function j(s){const t=T[s];return t?`${t}:`:s.length===0?"Card:":`${s.charAt(0).toUpperCase()}${s.slice(1)}:`}function q(s){const t=()=>j(s.type),a=()=>s.title??"this card",e=()=>s.reopenLabel??"Reopen",c=()=>`${t()} ${a()} \u2014 dismissed`;return o(R,{dense:!0,get class(){return s.class},get children(){var n=D(),l=n.firstChild,d=l.firstChild,r=d.nextSibling,u=r.nextSibling;return p(d,t),p(u,a),p(n,o(y,{type:"button",variant:"ghost",size:"sm",get class(){return $("ml-auto gap-1.5")},onClick:()=>s.onReopen(),get children(){return[o(B,{size:14,"aria-hidden":"true"}),o(f,{get when(){return e()},get children(){return e()}})]}}),null),g(()=>h(n,"aria-label",c())),n}})}const z=C();function F(){return x(z)}const I=new Set(["action","submit","expired"]);function M(s){const[t,a]=k(void 0);b(w(s.data,()=>a(void 0),{defer:!0}));const e=i(()=>s.prop()??t()),c=i(()=>e()!==void 0),n=i(()=>{const r=e();return r!==void 0&&I.has(r.kind)}),l=i(()=>{var r;return((r=e())==null?void 0:r.kind)==="dismissed"}),d=i(()=>s.prop()===void 0&&t()!==void 0);return{resolution:e,isResolved:c,isTerminal:n,isDeferred:l,isOptimistic:d,setLocal:a}}export{q as D,M as a,F as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as m}from"./Icon-Tj58ES_d.js";import{c as o,m as r}from"./define-D1din7Ld.js";var e=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],t=a=>o(m,r(a,{name:"X",iconNode:e})),p=t;export{p as x};
|
package/dist/host-embed.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { CardEnvelope, CardContext, CardPolicy } from '../primitives/card-contract';
|
|
2
|
-
export interface MountRemoteCardOptions {
|
|
3
|
-
/** Where to mount the iframe. */
|
|
4
|
-
container: HTMLElement;
|
|
5
|
-
/** The card to render (carried down as a `render` frame). */
|
|
6
|
-
envelope: CardEnvelope;
|
|
7
|
-
/** EXACT provider origin (https). Pinned for all origin checks. */
|
|
8
|
-
providerOrigin: string;
|
|
9
|
-
/** The provider URL the iframe frames (must be same-origin as providerOrigin). */
|
|
10
|
-
src: string;
|
|
11
|
-
/** Ambient context; theme/locale/conversationId/short-lived authToken. */
|
|
12
|
-
context: CardContext;
|
|
13
|
-
/** The SAME routing policy native cards use. resize/focus-edge are handled by the SDK. */
|
|
14
|
-
policy?: CardPolicy;
|
|
15
|
-
/** Override sandbox. Default: allow-scripts allow-forms allow-same-origin (NO allow-popups — H-G). */
|
|
16
|
-
sandbox?: string;
|
|
17
|
-
/** Cap auto-height (px); frame scrolls internally beyond it. */
|
|
18
|
-
maxHeight?: number;
|
|
19
|
-
/** Handshake timeout (ms). Default 5000. */
|
|
20
|
-
handshakeTimeoutMs?: number;
|
|
21
|
-
}
|
|
22
|
-
export interface RemoteCardHandle {
|
|
23
|
-
/** Push new ambient context (theme toggle, token refresh). Shallow top-level merge;
|
|
24
|
-
* `theme`/`a11y` replaced wholesale. Always sends a FULL resolved CardContext. */
|
|
25
|
-
updateContext(context: Partial<CardContext>): void;
|
|
26
|
-
/** Re-render with a new/updated envelope (same id = update). */
|
|
27
|
-
update(envelope: CardEnvelope): void;
|
|
28
|
-
/** Send `teardown`, stop listeners, remove the iframe. Idempotent. */
|
|
29
|
-
destroy(): void;
|
|
30
|
-
/** Current bridge state for the host to reflect in UI. */
|
|
31
|
-
state(): 'connecting' | 'open' | 'error' | 'closed';
|
|
32
|
-
}
|
|
33
|
-
export declare function mountRemoteCard(options: MountRemoteCardOptions): RemoteCardHandle;
|
package/dist/kai-provider.d.ts
DELETED
package/dist/origin.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export declare function assertOrigin(actual: string, expected: string): boolean;
|
|
2
|
-
/** Fail-closed precondition (H-F): the iframe must be cross-origin to the host so
|
|
3
|
-
* `allow-same-origin` can't reach host DOM, and `src` must be on the provider origin. */
|
|
4
|
-
export declare function assertCrossOrigin(src: string, providerOrigin: string, hostOrigin: string): void;
|
|
5
|
-
export declare function redactFrame(value: unknown): unknown;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { CardEnvelope, CardHost } from '../primitives/card-contract';
|
|
2
|
-
import { JsonSchema } from '../primitives/card-validate';
|
|
3
|
-
/** A provider-side renderer for one card `type`. Renamed (was CardRenderer) per H-K
|
|
4
|
-
* to avoid colliding with the exported Solid `<CardRenderer>` component. */
|
|
5
|
-
export interface RemoteCardRenderer {
|
|
6
|
-
/** The card `type` this renderer handles. */
|
|
7
|
-
type: string;
|
|
8
|
-
/** Optional JSON Schema for this type's `data`; validated best-effort before mount. */
|
|
9
|
-
schema?: JsonSchema;
|
|
10
|
-
/** Mount into `root`, given the envelope + a CardHost. Return a disposer. */
|
|
11
|
-
mount(root: HTMLElement, envelope: CardEnvelope, host: CardHost): () => void;
|
|
12
|
-
}
|
|
13
|
-
export interface CreateCardBridgeOptions {
|
|
14
|
-
/** Element the card mounts into + whose height is observed. */
|
|
15
|
-
root: HTMLElement;
|
|
16
|
-
/** Renderers by card type. Unknown type → inline "unsupported card" + event{error}. */
|
|
17
|
-
renderers: RemoteCardRenderer[];
|
|
18
|
-
/** Versions this runtime supports (default ['1']). */
|
|
19
|
-
supportedVersions?: string[];
|
|
20
|
-
}
|
|
21
|
-
export interface CardBridge {
|
|
22
|
-
/** Begin: listen for `hello`, complete handshake, render on `render`. */
|
|
23
|
-
start(): void;
|
|
24
|
-
/** Stop observers + listeners + dispose current card. */
|
|
25
|
-
stop(): void;
|
|
26
|
-
}
|
|
27
|
-
export declare function createCardBridge(options: CreateCardBridgeOptions): CardBridge;
|