@kitn.ai/ui 0.29.0 → 0.31.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 +11 -7
- package/dist/{Icon-DObhsRtm.js → Icon-DJDuE_-x.js} +1 -1
- package/dist/action-icons-xkBBVKkF.js +1 -0
- package/dist/agent-tooling/construct/schema-url.d.ts +9 -0
- package/dist/agent-tooling/construct/schema.d.ts +76 -1
- package/dist/agent-tooling/construct/templates.d.ts +45 -0
- package/dist/arrow-down-DU6wOl-h.js +1 -0
- package/dist/arrow-left-DD46kN17.js +1 -0
- package/dist/artifact-DoUAr1Fd.js +1 -0
- package/dist/assets/dev-DwzHsqYD.js +553 -0
- package/dist/{attachments-Qr4kg-2b.js → attachments-BLWPDiLH.js} +1 -1
- package/dist/{audio-visualizer-DToYdfSc.js → audio-visualizer-DhHicYvV.js} +1 -1
- package/dist/{badge-CdEu_jn2.js → badge-BGm7pcwi.js} +1 -1
- package/dist/{bell-DQAAOpDz.js → bell-CMEdSo7A.js} +1 -1
- package/dist/builder-app/App.d.ts +1 -0
- package/dist/builder-app/edit-guard.d.ts +8 -0
- package/dist/builder-app/main.d.ts +0 -0
- package/dist/builder-page/assets/index-C10OF-ur.js +72 -0
- package/dist/builder-page/assets/index-CFyKLBlu.css +1 -0
- package/dist/builder-page/index.html +20 -0
- package/dist/button-BM0YTTDQ.js +1 -0
- package/dist/{card-renderer-Jx70m6_l.js → card-renderer-Ds-wXc6_.js} +1 -1
- package/dist/check-BG1VfYjm.js +1 -0
- package/dist/{checkbox-group-B2_rpoPM.js → checkbox-group-CqXj8ehz.js} +1 -1
- package/dist/{checkbox-D7iRB3nL.js → checkbox-np_5mKxM.js} +1 -1
- package/dist/chevron-down-CZ4W0hy6.js +1 -0
- package/dist/chevron-right-5gdxkCTF.js +1 -0
- package/dist/{choice-card-m0BYqqOK.js → choice-card-BYBmPAT5.js} +1 -1
- package/dist/circle-C0lwjD2A.js +1 -0
- package/dist/circle-check-BfT1cxQU.js +1 -0
- package/dist/{circle-x-BPG0iPst.js → circle-x-DzUfvRqr.js} +1 -1
- package/dist/{code-block-ClMLKb7C.js → code-block-H6E5Eurc.js} +1 -1
- package/dist/{collapsible-B4DlWicL.js → collapsible-CBq1Tj6y.js} +1 -1
- package/dist/components/builder-composer-triggers.d.ts +62 -0
- package/dist/components/builder-layout.d.ts +54 -0
- package/dist/components/builder-message-actions.d.ts +63 -0
- package/dist/components/builder-panel-derived.d.ts +18 -0
- package/dist/components/builder-panel.d.ts +240 -0
- package/dist/components/builder-preview.d.ts +11 -0
- package/dist/components/builder-shell-controls.d.ts +69 -0
- package/dist/components/builder-skeleton.d.ts +58 -0
- package/dist/components/builder-start.d.ts +79 -0
- package/dist/components/builder-workspace-variants.d.ts +23 -0
- package/dist/components/captions.d.ts +66 -0
- package/dist/components/chat-thread.d.ts +27 -1
- package/dist/components/construct-form-paths.d.ts +54 -0
- package/dist/components/message.d.ts +5 -0
- package/dist/{composer-sQ0HcvyG.js → composer-B5IvgxAF.js} +1 -1
- package/dist/{confirm-card-rQWDQsnC.js → confirm-card-B63pZIfG.js} +1 -1
- package/dist/construct-cli.es.js +469 -125
- package/dist/construct-templates.d.ts +5 -0
- package/dist/construct-templates.js +266 -0
- package/dist/construct.js +269 -86
- package/dist/{context-0kg4ZX1J.js → context-Byqor78j.js} +1 -1
- package/dist/controllable-C4BSt73s.js +1 -0
- package/dist/{conversation-item-BxwQLaFJ.js → conversation-item-piXZFRWa.js} +1 -1
- package/dist/{conversation-list-BCfGN1JU.js → conversation-list-B5yu9cPg.js} +1 -1
- package/dist/{copy-n9u9rqpi.js → copy-DfI2NYEX.js} +1 -1
- package/dist/{create-tween-uPkArjIG.js → create-tween-C4j96_Aj.js} +1 -1
- package/dist/{create-tween-C-q-JCM-.js → create-tween-CHleHI8m.js} +1 -1
- package/dist/{create-tween-CRrJXxBd.js → create-tween-DQ6lOhdl.js} +1 -1
- package/dist/{create-tween-DZ3RRDHD.js → create-tween-DyjTgkJi.js} +1 -1
- package/dist/custom-elements.json +40 -5
- package/dist/{default-input-CaMrJkgH.js → default-input-Bwmt8Lai.js} +1 -1
- package/dist/define-B3OpsIDE.js +1 -0
- package/dist/define.js +41 -41
- package/dist/define.server.js +46 -46
- package/dist/{disclosure-WUImBbDv.js → disclosure-ZSAlD4wg.js} +1 -1
- package/dist/{dropdown-wZVeJOMd.js → dropdown-CSRhiMN2.js} +1 -1
- 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-actions.d.ts +12 -0
- package/dist/elements/chat-scope-picker.js +1 -1
- package/dist/elements/chat-types.d.ts +7 -2
- package/dist/elements/chat-workspace.js +1 -1
- package/dist/elements/chat.js +1 -1
- package/dist/elements/checkbox-group.js +1 -1
- package/dist/elements/checkbox.js +1 -1
- package/dist/elements/checkpoint.js +1 -1
- package/dist/elements/choice.js +1 -1
- 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-item.js +1 -1
- package/dist/elements/conversation-list.js +1 -1
- package/dist/elements/dialog.js +1 -1
- package/dist/elements/dock.js +1 -1
- package/dist/elements/dropdown.js +1 -1
- package/dist/elements/editable-label.js +1 -1
- 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-grid.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/radio-group.js +1 -1
- package/dist/elements/reasoning.js +1 -1
- 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/select.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/slider.js +1 -1
- 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/voice-input.js +1 -1
- package/dist/elements/voice-output.js +1 -1
- package/dist/elements.d.ts +22 -10
- package/dist/{ellipsis-CbOpJnU3.js → ellipsis-CJ5QIjWo.js} +1 -1
- package/dist/{embed-CrfjkbUG.js → embed-6Vji0PfS.js} +1 -1
- package/dist/{external-link-ByXAwBBQ.js → external-link-BPTtTdet.js} +1 -1
- package/dist/{file-text-DMib2qwt.js → file-text-eVjcFDrK.js} +1 -1
- package/dist/{file-tree-CJqM2aP7.js → file-tree-a9tfWYmg.js} +1 -1
- package/dist/{folder-_BAb929C.js → folder-DN6Ilq6d.js} +1 -1
- package/dist/{form-DSZgZQZk.js → form-U1cwhcQx.js} +1 -1
- package/dist/{hover-card-BQbul9eq.js → hover-card-C5ptzZOZ.js} +1 -1
- package/dist/{icon-CdcfRhYI.js → icon-BOMrFp0D.js} +1 -1
- package/dist/index.js +2297 -2279
- package/dist/index.server.js +2102 -2084
- package/dist/{info-DsFjGuI_.js → info-DxzKsIHn.js} +1 -1
- package/dist/{input-DKbmkMos.js → input-aW72PACH.js} +1 -1
- package/dist/kai.es.js +1 -1
- package/dist/{kbd-PvdGhX4s.js → kbd-BP-6MwUs.js} +1 -1
- package/dist/{link-preview-DbM1866N.js → link-preview-CZaDilMG.js} +1 -1
- package/dist/{link-zF8PzWfF.js → link-rlN11N0B.js} +1 -1
- package/dist/loader-BdFK70fF.js +1 -0
- package/dist/{markdown-LMvmAyBk.js → markdown-DjEaoNz-.js} +1 -1
- package/dist/mcp.es.js +587 -111
- package/dist/message--Nlbemtp.js +1 -0
- package/dist/message-C88yTu2A.js +1 -0
- package/dist/message-circle-CZeVDN1f.js +1 -0
- package/dist/message-square-BXNBKC6i.js +1 -0
- package/dist/{minimize-2-BQRoBV1V.js → minimize-2-BxLOOSEf.js} +1 -1
- package/dist/{model-switcher-CMpCOYcB.js → model-switcher-BxRvub2A.js} +1 -1
- package/dist/{overlay-Cb-MkyDa.js → overlay-CDwKJtHN.js} +1 -1
- package/dist/{panel-right-i8warFxT.js → panel-right-BovedCwW.js} +1 -1
- package/dist/{paperclip-ByY3UVO6.js → paperclip-D0Xyjja2.js} +1 -1
- package/dist/play-DGJ4MgB2.js +1 -0
- package/dist/primitives/speech.d.ts +35 -0
- package/dist/primitives/use-auto-resize.d.ts +11 -0
- package/dist/{progress-bar-jVAHvMUf.js → progress-bar-D-aQfy5h.js} +1 -1
- package/dist/{prompt-suggestion-CD-qtNgC.js → prompt-suggestion-C6qLjMEQ.js} +1 -1
- package/dist/{radio-BsoBMhkF.js → radio-D1CkXISc.js} +1 -1
- package/dist/react/index.d.ts +22 -6
- package/dist/react.js +13 -13
- package/dist/{reasoning-4kBPtlTx.js → reasoning-DARmbgmE.js} +1 -1
- package/dist/register-impl-WcrdIihK.js +424 -0
- package/dist/{resizable-uPmY9VY-.js → resizable-Da6oSO2z.js} +1 -1
- package/dist/{rotate-ccw-B2xn93py.js → rotate-ccw-31ed1xK_.js} +1 -1
- package/dist/{rotate-cw-CMVLoCyH.js → rotate-cw-qkl39dw3.js} +1 -1
- package/dist/{scroll-area-BqLUo8ZZ.js → scroll-area-RrKnLYlA.js} +1 -1
- package/dist/{scroll-button-DslXiJyL.js → scroll-button--QeNjobK.js} +1 -1
- package/dist/{select-2cLRtPGT.js → select-CS_0mWW3.js} +1 -1
- package/dist/{separator-BWQtNJcM.js → separator-fT-zBypW.js} +1 -1
- package/dist/{settings-BBR63jLg.js → settings-dfkV_WDm.js} +1 -1
- package/dist/{settings-group-B2ciy-Iw.js → settings-group-CX694npG.js} +1 -1
- package/dist/{skeleton-CkHI-HgC.js → skeleton-BsqKD9TV.js} +1 -1
- package/dist/{slider-DDR9U-i0.js → slider-_EWfTH9H.js} +1 -1
- package/dist/{solid-DruVOXnf.js → solid-BITWG_VE.js} +4214 -3996
- package/dist/{solid-BzCFdL25.js → solid-CRFYWlBw.js} +5647 -5373
- package/dist/solid.d.ts +6 -0
- package/dist/solid.js +259 -254
- package/dist/solid.server.js +259 -254
- package/dist/{source-GEnFF528.js → source-Da1TFiuj.js} +1 -1
- package/dist/speech-CjbWuqG2.js +1 -0
- package/dist/{star-CilHq8GP.js → star-ZvSbbXS6.js} +1 -1
- package/dist/{store-Ciyk6eZG.js → store-DE5lcr9q.js} +1 -1
- package/dist/{switch-KkeQIbuH.js → switch-P_fsHqv3.js} +1 -1
- package/dist/{tasks-card-BrN4bggJ.js → tasks-card-B86qqyZm.js} +1 -1
- package/dist/text-shimmer-BAkw_65G.js +1 -0
- package/dist/textarea-Bkinatpi.js +1 -0
- package/dist/theme.tokens.css +22 -21
- package/dist/{thumbs-up-CsT9Wzb9.js → thumbs-up-CDGW7a4o.js} +1 -1
- package/dist/{toast-store-tgK6MuMv.js → toast-store-B94I50AO.js} +1 -1
- package/dist/{tool-DzUjIBT8.js → tool-CUiCeyi1.js} +1 -1
- package/dist/{tooltip-Bkkg_4t0.js → tooltip-B3wlQSPh.js} +1 -1
- package/dist/{trash-2-jBKxjGGQ.js → trash-2-Cu8yZmFQ.js} +1 -1
- package/dist/{triangle-alert-DlQ68ppf.js → triangle-alert-CCtDUUmn.js} +1 -1
- package/dist/ui/button-variant-names.d.ts +12 -0
- package/dist/ui/button.d.ts +6 -0
- package/dist/ui/color-field.d.ts +48 -0
- package/dist/ui/textarea.d.ts +4 -0
- package/dist/ui/toggle-chip.d.ts +40 -0
- package/dist/{upload-TcAHXv9W.js → upload-CxotJlLv.js} +1 -1
- package/dist/{use-card-resolution-DaZqAdWf.js → use-card-resolution-DILUvNyj.js} +1 -1
- package/dist/{variant-aurora-DbW_OWL2.js → variant-aurora-BGaXBBGf.js} +1 -1
- package/dist/{variant-aurora-BhLuYxJR.js → variant-aurora-BLcQmvkd.js} +1 -1
- package/dist/{variant-aurora-CNmfHhcx.js → variant-aurora-DZIfAtx1.js} +2 -2
- package/dist/{variant-aurora-D6GsdTPA.js → variant-aurora-DpoIW4ZX.js} +2 -2
- package/dist/{variant-custom-BRvaNHSi.js → variant-custom-BhtWdAxE.js} +1 -1
- package/dist/{variant-custom-DMTrEO5w.js → variant-custom-BtApuSyr.js} +2 -2
- package/dist/{variant-custom-DV2x254s.js → variant-custom-C-zS4ZtE.js} +2 -2
- package/dist/{variant-custom-BvYHR62b.js → variant-custom-swi9PXxU.js} +1 -1
- package/dist/{variant-wave-sp-qwsdI.js → variant-wave-7JCIwhpb.js} +1 -1
- package/dist/{variant-wave-BpDd8t3Z.js → variant-wave-BG4nGr6x.js} +1 -1
- package/dist/{variant-wave-BNMGrDfj.js → variant-wave-C32lM9G2.js} +2 -2
- package/dist/{variant-wave-CyBueXj9.js → variant-wave-Dl6jOiK3.js} +2 -2
- package/dist/x-C4niw05N.js +1 -0
- package/frameworks/react/index.tsx +12 -6
- package/kit-base.css +311 -0
- package/llms-full.txt +9 -6
- package/llms.txt +1 -1
- package/package.json +23 -4
- package/solid.css +48 -0
- package/src/elements/element-meta.json +39 -14
- package/theme.css +39 -23
- package/dist/action-icons-CcgNN2oT.js +0 -1
- package/dist/arrow-down-CjRU3JgV.js +0 -1
- package/dist/arrow-left-Bnpb1UEW.js +0 -1
- package/dist/artifact-Bwt7OgcR.js +0 -1
- package/dist/assets/dev-5XzXYR21.js +0 -91
- package/dist/button-DkuOnGLy.js +0 -1
- package/dist/check-njkVdZu2.js +0 -1
- package/dist/chevron-down-B72s6PXR.js +0 -1
- package/dist/chevron-right-BatuHzUm.js +0 -1
- package/dist/circle-check-B62pODB3.js +0 -1
- package/dist/circle-zx0ByzY9.js +0 -1
- package/dist/controllable-CnGpMF6r.js +0 -1
- package/dist/define-By-uL588.js +0 -1
- package/dist/loader-BM4CEz4G.js +0 -1
- package/dist/message-BSsgvHvf.js +0 -1
- package/dist/message-BYZECyek.js +0 -1
- package/dist/message-circle-DruwObfX.js +0 -1
- package/dist/message-square-BG6q6mlm.js +0 -1
- package/dist/play-BvKKq3fX.js +0 -1
- package/dist/register-impl-B1hLkrI8.js +0 -424
- package/dist/text-shimmer-Dcj1MHuq.js +0 -1
- package/dist/textarea-Dpvbngbg.js +0 -1
- package/dist/x-Z5UntkIJ.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,: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-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-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-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:var(--kai-text-meta,.75rem);--text-xs--line-height:calc(1 / .75);--text-sm:var(--kai-text-body,.875rem);--text-sm--line-height:calc(1.25 / .875);--text-base:var(--kai-text-title,1rem);--text-base--line-height: 1.5 ;--text-lg:var(--kai-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);--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);--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-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-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-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-unread:var(--kai-color-unread,#ef4343);--color-highlight:var(--kai-color-highlight,#fde291);--color-selection:var(--kai-color-selection,#bfdbfd);--color-selection-foreground:var(--kai-color-selection-foreground,#09090b);--color-border:var(--kai-color-border,#e4e4e7);--color-input:var(--kai-color-input,#81818d);--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-micro:var(--kai-text-micro,.625rem);--text-micro--line-height:calc(.875 / .625);--text-caption:var(--kai-text-caption,.6875rem);--text-caption--line-height:calc(1 / .6875);--text-meta:var(--kai-text-meta,.75rem);--text-meta--line-height:calc(1 / .75);--text-compact:var(--kai-text-compact,.8125rem);--text-compact--line-height: 1.5 ;--text-body:var(--kai-text-body,.875rem);--text-body--line-height:calc(1.25 / .875);--text-title:var(--kai-text-title,1rem);--text-title--line-height: 1.5 }}@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}code,kbd,samp,pre{font-family:var(--kai-font-code,ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace)}*{border-color:var(--color-border)}.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}::selection{background-color:var(--color-selection);color:var(--color-selection-foreground)}@media(prefers-reduced-motion:reduce){.animate-in,.animate-out,[class*="animate-["]{animation:none!important}}}@layer components{.kai-focus-inset:focus-visible{outline:2px solid var(--color-ring);outline-offset:-2px}.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-checkbox:indeterminate{background-color:var(--color-primary);border-color:var(--color-primary);box-shadow:0 1px 4px var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.kai-checkbox:indeterminate{box-shadow:0 1px 4px color-mix(in srgb,var(--color-primary) 26%,transparent)}}.kai-checkbox:indeterminate:after{transform:scale(1);-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='M5 12h14'/%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='M5 12h14'/%3E%3C/svg%3E") 50%/contain no-repeat}.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-y-0{inset-block:0}.start-0{inset-inline-start:calc(var(--spacing) * 0)}.end-0{inset-inline-end:calc(var(--spacing) * 0)}.-top-0\.5{top:calc(var(--spacing) * -.5)}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.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\.5{right:calc(var(--spacing) * .5)}.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)}.bottom-0{bottom:0}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-14{bottom:calc(var(--spacing) * 14)}.left-1\/2{left:50%}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-1\.5{margin-inline:calc(var(--spacing) * -1.5)}.mx-auto{margin-inline:auto}.-my-1{margin-block:calc(var(--spacing) * -1)}.my-1{margin-block:var(--spacing)}.my-4{margin-block:calc(var(--spacing) * 4)}.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:"“""”""‘""’";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}.-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-6{margin-top:calc(var(--spacing) * 6)}.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)}.-ml-2\.5{margin-left:calc(var(--spacing) * -2.5)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1\.75{margin-left:calc(var(--spacing) * 1.75)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.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-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-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-56{height:calc(var(--spacing) * 56)}.h-64{height:calc(var(--spacing) * 64)}.h-80{height:calc(var(--spacing) * 80)}.h-96{height:calc(var(--spacing) * 96)}.h-\[400px\]{height:400px}.h-\[420px\]{height:420px}.h-\[440px\]{height:440px}.h-\[500px\]{height:500px}.h-\[520px\]{height:520px}.h-\[600px\]{height:600px}.h-\[640px\]{height:640px}.h-auto{height:auto}.h-dvh{height:100dvh}.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-\[85vh\]{max-height:85vh}.max-h-\[90\%\]{max-height:90%}.max-h-\[320px\]{max-height:320px}.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-40{min-height:calc(var(--spacing) * 40)}.min-h-\[3rem\]{min-height:3rem}.min-h-\[6rem\]{min-height:6rem}.min-h-\[10rem\]{min-height:10rem}.min-h-\[32rem\]{min-height:32rem}.min-h-\[44px\]{min-height:44px}.min-h-\[260px\]{min-height:260px}.min-h-\[360px\]{min-height:360px}.min-h-dvh{min-height:100dvh}.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-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\/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-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-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-\[4px\]{width:4px}.w-\[32rem\]{width:32rem}.w-\[280px\]{width:280px}.w-\[300px\]{width:300px}.w-\[360px\]{width:360px}.w-\[380px\]{width:380px}.w-\[420px\]{width:420px}.w-\[460px\]{width:460px}.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-\[85\%\]{max-width:85%}.max-w-\[420px\]{max-width:420px}.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-prose{max-width:65ch}.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-\[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}.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}.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-4{--tw-translate-x:calc(var(--spacing) * 4);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-0\.5{--tw-translate-y:calc(var(--spacing) * .5);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-\[kai-blink_1s_step-end_infinite\]{animation:1s step-end infinite kai-blink}.animate-\[kai-bounce-dots_1\.4s_ease-in-out_infinite\]{animation:1.4s ease-in-out infinite kai-bounce-dots}.animate-\[kai-loading-dots_1\.4s_infinite_0\.2s\]{animation:1.4s .2s infinite kai-loading-dots}.animate-\[kai-loading-dots_1\.4s_infinite_0\.4s\]{animation:1.4s .4s infinite kai-loading-dots}.animate-\[kai-loading-dots_1\.4s_infinite_0\.6s\]{animation:1.4s .6s infinite kai-loading-dots}.animate-\[kai-pulse-dot_1\.2s_ease-in-out_infinite\]{animation:1.2s ease-in-out infinite kai-pulse-dot}.animate-\[kai-shimmer_4s_infinite_linear\]{animation:4s linear infinite kai-shimmer}.animate-\[kai-spinner-fade_1\.2s_linear_infinite\]{animation:1.2s linear infinite kai-spinner-fade}.animate-\[kai-text-blink_2s_ease-in-out_infinite\]{animation:2s ease-in-out infinite kai-text-blink}.animate-\[kai-thin-pulse_1\.5s_ease-in-out_infinite\]{animation:1.5s ease-in-out infinite kai-thin-pulse}.animate-\[kai-typing_1s_infinite\]{animation:1s infinite kai-typing}.animate-\[kai-wave-bars_1\.2s_ease-in-out_infinite\]{animation:1.2s ease-in-out infinite kai-wave-bars}.animate-\[kai-wave_1s_ease-in-out_infinite\]{animation:1s ease-in-out infinite kai-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-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.scroll-mt-4{scroll-margin-top:calc(var(--spacing) * 4)}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.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-\[380px_1fr\]{grid-template-columns:380px 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-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-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-\[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-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.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-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-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-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-border\/70{border-color:var(--color-border)}@supports (color:color-mix(in lab,red,red)){.border-border\/70{border-color:color-mix(in oklab,var(--color-border) 70%,transparent)}}.border-destructive,.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-color:var(--color-ring)}.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-background\/85{background-color:var(--color-background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/85{background-color:color-mix(in oklab,var(--color-background) 85%,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\/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-card\/90{background-color:var(--color-card)}@supports (color:color-mix(in lab,red,red)){.bg-card\/90{background-color:color-mix(in oklab,var(--color-card) 90%,transparent)}}.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-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{background-color:var(--color-muted-foreground)}.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-muted\/60{background-color:var(--color-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/60{background-color:color-mix(in oklab,var(--color-muted) 60%,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\/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-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-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{background-color:var(--color-surface-sunken)}.bg-surface\/40{background-color:var(--color-surface)}@supports (color:color-mix(in lab,red,red)){.bg-surface\/40{background-color:color-mix(in oklab,var(--color-surface) 40%,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{background-color:var(--color-tool-blue)}.bg-tool-green{background-color:var(--color-tool-green)}.bg-tool-red{background-color:var(--color-tool-red)}.bg-transparent{background-color:#0000}.bg-unread{background-color:var(--color-unread)}.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-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-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}.fill-primary{fill:var(--color-primary)}.stroke-border{stroke:var(--color-border)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-10{padding:calc(var(--spacing) * 10)}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-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-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.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-\[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)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.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-16{padding-bottom:calc(var(--spacing) * 16)}.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-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-start{text-align:start}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--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-compact{font-size:var(--text-compact);line-height:var(--tw-leading,var(--text-compact--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-micro{font-size:var(--text-micro);line-height:var(--tw-leading,var(--text-micro--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.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-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.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-\[color-mix\(\.\.\.\)\]{color:color-mix(...)}.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-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-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-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-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);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)}.inset-ring-2{--tw-inset-ring-shadow:inset 0 0 0 2px var(--tw-inset-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-primary{--tw-ring-color:var(--color-primary)!important}.ring-border{--tw-ring-color:var(--color-border)}.ring-primary,.ring-primary\/50{--tw-ring-color:var(--color-primary)}@supports (color:color-mix(in lab,red,red)){.ring-primary\/50{--tw-ring-color:color-mix(in oklab, var(--color-primary) 50%, transparent)}}.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)}}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.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,)}.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-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-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}.\[outline-style\:solid\]{outline-style:solid}.paused{animation-play-state:paused}.ring-inset{--tw-ring-inset:inset}.running{animation-play-state:running}.slide-in-from-bottom-1{--tw-enter-translate-y:calc(1*var(--spacing))}.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)}.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 *){opacity:1}.group-hover\/tab\:inline:is(:where(.group\/tab):hover *){display:inline}.group-hover\/tab\:opacity-100:is(:where(.group\/tab):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}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.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-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-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-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\/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-sunken:hover{background-color:var(--color-surface-sunken)}.hover\:bg-transparent:hover{background-color:#0000}.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-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-primary:focus-visible{--tw-ring-color:var(--color-primary)}.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\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:-outline-offset-2:focus-visible{outline-offset:-2px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--color-ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.focus-visible\:\[outline-style\:solid\]:focus-visible{outline-style:solid}.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-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.has-\[\:focus-visible\]\:ring-2:has(: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)}.has-\[\:focus-visible\]\:ring-ring:has(:focus-visible){--tw-ring-color:var(--color-ring)}.has-\[\:focus-visible\]\:ring-offset-2:has(: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)}.has-\[\:focus-visible\]\:ring-offset-background:has(:focus-visible){--tw-ring-offset-color:var(--color-background)}.has-\[\:focus-visible\]\:outline-none:has(:focus-visible){--tw-outline-style:none;outline-style:none}.has-\[\:focus-visible\]\:ring-inset:has(:focus-visible){--tw-ring-inset:inset}.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}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-card\/75{background-color:var(--color-card)}@supports (color:color-mix(in lab,red,red)){.supports-\[backdrop-filter\]\:bg-card\/75{background-color:color-mix(in oklab,var(--color-card) 75%,transparent)}}}@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\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(min-width:64rem){.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))}}.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\: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-unread:var(--kai-color-unread,#ef4343);--color-highlight:var(--kai-color-highlight,#745311);--color-selection:var(--kai-color-selection,#214683);--color-selection-foreground:var(--kai-color-selection-foreground,#fafafa);--color-border:var(--kai-color-border,#2d2c2a);--color-input:var(--kai-color-input,#7f7d76);--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)}}.kai-scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) transparent}.kai-scrollbar-thin::-webkit-scrollbar{width:8px;height:8px}.kai-scrollbar-thin::-webkit-scrollbar-track{background:0 0}.kai-scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:9999px}.kai-scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--color-scrollbar-thumb-hover)}.kai-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 kai-typing{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@keyframes kai-loading-dots{0%,to{opacity:0}50%{opacity:1}}@keyframes kai-wave{0%,to{transform:scaleY(1)}50%{transform:scaleY(.6)}}@keyframes kai-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes kai-text-blink{0%,to{color:var(--color-primary)}50%{color:var(--color-muted-foreground)}}@keyframes kai-bounce-dots{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes kai-thin-pulse{0%,to{opacity:.8;transform:scale(.95)}50%{opacity:.4;transform:scale(1.05)}}@keyframes kai-pulse-dot{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}@keyframes kai-wave-bars{0%,to{opacity:.5;transform:scaleY(1)}50%{opacity:1;transform:scaleY(.6)}}@keyframes kai-shimmer{0%{background-position:200%}to{background-position:-200%}}@keyframes kai-spinner-fade{0%{opacity:0}to{opacity:1}}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<!-- class="dark" (owner ruling, dark-round): the kit resolves dark mode via
|
|
3
|
+
a plain `.dark` class ancestor — theme.css's `@custom-variant dark
|
|
4
|
+
(&:is(.dark *))` — not prefers-color-scheme, so nothing turns dark
|
|
5
|
+
without it. The builder's own chrome (this shell) is dark by default;
|
|
6
|
+
the PREVIEW iframe's app is a separate document with its own theme,
|
|
7
|
+
driven by each starter's `theme.mode` in templates.ts (dark for every
|
|
8
|
+
buildable template except widget, which follows the host site). -->
|
|
9
|
+
<html lang="en" class="dark">
|
|
10
|
+
<head>
|
|
11
|
+
<meta charset="utf-8" />
|
|
12
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
13
|
+
<title>kai builder</title>
|
|
14
|
+
<script type="module" crossorigin src="./assets/index-C10OF-ur.js"></script>
|
|
15
|
+
<link rel="stylesheet" crossorigin href="./assets/index-CFyKLBlu.css">
|
|
16
|
+
</head>
|
|
17
|
+
<body>
|
|
18
|
+
<div id="root"></div>
|
|
19
|
+
</body>
|
|
20
|
+
</html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s,p as n,q as o,i as a,t as u}from"./define-B3OpsIDE.js";import{c as d}from"./index-xu_pdcPi.js";import{c as l}from"./cn-DN5AWfiS.js";var c=u("<button>");const f={default:"bg-primary text-primary-foreground hover:bg-primary/90",ghost:"hover:bg-muted text-foreground",subtle:"text-muted-foreground hover:bg-accent hover:text-foreground",outline:"bg-muted/50 text-foreground hover:bg-muted",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90"},g=d("inline-flex items-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",{variants:{variant:f,size:{sm:"h-8 px-3 text-xs rounded-md",md:"h-9 px-4 text-sm",lg:"h-10 px-6 text-sm",icon:"h-9 w-9","icon-sm":"h-7 w-7"},align:{start:"justify-start",center:"justify-center",end:"justify-end"}},defaultVariants:{variant:"default",size:"md",align:"center"}});function m(r){const[e,i]=s(r,["variant","size","align","full","class","children"]);return(()=>{var t=c();return n(t,o({get class(){return l(g({variant:e.variant,size:e.size,align:e.align}),e.full&&"w-full",e.class)}},i),!1,!0),a(t,()=>e.children),t})()}export{m as B};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z as f,i as l,c as a,d as m,S as g,m as E,a as A,l as O,t as c,w as $,k as y,j as S,D as z}from"./define-
|
|
1
|
+
import{z as f,i as l,c as a,d as m,S as g,m as E,a as A,l as O,t as c,w as $,k as y,j as S,D as z}from"./define-B3OpsIDE.js";import{C as F,u as k}from"./use-card-resolution-DILUvNyj.js";import{e as U}from"./card-routing-0YidER_3.js";import{F as T,v as M}from"./form-U1cwhcQx.js";import{C as P}from"./confirm-card-B63pZIfG.js";import{T as N}from"./tasks-card-B86qqyZm.js";import{C as B}from"./choice-card-BYBmPAT5.js";import{L as D}from"./link-preview-CZaDilMG.js";import{E as R}from"./embed-6Vji0PfS.js";import{A as Z}from"./artifact-DoUAr1Fd.js";import{t as j}from"./triangle-alert-CCtDUUmn.js";var _=c('<h3 class="shrink-0 truncate border-b border-border px-3 py-2 text-sm font-medium text-foreground">'),G=c('<div part=card data-card-type=artifact role=group class="flex w-full flex-col overflow-hidden rounded-xl border border-border bg-card"><div class="min-h-0 flex-1">');const H="420px";function J(e){return typeof e=="number"?`${e}px`:typeof e=="string"&&e.trim()!==""?e:H}function K(e){const r=$(),t=f(()=>e.data.tab),d=f(()=>e.data.activeFile),s=i=>{var o;return(o=e.host)==null?void 0:o.emit({kind:"state",cardId:e.cardId,patch:i})};return(()=>{var i=G(),o=i.firstChild;return l(i,a(g,{get when(){return e.heading},get children(){var n=_();return m(n,"id",r),l(n,()=>e.heading),n}}),o),l(o,a(Z,{get src(){return e.data.src},get files(){return e.data.files},defaultTab:t,activeFile:d,get displayUrl(){return e.data.displayUrl},get iframeTitle(){return E(()=>!!e.heading)()?`${e.heading} preview`:"Artifact preview"},onNavigate:n=>s({src:n}),onTabChange:n=>s({tab:n}),onFileSelect:n=>s({activeFile:n})})),A(n=>{var p=e.cardId,u=e.heading?r:void 0,b=e.heading?void 0:"Artifact",x=J(e.data.height);return p!==n.e&&m(i,"data-card-id",n.e=p),u!==n.t&&m(i,"aria-labelledby",n.t=u),b!==n.a&&m(i,"aria-label",n.a=b),x!==n.o&&O(i,"height",n.o=x),n},{e:void 0,t:void 0,a:void 0,o:void 0}),i})()}const h={form:e=>a(T,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},get heading(){return e.envelope.title},get resolution(){return e.envelope.resolution},get host(){return e.host}}),confirm:e=>a(P,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},get heading(){return e.envelope.title},get resolution(){return e.envelope.resolution},get host(){return e.host}}),tasks:e=>a(N,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},get heading(){return e.envelope.title},get resolution(){return e.envelope.resolution},get host(){return e.host}}),choice:e=>a(B,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},get heading(){return e.envelope.title},get resolution(){return e.envelope.resolution},get host(){return e.host}}),link:e=>a(D,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},onEmit:r=>{var t;return(t=e.host)==null?void 0:t.emit(r)}}),embed:e=>a(R,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},onEmit:r=>{var t;return(t=e.host)==null?void 0:t.emit(r)}}),artifact:e=>a(K,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},get heading(){return e.envelope.title},get host(){return e.host}})};function Q(e){return e?{...h,...e}:{...h}}const I={artifact:{type:"object",properties:{src:{type:"string"},files:{type:"array",maxItems:500,items:{type:"object",required:["path"],properties:{path:{type:"string",maxLength:1024},url:{type:"string"},code:{type:"string"},language:{type:"string",maxLength:40},type:{type:"string",enum:["html","pdf","image","other"]},additions:{type:"integer",minimum:0},deletions:{type:"integer",minimum:0},status:{type:"string",enum:["added","modified","deleted","renamed","untracked"]}}}},tab:{type:"string",enum:["preview","code"]},activeFile:{type:"string",maxLength:1024},displayUrl:{type:"string",maxLength:2048}}},choice:{type:"object",required:["options"],properties:{prompt:{type:"string"},submitLabel:{type:"string"},options:{type:"array",minItems:1,items:{type:"object",required:["id","label"],properties:{id:{type:"string",minLength:1},label:{type:"string",minLength:1},description:{type:"string"},media:{type:"object",properties:{image:{type:"string"},imageAlt:{type:"string"},icon:{type:"string"}}},meta:{type:"string"},recommended:{type:"boolean"},disabled:{type:"boolean"}}}},dismissible:{type:"boolean"}}},confirm:{type:"object",required:["actions"],properties:{heading:{type:"string"},body:{type:"string"},tone:{type:"string",enum:["default","warning","danger"]},actions:{type:"array",minItems:1,maxItems:4,items:{type:"object",required:["id","label"],properties:{id:{type:"string",minLength:1},label:{type:"string",minLength:1},style:{type:"string",enum:["primary","default","destructive"]},default:{type:"boolean"}}}},dismissible:{type:"boolean"}}},embed:{type:"object",required:["provider"],properties:{provider:{type:"string",enum:["youtube","vimeo","generic"]},id:{type:"string",maxLength:64,pattern:"^[A-Za-z0-9_-]+$"},url:{type:"string"},title:{type:"string",maxLength:300},poster:{type:"string"},start:{type:"integer",minimum:0},aspectRatio:{type:"string",enum:["16:9","4:3","1:1","9:16"]}}},form:{type:"object",required:["type","properties"],properties:{type:{const:"object"},title:{type:"string"},description:{type:"string"},required:{type:"array",items:{type:"string"}},properties:{type:"object"},"x-kai-order":{type:"array",items:{type:"string"}},"x-kai-inlineMax":{type:"integer",minimum:1},"x-kai-submitLabel":{type:"string"},"x-kai-dismissible":{type:"boolean"},"x-kai-actions":{type:"array",items:{type:"object",required:["id","label"],properties:{id:{type:"string"},label:{type:"string"},variant:{enum:["default","ghost","outline"]}}}}}},link:{type:"object",required:["url"],properties:{url:{type:"string"},title:{type:"string",maxLength:300},description:{type:"string",maxLength:1e3},image:{type:"string"},imageAlt:{type:"string",maxLength:300},favicon:{type:"string"},domain:{type:"string",maxLength:253},siteName:{type:"string",maxLength:200}}},tasks:{type:"object",required:["tasks"],properties:{mode:{type:"string",enum:["select","progress"]},heading:{type:"string"},tasks:{type:"array",minItems:1,items:{type:"object",required:["id","label"],properties:{id:{type:"string",minLength:1},label:{type:"string",minLength:1},description:{type:"string"},checked:{type:"boolean"},disabled:{type:"boolean"}}}},selectAll:{type:"boolean"},confirmLabel:{type:"string"},allowEmpty:{type:"boolean"},min:{type:"integer",minimum:0},max:{type:"integer",minimum:1},dismissible:{type:"boolean"}}}},V=Object.freeze({type:"hard",required:"hard",const:"hard",minItems:"hard",enum:"soft",maxItems:"soft",minLength:"soft",maxLength:"soft",pattern:"soft",minimum:"soft",maximum:"soft",exclusiveMinimum:"soft",exclusiveMaximum:"soft",uniqueItems:"soft"}),W="soft";function X(e){return Object.prototype.hasOwnProperty.call(I,e)}function Y(e,r){if(r&&Object.prototype.hasOwnProperty.call(r,e)){const t=r[e];if(t&&typeof t=="object")return t}return X(e)?I[e]:null}function ee(e){const r=e.slice(0,3).map(d=>d.message),t=e.length-r.length;return r.join("; ")+(t>0?`; and ${t} more`:"")}function L(e,r,t){const d=Y(e,t);if(d===null)return null;const s=M(d,r);if(s.valid)return{ok:!0,tier:"ok",issues:[],hard:[],summary:""};const i=s.issues.map(n=>({...n,tier:V[n.keyword]??W})),o=i.filter(n=>n.tier==="hard");return{ok:!1,tier:o.length>0?"hard":"soft",issues:i,hard:o,summary:ee(o.length>0?o:i)}}function w(e){return`invalid card data (${e.tier}): ${e.summary}`}var te=c('<div data-card-fallback role=alert class="flex items-center gap-2 p-4 text-sm text-muted-foreground"><span>Unsupported card type: <code class=font-mono>'),re=c('<div data-card-fallback data-card-invalid role=alert class="flex items-start gap-2 p-4 text-sm text-muted-foreground"><span class=min-w-0>Invalid <code class=font-mono></code> card: <code data-card-invalid-reason class="font-mono break-words">');function v(e){return a(F,{get children(){return a(g,{get when(){return e.reason},get fallback(){return(()=>{var r=te(),t=r.firstChild,d=t.firstChild,s=d.nextSibling;return l(r,a(j,{class:"size-4 shrink-0 text-destructive dark:text-red-400","aria-hidden":"true"}),t),l(s,()=>e.type),r})()},children:r=>(()=>{var t=re(),d=t.firstChild,s=d.firstChild,i=s.nextSibling,o=i.nextSibling,n=o.nextSibling;return l(t,a(j,{class:"size-4 shrink-0 translate-y-0.5 text-destructive dark:text-red-400","aria-hidden":"true"}),d),l(i,()=>e.type),l(n,r),t})()})}})}function q(e,r){return e||(r?{context:()=>({theme:{mode:"light"},locale:"en"}),emit:t=>U(r,t)}:void 0)}function C(e,r){if(!e||!Object.prototype.hasOwnProperty.call(e,r))return!1;const t=e[r];return typeof t=="object"&&t!==null}function ne(e){const r=k(),t=y(()=>q(r,e.hostElement)),d=y(()=>Q(e.types)),s=y(()=>d()[e.envelope.type]),i=y(()=>e.validateCards===!1||!C(e.schemas,e.envelope.type)&&s()!==h[e.envelope.type]?null:L(e.envelope.type,e.envelope.data,e.schemas));let o=null;return S(()=>{var n;const p=i();if(!s())return;if(!p||p.ok){o=null;return}const u=w(p);u!==o&&(o=u,(n=t())==null||n.emit({kind:"error",cardId:e.envelope.id,message:u}))}),a(g,{get when(){return s()},get fallback(){return a(ie,{get envelope(){return e.envelope},get hostElement(){return e.hostElement}})},children:n=>a(g,{get when(){var p;return((p=i())==null?void 0:p.tier)==="hard"},get fallback(){return a(z,{get component(){return n()},get envelope(){return e.envelope},get host(){return t()}})},get children(){return a(v,{get type(){return e.envelope.type},get cardId(){return e.envelope.id},get reason(){return i().summary}})}})})}function ie(e){const r=k();return f(()=>{var t;return(t=q(r,e.hostElement))==null?void 0:t.emit({kind:"error",cardId:e.envelope.id,message:`Unsupported card type: ${e.envelope.type}`})}),a(v,{get type(){return e.envelope.type},get cardId(){return e.envelope.id}})}export{h as B,v as C,ne as a,w as c,C as h,L as v};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as o}from"./Icon-DJDuE_-x.js";import{c as m,q as r}from"./define-B3OpsIDE.js";var c=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],e=a=>m(o,r(a,{name:"Check",iconNode:c})),f=e;export{f as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as C,p as k,q as w,i as n,c as o,S as b,a as B,b as S,F as y,t as i}from"./define-
|
|
1
|
+
import{s as C,p as k,q as w,i as n,c as o,S as b,a as B,b as S,F as y,t as i}from"./define-B3OpsIDE.js";import{c as m}from"./cn-DN5AWfiS.js";import{C as O}from"./checkbox-np_5mKxM.js";var F=i("<div>"),q=i("<label>"),G=i('<span class="flex flex-col gap-0.5"><span></span><span class="text-xs font-normal text-muted-foreground">'),P=i("<span>");function T(f){const[r,h]=C(f,["options","value","name","disabled","label","onChange","onOptionBlur","itemClass","children","class"]),g=()=>r.value??[];return(()=>{var d=F();return k(d,w(h,{role:"group",get"aria-label"(){return r.label},get class(){return m("divide-y divide-border overflow-hidden rounded-lg border border-border",r.class)}}),!1,!0),n(d,o(y,{get each(){return r.options},children:e=>{const u=()=>g().includes(e.value),v=()=>!!(r.disabled||e.disabled);return(()=>{var l=q();return n(l,o(O,{get name(){return r.name},get value(){return String(e.value)},get checked(){return u()},get disabled(){return v()},get class(){return e.description===void 0?void 0:"mt-0.5"},onChange:t=>{var a;const s=t.currentTarget.checked,p=g(),x=s?[...p.filter(c=>c!==e.value),e.value]:p.filter(c=>c!==e.value);(a=r.onChange)==null||a.call(r,x,e,s)},onBlur:()=>{var t;return(t=r.onOptionBlur)==null?void 0:t.call(r)}}),null),n(l,o(b,{get when(){return r.children},get fallback(){return o(b,{get when(){return e.description!==void 0},get fallback(){return(()=>{var t=P();return n(t,()=>e.label),t})()},get children(){var t=G(),a=t.firstChild,s=a.nextSibling;return n(a,()=>e.label),n(s,()=>e.description),t}})},children:t=>t()(e,{checked:u(),disabled:v()})}),null),B(()=>S(l,m("flex cursor-pointer items-center gap-3 px-3 py-2.5 text-sm transition-colors",e.description!==void 0&&"items-start",u()?"bg-accent font-medium text-accent-foreground":"text-foreground hover:bg-muted/50",r.itemClass))),l})()}})),d})()}export{T as C};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as c,u as i,j as o,p as f,q as m,t as p}from"./define-
|
|
1
|
+
import{s as c,u as i,j as o,p as f,q as m,t as p}from"./define-B3OpsIDE.js";import{c as u}from"./cn-DN5AWfiS.js";var l=p("<input>");function x(n){const[t,r]=c(n,["class","indeterminate","ref"]);return(()=>{var e=l();return i(s=>{const a=t.ref;typeof a=="function"&&a(s),o(()=>{s.indeterminate=!!t.indeterminate})},e),f(e,m(r,{type:"checkbox",get class(){return u("kai-checkbox",t.class)}}),!1,!1),e})()}export{x as C};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as r}from"./Icon-DJDuE_-x.js";import{c as a,q as m}from"./define-B3OpsIDE.js";var e=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],n=o=>a(r,m(o,{name:"ChevronDown",iconNode:e})),p=n;export{p as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as a}from"./Icon-DJDuE_-x.js";import{c as m,q as r}from"./define-B3OpsIDE.js";var t=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],e=o=>m(a,r(o,{name:"ChevronRight",iconNode:t})),h=e;export{h as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{q as ve,s as fe,k,g as H,j as U,x as ee,o as he,c as l,E as be,S as f,i as u,F as ye,a as w,d as h,b as O,u as re,w as ke,t as m,m as E,e as xe}from"./define-By-uL588.js";import{c as _}from"./cn-DN5AWfiS.js";import{B as te}from"./button-DkuOnGLy.js";import{a as we}from"./radio-BsoBMhkF.js";import{c as Ie}from"./hover-card-BQbul9eq.js";import{u as De,a as Ae,C as G,D as Re}from"./use-card-resolution-DaZqAdWf.js";import{e as $e}from"./card-routing-0YidER_3.js";import{c as Ce}from"./check-njkVdZu2.js";var Ee=m("<div role=radiogroup>"),je=m('<div class="flex flex-col gap-2"><label class=sr-only></label><input type=text class="w-full rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-60">'),Se=m('<div class="flex w-full flex-wrap items-center justify-between gap-2">'),Te=m("<div>"),Le=m('<span class="inline-flex items-center rounded-full bg-[var(--color-primary)] px-1.5 py-0.5 text-micro font-medium uppercase leading-none tracking-wide text-[var(--color-primary-foreground,white)]">Recommended'),Me=m("<img>"),Ve=m('<span aria-hidden=true class="flex h-9 w-9 shrink-0 items-center justify-center rounded-md bg-muted text-sm font-medium text-muted-foreground">'),Fe=m('<img class="max-h-80 max-w-80 rounded-md object-contain">'),Oe=m('<span class="text-xs font-normal text-muted-foreground">'),_e=m('<span class="ml-auto shrink-0 text-xs font-normal text-muted-foreground">'),qe=m('<label><span class="flex min-w-0 flex-col gap-0.5"><span class="flex items-center gap-2"><span class=truncate>'),Pe=m("<span>"),ze=m('<span class="ml-auto text-xs font-normal text-muted-foreground">'),Be=m('<div class="flex items-center gap-3 rounded-lg border border-border bg-accent px-3 py-2.5 text-sm font-medium text-accent-foreground">'),He=m("<span>Other: ");const Ue="choice",I="__other__",J="Other\u2026";function Ge(r){if(!Array.isArray(r)||r.length===0)return{options:[],error:"This card couldn't be displayed."};const d=new Set,t=[];for(const i of r){if(!i||typeof i!="object")continue;const o=i;if(typeof o.id!="string"||o.id.length===0||typeof o.label!="string"||o.label.length===0)continue;if(d.has(o.id)){console.warn(`[kai-choice] duplicate option id "${o.id}" ignored`);continue}d.add(o.id);const c=o.media&&typeof o.media=="object"?{image:typeof o.media.image=="string"?o.media.image:void 0,imageAlt:typeof o.media.imageAlt=="string"?o.media.imageAlt:void 0,icon:typeof o.media.icon=="string"?o.media.icon:void 0}:void 0;t.push({id:o.id,label:o.label,description:typeof o.description=="string"?o.description:void 0,media:c,meta:typeof o.meta=="string"?o.meta:void 0,recommended:o.recommended===!0,disabled:o.disabled===!0,payload:o.payload})}return t.length===0?{options:[],error:"This card couldn't be displayed."}:{options:t}}function Je(r){return r?r===!0?{label:J,placeholder:void 0}:typeof r=="object"?{label:typeof r.label=="string"&&r.label.length>0?r.label:J,placeholder:typeof r.placeholder=="string"?r.placeholder:void 0}:null:null}function ne(r,d,t){const i=r.length;if(i===0)return d;for(let o=1;o<=i;o+=1){const c=((d+t*o)%i+i)%i;if(!r[c].disabled)return c}return d}function oe(r){return r.findIndex(d=>!d.disabled)}function Ke(r){const d=ve({cardId:"kai-choice"},r),[t]=fe(d,["data","cardId","heading","host","hostElement","class","resolution","value","defaultValue","disabled","onValueChange","controllerRef"]),i=De(),o=ke(),c=e=>{const n=t.host??i;n?n.emit(e):t.hostElement&&$e(t.hostElement,e)},T=k(()=>{var e;return Ge((e=t.data)==null?void 0:e.options)}),g=k(()=>T().error===void 0),b=k(()=>T().error??""),D=k(()=>T().options),j=k(()=>{var e;return Je((e=t.data)==null?void 0:e.allowOther)}),M=k(()=>{const e=j();return e?[...D(),{id:I,label:e.label}]:D()}),v=Ae({prop:()=>t.resolution,data:()=>t.data}),ae=k(()=>{const e=v.resolution();return e&&e.kind==="action"?e.action:void 0}),[q,A]=H(0),[ie,K]=H(r.defaultValue),L=k(()=>t.value??ie()),de=e=>{var n;L()!==e&&(K(e),(n=t.onValueChange)==null||n.call(t,e))},[P,N]=H(""),x=()=>t.disabled===!0;let V,S;const Q=k(()=>L()===I);U(ee(()=>t.data,()=>{K(t.defaultValue),N(""),A(Math.max(0,oe(M())))}));const le=k(()=>{var e;const n=v.resolution();return!n||n.kind!=="action"?void 0:n.action===I?{other:!0,text:((e=n.payload)==null?void 0:e.text)??""}:{other:!1,opt:D().find(s=>s.id===n.action),id:n.action}});U(ee(g,e=>{c(e?{kind:"ready",cardId:t.cardId}:{kind:"error",cardId:t.cardId,message:b()})})),U(()=>{const e=t.hostElement;if(!e)return;const n=ae();n!==void 0?e.setAttribute("data-kai-resolved",n):e.removeAttribute("data-kai-resolved")});const se=e=>e.id===I,z=e=>{v.isResolved()||x()||e.disabled||(de(e.id),se(e)&&queueMicrotask(()=>S?.focus()))},ce=k(()=>{if(v.isResolved()||x())return!1;const e=L();return e===void 0?!1:e===I?P().trim().length>0:!0}),ue=()=>{var e;return((e=t.data)==null?void 0:e.submitLabel)??"Submit"},B=()=>{if(v.isResolved()||x())return;const e=L();if(e===void 0)return;if(e===I){const s=P().trim();if(s.length===0)return;c({kind:"action",cardId:t.cardId,action:I,payload:{text:s}}),v.setLocal({kind:"action",action:I,payload:{text:s}});return}const n=D().find(s=>s.id===e);n&&(c({kind:"action",cardId:t.cardId,action:n.id,...n.payload!==void 0?{payload:n.payload}:{}}),v.setLocal({kind:"action",action:n.id,...n.payload!==void 0?{payload:n.payload}:{}}))},W=()=>{v.isResolved()||(c({kind:"dismiss",cardId:t.cardId}),v.setLocal({kind:"dismissed"}))},Y=()=>c({kind:"reopen",cardId:t.cardId}),F=(e,n)=>{var s;const a=V?.querySelectorAll('[role="radio"]');(s=a?.[e])==null||s.focus(n)};he(()=>{var e;(e=t.controllerRef)==null||e.call(t,{focus:n=>{Q()&&S?S.focus(n):F(q(),n)},select:n=>{const s=M(),a=s.findIndex(y=>y.id===n);a!==-1&&(A(a),z(s[a]))},send:()=>B(),dismiss:()=>W(),reopen:()=>Y()})});const ge=e=>{if(v.isResolved()||x())return;const n=M(),s=q();if(e.key==="ArrowDown"||e.key==="ArrowRight"){e.preventDefault();const a=ne(n,s,1);A(a),F(a)}else if(e.key==="ArrowUp"||e.key==="ArrowLeft"){e.preventDefault();const a=ne(n,s,-1);A(a),F(a)}else if(e.key==="Home"){e.preventDefault();const a=Math.max(0,oe(n));A(a),F(a)}else if(e.key===" "||e.key==="Enter"){e.preventDefault();const a=n[s];a&&z(a)}},pe=()=>{var e;return t.heading??((e=t.data)==null?void 0:e.prompt)??"Choose an option"},X=`kai-choice-prompt-${o}`,Z=`kai-choice-other-${o}`,me=`kai-choice-${o}`;return l(f,{get when(){return g()},get fallback(){return l(G,{get heading(){return t.heading},get errorMessage(){return b()}})},get children(){return l(be,{fallback:()=>(c({kind:"error",cardId:t.cardId,message:"The card failed to render."}),l(G,{get heading(){return t.heading},errorMessage:"The card failed to render."})),get children(){return l(f,{get when(){return!v.isDeferred()},get fallback(){return l(Re,{type:Ue,get title(){return t.heading},onReopen:Y})},get children(){return l(G,{get heading(){return t.heading},get description(){var e;return(e=t.data)==null?void 0:e.prompt},descriptionId:X,get children(){var e=Te();return u(e,l(f,{get when(){return!v.isResolved()},get fallback(){return l(Xe,{get choice(){return le()},get optimistic(){return v.isOptimistic()}})},get children(){return[(()=>{var n=Ee();n.$$keydown=ge;var s=V;return typeof s=="function"?re(s,n):V=n,u(n,l(ye,{get each(){return M()},children:(a,y)=>{const p=()=>L()===a.id,R=()=>!a.disabled&&!x()&&y()===q()&&!v.isResolved(),$=`kai-choice-desc-${o}-${a.id}`,C=()=>!!a.description;return l(Ye,{opt:a,name:me,get checked(){return p()},get tabStop(){return R()},get groupDisabled(){return x()},descId:$,get hasDesc(){return C()},onPick:()=>{A(y()),z(a)},onFocus:()=>A(y())})}})),w(a=>{var y,p=pe(),R=(y=t.data)!=null&&y.prompt?X:void 0,$=x()?"true":void 0,C=_("divide-y divide-border overflow-hidden rounded-lg border border-border",x()&&"cursor-not-allowed opacity-60");return p!==a.e&&h(n,"aria-label",a.e=p),R!==a.t&&h(n,"aria-describedby",a.t=R),$!==a.a&&h(n,"aria-disabled",a.a=$),C!==a.o&&O(n,a.o=C),a},{e:void 0,t:void 0,a:void 0,o:void 0}),n})(),l(f,{get when(){return Q()},get children(){var n=je(),s=n.firstChild,a=s.nextSibling;h(s,"for",Z),u(s,()=>{var p;return((p=j())==null?void 0:p.label)??J}),a.$$keydown=p=>{p.key==="Enter"&&(p.preventDefault(),B())},a.$$input=p=>N(p.currentTarget.value);var y=S;return typeof y=="function"?re(y,a):S=a,h(a,"id",Z),w(p=>{var R,$=x(),C=(R=j())==null?void 0:R.placeholder;return $!==p.e&&(a.disabled=p.e=$),C!==p.t&&h(a,"placeholder",p.t=C),p},{e:void 0,t:void 0}),w(()=>a.value=P()),n}}),(()=>{var n=Se();return u(n,l(f,{get when(){var s;return((s=t.data)==null?void 0:s.dismissible)===!0},get children(){return l(te,{type:"button",variant:"ghost","aria-label":"Dismiss",onClick:W,children:"Dismiss"})}}),null),u(n,l(te,{type:"button",class:"ml-auto",get disabled(){return!ce()},onClick:B,get children(){return ue()}}),null),n})()]}})),w(()=>O(e,_("flex flex-col gap-3",t.class))),e}})}})}})}})}function Ne(){return Le()}function Qe(r){return(()=>{var d=Me();return w(t=>{var i=r.media.image,o=r.media.imageAlt??"",c=_("shrink-0 rounded-md object-cover",r.class);return i!==t.e&&h(d,"src",t.e=i),o!==t.t&&h(d,"alt",t.t=o),c!==t.a&&O(d,t.a=c),t},{e:void 0,t:void 0,a:void 0}),d})()}function We(r){return(()=>{var d=Ve();return u(d,()=>r.name.slice(0,2)),d})()}function Ye(r){const d=()=>r.opt.disabled===!0||r.groupDisabled,t=()=>{d()||r.onPick()};return(()=>{var i=qe(),o=i.firstChild,c=o.firstChild,T=c.firstChild;return i.$$click=t,u(i,l(we,{role:"radio",get name(){return r.name},get value(){return r.opt.id},get checked(){return r.checked},get disabled(){return d()},get"aria-checked"(){return r.checked},get"aria-disabled"(){return r.opt.disabled?"true":void 0},get"aria-describedby"(){return E(()=>!!r.hasDesc)()?r.descId:void 0},get"data-option-id"(){return r.opt.id},get tabindex(){return E(()=>!!r.opt.disabled)()?-1:r.tabStop?0:-1},class:"focus-visible:outline-none",onChange:t,get onFocus(){return r.onFocus}}),o),u(i,l(f,{get when(){var g;return(g=r.opt.media)==null?void 0:g.image},get children(){return l(Ie,{openDelay:150,class:"p-1 w-auto",placement:"right-start",get trigger(){return l(Qe,{get media(){return r.opt.media},class:"h-9 w-9"})},get children(){var g=Fe();return w(b=>{var D=r.opt.media.image,j=r.opt.media.imageAlt??"";return D!==b.e&&h(g,"src",b.e=D),j!==b.t&&h(g,"alt",b.t=j),b},{e:void 0,t:void 0}),g}})}}),o),u(i,l(f,{get when(){var g;return E(()=>{var b;return!((b=r.opt.media)!=null&&b.image)})()&&((g=r.opt.media)==null?void 0:g.icon)},get children(){return l(We,{get name(){return r.opt.media.icon}})}}),o),u(T,()=>r.opt.label),u(c,l(f,{get when(){return r.opt.recommended},get children(){return l(Ne,{})}}),null),u(o,l(f,{get when(){return r.opt.description},get children(){var g=Oe();return u(g,()=>r.opt.description),w(()=>h(g,"id",r.descId)),g}}),null),u(i,l(f,{get when(){return r.opt.meta},get children(){var g=_e();return u(g,()=>r.opt.meta),g}}),null),w(()=>O(i,_("flex items-center gap-3 px-3 py-2.5 text-sm transition-colors","has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-inset has-[:focus-visible]:ring-ring",r.opt.disabled?"cursor-not-allowed opacity-60 text-foreground":"cursor-pointer hover:bg-muted/50",r.checked?"bg-accent font-medium text-accent-foreground":"text-foreground"))),i})()}function Xe(r){const d=r.choice;return(()=>{var t=Be();return u(t,l(Ce,{size:16,"aria-hidden":"true"}),null),u(t,l(f,{get when(){return!d.other},get fallback(){return(()=>{var i=He();return i.firstChild,u(i,(()=>{var o=E(()=>!!d.other);return()=>o()?d.text:""})(),null),i})()},get children(){return[(()=>{var i=Pe();return u(i,(()=>{var o=E(()=>!d.other);return()=>{var c;return o()?((c=d.opt)==null?void 0:c.label)??d.id:""}})()),i})(),l(f,{get when(){var i;return E(()=>!d.other)()&&((i=d.opt)==null?void 0:i.meta)},get children(){var i=ze();return u(i,(()=>{var o=E(()=>!d.other);return()=>{var c;return o()?(c=d.opt)==null?void 0:c.meta:""}})()),i}})]}}),null),w(()=>h(t,"role",r.optimistic?"status":void 0)),t})()}xe(["keydown","input","click"]);export{Ke as C};
|
|
1
|
+
import{q as ve,s as fe,k,g as H,j as U,x as ee,o as he,c as l,E as be,S as f,i as u,F as ye,a as w,d as h,b as O,u as re,w as ke,t as m,m as E,e as xe}from"./define-B3OpsIDE.js";import{c as _}from"./cn-DN5AWfiS.js";import{B as te}from"./button-BM0YTTDQ.js";import{a as we}from"./radio-D1CkXISc.js";import{c as Ie}from"./hover-card-C5ptzZOZ.js";import{u as De,a as Ae,C as G,D as Re}from"./use-card-resolution-DILUvNyj.js";import{e as $e}from"./card-routing-0YidER_3.js";import{c as Ce}from"./check-BG1VfYjm.js";var Ee=m("<div role=radiogroup>"),je=m('<div class="flex flex-col gap-2"><label class=sr-only></label><input type=text class="w-full rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-60">'),Se=m('<div class="flex w-full flex-wrap items-center justify-between gap-2">'),Te=m("<div>"),Le=m('<span class="inline-flex items-center rounded-full bg-[var(--color-primary)] px-1.5 py-0.5 text-micro font-medium uppercase leading-none tracking-wide text-[var(--color-primary-foreground,white)]">Recommended'),Me=m("<img>"),Ve=m('<span aria-hidden=true class="flex h-9 w-9 shrink-0 items-center justify-center rounded-md bg-muted text-sm font-medium text-muted-foreground">'),Fe=m('<img class="max-h-80 max-w-80 rounded-md object-contain">'),Oe=m('<span class="text-xs font-normal text-muted-foreground">'),_e=m('<span class="ml-auto shrink-0 text-xs font-normal text-muted-foreground">'),qe=m('<label><span class="flex min-w-0 flex-col gap-0.5"><span class="flex items-center gap-2"><span class=truncate>'),Pe=m("<span>"),ze=m('<span class="ml-auto text-xs font-normal text-muted-foreground">'),Be=m('<div class="flex items-center gap-3 rounded-lg border border-border bg-accent px-3 py-2.5 text-sm font-medium text-accent-foreground">'),He=m("<span>Other: ");const Ue="choice",I="__other__",J="Other\u2026";function Ge(r){if(!Array.isArray(r)||r.length===0)return{options:[],error:"This card couldn't be displayed."};const d=new Set,t=[];for(const i of r){if(!i||typeof i!="object")continue;const o=i;if(typeof o.id!="string"||o.id.length===0||typeof o.label!="string"||o.label.length===0)continue;if(d.has(o.id)){console.warn(`[kai-choice] duplicate option id "${o.id}" ignored`);continue}d.add(o.id);const c=o.media&&typeof o.media=="object"?{image:typeof o.media.image=="string"?o.media.image:void 0,imageAlt:typeof o.media.imageAlt=="string"?o.media.imageAlt:void 0,icon:typeof o.media.icon=="string"?o.media.icon:void 0}:void 0;t.push({id:o.id,label:o.label,description:typeof o.description=="string"?o.description:void 0,media:c,meta:typeof o.meta=="string"?o.meta:void 0,recommended:o.recommended===!0,disabled:o.disabled===!0,payload:o.payload})}return t.length===0?{options:[],error:"This card couldn't be displayed."}:{options:t}}function Je(r){return r?r===!0?{label:J,placeholder:void 0}:typeof r=="object"?{label:typeof r.label=="string"&&r.label.length>0?r.label:J,placeholder:typeof r.placeholder=="string"?r.placeholder:void 0}:null:null}function ne(r,d,t){const i=r.length;if(i===0)return d;for(let o=1;o<=i;o+=1){const c=((d+t*o)%i+i)%i;if(!r[c].disabled)return c}return d}function oe(r){return r.findIndex(d=>!d.disabled)}function Ke(r){const d=ve({cardId:"kai-choice"},r),[t]=fe(d,["data","cardId","heading","host","hostElement","class","resolution","value","defaultValue","disabled","onValueChange","controllerRef"]),i=De(),o=ke(),c=e=>{const n=t.host??i;n?n.emit(e):t.hostElement&&$e(t.hostElement,e)},T=k(()=>{var e;return Ge((e=t.data)==null?void 0:e.options)}),g=k(()=>T().error===void 0),b=k(()=>T().error??""),D=k(()=>T().options),j=k(()=>{var e;return Je((e=t.data)==null?void 0:e.allowOther)}),M=k(()=>{const e=j();return e?[...D(),{id:I,label:e.label}]:D()}),v=Ae({prop:()=>t.resolution,data:()=>t.data}),ae=k(()=>{const e=v.resolution();return e&&e.kind==="action"?e.action:void 0}),[q,A]=H(0),[ie,K]=H(r.defaultValue),L=k(()=>t.value??ie()),de=e=>{var n;L()!==e&&(K(e),(n=t.onValueChange)==null||n.call(t,e))},[P,N]=H(""),x=()=>t.disabled===!0;let V,S;const Q=k(()=>L()===I);U(ee(()=>t.data,()=>{K(t.defaultValue),N(""),A(Math.max(0,oe(M())))}));const le=k(()=>{var e;const n=v.resolution();return!n||n.kind!=="action"?void 0:n.action===I?{other:!0,text:((e=n.payload)==null?void 0:e.text)??""}:{other:!1,opt:D().find(s=>s.id===n.action),id:n.action}});U(ee(g,e=>{c(e?{kind:"ready",cardId:t.cardId}:{kind:"error",cardId:t.cardId,message:b()})})),U(()=>{const e=t.hostElement;if(!e)return;const n=ae();n!==void 0?e.setAttribute("data-kai-resolved",n):e.removeAttribute("data-kai-resolved")});const se=e=>e.id===I,z=e=>{v.isResolved()||x()||e.disabled||(de(e.id),se(e)&&queueMicrotask(()=>S?.focus()))},ce=k(()=>{if(v.isResolved()||x())return!1;const e=L();return e===void 0?!1:e===I?P().trim().length>0:!0}),ue=()=>{var e;return((e=t.data)==null?void 0:e.submitLabel)??"Submit"},B=()=>{if(v.isResolved()||x())return;const e=L();if(e===void 0)return;if(e===I){const s=P().trim();if(s.length===0)return;c({kind:"action",cardId:t.cardId,action:I,payload:{text:s}}),v.setLocal({kind:"action",action:I,payload:{text:s}});return}const n=D().find(s=>s.id===e);n&&(c({kind:"action",cardId:t.cardId,action:n.id,...n.payload!==void 0?{payload:n.payload}:{}}),v.setLocal({kind:"action",action:n.id,...n.payload!==void 0?{payload:n.payload}:{}}))},W=()=>{v.isResolved()||(c({kind:"dismiss",cardId:t.cardId}),v.setLocal({kind:"dismissed"}))},Y=()=>c({kind:"reopen",cardId:t.cardId}),F=(e,n)=>{var s;const a=V?.querySelectorAll('[role="radio"]');(s=a?.[e])==null||s.focus(n)};he(()=>{var e;(e=t.controllerRef)==null||e.call(t,{focus:n=>{Q()&&S?S.focus(n):F(q(),n)},select:n=>{const s=M(),a=s.findIndex(y=>y.id===n);a!==-1&&(A(a),z(s[a]))},send:()=>B(),dismiss:()=>W(),reopen:()=>Y()})});const ge=e=>{if(v.isResolved()||x())return;const n=M(),s=q();if(e.key==="ArrowDown"||e.key==="ArrowRight"){e.preventDefault();const a=ne(n,s,1);A(a),F(a)}else if(e.key==="ArrowUp"||e.key==="ArrowLeft"){e.preventDefault();const a=ne(n,s,-1);A(a),F(a)}else if(e.key==="Home"){e.preventDefault();const a=Math.max(0,oe(n));A(a),F(a)}else if(e.key===" "||e.key==="Enter"){e.preventDefault();const a=n[s];a&&z(a)}},pe=()=>{var e;return t.heading??((e=t.data)==null?void 0:e.prompt)??"Choose an option"},X=`kai-choice-prompt-${o}`,Z=`kai-choice-other-${o}`,me=`kai-choice-${o}`;return l(f,{get when(){return g()},get fallback(){return l(G,{get heading(){return t.heading},get errorMessage(){return b()}})},get children(){return l(be,{fallback:()=>(c({kind:"error",cardId:t.cardId,message:"The card failed to render."}),l(G,{get heading(){return t.heading},errorMessage:"The card failed to render."})),get children(){return l(f,{get when(){return!v.isDeferred()},get fallback(){return l(Re,{type:Ue,get title(){return t.heading},onReopen:Y})},get children(){return l(G,{get heading(){return t.heading},get description(){var e;return(e=t.data)==null?void 0:e.prompt},descriptionId:X,get children(){var e=Te();return u(e,l(f,{get when(){return!v.isResolved()},get fallback(){return l(Xe,{get choice(){return le()},get optimistic(){return v.isOptimistic()}})},get children(){return[(()=>{var n=Ee();n.$$keydown=ge;var s=V;return typeof s=="function"?re(s,n):V=n,u(n,l(ye,{get each(){return M()},children:(a,y)=>{const p=()=>L()===a.id,R=()=>!a.disabled&&!x()&&y()===q()&&!v.isResolved(),$=`kai-choice-desc-${o}-${a.id}`,C=()=>!!a.description;return l(Ye,{opt:a,name:me,get checked(){return p()},get tabStop(){return R()},get groupDisabled(){return x()},descId:$,get hasDesc(){return C()},onPick:()=>{A(y()),z(a)},onFocus:()=>A(y())})}})),w(a=>{var y,p=pe(),R=(y=t.data)!=null&&y.prompt?X:void 0,$=x()?"true":void 0,C=_("divide-y divide-border overflow-hidden rounded-lg border border-border",x()&&"cursor-not-allowed opacity-60");return p!==a.e&&h(n,"aria-label",a.e=p),R!==a.t&&h(n,"aria-describedby",a.t=R),$!==a.a&&h(n,"aria-disabled",a.a=$),C!==a.o&&O(n,a.o=C),a},{e:void 0,t:void 0,a:void 0,o:void 0}),n})(),l(f,{get when(){return Q()},get children(){var n=je(),s=n.firstChild,a=s.nextSibling;h(s,"for",Z),u(s,()=>{var p;return((p=j())==null?void 0:p.label)??J}),a.$$keydown=p=>{p.key==="Enter"&&(p.preventDefault(),B())},a.$$input=p=>N(p.currentTarget.value);var y=S;return typeof y=="function"?re(y,a):S=a,h(a,"id",Z),w(p=>{var R,$=x(),C=(R=j())==null?void 0:R.placeholder;return $!==p.e&&(a.disabled=p.e=$),C!==p.t&&h(a,"placeholder",p.t=C),p},{e:void 0,t:void 0}),w(()=>a.value=P()),n}}),(()=>{var n=Se();return u(n,l(f,{get when(){var s;return((s=t.data)==null?void 0:s.dismissible)===!0},get children(){return l(te,{type:"button",variant:"ghost","aria-label":"Dismiss",onClick:W,children:"Dismiss"})}}),null),u(n,l(te,{type:"button",class:"ml-auto",get disabled(){return!ce()},onClick:B,get children(){return ue()}}),null),n})()]}})),w(()=>O(e,_("flex flex-col gap-3",t.class))),e}})}})}})}})}function Ne(){return Le()}function Qe(r){return(()=>{var d=Me();return w(t=>{var i=r.media.image,o=r.media.imageAlt??"",c=_("shrink-0 rounded-md object-cover",r.class);return i!==t.e&&h(d,"src",t.e=i),o!==t.t&&h(d,"alt",t.t=o),c!==t.a&&O(d,t.a=c),t},{e:void 0,t:void 0,a:void 0}),d})()}function We(r){return(()=>{var d=Ve();return u(d,()=>r.name.slice(0,2)),d})()}function Ye(r){const d=()=>r.opt.disabled===!0||r.groupDisabled,t=()=>{d()||r.onPick()};return(()=>{var i=qe(),o=i.firstChild,c=o.firstChild,T=c.firstChild;return i.$$click=t,u(i,l(we,{role:"radio",get name(){return r.name},get value(){return r.opt.id},get checked(){return r.checked},get disabled(){return d()},get"aria-checked"(){return r.checked},get"aria-disabled"(){return r.opt.disabled?"true":void 0},get"aria-describedby"(){return E(()=>!!r.hasDesc)()?r.descId:void 0},get"data-option-id"(){return r.opt.id},get tabindex(){return E(()=>!!r.opt.disabled)()?-1:r.tabStop?0:-1},class:"focus-visible:outline-none",onChange:t,get onFocus(){return r.onFocus}}),o),u(i,l(f,{get when(){var g;return(g=r.opt.media)==null?void 0:g.image},get children(){return l(Ie,{openDelay:150,class:"p-1 w-auto",placement:"right-start",get trigger(){return l(Qe,{get media(){return r.opt.media},class:"h-9 w-9"})},get children(){var g=Fe();return w(b=>{var D=r.opt.media.image,j=r.opt.media.imageAlt??"";return D!==b.e&&h(g,"src",b.e=D),j!==b.t&&h(g,"alt",b.t=j),b},{e:void 0,t:void 0}),g}})}}),o),u(i,l(f,{get when(){var g;return E(()=>{var b;return!((b=r.opt.media)!=null&&b.image)})()&&((g=r.opt.media)==null?void 0:g.icon)},get children(){return l(We,{get name(){return r.opt.media.icon}})}}),o),u(T,()=>r.opt.label),u(c,l(f,{get when(){return r.opt.recommended},get children(){return l(Ne,{})}}),null),u(o,l(f,{get when(){return r.opt.description},get children(){var g=Oe();return u(g,()=>r.opt.description),w(()=>h(g,"id",r.descId)),g}}),null),u(i,l(f,{get when(){return r.opt.meta},get children(){var g=_e();return u(g,()=>r.opt.meta),g}}),null),w(()=>O(i,_("flex items-center gap-3 px-3 py-2.5 text-sm transition-colors","has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-inset has-[:focus-visible]:ring-ring",r.opt.disabled?"cursor-not-allowed opacity-60 text-foreground":"cursor-pointer hover:bg-muted/50",r.checked?"bg-accent font-medium text-accent-foreground":"text-foreground"))),i})()}function Xe(r){const d=r.choice;return(()=>{var t=Be();return u(t,l(Ce,{size:16,"aria-hidden":"true"}),null),u(t,l(f,{get when(){return!d.other},get fallback(){return(()=>{var i=He();return i.firstChild,u(i,(()=>{var o=E(()=>!!d.other);return()=>o()?d.text:""})(),null),i})()},get children(){return[(()=>{var i=Pe();return u(i,(()=>{var o=E(()=>!d.other);return()=>{var c;return o()?((c=d.opt)==null?void 0:c.label)??d.id:""}})()),i})(),l(f,{get when(){var i;return E(()=>!d.other)()&&((i=d.opt)==null?void 0:i.meta)},get children(){var i=ze();return u(i,(()=>{var o=E(()=>!d.other);return()=>{var c;return o()?(c=d.opt)==null?void 0:c.meta:""}})()),i}})]}}),null),w(()=>h(t,"role",r.optimistic?"status":void 0)),t})()}xe(["keydown","input","click"]);export{Ke as C};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as c}from"./Icon-DJDuE_-x.js";import{c as o,q as a}from"./define-B3OpsIDE.js";var e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],m=r=>o(c,a(r,{name:"Circle",iconNode:e})),i=m;export{i as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as m}from"./Icon-DJDuE_-x.js";import{c as r,q as a}from"./define-B3OpsIDE.js";var e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],o=c=>r(m,a(c,{name:"CircleCheck",iconNode:e})),i=o;export{i as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{I as a}from"./Icon-
|
|
1
|
+
import{I as a}from"./Icon-DJDuE_-x.js";import{c,q as m}from"./define-B3OpsIDE.js";var e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],o=r=>c(a,m(r,{name:"CircleX",iconNode:e})),i=o;export{i as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as f,p as d,q as p,i as u,c as s,S as b,A as $,K as L,t as g,g as P,h as q,a as A,d as E,b as J,e as K}from"./define-
|
|
1
|
+
import{s as f,p as d,q as p,i as u,c as s,S as b,A as $,K as L,t as g,g as P,h as q,a as A,d as E,b as J,e as K}from"./define-B3OpsIDE.js";import{c as m}from"./cn-DN5AWfiS.js";import{c as M}from"./check-BG1VfYjm.js";import{c as R}from"./copy-DfI2NYEX.js";const B={bash:()=>import("./bash-InADTalH.js"),javascript:()=>import("./javascript-C25yR2R2.js"),typescript:()=>import("./typescript-RycA9KXf.js"),tsx:()=>import("./tsx-B8rCNbgL.js"),html:()=>import("./html-CPZ3oZQ7.js"),css:()=>import("./css-M7EaDHN_.js"),json:()=>import("./json-DxJze_jm.js"),vue:()=>import("./vue-BmIZj4XD.js"),svelte:()=>import("./svelte--5p79yCD.js")},D={"github-dark-dimmed":()=>import("./github-dark-dimmed-DUshB20C.js"),"github-light":()=>import("./github-light-JYsPkUQd.js")},F={js:"javascript",ts:"typescript",jsx:"tsx",sh:"bash",shell:"bash"},w="github-dark-dimmed";let G={...B},I={...D},N={...F},v=null;const y=new Set,T=new Set;function O(){return v||(v=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([import("./core-AYMC6_lb.js"),import("./engine-javascript-vq0WuIJl.js")]);return e({themes:[],langs:[],engine:t()})})()),v}function j(e){return N[e]??e}async function Q(e,t){const n=j(t);if(y.has(n))return!0;const r=G[n];return r?(await e.loadLanguage(r()),y.add(n),!0):!1}async function k(e,t){if(T.has(t))return!0;const n=I[t];return n?(await e.loadTheme(n()),T.add(t),!0):!1}function U(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function h(e){return`<pre><code>${U(e)}</code></pre>`}async function V(e,t,n){if(!e)return h(e);try{const r=await O();if(!await Q(r,t))return h(e);const a=await k(r,n)?n:await k(r,w)?w:null;return a?r.codeToHtml(e,{lang:j(t),theme:a}):h(e)}catch{return h(e)}}var W=g("<button type=button part=copy>"),C=g("<div>"),X=g("<div tabindex=0>"),Y=g("<div tabindex=0><pre><code>");const Z=2e3;function _(e){const[t,n]=P(!1);let r;return q(()=>clearTimeout(r)),(()=>{var a=W();return a.$$click=()=>{var i;Promise.resolve((i=navigator.clipboard)==null?void 0:i.writeText(e.text)).catch(()=>{}),n(!0),clearTimeout(r),r=setTimeout(()=>n(!1),Z)},u(a,s(b,{get when(){return t()},get fallback(){return s(R,{size:14,"aria-hidden":"true"})},get children(){return s(M,{size:14,"aria-hidden":"true",class:"text-emerald-500"})}})),A(i=>{var l=t()?"Copied":"Copy code",c=m("inline-flex items-center justify-center rounded-md p-1.5","text-muted-foreground transition-colors hover:bg-muted hover:text-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring");return l!==i.e&&E(a,"aria-label",i.e=l),c!==i.t&&J(a,i.t=c),i},{e:void 0,t:void 0}),a})()}function ee(e){const[t,n]=f(e,["children","class","copy","copyText"]);return(()=>{var r=C();return d(r,p({get class(){return m("not-prose flex w-full flex-col overflow-clip border","border-border bg-card text-card-foreground","rounded-[var(--kai-code-radius,0.75rem)]",t.class)}},n),!1,!0),u(r,s(b,{get when(){return t.copy},get children(){return s(re,{class:"justify-end border-b border-border px-2 py-1",get children(){return s(_,{get text(){return t.copyText??""}})}})}}),null),u(r,()=>t.children,null),r})()}function te(e){const[t,n]=f(e,["code","language","theme","class"]),r=$(),a=()=>t.language??"tsx",i=()=>t.theme??r.codeTheme(),l=()=>r.codeHighlight(),[c]=L(()=>l()?{code:t.code,lang:a(),theme:i()}:null,o=>V(o.code,o.lang,o.theme)),S=()=>{switch(r.proseSize()){case"xs":return"text-caption";case"sm":return"text-compact";case"base":return"text-sm";case"lg":return"text-base"}},x=()=>m("w-full overflow-x-auto kai-focus-inset [&>pre]:px-4 [&>pre]:py-4",S(),t.class);return s(b,{get when(){return c()},get fallback(){return(()=>{var o=Y(),H=o.firstChild,z=H.firstChild;return d(o,p({get class(){return x()}},n),!1,!0),u(z,()=>t.code),o})()},get children(){var o=X();return d(o,p({get class(){return x()},get innerHTML(){return c()}},n),!1,!1),o}})}function re(e){const[t,n]=f(e,["children","class"]);return(()=>{var r=C();return d(r,p({get class(){return m("flex items-center justify-between",t.class)}},n),!1,!0),u(r,()=>t.children),r})()}K(["click"]);export{ee as C,te as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as c,g as k,w as I,c as y,p,q as u,i as v,m as h,a as R,J as q,b as E,t as g,G as H,H as J}from"./define-
|
|
1
|
+
import{s as c,g as k,w as I,c as y,p,q as u,i as v,m as h,a as R,J as q,b as E,t as g,G as H,H as J}from"./define-B3OpsIDE.js";import{c as C}from"./cn-DN5AWfiS.js";var P=g("<div>"),A=g("<button>"),G=g("<div><div>");const w=H(),m=()=>{const o=J(w);if(!o)throw new Error("Collapsible parts must be used within <Collapsible>");return o};function N(o){var n;const[e,l]=c(o,["open","defaultOpen","onOpenChange","disabled","controllerRef","children","class"]),[r,a]=k(e.defaultOpen??!1),s=()=>e.open!==void 0,t=()=>s()?!!e.open:r(),i=()=>!!e.disabled,f=d=>{var b;t()!==d&&(s()||a(d),(b=e.onOpenChange)==null||b.call(e,d))},x=()=>{i()||f(!t())};(n=e.controllerRef)==null||n.call(e,{open:t,setOpen:f});const O=I();return y(w.Provider,{value:{open:t,toggle:x,contentId:O,disabled:i},get children(){var d=P();return p(d,u({get class(){return e.class}},l,{get"data-expanded"(){return t()?"":void 0},get"data-closed"(){return t()?void 0:""},get"data-state"(){return t()?"open":"closed"}}),!1,!0),v(d,()=>e.children),d}})}function U(o){const n=m(),[e,l]=c(o,["children","class","as","onClick"]),r=()=>({type:"button","aria-expanded":n.open(),"aria-controls":n.contentId,disabled:n.disabled()||void 0,"data-expanded":n.open()?"":void 0,"data-closed":n.open()?void 0:"","data-state":n.open()?"open":"closed",onClick:a=>{n.disabled()||(typeof e.onClick=="function"&&e.onClick(a),n.toggle())},class:e.class,...l});return h(()=>h(()=>!!e.as)()?e.as(r()):(()=>{var a=A();return p(a,u(r),!1,!0),v(a,()=>e.children),a})())}function _(o){const n=m(),[e,l]=c(o,["children","class"]);return(()=>{var r=G(),a=r.firstChild;return p(r,u(l,{get id(){return n.contentId},get"data-expanded"(){return n.open()?"":void 0},get"data-closed"(){return n.open()?void 0:""},get class(){return C("grid transition-[grid-template-rows] duration-200 ease-out",n.open()?"grid-rows-[1fr]":"grid-rows-[0fr]")}}),!1,!0),v(a,()=>e.children),R(s=>{var t=!n.open(),i=C("overflow-hidden",e.class);return t!==s.e&&q(r,"inert",s.e=t),i!==s.t&&E(a,s.t=i),s},{e:void 0,t:void 0}),r})()}export{N as C,U as a,_ as b};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { JSX } from 'solid-js';
|
|
2
|
+
import { TriggerDef } from './composer.js';
|
|
3
|
+
/**
|
|
4
|
+
* The composer TRIGGERS control group — `/` (commands/skills) and `@`
|
|
5
|
+
* (agents/mentions) — extracted as a standalone module (T-1 build-out,
|
|
6
|
+
* owner addendum) so every template's composer control group can reuse the
|
|
7
|
+
* SAME editor and the SAME real-`TriggerDef` builder, rather than each
|
|
8
|
+
* template inventing its own.
|
|
9
|
+
*
|
|
10
|
+
* THIS WIRES THE KIT'S REAL MECHANISM, NOT A STUB: `components/composer.tsx`
|
|
11
|
+
* (read before building this) ships `ComposerProps.triggers?: TriggerDef[]`
|
|
12
|
+
* — a real, shipped, atomic-pill trigger system (`TriggerDef = { char, kind,
|
|
13
|
+
* items?: TriggerItem[] }`) that `ChatThread` already forwards straight
|
|
14
|
+
* through to `DefaultPromptInput`/`Composer` via its own `triggers` prop
|
|
15
|
+
* (confirmed in `chat-thread.tsx` before use). Typing the configured
|
|
16
|
+
* character in a real, mounted `ChatThread` composer opens the REAL trigger
|
|
17
|
+
* menu and inserts a REAL atomic pill on selection — there is no "honest
|
|
18
|
+
* stub" fallback needed here, unlike some other preview-only controls in
|
|
19
|
+
* this template family, because the composer this story mounts IS the real
|
|
20
|
+
* component. (`slashCommands`-as-flat-config was deliberately removed from
|
|
21
|
+
* the kit in favor of this trigger system — this control group represents
|
|
22
|
+
* that real shape, not the retired one.)
|
|
23
|
+
*
|
|
24
|
+
* `buildTriggerDefs` converts this panel's editable rows into the real
|
|
25
|
+
* `TriggerDef[]` shape — the one and only translation point, so a story
|
|
26
|
+
* wiring this into its `ChatThread` call never hand-assembles `TriggerDef`
|
|
27
|
+
* itself.
|
|
28
|
+
*/
|
|
29
|
+
export interface TriggerEntryRow {
|
|
30
|
+
id: string;
|
|
31
|
+
label: string;
|
|
32
|
+
description?: string;
|
|
33
|
+
/** A curated `renderIcon` name, free text per the same convention the
|
|
34
|
+
* Workspace composer-menu editor uses. */
|
|
35
|
+
icon?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface TriggerGroupState {
|
|
38
|
+
enabled: boolean;
|
|
39
|
+
entries: TriggerEntryRow[];
|
|
40
|
+
}
|
|
41
|
+
export declare function newTriggerRowId(prefix: string): string;
|
|
42
|
+
export declare const DEFAULT_SLASH_ENTRIES: TriggerEntryRow[];
|
|
43
|
+
export declare const DEFAULT_MENTION_ENTRIES: TriggerEntryRow[];
|
|
44
|
+
/** The one translation point from this panel's editable rows to the real
|
|
45
|
+
* `TriggerDef[]` a `ChatThread`/`Composer` `triggers` prop takes. `/` maps
|
|
46
|
+
* to `kind: 'command'`, `@` to `kind: 'agent'` — the two kinds
|
|
47
|
+
* `composer-highlight.ts`'s built-in glyphs already cover (checked before
|
|
48
|
+
* choosing them, see that file's `kindGlyph`). */
|
|
49
|
+
export declare function buildTriggerDefs(slash: TriggerGroupState, mention: TriggerGroupState): TriggerDef[];
|
|
50
|
+
/**
|
|
51
|
+
* The full "Triggers" subsection: an on/off switch per trigger character,
|
|
52
|
+
* each revealing its own entry editor when on. Meant to sit inside a
|
|
53
|
+
* template's existing "Composer" panel section (a subsection, not a whole
|
|
54
|
+
* new top-level section), matching the rhythm every other composer control
|
|
55
|
+
* already uses.
|
|
56
|
+
*/
|
|
57
|
+
export declare function ComposerTriggersSection(props: {
|
|
58
|
+
slash: TriggerGroupState;
|
|
59
|
+
onSlashChange: (v: TriggerGroupState) => void;
|
|
60
|
+
mention: TriggerGroupState;
|
|
61
|
+
onMentionChange: (v: TriggerGroupState) => void;
|
|
62
|
+
}): JSX.Element;
|