@mcp-b/embedded-agent 0.0.3 → 0.0.5

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.
@@ -1,11 +1,11 @@
1
1
  import { c } from "react/compiler-runtime";
2
- import { ActionBarPrimitive, AssistantModalPrimitive, AssistantRuntimeProvider, AttachmentPrimitive, BranchPickerPrimitive, ComposerPrimitive, ErrorPrimitive, MessagePrimitive, ThreadPrimitive, useAssistantApi, useAssistantState, useAssistantTool, useThread } from "@assistant-ui/react";
2
+ import { ActionBarPrimitive, AssistantModalPrimitive, AssistantRuntimeProvider, AttachmentPrimitive, BranchPickerPrimitive, ComposerPrimitive, ErrorPrimitive, MessagePrimitive, ThreadPrimitive, useAssistantApi, useAssistantState, useAssistantTool, useComposer, useThread } from "@assistant-ui/react";
3
3
  import { AssistantChatTransport, useChatRuntime } from "@assistant-ui/react-ai-sdk";
4
4
  import r2wc from "@r2wc/react-to-web-component";
5
5
  import { lastAssistantMessageIsCompleteWithToolCalls } from "ai";
6
6
  import { createContext, forwardRef, memo, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
7
- import { AlertCircle, ArrowDownIcon, ArrowUpIcon, CheckCircle2, CheckIcon, ChevronDown, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, Circle, CopyIcon, FileText, History, Loader2, MessageSquare, Mic, MicOff, PencilIcon, Phone, PhoneOff, Plug, Plus, PlusIcon, RefreshCwIcon, Send, Square, Volume2, X, XIcon } from "lucide-react";
8
- import { AnimatePresence, LazyMotion, MotionConfig, domAnimation, motion } from "motion/react";
7
+ import { AlertCircle, ArrowDownIcon, ArrowUpIcon, Check, CheckCircle2, CheckIcon, ChevronDown, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, Circle, Copy, CopyIcon, FileText, GripHorizontal, History, Loader2, MessageSquare, Mic, MicOff, PencilIcon, Phone, PhoneOff, Plug, Plus, PlusIcon, RefreshCwIcon, Send, Square, Volume2, X, XIcon } from "lucide-react";
8
+ import { AnimatePresence, LazyMotion, MotionConfig, domAnimation, motion, useDragControls, useReducedMotion } from "motion/react";
9
9
  import * as m from "motion/react-m";
10
10
  import { clsx } from "clsx";
11
11
  import { twMerge } from "tailwind-merge";
@@ -54,6 +54,10 @@ const RESPONSE_REQUEST_DELAY_MS = 150;
54
54
  const TOOL_CALL_DISPLAY_DURATION_MS = 1500;
55
55
  /** Duration to show failed tool calls before clearing (error) */
56
56
  const TOOL_CALL_ERROR_DISPLAY_DURATION_MS = 3e3;
57
+ /** Duration to retain voice actions after session ends (for display) */
58
+ const VOICE_ACTIONS_RETENTION_MS = 3e3;
59
+ /** Duration to retain voice summary after session ends */
60
+ const VOICE_SUMMARY_RETENTION_MS = 3e4;
57
61
  /**
58
62
  * Enable debug logging for development.
59
63
  * Can be enabled by setting window.__WEBMCP_DEBUG__ = true in the browser console.
@@ -2372,14 +2376,14 @@ const ComposerAddAttachment = () => {
2372
2376
  } else t0 = $[0];
2373
2377
  return t0;
2374
2378
  };
2375
- function _temp$8(c$1) {
2379
+ function _temp$9(c$1) {
2376
2380
  return c$1.type === "image";
2377
2381
  }
2378
2382
  function _temp2$5(t0) {
2379
2383
  const { attachment } = t0;
2380
2384
  if (attachment.type !== "image") return {};
2381
2385
  if (attachment.file) return { file: attachment.file };
2382
- const src = attachment.content?.filter(_temp$8)[0]?.image;
2386
+ const src = attachment.content?.filter(_temp$9)[0]?.image;
2383
2387
  if (!src) return {};
2384
2388
  return { src };
2385
2389
  }
@@ -4127,7 +4131,7 @@ const ThreadSuggestions = () => {
4127
4131
  label: "for healthy weight loss",
4128
4132
  action: "Create a meal plan for healthy weight loss"
4129
4133
  }
4130
- ].map(_temp$7)
4134
+ ].map(_temp$8)
4131
4135
  });
4132
4136
  $[0] = t0;
4133
4137
  } else t0 = $[0];
@@ -4400,7 +4404,7 @@ const BranchPicker = (t0) => {
4400
4404
  } else t6 = $[11];
4401
4405
  return t6;
4402
4406
  };
4403
- function _temp$7(suggestedAction, index) {
4407
+ function _temp$8(suggestedAction, index) {
4404
4408
  return /* @__PURE__ */ jsx(m.div, {
4405
4409
  initial: {
4406
4410
  opacity: 0,
@@ -4624,7 +4628,7 @@ function humanizeToolName(toolName, isRunning = false) {
4624
4628
  */
4625
4629
  function useActions() {
4626
4630
  const $ = c(3);
4627
- const messages = useThread(_temp$6);
4631
+ const messages = useThread(_temp$7);
4628
4632
  let t0;
4629
4633
  bb0: {
4630
4634
  if (!messages || messages.length === 0) {
@@ -4671,7 +4675,7 @@ function useActions() {
4671
4675
  /**
4672
4676
  * Hook to get the current running action (if any)
4673
4677
  */
4674
- function _temp$6(thread) {
4678
+ function _temp$7(thread) {
4675
4679
  return thread.messages;
4676
4680
  }
4677
4681
  function useCurrentAction() {
@@ -4711,6 +4715,197 @@ function _temp3$2(a) {
4711
4715
  return a.status === "success" || a.status === "error";
4712
4716
  }
4713
4717
 
4718
+ //#endregion
4719
+ //#region src/hooks/useVoiceActions.ts
4720
+ /**
4721
+ * Voice Mode Actions Hook
4722
+ *
4723
+ * Tracks tool calls from voice mode as actions.
4724
+ * Maintains a list of actions during the voice session.
4725
+ */
4726
+ /**
4727
+ * Hook to track voice mode tool calls as actions
4728
+ * Returns actions array that persists during the voice session
4729
+ */
4730
+ let actionIdCounter = 0;
4731
+ function useVoiceActions() {
4732
+ const $ = c(11);
4733
+ const voiceMode = useOptionalVoiceModeContext();
4734
+ let t0;
4735
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
4736
+ t0 = [];
4737
+ $[0] = t0;
4738
+ } else t0 = $[0];
4739
+ const [actions, setActions] = useState(t0);
4740
+ const lastToolCallRef = useRef(null);
4741
+ const pendingActionIdRef = useRef(null);
4742
+ let t1;
4743
+ if ($[1] !== voiceMode?.isActive || $[2] !== voiceMode?.isConnecting) {
4744
+ t1 = () => {
4745
+ if (!voiceMode?.isActive && !voiceMode?.isConnecting) {
4746
+ const timeout = setTimeout(() => {
4747
+ setActions([]);
4748
+ lastToolCallRef.current = null;
4749
+ }, VOICE_ACTIONS_RETENTION_MS);
4750
+ return () => clearTimeout(timeout);
4751
+ }
4752
+ };
4753
+ $[1] = voiceMode?.isActive;
4754
+ $[2] = voiceMode?.isConnecting;
4755
+ $[3] = t1;
4756
+ } else t1 = $[3];
4757
+ const t2 = voiceMode?.isActive;
4758
+ const t3 = voiceMode?.isConnecting;
4759
+ let t4;
4760
+ if ($[4] !== t2 || $[5] !== t3) {
4761
+ t4 = [t2, t3];
4762
+ $[4] = t2;
4763
+ $[5] = t3;
4764
+ $[6] = t4;
4765
+ } else t4 = $[6];
4766
+ useEffect(t1, t4);
4767
+ let t5;
4768
+ if ($[7] !== voiceMode) {
4769
+ t5 = () => {
4770
+ if (!voiceMode?.toolCall) return;
4771
+ const { toolName, status, error } = voiceMode.toolCall;
4772
+ if (status === "started") {
4773
+ if (lastToolCallRef.current === toolName) return;
4774
+ lastToolCallRef.current = toolName;
4775
+ actionIdCounter = actionIdCounter + 1;
4776
+ const actionId = `voice-action-${actionIdCounter}`;
4777
+ pendingActionIdRef.current = actionId;
4778
+ const newAction = {
4779
+ id: actionId,
4780
+ toolName,
4781
+ label: humanizeToolName(toolName, true),
4782
+ status: "running",
4783
+ startedAt: Date.now()
4784
+ };
4785
+ setActions((prev) => [...prev, newAction]);
4786
+ } else if (status === "completed") {
4787
+ const actionId_0 = pendingActionIdRef.current;
4788
+ if (!actionId_0) return;
4789
+ setActions((prev_0) => {
4790
+ const updated = [...prev_0];
4791
+ const runningIndex = updated.findIndex((a) => a.id === actionId_0);
4792
+ if (runningIndex !== -1) {
4793
+ const action = updated[runningIndex];
4794
+ updated[runningIndex] = {
4795
+ ...action,
4796
+ status: error ? "error" : "success",
4797
+ error,
4798
+ label: humanizeToolName(toolName, false),
4799
+ duration: action.startedAt ? Date.now() - action.startedAt : void 0
4800
+ };
4801
+ }
4802
+ return updated;
4803
+ });
4804
+ lastToolCallRef.current = null;
4805
+ pendingActionIdRef.current = null;
4806
+ }
4807
+ };
4808
+ $[7] = voiceMode;
4809
+ $[8] = t5;
4810
+ } else t5 = $[8];
4811
+ const t6 = voiceMode?.toolCall;
4812
+ let t7;
4813
+ if ($[9] !== t6) {
4814
+ t7 = [t6];
4815
+ $[9] = t6;
4816
+ $[10] = t7;
4817
+ } else t7 = $[10];
4818
+ useEffect(t5, t7);
4819
+ return actions;
4820
+ }
4821
+
4822
+ //#endregion
4823
+ //#region src/hooks/useVoiceSummary.ts
4824
+ /**
4825
+ * Voice Summary Hook
4826
+ *
4827
+ * Tracks the last assistant response from voice mode for display as a summary.
4828
+ * Maintains the summary for a short time after the voice session ends.
4829
+ */
4830
+ /**
4831
+ * Hook to get the latest voice session summary
4832
+ * Returns the last assistant transcript from the voice session
4833
+ */
4834
+ function useVoiceSummary() {
4835
+ const $ = c(13);
4836
+ const voiceMode = useOptionalVoiceModeContext();
4837
+ const [summary, setSummary] = useState(null);
4838
+ const wasActiveRef = useRef(false);
4839
+ const lastTranscriptRef = useRef("");
4840
+ let t0;
4841
+ if ($[0] !== voiceMode) {
4842
+ t0 = () => {
4843
+ if (!voiceMode?.transcript) return;
4844
+ if (voiceMode.transcript.type === "assistant" && voiceMode.transcript.text) lastTranscriptRef.current = voiceMode.transcript.text;
4845
+ };
4846
+ $[0] = voiceMode;
4847
+ $[1] = t0;
4848
+ } else t0 = $[1];
4849
+ const t1 = voiceMode?.transcript;
4850
+ let t2;
4851
+ if ($[2] !== t1) {
4852
+ t2 = [t1];
4853
+ $[2] = t1;
4854
+ $[3] = t2;
4855
+ } else t2 = $[3];
4856
+ useEffect(t0, t2);
4857
+ let t3;
4858
+ if ($[4] !== voiceMode?.isActive || $[5] !== voiceMode?.isConnecting) {
4859
+ t3 = () => {
4860
+ const isActive = voiceMode?.isActive || voiceMode?.isConnecting;
4861
+ if (wasActiveRef.current && !isActive) {
4862
+ if (lastTranscriptRef.current) setSummary({
4863
+ text: lastTranscriptRef.current,
4864
+ timestamp: Date.now()
4865
+ });
4866
+ }
4867
+ if (!wasActiveRef.current && isActive) {
4868
+ setSummary(null);
4869
+ lastTranscriptRef.current = "";
4870
+ }
4871
+ wasActiveRef.current = !!isActive;
4872
+ };
4873
+ $[4] = voiceMode?.isActive;
4874
+ $[5] = voiceMode?.isConnecting;
4875
+ $[6] = t3;
4876
+ } else t3 = $[6];
4877
+ const t4 = voiceMode?.isActive;
4878
+ const t5 = voiceMode?.isConnecting;
4879
+ let t6;
4880
+ if ($[7] !== t4 || $[8] !== t5) {
4881
+ t6 = [t4, t5];
4882
+ $[7] = t4;
4883
+ $[8] = t5;
4884
+ $[9] = t6;
4885
+ } else t6 = $[9];
4886
+ useEffect(t3, t6);
4887
+ let t7;
4888
+ let t8;
4889
+ if ($[10] !== summary) {
4890
+ t7 = () => {
4891
+ if (!summary) return;
4892
+ const timeout = setTimeout(() => {
4893
+ setSummary(null);
4894
+ }, VOICE_SUMMARY_RETENTION_MS);
4895
+ return () => clearTimeout(timeout);
4896
+ };
4897
+ t8 = [summary];
4898
+ $[10] = summary;
4899
+ $[11] = t7;
4900
+ $[12] = t8;
4901
+ } else {
4902
+ t7 = $[11];
4903
+ t8 = $[12];
4904
+ }
4905
+ useEffect(t7, t8);
4906
+ return summary;
4907
+ }
4908
+
4714
4909
  //#endregion
4715
4910
  //#region src/components/pill/CurrentActivity.tsx
4716
4911
  /**
@@ -4728,7 +4923,6 @@ const CurrentActivity = (t0) => {
4728
4923
  } else t3 = $[1];
4729
4924
  const recentActions = t3;
4730
4925
  const showRecent = t2 === void 0 ? true : t2;
4731
- if (!currentAction && recentActions.length === 0) return null;
4732
4926
  let t4;
4733
4927
  if ($[2] !== className) {
4734
4928
  t4 = cn("space-y-2", className);
@@ -4737,12 +4931,18 @@ const CurrentActivity = (t0) => {
4737
4931
  } else t4 = $[3];
4738
4932
  let t5;
4739
4933
  if ($[4] !== currentAction) {
4740
- t5 = currentAction && /* @__PURE__ */ jsxs("div", {
4934
+ t5 = currentAction ? /* @__PURE__ */ jsxs("div", {
4741
4935
  className: "flex items-center gap-2.5",
4742
4936
  children: [/* @__PURE__ */ jsx(ActionStatusIcon, { status: currentAction.status }), /* @__PURE__ */ jsxs("span", {
4743
4937
  className: "text-sm font-medium text-white",
4744
4938
  children: [currentAction.label, "..."]
4745
4939
  })]
4940
+ }) : /* @__PURE__ */ jsxs("div", {
4941
+ className: "flex items-center gap-2.5",
4942
+ children: [/* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 text-blue-400 animate-spin" }), /* @__PURE__ */ jsx("span", {
4943
+ className: "text-sm font-medium text-white/80",
4944
+ children: "Thinking..."
4945
+ })]
4746
4946
  });
4747
4947
  $[4] = currentAction;
4748
4948
  $[5] = t5;
@@ -4751,7 +4951,7 @@ const CurrentActivity = (t0) => {
4751
4951
  if ($[6] !== recentActions || $[7] !== showRecent) {
4752
4952
  t6 = showRecent && recentActions.length > 0 && /* @__PURE__ */ jsx("div", {
4753
4953
  className: "ml-1 border-l border-white/20 pl-3 space-y-1",
4754
- children: recentActions.map(_temp$5)
4954
+ children: recentActions.map(_temp$6)
4755
4955
  });
4756
4956
  $[6] = recentActions;
4757
4957
  $[7] = showRecent;
@@ -4897,7 +5097,7 @@ const IdleIndicator = (t0) => {
4897
5097
  } else t4 = $[5];
4898
5098
  return t4;
4899
5099
  };
4900
- function _temp$5(action) {
5100
+ function _temp$6(action) {
4901
5101
  return /* @__PURE__ */ jsxs("div", {
4902
5102
  className: "flex items-center gap-2 text-xs text-white/60",
4903
5103
  children: [/* @__PURE__ */ jsx(ActionStatusIcon, {
@@ -4923,7 +5123,7 @@ const ActionList = (t0) => {
4923
5123
  if (actions.length === 0) return null;
4924
5124
  let t2;
4925
5125
  if ($[0] !== actions) {
4926
- t2 = actions.filter(_temp$4);
5126
+ t2 = actions.filter(_temp$5);
4927
5127
  $[0] = actions;
4928
5128
  $[1] = t2;
4929
5129
  } else t2 = $[1];
@@ -5153,7 +5353,7 @@ function formatDuration(ms) {
5153
5353
  if (seconds < 60) return `${seconds.toFixed(1)}s`;
5154
5354
  return `${Math.floor(seconds / 60)}m ${Math.floor(seconds % 60)}s`;
5155
5355
  }
5156
- function _temp$4(a) {
5356
+ function _temp$5(a) {
5157
5357
  return a.status === "success";
5158
5358
  }
5159
5359
  function _temp2$3(action) {
@@ -5162,124 +5362,168 @@ function _temp2$3(action) {
5162
5362
 
5163
5363
  //#endregion
5164
5364
  //#region src/components/pill/PillComposer.tsx
5365
+ const MAX_CHARS = 4e3;
5366
+ /**
5367
+ * Character count indicator
5368
+ */
5369
+ const CharacterCount = () => {
5370
+ const $ = c(5);
5371
+ const charCount = useComposer(_temp$4)?.length ?? 0;
5372
+ if (charCount < MAX_CHARS * .8) return null;
5373
+ const isOver = charCount > MAX_CHARS;
5374
+ const remaining = MAX_CHARS - charCount;
5375
+ const t0 = isOver ? "text-red-400" : "text-white/40";
5376
+ let t1;
5377
+ if ($[0] !== t0) {
5378
+ t1 = cn("text-[10px] tabular-nums", t0);
5379
+ $[0] = t0;
5380
+ $[1] = t1;
5381
+ } else t1 = $[1];
5382
+ let t2;
5383
+ if ($[2] !== remaining || $[3] !== t1) {
5384
+ t2 = /* @__PURE__ */ jsx("span", {
5385
+ className: t1,
5386
+ children: remaining
5387
+ });
5388
+ $[2] = remaining;
5389
+ $[3] = t1;
5390
+ $[4] = t2;
5391
+ } else t2 = $[4];
5392
+ return t2;
5393
+ };
5165
5394
  /**
5166
5395
  * Compact composer for the pill UI.
5167
5396
  * Uses assistant-ui primitives for data binding.
5397
+ * Features auto-growing textarea and character count.
5168
5398
  */
5169
5399
  const PillComposer = (t0) => {
5170
- const $ = c(17);
5171
- const { placeholder: t1, showVoiceButton: t2, isVoiceActive: t3, onVoiceToggle, className } = t0;
5400
+ const $ = c(20);
5401
+ const { placeholder: t1, showVoiceButton: t2, isVoiceActive: t3, onVoiceToggle, showCharCount: t4, className } = t0;
5172
5402
  const placeholder = t1 === void 0 ? "Ask something..." : t1;
5173
5403
  const showVoiceButton = t2 === void 0 ? false : t2;
5174
5404
  const isVoiceActive = t3 === void 0 ? false : t3;
5175
- let t4;
5405
+ const showCharCount = t4 === void 0 ? true : t4;
5406
+ let t5;
5176
5407
  if ($[0] !== className) {
5177
- t4 = cn("flex items-center gap-2", "rounded-full", "bg-white/10 border border-white/10", "px-3 py-2", "focus-within:border-white/20 focus-within:bg-white/15", "transition-colors duration-200", className);
5408
+ t5 = cn("flex items-end gap-2", "rounded-2xl", "bg-white/10 border border-white/10", "px-3 py-2", "focus-within:border-white/20 focus-within:bg-white/15", "transition-colors duration-200", className);
5178
5409
  $[0] = className;
5179
- $[1] = t4;
5180
- } else t4 = $[1];
5181
- let t5;
5182
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
5183
- t5 = cn("flex-1 min-w-0", "bg-transparent", "text-sm text-white placeholder:text-white/40", "outline-none", "resize-none");
5184
- $[2] = t5;
5185
- } else t5 = $[2];
5410
+ $[1] = t5;
5411
+ } else t5 = $[1];
5186
5412
  let t6;
5413
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
5414
+ t6 = cn("flex-1 min-w-0", "bg-transparent", "text-sm text-white placeholder:text-white/40", "outline-none", "resize-none", "max-h-32 overflow-y-auto");
5415
+ $[2] = t6;
5416
+ } else t6 = $[2];
5417
+ let t7;
5187
5418
  if ($[3] !== placeholder) {
5188
- t6 = /* @__PURE__ */ jsx(ComposerPrimitive.Input, {
5419
+ t7 = /* @__PURE__ */ jsx(ComposerPrimitive.Input, {
5189
5420
  placeholder,
5190
- className: t5,
5191
- autoFocus: true
5421
+ className: t6,
5422
+ autoFocus: true,
5423
+ rows: 1
5192
5424
  });
5193
5425
  $[3] = placeholder;
5194
- $[4] = t6;
5195
- } else t6 = $[4];
5196
- let t7;
5197
- if ($[5] !== isVoiceActive || $[6] !== onVoiceToggle || $[7] !== showVoiceButton) {
5198
- t7 = showVoiceButton && onVoiceToggle && /* @__PURE__ */ jsx("button", {
5426
+ $[4] = t7;
5427
+ } else t7 = $[4];
5428
+ let t8;
5429
+ if ($[5] !== showCharCount) {
5430
+ t8 = showCharCount && /* @__PURE__ */ jsx(CharacterCount, {});
5431
+ $[5] = showCharCount;
5432
+ $[6] = t8;
5433
+ } else t8 = $[6];
5434
+ let t9;
5435
+ if ($[7] !== isVoiceActive || $[8] !== onVoiceToggle || $[9] !== showVoiceButton) {
5436
+ t9 = showVoiceButton && onVoiceToggle && /* @__PURE__ */ jsx("button", {
5199
5437
  type: "button",
5200
5438
  onClick: onVoiceToggle,
5201
5439
  className: cn("flex-shrink-0", "p-1.5 rounded-full", "transition-colors duration-200", isVoiceActive ? "bg-red-500 text-white" : "hover:bg-white/10 text-white/60 hover:text-white"),
5202
5440
  "aria-label": isVoiceActive ? "Stop voice input" : "Start voice input",
5203
5441
  children: /* @__PURE__ */ jsx(Mic, { className: "h-4 w-4" })
5204
5442
  });
5205
- $[5] = isVoiceActive;
5206
- $[6] = onVoiceToggle;
5207
- $[7] = showVoiceButton;
5208
- $[8] = t7;
5209
- } else t7 = $[8];
5210
- let t8;
5211
- if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
5212
- t8 = cn("flex-shrink-0", "p-1.5 rounded-full", "bg-primary text-primary-foreground", "hover:bg-primary/90", "disabled:opacity-50 disabled:cursor-not-allowed", "transition-colors duration-200");
5213
- $[9] = t8;
5214
- } else t8 = $[9];
5215
- let t9;
5216
- if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
5217
- t9 = /* @__PURE__ */ jsx(ThreadPrimitive.If, {
5443
+ $[7] = isVoiceActive;
5444
+ $[8] = onVoiceToggle;
5445
+ $[9] = showVoiceButton;
5446
+ $[10] = t9;
5447
+ } else t9 = $[10];
5448
+ let t10;
5449
+ if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
5450
+ t10 = cn("flex-shrink-0", "p-1.5 rounded-full", "bg-primary text-primary-foreground", "hover:bg-primary/90", "disabled:opacity-50 disabled:cursor-not-allowed", "transition-colors duration-200");
5451
+ $[11] = t10;
5452
+ } else t10 = $[11];
5453
+ let t11;
5454
+ if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
5455
+ t11 = /* @__PURE__ */ jsx(ThreadPrimitive.If, {
5218
5456
  running: false,
5219
5457
  children: /* @__PURE__ */ jsx(ComposerPrimitive.Send, {
5220
5458
  asChild: true,
5221
5459
  children: /* @__PURE__ */ jsx("button", {
5222
5460
  type: "submit",
5223
- className: t8,
5461
+ className: t10,
5224
5462
  "aria-label": "Send message",
5225
5463
  children: /* @__PURE__ */ jsx(Send, { className: "h-4 w-4" })
5226
5464
  })
5227
5465
  })
5228
5466
  });
5229
- $[10] = t9;
5230
- } else t9 = $[10];
5231
- let t10;
5232
- if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
5233
- t10 = cn("flex-shrink-0", "p-1.5 rounded-full", "bg-red-500 text-white", "hover:bg-red-600", "transition-colors duration-200");
5234
- $[11] = t10;
5235
- } else t10 = $[11];
5236
- let t11;
5237
- if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
5238
- t11 = /* @__PURE__ */ jsx(ThreadPrimitive.If, {
5467
+ $[12] = t11;
5468
+ } else t11 = $[12];
5469
+ let t12;
5470
+ if ($[13] === Symbol.for("react.memo_cache_sentinel")) {
5471
+ t12 = cn("flex-shrink-0", "p-1.5 rounded-full", "bg-red-500 text-white", "hover:bg-red-600", "transition-colors duration-200");
5472
+ $[13] = t12;
5473
+ } else t12 = $[13];
5474
+ let t13;
5475
+ if ($[14] === Symbol.for("react.memo_cache_sentinel")) {
5476
+ t13 = /* @__PURE__ */ jsx(ThreadPrimitive.If, {
5239
5477
  running: true,
5240
5478
  children: /* @__PURE__ */ jsx(ComposerPrimitive.Cancel, {
5241
5479
  asChild: true,
5242
5480
  children: /* @__PURE__ */ jsx("button", {
5243
5481
  type: "button",
5244
- className: t10,
5482
+ className: t12,
5245
5483
  "aria-label": "Stop generating",
5246
5484
  children: /* @__PURE__ */ jsx(Square, { className: "h-3.5 w-3.5" })
5247
5485
  })
5248
5486
  })
5249
5487
  });
5250
- $[12] = t11;
5251
- } else t11 = $[12];
5252
- let t12;
5253
- if ($[13] !== t4 || $[14] !== t6 || $[15] !== t7) {
5254
- t12 = /* @__PURE__ */ jsxs(ComposerPrimitive.Root, {
5255
- className: t4,
5488
+ $[14] = t13;
5489
+ } else t13 = $[14];
5490
+ let t14;
5491
+ if ($[15] !== t5 || $[16] !== t7 || $[17] !== t8 || $[18] !== t9) {
5492
+ t14 = /* @__PURE__ */ jsxs(ComposerPrimitive.Root, {
5493
+ className: t5,
5256
5494
  children: [
5257
- t6,
5258
5495
  t7,
5496
+ t8,
5259
5497
  t9,
5260
- t11
5498
+ t11,
5499
+ t13
5261
5500
  ]
5262
5501
  });
5263
- $[13] = t4;
5264
- $[14] = t6;
5265
- $[15] = t7;
5266
- $[16] = t12;
5267
- } else t12 = $[16];
5268
- return t12;
5502
+ $[15] = t5;
5503
+ $[16] = t7;
5504
+ $[17] = t8;
5505
+ $[18] = t9;
5506
+ $[19] = t14;
5507
+ } else t14 = $[19];
5508
+ return t14;
5269
5509
  };
5510
+ function _temp$4(c$1) {
5511
+ return c$1.text;
5512
+ }
5270
5513
 
5271
5514
  //#endregion
5272
5515
  //#region src/components/pill/PillContainer.tsx
5273
5516
  const sizeSpring = {
5274
5517
  type: "spring",
5275
- stiffness: 300,
5276
- damping: 28,
5518
+ stiffness: 400,
5519
+ damping: 35,
5277
5520
  mass: .8
5278
5521
  };
5522
+ const reducedMotionTransition = { duration: 0 };
5279
5523
  const containerVariants = {
5280
5524
  collapsed: {
5281
- width: "40px",
5282
- height: "3px",
5525
+ width: "80px",
5526
+ height: "8px",
5283
5527
  padding: "0px",
5284
5528
  borderRadius: "9999px"
5285
5529
  },
@@ -5296,62 +5540,44 @@ const containerVariants = {
5296
5540
  borderRadius: "20px"
5297
5541
  },
5298
5542
  active: {
5299
- width: "min(360px, calc(100vw - 2rem))",
5543
+ width: "min(420px, calc(100vw - 2rem))",
5300
5544
  height: "auto",
5301
5545
  padding: "10px 14px",
5302
5546
  borderRadius: "20px"
5303
5547
  },
5304
5548
  expanded: {
5305
- width: "min(400px, calc(100vw - 2rem))",
5549
+ width: "min(440px, calc(100vw - 2rem))",
5306
5550
  height: "auto",
5307
5551
  padding: "12px 16px",
5308
5552
  borderRadius: "20px"
5309
5553
  }
5310
5554
  };
5311
5555
  const contentVariants = {
5312
- hidden: {
5313
- opacity: 0,
5314
- y: 8,
5315
- scale: .95
5316
- },
5556
+ hidden: { opacity: 0 },
5317
5557
  visible: {
5318
5558
  opacity: 1,
5319
- y: 0,
5320
- scale: 1,
5321
5559
  transition: {
5322
- type: "spring",
5323
- stiffness: 500,
5324
- damping: 30,
5325
- staggerChildren: .05
5560
+ duration: .15,
5561
+ delay: .1
5326
5562
  }
5327
5563
  },
5328
5564
  exit: {
5329
5565
  opacity: 0,
5330
- y: -4,
5331
- scale: .98,
5332
- transition: {
5333
- duration: .15,
5334
- ease: "easeOut"
5335
- }
5566
+ transition: { duration: .1 }
5336
5567
  }
5337
5568
  };
5338
5569
  const hintVariants = {
5339
- hidden: {
5340
- opacity: 0,
5341
- scale: .9
5342
- },
5570
+ hidden: { opacity: 0 },
5343
5571
  visible: {
5344
5572
  opacity: 1,
5345
- scale: 1,
5346
5573
  transition: {
5347
- delay: .1,
5348
- duration: .2
5574
+ delay: .05,
5575
+ duration: .15
5349
5576
  }
5350
5577
  },
5351
5578
  exit: {
5352
5579
  opacity: 0,
5353
- scale: .9,
5354
- transition: { duration: .1 }
5580
+ transition: { duration: .08 }
5355
5581
  }
5356
5582
  };
5357
5583
  const barVariants = {
@@ -5381,6 +5607,7 @@ const PillContainer = (t0) => {
5381
5607
  const { mode, children, onModeChange, className } = t0;
5382
5608
  const [isHovered, setIsHovered] = useState(false);
5383
5609
  const hoverTimeoutRef = useRef(null);
5610
+ const prefersReducedMotion = useReducedMotion();
5384
5611
  let t1;
5385
5612
  if ($[0] !== mode || $[1] !== onModeChange) {
5386
5613
  t1 = () => {
@@ -5424,11 +5651,17 @@ const PillContainer = (t0) => {
5424
5651
  if ($[9] !== mode || $[10] !== onModeChange) {
5425
5652
  t4 = () => {
5426
5653
  const handleKeyDown = (e) => {
5427
- if ((e.ctrlKey || e.metaKey) && e.shiftKey && e.key.toLowerCase() === "k") {
5654
+ const isShortcut = (e.ctrlKey || e.metaKey) && e.shiftKey && e.key.toLowerCase() === "k";
5655
+ const isEscape = e.key === "Escape";
5656
+ if (isShortcut) {
5428
5657
  e.preventDefault();
5429
5658
  if (mode === "collapsed") onModeChange?.("composing");
5430
5659
  else if (mode === "composing" || mode === "hovered") onModeChange?.("collapsed");
5431
5660
  }
5661
+ if (isEscape && (mode === "composing" || mode === "expanded" || mode === "hovered")) {
5662
+ e.preventDefault();
5663
+ onModeChange?.("collapsed");
5664
+ }
5432
5665
  };
5433
5666
  window.addEventListener("keydown", handleKeyDown);
5434
5667
  return () => window.removeEventListener("keydown", handleKeyDown);
@@ -5459,47 +5692,44 @@ const PillContainer = (t0) => {
5459
5692
  useEffect(t6, t7);
5460
5693
  const showContent = mode !== "collapsed" && mode !== "hovered";
5461
5694
  const currentVariant = containerVariants[mode];
5462
- const t8 = mode === "collapsed" && "glass-pill-collapsed glass-shimmer";
5463
- const t9 = mode === "hovered" && "glass-pill-hovered";
5464
- const t10 = (mode === "composing" || mode === "expanded") && "glass-pill";
5465
- const t11 = mode === "active" && "glass-pill glass-active";
5466
- let t12;
5467
- if ($[15] !== className || $[16] !== t10 || $[17] !== t11 || $[18] !== t8 || $[19] !== t9) {
5468
- t12 = cn("relative overflow-hidden", "will-change-transform", t8, t9, t10, t11, className);
5695
+ const t8 = !prefersReducedMotion && "will-change-transform";
5696
+ const t9 = mode === "collapsed" && "glass-pill-collapsed glass-shimmer";
5697
+ const t10 = mode === "hovered" && "glass-pill-hovered";
5698
+ const t11 = (mode === "composing" || mode === "expanded") && "glass-pill";
5699
+ const t12 = mode === "active" && "glass-pill glass-active";
5700
+ let t13;
5701
+ if ($[15] !== className || $[16] !== t10 || $[17] !== t11 || $[18] !== t12 || $[19] !== t8 || $[20] !== t9) {
5702
+ t13 = cn("relative overflow-hidden", t8, "focus:outline-none focus-visible:ring-2 focus-visible:ring-white/30 focus-visible:ring-offset-2 focus-visible:ring-offset-transparent", t9, t10, t11, t12, className);
5469
5703
  $[15] = className;
5470
5704
  $[16] = t10;
5471
5705
  $[17] = t11;
5472
- $[18] = t8;
5473
- $[19] = t9;
5474
- $[20] = t12;
5475
- } else t12 = $[20];
5476
- const glassClassName = t12;
5477
- let t13;
5478
- if ($[21] !== currentVariant.borderRadius || $[22] !== currentVariant.height || $[23] !== currentVariant.padding || $[24] !== currentVariant.width) {
5479
- t13 = {
5706
+ $[18] = t12;
5707
+ $[19] = t8;
5708
+ $[20] = t9;
5709
+ $[21] = t13;
5710
+ } else t13 = $[21];
5711
+ const glassClassName = t13;
5712
+ const transition = prefersReducedMotion ? reducedMotionTransition : sizeSpring;
5713
+ const t14 = !prefersReducedMotion;
5714
+ let t15;
5715
+ if ($[22] !== currentVariant.borderRadius || $[23] !== currentVariant.height || $[24] !== currentVariant.padding || $[25] !== currentVariant.width) {
5716
+ t15 = {
5480
5717
  width: currentVariant.width,
5481
5718
  height: currentVariant.height,
5482
5719
  padding: currentVariant.padding,
5483
5720
  borderRadius: currentVariant.borderRadius
5484
5721
  };
5485
- $[21] = currentVariant.borderRadius;
5486
- $[22] = currentVariant.height;
5487
- $[23] = currentVariant.padding;
5488
- $[24] = currentVariant.width;
5489
- $[25] = t13;
5490
- } else t13 = $[25];
5491
- const t14 = mode === "collapsed" || mode === "hovered" ? "button" : void 0;
5492
- const t15 = mode === "collapsed" || mode === "hovered" ? 0 : void 0;
5493
- const t16 = mode === "collapsed" ? "Open assistant" : void 0;
5494
- const t17 = showContent ? "60px" : void 0;
5495
- let t18;
5496
- if ($[26] !== t17) {
5497
- t18 = { minHeight: t17 };
5498
- $[26] = t17;
5499
- $[27] = t18;
5500
- } else t18 = $[27];
5722
+ $[22] = currentVariant.borderRadius;
5723
+ $[23] = currentVariant.height;
5724
+ $[24] = currentVariant.padding;
5725
+ $[25] = currentVariant.width;
5726
+ $[26] = t15;
5727
+ } else t15 = $[26];
5728
+ const t16 = mode === "collapsed" || mode === "hovered" ? "button" : void 0;
5729
+ const t17 = mode === "collapsed" || mode === "hovered" ? 0 : void 0;
5730
+ const t18 = mode === "collapsed" ? "Open assistant" : void 0;
5501
5731
  let t19;
5502
- if ($[28] !== isHovered || $[29] !== mode) {
5732
+ if ($[27] !== isHovered || $[28] !== mode) {
5503
5733
  t19 = mode === "collapsed" && /* @__PURE__ */ jsx(motion.div, {
5504
5734
  className: "absolute inset-0",
5505
5735
  variants: barVariants,
@@ -5514,21 +5744,21 @@ const PillContainer = (t0) => {
5514
5744
  backgroundSize: "200% 100%"
5515
5745
  }
5516
5746
  }, "collapsed-bar");
5517
- $[28] = isHovered;
5518
- $[29] = mode;
5519
- $[30] = t19;
5520
- } else t19 = $[30];
5747
+ $[27] = isHovered;
5748
+ $[28] = mode;
5749
+ $[29] = t19;
5750
+ } else t19 = $[29];
5521
5751
  let t20;
5522
- if ($[31] !== t19) {
5752
+ if ($[30] !== t19) {
5523
5753
  t20 = /* @__PURE__ */ jsx(AnimatePresence, {
5524
5754
  mode: "wait",
5525
5755
  children: t19
5526
5756
  });
5527
- $[31] = t19;
5528
- $[32] = t20;
5529
- } else t20 = $[32];
5757
+ $[30] = t19;
5758
+ $[31] = t20;
5759
+ } else t20 = $[31];
5530
5760
  let t21;
5531
- if ($[33] !== mode) {
5761
+ if ($[32] !== mode) {
5532
5762
  t21 = mode === "hovered" && /* @__PURE__ */ jsx(motion.div, {
5533
5763
  className: "relative z-10 flex h-full w-full items-center justify-center",
5534
5764
  variants: hintVariants,
@@ -5547,20 +5777,20 @@ const PillContainer = (t0) => {
5547
5777
  ]
5548
5778
  })
5549
5779
  }, "hover-hint");
5550
- $[33] = mode;
5551
- $[34] = t21;
5552
- } else t21 = $[34];
5780
+ $[32] = mode;
5781
+ $[33] = t21;
5782
+ } else t21 = $[33];
5553
5783
  let t22;
5554
- if ($[35] !== t21) {
5784
+ if ($[34] !== t21) {
5555
5785
  t22 = /* @__PURE__ */ jsx(AnimatePresence, {
5556
5786
  mode: "wait",
5557
5787
  children: t21
5558
5788
  });
5559
- $[35] = t21;
5560
- $[36] = t22;
5561
- } else t22 = $[36];
5789
+ $[34] = t21;
5790
+ $[35] = t22;
5791
+ } else t22 = $[35];
5562
5792
  let t23;
5563
- if ($[37] !== children || $[38] !== showContent) {
5793
+ if ($[36] !== children || $[37] !== showContent) {
5564
5794
  t23 = showContent && /* @__PURE__ */ jsx(motion.div, {
5565
5795
  className: "relative z-10 flex flex-col gap-2",
5566
5796
  variants: contentVariants,
@@ -5569,52 +5799,52 @@ const PillContainer = (t0) => {
5569
5799
  exit: "exit",
5570
5800
  children
5571
5801
  }, "content");
5572
- $[37] = children;
5573
- $[38] = showContent;
5574
- $[39] = t23;
5575
- } else t23 = $[39];
5802
+ $[36] = children;
5803
+ $[37] = showContent;
5804
+ $[38] = t23;
5805
+ } else t23 = $[38];
5576
5806
  let t24;
5577
- if ($[40] !== t23) {
5807
+ if ($[39] !== t23) {
5578
5808
  t24 = /* @__PURE__ */ jsx(AnimatePresence, {
5579
5809
  mode: "wait",
5580
5810
  children: t23
5581
5811
  });
5582
- $[40] = t23;
5583
- $[41] = t24;
5584
- } else t24 = $[41];
5812
+ $[39] = t23;
5813
+ $[40] = t24;
5814
+ } else t24 = $[40];
5585
5815
  let t25;
5586
- if ($[42] !== glassClassName || $[43] !== handleClick || $[44] !== handleMouseEnter || $[45] !== handleMouseLeave || $[46] !== t13 || $[47] !== t14 || $[48] !== t15 || $[49] !== t16 || $[50] !== t18 || $[51] !== t20 || $[52] !== t22 || $[53] !== t24) {
5816
+ if ($[41] !== glassClassName || $[42] !== handleClick || $[43] !== handleMouseEnter || $[44] !== handleMouseLeave || $[45] !== t14 || $[46] !== t15 || $[47] !== t16 || $[48] !== t17 || $[49] !== t18 || $[50] !== t20 || $[51] !== t22 || $[52] !== t24 || $[53] !== transition) {
5587
5817
  t25 = /* @__PURE__ */ jsxs(motion.div, {
5588
- layout: true,
5818
+ layout: t14,
5589
5819
  className: glassClassName,
5590
5820
  initial: false,
5591
- animate: t13,
5592
- transition: sizeSpring,
5821
+ animate: t15,
5822
+ transition,
5593
5823
  onMouseEnter: handleMouseEnter,
5594
5824
  onMouseLeave: handleMouseLeave,
5595
5825
  onClick: handleClick,
5596
- role: t14,
5597
- tabIndex: t15,
5598
- "aria-label": t16,
5599
- style: t18,
5826
+ role: t16,
5827
+ tabIndex: t17,
5828
+ "aria-label": t18,
5600
5829
  children: [
5601
5830
  t20,
5602
5831
  t22,
5603
5832
  t24
5604
5833
  ]
5605
5834
  });
5606
- $[42] = glassClassName;
5607
- $[43] = handleClick;
5608
- $[44] = handleMouseEnter;
5609
- $[45] = handleMouseLeave;
5610
- $[46] = t13;
5611
- $[47] = t14;
5612
- $[48] = t15;
5613
- $[49] = t16;
5614
- $[50] = t18;
5615
- $[51] = t20;
5616
- $[52] = t22;
5617
- $[53] = t24;
5835
+ $[41] = glassClassName;
5836
+ $[42] = handleClick;
5837
+ $[43] = handleMouseEnter;
5838
+ $[44] = handleMouseLeave;
5839
+ $[45] = t14;
5840
+ $[46] = t15;
5841
+ $[47] = t16;
5842
+ $[48] = t17;
5843
+ $[49] = t18;
5844
+ $[50] = t20;
5845
+ $[51] = t22;
5846
+ $[52] = t24;
5847
+ $[53] = transition;
5618
5848
  $[54] = t25;
5619
5849
  } else t25 = $[54];
5620
5850
  return t25;
@@ -6398,74 +6628,121 @@ function _temp4$1(t0) {
6398
6628
  /**
6399
6629
  * Summary block showing the agent's synthesized output.
6400
6630
  * Displayed after task completion instead of token streaming.
6631
+ * Uses compact styling with max-height and scrolling for long responses.
6401
6632
  */
6402
6633
  const SummaryBlock = (t0) => {
6403
- const $ = c(17);
6634
+ const $ = c(27);
6404
6635
  const { summary, isSuccess, isError, actions, className } = t0;
6405
- const t1 = isSuccess && "bg-green-500/10 border border-green-500/20";
6406
- const t2 = isError && "bg-red-500/10 border border-red-500/20";
6407
- const t3 = !isSuccess && !isError && "bg-white/5 border border-white/10";
6408
- let t4;
6409
- if ($[0] !== className || $[1] !== t1 || $[2] !== t2 || $[3] !== t3) {
6410
- t4 = cn("rounded-xl p-4", t1, t2, t3, className);
6411
- $[0] = className;
6636
+ const [copied, setCopied] = useState(false);
6637
+ let t1;
6638
+ if ($[0] !== summary) {
6639
+ t1 = async () => {
6640
+ try {
6641
+ await navigator.clipboard.writeText(summary);
6642
+ setCopied(true);
6643
+ setTimeout(() => setCopied(false), 2e3);
6644
+ } catch {}
6645
+ };
6646
+ $[0] = summary;
6412
6647
  $[1] = t1;
6413
- $[2] = t2;
6414
- $[3] = t3;
6415
- $[4] = t4;
6416
- } else t4 = $[4];
6648
+ } else t1 = $[1];
6649
+ const handleCopy = t1;
6650
+ const t2 = isSuccess && "bg-green-500/10 border border-green-500/20";
6651
+ const t3 = isError && "bg-red-500/10 border border-red-500/20";
6652
+ const t4 = !isSuccess && !isError && "bg-white/5 border border-white/10";
6417
6653
  let t5;
6418
- if ($[5] !== isError || $[6] !== isSuccess) {
6419
- t5 = (isSuccess || isError) && /* @__PURE__ */ jsxs("div", {
6420
- className: "flex items-center gap-2 mb-3",
6654
+ if ($[2] !== className || $[3] !== t2 || $[4] !== t3 || $[5] !== t4) {
6655
+ t5 = cn("rounded-xl p-3 relative group", t2, t3, t4, className);
6656
+ $[2] = className;
6657
+ $[3] = t2;
6658
+ $[4] = t3;
6659
+ $[5] = t4;
6660
+ $[6] = t5;
6661
+ } else t5 = $[6];
6662
+ let t6;
6663
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
6664
+ t6 = cn("absolute top-2 right-2 z-10", "p-1 rounded", "opacity-0 group-hover:opacity-100", "hover:bg-white/10", "text-white/40 hover:text-white/70", "transition-all duration-150");
6665
+ $[7] = t6;
6666
+ } else t6 = $[7];
6667
+ const t7 = copied ? "Copied!" : "Copy response";
6668
+ let t8;
6669
+ if ($[8] !== copied) {
6670
+ t8 = copied ? /* @__PURE__ */ jsx(Check, { className: "h-3.5 w-3.5 text-green-400" }) : /* @__PURE__ */ jsx(Copy, { className: "h-3.5 w-3.5" });
6671
+ $[8] = copied;
6672
+ $[9] = t8;
6673
+ } else t8 = $[9];
6674
+ let t9;
6675
+ if ($[10] !== handleCopy || $[11] !== t7 || $[12] !== t8) {
6676
+ t9 = /* @__PURE__ */ jsx("button", {
6677
+ type: "button",
6678
+ onClick: handleCopy,
6679
+ className: t6,
6680
+ "aria-label": t7,
6681
+ children: t8
6682
+ });
6683
+ $[10] = handleCopy;
6684
+ $[11] = t7;
6685
+ $[12] = t8;
6686
+ $[13] = t9;
6687
+ } else t9 = $[13];
6688
+ let t10;
6689
+ if ($[14] !== isError || $[15] !== isSuccess) {
6690
+ t10 = (isSuccess || isError) && /* @__PURE__ */ jsxs("div", {
6691
+ className: "flex items-center gap-2 mb-2",
6421
6692
  children: [
6422
6693
  isSuccess && /* @__PURE__ */ jsx(CheckCircle2, { className: "h-4 w-4 text-green-400" }),
6423
6694
  isError && /* @__PURE__ */ jsx(AlertCircle, { className: "h-4 w-4 text-red-400" }),
6424
6695
  /* @__PURE__ */ jsx("span", {
6425
- className: cn("text-sm font-medium", isSuccess && "text-green-400", isError && "text-red-400"),
6426
- children: isSuccess ? "Task Complete" : "Error"
6696
+ className: cn("text-xs font-medium", isSuccess && "text-green-400", isError && "text-red-400"),
6697
+ children: isSuccess ? "Done" : "Error"
6427
6698
  })
6428
6699
  ]
6429
6700
  });
6430
- $[5] = isError;
6431
- $[6] = isSuccess;
6432
- $[7] = t5;
6433
- } else t5 = $[7];
6434
- let t6;
6435
- if ($[8] !== summary) {
6436
- t6 = /* @__PURE__ */ jsx(PillMarkdown, {
6437
- content: summary,
6438
- className: "text-white/90"
6701
+ $[14] = isError;
6702
+ $[15] = isSuccess;
6703
+ $[16] = t10;
6704
+ } else t10 = $[16];
6705
+ let t11;
6706
+ if ($[17] !== summary) {
6707
+ t11 = /* @__PURE__ */ jsx("div", {
6708
+ className: "max-h-32 overflow-y-auto pr-1 scrollbar-thin",
6709
+ children: /* @__PURE__ */ jsx(PillMarkdown, {
6710
+ content: summary,
6711
+ className: "text-white/90",
6712
+ compact: true
6713
+ })
6439
6714
  });
6440
- $[8] = summary;
6441
- $[9] = t6;
6442
- } else t6 = $[9];
6443
- let t7;
6444
- if ($[10] !== actions) {
6445
- t7 = actions && actions.length > 0 && /* @__PURE__ */ jsx("div", {
6446
- className: "flex flex-wrap gap-2 mt-4 pt-3 border-t border-white/10",
6715
+ $[17] = summary;
6716
+ $[18] = t11;
6717
+ } else t11 = $[18];
6718
+ let t12;
6719
+ if ($[19] !== actions) {
6720
+ t12 = actions && actions.length > 0 && /* @__PURE__ */ jsx("div", {
6721
+ className: "flex flex-wrap gap-2 mt-3 pt-2 border-t border-white/10",
6447
6722
  children: actions.map(_temp$2)
6448
6723
  });
6449
- $[10] = actions;
6450
- $[11] = t7;
6451
- } else t7 = $[11];
6452
- let t8;
6453
- if ($[12] !== t4 || $[13] !== t5 || $[14] !== t6 || $[15] !== t7) {
6454
- t8 = /* @__PURE__ */ jsxs("div", {
6455
- className: t4,
6724
+ $[19] = actions;
6725
+ $[20] = t12;
6726
+ } else t12 = $[20];
6727
+ let t13;
6728
+ if ($[21] !== t10 || $[22] !== t11 || $[23] !== t12 || $[24] !== t5 || $[25] !== t9) {
6729
+ t13 = /* @__PURE__ */ jsxs("div", {
6730
+ className: t5,
6456
6731
  children: [
6457
- t5,
6458
- t6,
6459
- t7
6732
+ t9,
6733
+ t10,
6734
+ t11,
6735
+ t12
6460
6736
  ]
6461
6737
  });
6462
- $[12] = t4;
6463
- $[13] = t5;
6464
- $[14] = t6;
6465
- $[15] = t7;
6466
- $[16] = t8;
6467
- } else t8 = $[16];
6468
- return t8;
6738
+ $[21] = t10;
6739
+ $[22] = t11;
6740
+ $[23] = t12;
6741
+ $[24] = t5;
6742
+ $[25] = t9;
6743
+ $[26] = t13;
6744
+ } else t13 = $[26];
6745
+ return t13;
6469
6746
  };
6470
6747
  /**
6471
6748
  * Hook to get the latest summary from the thread
@@ -6550,7 +6827,7 @@ const WelcomeMessage = (t0) => {
6550
6827
  function _temp$2(action, i) {
6551
6828
  return /* @__PURE__ */ jsx("button", {
6552
6829
  onClick: action.onClick,
6553
- className: cn("px-3 py-1.5 rounded-lg text-sm font-medium", "transition-colors duration-200", action.variant === "primary" ? "bg-primary text-primary-foreground hover:bg-primary/90" : "bg-white/10 text-white/80 hover:bg-white/20"),
6830
+ className: cn("px-2.5 py-1 rounded-lg text-xs font-medium", "transition-colors duration-200", action.variant === "primary" ? "bg-primary text-primary-foreground hover:bg-primary/90" : "bg-white/10 text-white/80 hover:bg-white/20"),
6554
6831
  children: action.label
6555
6832
  }, i);
6556
6833
  }
@@ -6708,6 +6985,7 @@ function useToolBorderStatus(hasRunningAction, lastActionStatus) {
6708
6985
 
6709
6986
  //#endregion
6710
6987
  //#region src/components/pill/AgentPill.tsx
6988
+ const AUTO_COLLAPSE_TIMEOUT = 3e4;
6711
6989
  /**
6712
6990
  * Action-first agent pill UI.
6713
6991
  *
@@ -6720,255 +6998,461 @@ function useToolBorderStatus(hasRunningAction, lastActionStatus) {
6720
6998
  * Uses assistant-ui primitives for data binding.
6721
6999
  */
6722
7000
  const AgentPill = (t0) => {
6723
- const $ = c(69);
6724
- const { position: t1, onOpenHistory, showVoiceButton: t2, isVoiceActive: t3, onVoiceToggle, className } = t0;
7001
+ const $ = c(105);
7002
+ const { position: t1, onOpenHistory, showVoiceButton: t2, isVoiceActive: t3, onVoiceToggle, autoCollapse: t4, className } = t0;
6725
7003
  const position = t1 === void 0 ? "bottom-center" : t1;
6726
7004
  const showVoiceButton = t2 === void 0 ? false : t2;
6727
7005
  const isVoiceActive = t3 === void 0 ? false : t3;
7006
+ const autoCollapse = t4 === void 0 ? true : t4;
6728
7007
  const [userMode, setUserMode] = useState("collapsed");
7008
+ const [hasUnread, setHasUnread] = useState(false);
7009
+ let t5;
7010
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
7011
+ t5 = {
7012
+ x: 0,
7013
+ y: 0
7014
+ };
7015
+ $[0] = t5;
7016
+ } else t5 = $[0];
7017
+ const [dragPosition, setDragPosition] = useState(t5);
7018
+ const dragControls = useDragControls();
7019
+ const constraintsRef = useRef(null);
7020
+ const autoCollapseTimeoutRef = useRef(null);
7021
+ const lastMessageCountRef = useRef(0);
6729
7022
  const messages = useThread(_temp$1);
7023
+ let t6;
7024
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
7025
+ t6 = (_, info) => {
7026
+ setDragPosition((prev) => ({
7027
+ x: prev.x + info.offset.x,
7028
+ y: prev.y + info.offset.y
7029
+ }));
7030
+ };
7031
+ $[1] = t6;
7032
+ } else t6 = $[1];
7033
+ const handleDragEnd = t6;
7034
+ let t7;
7035
+ if ($[2] !== messages?.length || $[3] !== userMode) {
7036
+ t7 = () => {
7037
+ const currentCount = messages?.length ?? 0;
7038
+ if (userMode === "collapsed" && currentCount > lastMessageCountRef.current) setHasUnread(true);
7039
+ lastMessageCountRef.current = currentCount;
7040
+ };
7041
+ $[2] = messages?.length;
7042
+ $[3] = userMode;
7043
+ $[4] = t7;
7044
+ } else t7 = $[4];
7045
+ const t8 = messages?.length;
7046
+ let t9;
7047
+ if ($[5] !== t8 || $[6] !== userMode) {
7048
+ t9 = [t8, userMode];
7049
+ $[5] = t8;
7050
+ $[6] = userMode;
7051
+ $[7] = t9;
7052
+ } else t9 = $[7];
7053
+ useEffect(t7, t9);
7054
+ let t10;
7055
+ let t11;
7056
+ if ($[8] !== userMode) {
7057
+ t10 = () => {
7058
+ if (userMode !== "collapsed") setHasUnread(false);
7059
+ };
7060
+ t11 = [userMode];
7061
+ $[8] = userMode;
7062
+ $[9] = t10;
7063
+ $[10] = t11;
7064
+ } else {
7065
+ t10 = $[9];
7066
+ t11 = $[10];
7067
+ }
7068
+ useEffect(t10, t11);
6730
7069
  const voiceMode = useOptionalVoiceModeContext();
6731
7070
  const voiceBorderStatus = useVoiceBorderStatus();
6732
7071
  const isVoiceModeActive = voiceMode?.isActive || voiceMode?.isConnecting || voiceMode?.isError || isVoiceActive;
6733
- const actions = useActions();
7072
+ const textActions = useActions();
7073
+ const voiceActions = useVoiceActions();
7074
+ const actions = isVoiceModeActive ? voiceActions : textActions;
6734
7075
  const currentAction = useCurrentAction();
6735
7076
  const recentActions = useRecentActions(3);
6736
- const summary = useLatestSummary();
6737
- const hasMessages = (messages?.length ?? 0) > 0;
6738
- let t4;
7077
+ const textSummary = useLatestSummary();
7078
+ const voiceSummary = useVoiceSummary();
7079
+ const summary = !isVoiceModeActive && voiceSummary ? voiceSummary.text : textSummary;
7080
+ const hasMessages = (messages?.length ?? 0) > 0 || !!voiceSummary;
7081
+ let t12;
6739
7082
  bb0: {
6740
7083
  if (!messages || messages.length === 0) {
6741
- t4 = false;
7084
+ t12 = false;
6742
7085
  break bb0;
6743
7086
  }
6744
- let t5$1;
6745
- if ($[0] !== messages) {
6746
- t5$1 = messages.at(-1);
6747
- $[0] = messages;
6748
- $[1] = t5$1;
6749
- } else t5$1 = $[1];
6750
- const lastMessage = t5$1;
6751
- t4 = lastMessage?.role === "assistant" && lastMessage.status?.type !== "complete";
7087
+ let t13$1;
7088
+ if ($[11] !== messages) {
7089
+ t13$1 = messages.at(-1);
7090
+ $[11] = messages;
7091
+ $[12] = t13$1;
7092
+ } else t13$1 = $[12];
7093
+ const lastMessage = t13$1;
7094
+ t12 = lastMessage?.role === "assistant" && lastMessage.status?.type !== "complete";
6752
7095
  }
6753
- const isRunning = t4;
6754
- let t5;
6755
- if ($[2] !== actions) {
6756
- t5 = actions.filter(_temp2).at(-1);
6757
- $[2] = actions;
6758
- $[3] = t5;
6759
- } else t5 = $[3];
6760
- const lastCompletedAction = t5;
7096
+ const isRunning = t12;
7097
+ let t13;
7098
+ if ($[13] !== actions) {
7099
+ t13 = actions.filter(_temp2).at(-1);
7100
+ $[13] = actions;
7101
+ $[14] = t13;
7102
+ } else t13 = $[14];
7103
+ const lastCompletedAction = t13;
6761
7104
  const textBorderStatus = useToolBorderStatus(!!currentAction, lastCompletedAction?.status === "success" ? "success" : lastCompletedAction?.status === "error" ? "error" : null);
6762
7105
  const borderStatus = isVoiceModeActive ? voiceBorderStatus : textBorderStatus;
6763
- let t6;
7106
+ let t14;
6764
7107
  bb1: {
6765
7108
  if (isVoiceModeActive) {
6766
- t6 = "active";
7109
+ t14 = "active";
6767
7110
  break bb1;
6768
7111
  }
6769
7112
  if (userMode === "collapsed") {
6770
- t6 = "collapsed";
7113
+ t14 = "collapsed";
6771
7114
  break bb1;
6772
7115
  }
6773
7116
  if (userMode === "hovered") {
6774
- t6 = "hovered";
7117
+ t14 = "hovered";
6775
7118
  break bb1;
6776
7119
  }
6777
7120
  if (isRunning) {
6778
- t6 = "active";
7121
+ t14 = "active";
6779
7122
  break bb1;
6780
7123
  }
6781
7124
  if (hasMessages) {
6782
- t6 = "expanded";
7125
+ t14 = "expanded";
6783
7126
  break bb1;
6784
7127
  }
6785
7128
  if (userMode === "composing") {
6786
- t6 = "composing";
7129
+ t14 = "composing";
6787
7130
  break bb1;
6788
7131
  }
6789
- t6 = "collapsed";
7132
+ t14 = "collapsed";
6790
7133
  }
6791
- const mode = t6;
6792
- let t7;
6793
- if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
6794
- t7 = (newMode) => {
7134
+ const mode = t14;
7135
+ let t15;
7136
+ if ($[15] === Symbol.for("react.memo_cache_sentinel")) {
7137
+ t15 = (newMode) => {
6795
7138
  setUserMode(newMode);
6796
7139
  };
6797
- $[4] = t7;
6798
- } else t7 = $[4];
6799
- const handleModeChange = t7;
6800
- let t8;
6801
- if ($[5] !== onVoiceToggle || $[6] !== voiceMode) {
6802
- t8 = () => {
7140
+ $[15] = t15;
7141
+ } else t15 = $[15];
7142
+ const handleModeChange = t15;
7143
+ let t16;
7144
+ if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
7145
+ t16 = () => {
7146
+ setUserMode("collapsed");
7147
+ };
7148
+ $[16] = t16;
7149
+ } else t16 = $[16];
7150
+ const handleCollapse = t16;
7151
+ let t17;
7152
+ let t18;
7153
+ if ($[17] !== mode) {
7154
+ t17 = () => {
7155
+ if (mode === "collapsed" || mode === "hovered") setDragPosition({
7156
+ x: 0,
7157
+ y: 0
7158
+ });
7159
+ };
7160
+ t18 = [mode];
7161
+ $[17] = mode;
7162
+ $[18] = t17;
7163
+ $[19] = t18;
7164
+ } else {
7165
+ t17 = $[18];
7166
+ t18 = $[19];
7167
+ }
7168
+ useEffect(t17, t18);
7169
+ let t19;
7170
+ let t20;
7171
+ if ($[20] !== autoCollapse || $[21] !== isRunning || $[22] !== mode) {
7172
+ t19 = () => {
7173
+ if (!autoCollapse) return;
7174
+ if (autoCollapseTimeoutRef.current) {
7175
+ clearTimeout(autoCollapseTimeoutRef.current);
7176
+ autoCollapseTimeoutRef.current = null;
7177
+ }
7178
+ if (mode === "composing" || mode === "expanded" && !isRunning) autoCollapseTimeoutRef.current = setTimeout(() => {
7179
+ setUserMode("collapsed");
7180
+ }, AUTO_COLLAPSE_TIMEOUT);
7181
+ return () => {
7182
+ if (autoCollapseTimeoutRef.current) clearTimeout(autoCollapseTimeoutRef.current);
7183
+ };
7184
+ };
7185
+ t20 = [
7186
+ mode,
7187
+ isRunning,
7188
+ autoCollapse
7189
+ ];
7190
+ $[20] = autoCollapse;
7191
+ $[21] = isRunning;
7192
+ $[22] = mode;
7193
+ $[23] = t19;
7194
+ $[24] = t20;
7195
+ } else {
7196
+ t19 = $[23];
7197
+ t20 = $[24];
7198
+ }
7199
+ useEffect(t19, t20);
7200
+ let t21;
7201
+ if ($[25] !== onVoiceToggle || $[26] !== voiceMode) {
7202
+ t21 = () => {
6803
7203
  if (voiceMode) if (voiceMode.isActive || voiceMode.isConnecting) voiceMode.stopSession();
6804
7204
  else voiceMode.startSession();
6805
7205
  onVoiceToggle?.();
6806
7206
  };
6807
- $[5] = onVoiceToggle;
6808
- $[6] = voiceMode;
6809
- $[7] = t8;
6810
- } else t8 = $[7];
6811
- const handleVoiceToggle = t8;
6812
- const borderRadius = mode === "collapsed" || mode === "hovered" ? "9999px" : "24px";
6813
- const t9 = position === "bottom-center" && "bottom-4 left-1/2 -translate-x-1/2";
6814
- const t10 = position === "bottom-right" && "bottom-4 right-4";
6815
- let t11;
6816
- if ($[8] !== className || $[9] !== t10 || $[10] !== t9) {
6817
- t11 = cn("fixed z-50", t9, t10, className);
6818
- $[8] = className;
6819
- $[9] = t10;
6820
- $[10] = t9;
6821
- $[11] = t11;
6822
- } else t11 = $[11];
6823
- let t12;
6824
- if ($[12] !== isVoiceModeActive || $[13] !== mode || $[14] !== onOpenHistory) {
6825
- t12 = !isVoiceModeActive && mode !== "collapsed" && mode !== "hovered" && onOpenHistory && /* @__PURE__ */ jsx("button", {
6826
- type: "button",
6827
- onClick: onOpenHistory,
6828
- className: cn("absolute top-3 right-3", "p-1.5 rounded-full", "hover:bg-white/10", "text-white/50 hover:text-white/80", "transition-colors duration-200"),
6829
- "aria-label": "View conversation history",
6830
- children: /* @__PURE__ */ jsx(History, { className: "h-4 w-4" })
6831
- });
6832
- $[12] = isVoiceModeActive;
6833
- $[13] = mode;
6834
- $[14] = onOpenHistory;
6835
- $[15] = t12;
6836
- } else t12 = $[15];
6837
- let t13;
6838
- if ($[16] !== handleVoiceToggle || $[17] !== isVoiceModeActive) {
6839
- t13 = isVoiceModeActive && /* @__PURE__ */ jsx(PillVoice, { onEnd: handleVoiceToggle }, "voice-mode");
6840
- $[16] = handleVoiceToggle;
6841
- $[17] = isVoiceModeActive;
6842
- $[18] = t13;
6843
- } else t13 = $[18];
6844
- let t14;
6845
- if ($[19] !== t13) {
6846
- t14 = /* @__PURE__ */ jsx(AnimatePresence, {
7207
+ $[25] = onVoiceToggle;
7208
+ $[26] = voiceMode;
7209
+ $[27] = t21;
7210
+ } else t21 = $[27];
7211
+ const handleVoiceToggle = t21;
7212
+ const borderRadius = mode === "collapsed" || mode === "hovered" ? "9999px" : "20px";
7213
+ const canCollapse = mode === "composing" || mode === "active" || mode === "expanded";
7214
+ let t22;
7215
+ if ($[28] === Symbol.for("react.memo_cache_sentinel")) {
7216
+ t22 = /* @__PURE__ */ jsx("div", {
7217
+ ref: constraintsRef,
7218
+ className: "fixed inset-0 pointer-events-none"
7219
+ });
7220
+ $[28] = t22;
7221
+ } else t22 = $[28];
7222
+ const t23 = position === "bottom-center" && "bottom-4 left-1/2 -translate-x-1/2";
7223
+ const t24 = position === "bottom-right" && "bottom-4 right-4";
7224
+ let t25;
7225
+ if ($[29] !== className || $[30] !== t23 || $[31] !== t24) {
7226
+ t25 = cn("fixed z-50", t23, t24, className);
7227
+ $[29] = className;
7228
+ $[30] = t23;
7229
+ $[31] = t24;
7230
+ $[32] = t25;
7231
+ } else t25 = $[32];
7232
+ let t26;
7233
+ if ($[33] === Symbol.for("react.memo_cache_sentinel")) {
7234
+ t26 = { scale: 1.02 };
7235
+ $[33] = t26;
7236
+ } else t26 = $[33];
7237
+ let t27;
7238
+ if ($[34] !== dragPosition.x || $[35] !== dragPosition.y) {
7239
+ t27 = {
7240
+ x: dragPosition.x,
7241
+ y: dragPosition.y
7242
+ };
7243
+ $[34] = dragPosition.x;
7244
+ $[35] = dragPosition.y;
7245
+ $[36] = t27;
7246
+ } else t27 = $[36];
7247
+ let t28;
7248
+ if ($[37] === Symbol.for("react.memo_cache_sentinel")) {
7249
+ t28 = {
7250
+ type: "spring",
7251
+ stiffness: 400,
7252
+ damping: 30
7253
+ };
7254
+ $[37] = t28;
7255
+ } else t28 = $[37];
7256
+ let t29;
7257
+ if ($[38] !== hasUnread || $[39] !== mode) {
7258
+ t29 = mode === "collapsed" && hasUnread && /* @__PURE__ */ jsx(motion.div, {
7259
+ initial: { scale: 0 },
7260
+ animate: { scale: 1 },
7261
+ className: "absolute -top-1 -right-1 w-2 h-2 bg-blue-500 rounded-full"
7262
+ });
7263
+ $[38] = hasUnread;
7264
+ $[39] = mode;
7265
+ $[40] = t29;
7266
+ } else t29 = $[40];
7267
+ let t30;
7268
+ if ($[41] !== canCollapse || $[42] !== dragControls || $[43] !== handleVoiceToggle || $[44] !== isVoiceModeActive || $[45] !== onOpenHistory) {
7269
+ t30 = (isVoiceModeActive || canCollapse) && /* @__PURE__ */ jsxs("div", {
7270
+ className: "flex items-center justify-between mb-1 -mt-1",
7271
+ children: [/* @__PURE__ */ jsx("div", {
7272
+ className: "flex items-center gap-1 text-white/30 cursor-grab active:cursor-grabbing",
7273
+ onPointerDown: (e) => dragControls.start(e),
7274
+ children: /* @__PURE__ */ jsx(GripHorizontal, { className: "h-3 w-3" })
7275
+ }), /* @__PURE__ */ jsxs("div", {
7276
+ className: "flex items-center gap-1",
7277
+ children: [onOpenHistory && /* @__PURE__ */ jsx("button", {
7278
+ type: "button",
7279
+ onClick: onOpenHistory,
7280
+ className: cn("p-1 rounded-full", "hover:bg-white/10", "text-white/40 hover:text-white/70", "transition-colors duration-150"),
7281
+ "aria-label": "View history",
7282
+ children: /* @__PURE__ */ jsx(History, { className: "h-3.5 w-3.5" })
7283
+ }), /* @__PURE__ */ jsx("button", {
7284
+ type: "button",
7285
+ onClick: isVoiceModeActive ? handleVoiceToggle : handleCollapse,
7286
+ className: cn("p-1 rounded-full", "hover:bg-white/10", "text-white/40 hover:text-white/70", "transition-colors duration-150"),
7287
+ "aria-label": isVoiceModeActive ? "End voice session" : "Close",
7288
+ children: /* @__PURE__ */ jsx(X, { className: "h-3.5 w-3.5" })
7289
+ })]
7290
+ })]
7291
+ });
7292
+ $[41] = canCollapse;
7293
+ $[42] = dragControls;
7294
+ $[43] = handleVoiceToggle;
7295
+ $[44] = isVoiceModeActive;
7296
+ $[45] = onOpenHistory;
7297
+ $[46] = t30;
7298
+ } else t30 = $[46];
7299
+ let t31;
7300
+ if ($[47] !== handleVoiceToggle || $[48] !== isVoiceModeActive) {
7301
+ t31 = isVoiceModeActive && /* @__PURE__ */ jsx(PillVoice, { onEnd: handleVoiceToggle }, "voice-mode");
7302
+ $[47] = handleVoiceToggle;
7303
+ $[48] = isVoiceModeActive;
7304
+ $[49] = t31;
7305
+ } else t31 = $[49];
7306
+ let t32;
7307
+ if ($[50] !== t31) {
7308
+ t32 = /* @__PURE__ */ jsx(AnimatePresence, {
6847
7309
  mode: "wait",
6848
- children: t13
7310
+ children: t31
6849
7311
  });
6850
- $[19] = t13;
6851
- $[20] = t14;
6852
- } else t14 = $[20];
6853
- let t15;
6854
- if ($[21] !== hasMessages || $[22] !== isVoiceModeActive || $[23] !== mode) {
6855
- t15 = !isVoiceModeActive && mode === "composing" && !hasMessages && /* @__PURE__ */ jsx(WelcomeMessage, {});
6856
- $[21] = hasMessages;
6857
- $[22] = isVoiceModeActive;
6858
- $[23] = mode;
6859
- $[24] = t15;
6860
- } else t15 = $[24];
6861
- let t16;
6862
- if ($[25] !== currentAction || $[26] !== isVoiceModeActive || $[27] !== mode || $[28] !== recentActions) {
6863
- t16 = !isVoiceModeActive && mode === "active" && /* @__PURE__ */ jsx(CurrentActivity, {
7312
+ $[50] = t31;
7313
+ $[51] = t32;
7314
+ } else t32 = $[51];
7315
+ let t33;
7316
+ if ($[52] !== hasMessages || $[53] !== isVoiceModeActive || $[54] !== mode) {
7317
+ t33 = !isVoiceModeActive && mode === "composing" && !hasMessages && /* @__PURE__ */ jsx(WelcomeMessage, {});
7318
+ $[52] = hasMessages;
7319
+ $[53] = isVoiceModeActive;
7320
+ $[54] = mode;
7321
+ $[55] = t33;
7322
+ } else t33 = $[55];
7323
+ let t34;
7324
+ if ($[56] !== currentAction || $[57] !== isVoiceModeActive || $[58] !== mode || $[59] !== recentActions) {
7325
+ t34 = !isVoiceModeActive && mode === "active" && /* @__PURE__ */ jsx(CurrentActivity, {
6864
7326
  currentAction,
6865
7327
  recentActions,
6866
7328
  showRecent: true
6867
7329
  });
6868
- $[25] = currentAction;
6869
- $[26] = isVoiceModeActive;
6870
- $[27] = mode;
6871
- $[28] = recentActions;
6872
- $[29] = t16;
6873
- } else t16 = $[29];
6874
- let t17;
6875
- if ($[30] !== isRunning || $[31] !== isVoiceModeActive || $[32] !== lastCompletedAction?.error || $[33] !== mode || $[34] !== summary) {
6876
- t17 = !isVoiceModeActive && mode === "expanded" && !isRunning && summary && /* @__PURE__ */ jsx(SummaryBlock, {
7330
+ $[56] = currentAction;
7331
+ $[57] = isVoiceModeActive;
7332
+ $[58] = mode;
7333
+ $[59] = recentActions;
7334
+ $[60] = t34;
7335
+ } else t34 = $[60];
7336
+ let t35;
7337
+ if ($[61] !== isRunning || $[62] !== isVoiceModeActive || $[63] !== lastCompletedAction?.error || $[64] !== mode || $[65] !== summary) {
7338
+ t35 = !isVoiceModeActive && mode === "expanded" && !isRunning && summary && /* @__PURE__ */ jsx(SummaryBlock, {
6877
7339
  summary,
6878
7340
  isSuccess: !lastCompletedAction?.error
6879
7341
  });
6880
- $[30] = isRunning;
6881
- $[31] = isVoiceModeActive;
6882
- $[32] = lastCompletedAction?.error;
6883
- $[33] = mode;
6884
- $[34] = summary;
6885
- $[35] = t17;
6886
- } else t17 = $[35];
6887
- let t18;
6888
- if ($[36] !== isRunning || $[37] !== isVoiceModeActive || $[38] !== mode || $[39] !== summary) {
6889
- t18 = !isVoiceModeActive && mode === "expanded" && !isRunning && !summary && /* @__PURE__ */ jsx(IdleIndicator, {});
6890
- $[36] = isRunning;
6891
- $[37] = isVoiceModeActive;
6892
- $[38] = mode;
6893
- $[39] = summary;
6894
- $[40] = t18;
6895
- } else t18 = $[40];
6896
- let t19;
6897
- if ($[41] !== actions || $[42] !== isVoiceModeActive || $[43] !== mode) {
6898
- t19 = !isVoiceModeActive && (mode === "active" || mode === "expanded") && actions.length > 0 && /* @__PURE__ */ jsx(ActionList, {
7342
+ $[61] = isRunning;
7343
+ $[62] = isVoiceModeActive;
7344
+ $[63] = lastCompletedAction?.error;
7345
+ $[64] = mode;
7346
+ $[65] = summary;
7347
+ $[66] = t35;
7348
+ } else t35 = $[66];
7349
+ let t36;
7350
+ if ($[67] !== isRunning || $[68] !== isVoiceModeActive || $[69] !== mode || $[70] !== summary) {
7351
+ t36 = !isVoiceModeActive && mode === "expanded" && !isRunning && !summary && /* @__PURE__ */ jsx(IdleIndicator, {});
7352
+ $[67] = isRunning;
7353
+ $[68] = isVoiceModeActive;
7354
+ $[69] = mode;
7355
+ $[70] = summary;
7356
+ $[71] = t36;
7357
+ } else t36 = $[71];
7358
+ let t37;
7359
+ if ($[72] !== actions || $[73] !== isVoiceModeActive || $[74] !== mode) {
7360
+ t37 = (mode === "active" || mode === "expanded" || isVoiceModeActive) && actions.length > 0 && /* @__PURE__ */ jsx(ActionList, {
6899
7361
  actions,
6900
7362
  defaultCollapsed: mode === "active"
6901
7363
  });
6902
- $[41] = actions;
6903
- $[42] = isVoiceModeActive;
6904
- $[43] = mode;
6905
- $[44] = t19;
6906
- } else t19 = $[44];
6907
- let t20;
6908
- if ($[45] !== handleVoiceToggle || $[46] !== isVoiceActive || $[47] !== isVoiceModeActive || $[48] !== mode || $[49] !== showVoiceButton || $[50] !== voiceMode?.isSupported) {
6909
- t20 = !isVoiceModeActive && (mode === "composing" || mode === "active" || mode === "expanded") && /* @__PURE__ */ jsx(PillComposer, {
7364
+ $[72] = actions;
7365
+ $[73] = isVoiceModeActive;
7366
+ $[74] = mode;
7367
+ $[75] = t37;
7368
+ } else t37 = $[75];
7369
+ let t38;
7370
+ if ($[76] !== handleVoiceToggle || $[77] !== isVoiceActive || $[78] !== isVoiceModeActive || $[79] !== mode || $[80] !== showVoiceButton || $[81] !== voiceMode?.isSupported) {
7371
+ t38 = !isVoiceModeActive && (mode === "composing" || mode === "active" || mode === "expanded") && /* @__PURE__ */ jsx(PillComposer, {
6910
7372
  showVoiceButton: showVoiceButton || !!voiceMode?.isSupported,
6911
7373
  isVoiceActive,
6912
7374
  onVoiceToggle: handleVoiceToggle
6913
7375
  });
6914
- $[45] = handleVoiceToggle;
6915
- $[46] = isVoiceActive;
6916
- $[47] = isVoiceModeActive;
6917
- $[48] = mode;
6918
- $[49] = showVoiceButton;
6919
- $[50] = voiceMode?.isSupported;
6920
- $[51] = t20;
6921
- } else t20 = $[51];
6922
- let t21;
6923
- if ($[52] !== mode || $[53] !== t12 || $[54] !== t14 || $[55] !== t15 || $[56] !== t16 || $[57] !== t17 || $[58] !== t18 || $[59] !== t19 || $[60] !== t20) {
6924
- t21 = /* @__PURE__ */ jsxs(PillContainer, {
7376
+ $[76] = handleVoiceToggle;
7377
+ $[77] = isVoiceActive;
7378
+ $[78] = isVoiceModeActive;
7379
+ $[79] = mode;
7380
+ $[80] = showVoiceButton;
7381
+ $[81] = voiceMode?.isSupported;
7382
+ $[82] = t38;
7383
+ } else t38 = $[82];
7384
+ let t39;
7385
+ if ($[83] !== mode || $[84] !== t30 || $[85] !== t32 || $[86] !== t33 || $[87] !== t34 || $[88] !== t35 || $[89] !== t36 || $[90] !== t37 || $[91] !== t38) {
7386
+ t39 = /* @__PURE__ */ jsxs(PillContainer, {
6925
7387
  mode,
6926
7388
  onModeChange: handleModeChange,
6927
7389
  children: [
6928
- t12,
6929
- t14,
6930
- t15,
6931
- t16,
6932
- t17,
6933
- t18,
6934
- t19,
6935
- t20
7390
+ t30,
7391
+ t32,
7392
+ t33,
7393
+ t34,
7394
+ t35,
7395
+ t36,
7396
+ t37,
7397
+ t38
6936
7398
  ]
6937
7399
  });
6938
- $[52] = mode;
6939
- $[53] = t12;
6940
- $[54] = t14;
6941
- $[55] = t15;
6942
- $[56] = t16;
6943
- $[57] = t17;
6944
- $[58] = t18;
6945
- $[59] = t19;
6946
- $[60] = t20;
6947
- $[61] = t21;
6948
- } else t21 = $[61];
6949
- let t22;
6950
- if ($[62] !== borderRadius || $[63] !== borderStatus || $[64] !== t21) {
6951
- t22 = /* @__PURE__ */ jsx(ToolStatusBorder, {
7400
+ $[83] = mode;
7401
+ $[84] = t30;
7402
+ $[85] = t32;
7403
+ $[86] = t33;
7404
+ $[87] = t34;
7405
+ $[88] = t35;
7406
+ $[89] = t36;
7407
+ $[90] = t37;
7408
+ $[91] = t38;
7409
+ $[92] = t39;
7410
+ } else t39 = $[92];
7411
+ let t40;
7412
+ if ($[93] !== borderRadius || $[94] !== borderStatus || $[95] !== t39) {
7413
+ t40 = /* @__PURE__ */ jsx(ToolStatusBorder, {
6952
7414
  status: borderStatus,
6953
7415
  borderRadius,
6954
- children: t21
7416
+ children: t39
6955
7417
  });
6956
- $[62] = borderRadius;
6957
- $[63] = borderStatus;
6958
- $[64] = t21;
6959
- $[65] = t22;
6960
- } else t22 = $[65];
6961
- let t23;
6962
- if ($[66] !== t11 || $[67] !== t22) {
6963
- t23 = /* @__PURE__ */ jsx(ThreadPrimitive.Root, {
6964
- className: t11,
6965
- children: t22
6966
- });
6967
- $[66] = t11;
6968
- $[67] = t22;
6969
- $[68] = t23;
6970
- } else t23 = $[68];
6971
- return t23;
7418
+ $[93] = borderRadius;
7419
+ $[94] = borderStatus;
7420
+ $[95] = t39;
7421
+ $[96] = t40;
7422
+ } else t40 = $[96];
7423
+ let t41;
7424
+ if ($[97] !== dragControls || $[98] !== t27 || $[99] !== t29 || $[100] !== t40) {
7425
+ t41 = /* @__PURE__ */ jsxs(motion.div, {
7426
+ drag: true,
7427
+ dragControls,
7428
+ dragConstraints: constraintsRef,
7429
+ dragElastic: .1,
7430
+ dragMomentum: false,
7431
+ whileDrag: t26,
7432
+ onDragEnd: handleDragEnd,
7433
+ initial: false,
7434
+ animate: t27,
7435
+ transition: t28,
7436
+ className: "cursor-grab active:cursor-grabbing relative",
7437
+ children: [t29, t40]
7438
+ });
7439
+ $[97] = dragControls;
7440
+ $[98] = t27;
7441
+ $[99] = t29;
7442
+ $[100] = t40;
7443
+ $[101] = t41;
7444
+ } else t41 = $[101];
7445
+ let t42;
7446
+ if ($[102] !== t25 || $[103] !== t41) {
7447
+ t42 = /* @__PURE__ */ jsxs(Fragment, { children: [t22, /* @__PURE__ */ jsx(ThreadPrimitive.Root, {
7448
+ className: t25,
7449
+ children: t41
7450
+ })] });
7451
+ $[102] = t25;
7452
+ $[103] = t41;
7453
+ $[104] = t42;
7454
+ } else t42 = $[104];
7455
+ return t42;
6972
7456
  };
6973
7457
  function _temp$1(thread) {
6974
7458
  return thread.messages;
@@ -7329,7 +7813,7 @@ function formatRelativeTime(date) {
7329
7813
  *
7330
7814
  * Contains the compiled CSS for the web component standalone build.
7331
7815
  */
7332
- const WEBMCP_STYLES = "/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */\n@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-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tool-border-angle:0deg}}}@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-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--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-amber-500:oklch(76.9% .188 70.08);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--drop-shadow-xl:0 9px 7px #0000001a;--drop-shadow-2xl:0 25px 25px #00000026;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--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)}}@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%;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;-webkit-text-decoration: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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--radius:.75rem;--background:oklch(100% 0 0);--foreground:oklch(14.1% .005 285.823);--card:oklch(100% 0 0);--card-foreground:oklch(14.1% .005 285.823);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.1% .005 285.823);--primary:oklch(21% .006 285.885);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(96.7% .001 286.375);--muted-foreground:oklch(55.2% .016 285.938);--accent:oklch(96.7% .001 286.375);--accent-foreground:oklch(21% .006 285.885);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(92% .004 286.32);--input:oklch(92% .004 286.32);--ring:oklch(70.5% .015 286.067)}.dark{--background:oklch(14.1% .005 285.823);--foreground:oklch(98.5% 0 0);--card:oklch(21% .006 285.885);--card-foreground:oklch(98.5% 0 0);--popover:oklch(21% .006 285.885);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92% .004 286.32);--primary-foreground:oklch(21% .006 285.885);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(27.4% .006 286.033);--muted-foreground:oklch(70.5% .015 286.067);--accent:oklch(27.4% .006 286.033);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.2% .016 285.938)}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklch,var(--ring),transparent 50%)}}body{background-color:var(--background);color:var(--foreground)}}@layer components{.app-shell{z-index:0;background-color:var(--background);background-image:radial-gradient(80% 60% at -10% -10%,oklch(82% .15 270/.15),#0000),radial-gradient(60% 50% at 110% 10%,oklch(85% .1 220/.12),#0000),radial-gradient(50% 45% at 50% 120%,oklch(95% .02 250/.08),#0000);position:relative}.dark .app-shell{background-image:radial-gradient(80% 60% at -10% -10%,oklch(55% .14 270/.25),#0000),radial-gradient(60% 50% at 110% 15%,oklch(60% .12 220/.22),#0000),radial-gradient(50% 45% at 50% 120%,oklch(35% .04 250/.16),#0000)}.app-shell:before,.app-shell:after{content:\"\";pointer-events:none;filter:blur(32px);opacity:.6;z-index:-1;border-radius:9999px;position:absolute;inset:auto}.app-shell:before{background:radial-gradient(60% 60% at 40% 40%,oklch(80% .12 270/.3),#0000);width:260px;height:260px;top:-60px;left:-80px}.app-shell:after{background:radial-gradient(60% 60% at 60% 60%,oklch(84% .1 220/.25),#0000);width:300px;height:300px;bottom:-80px;right:-60px}.toolbar-surface{border-top:1px solid var(--border);background:linear-gradient(to right,var(--background),var(--background),var(--background))}@supports (color:color-mix(in lab, red, red)){.toolbar-surface{background:linear-gradient(to right,var(--background),color-mix(in oklch,var(--background),transparent 5%),var(--background))}}.toolbar-surface{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.toolbar-surface{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.toolbar-surface{background:color-mix(in oklch,var(--background),transparent 20%)}}}.toolbar-surface-top{border-bottom:1px solid var(--border);background:linear-gradient(to right,var(--background),var(--background),var(--background))}@supports (color:color-mix(in lab, red, red)){.toolbar-surface-top{background:linear-gradient(to right,var(--background),color-mix(in oklch,var(--background),transparent 5%),var(--background))}}.toolbar-surface-top{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.toolbar-surface-top{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.toolbar-surface-top{background:color-mix(in oklch,var(--background),transparent 20%)}}}.toolbar-inner{justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.toolbar-card{background:var(--card);justify-content:space-between;align-items:center;gap:.5rem;display:flex}@supports (color:color-mix(in lab, red, red)){.toolbar-card{background:color-mix(in oklch,var(--card),transparent 60%)}}.toolbar-card{border:1px solid var(--border);border-radius:.75rem;padding:.5rem .75rem}.toolbar-group{align-items:center;gap:.25rem;display:flex}.btn-toolbar-primary{background:linear-gradient(to right,var(--primary),var(--primary));border-radius:.75rem;align-items:center;gap:.5rem;height:2.25rem;padding:0 .75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-primary{background:linear-gradient(to right,color-mix(in oklch,var(--primary),transparent 95%),color-mix(in oklch,var(--primary),transparent 90%))}}.btn-toolbar-primary{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-primary{border:1px solid color-mix(in oklch,var(--primary),transparent 80%)}}.btn-toolbar-primary{transition:all .2s}.btn-toolbar-primary:hover{background:linear-gradient(to right,var(--primary),var(--primary))}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-primary:hover{background:linear-gradient(to right,color-mix(in oklch,var(--primary),transparent 90%),color-mix(in oklch,var(--primary),transparent 80%))}}.btn-toolbar-icon-primary{background:linear-gradient(to bottom right,var(--primary),var(--primary));border-radius:9999px;width:2rem;height:2rem;padding:0}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-primary{background:linear-gradient(to bottom right,color-mix(in oklch,var(--primary),transparent 90%),color-mix(in oklch,var(--primary),transparent 80%))}}.btn-toolbar-icon-primary{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-primary{border:1px solid color-mix(in oklch,var(--primary),transparent 70%)}}.btn-toolbar-icon-primary{transition:all .2s;box-shadow:0 1px 2px #0000000d}.btn-toolbar-icon-primary:hover{background:linear-gradient(to bottom right,var(--primary),var(--primary))}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-primary:hover{background:linear-gradient(to bottom right,color-mix(in oklch,var(--primary),transparent 80%),color-mix(in oklch,var(--primary),transparent 70%))}}.btn-toolbar-icon-secondary{background:linear-gradient(to bottom right,var(--secondary),var(--secondary));border-radius:9999px;width:2rem;height:2rem;padding:0}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-secondary{background:linear-gradient(to bottom right,color-mix(in oklch,var(--secondary),transparent 90%),color-mix(in oklch,var(--secondary),transparent 80%))}}.btn-toolbar-icon-secondary{border:1px solid var(--secondary)}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-secondary{border:1px solid color-mix(in oklch,var(--secondary),transparent 70%)}}.btn-toolbar-icon-secondary{transition:all .2s;box-shadow:0 1px 2px #0000000d}.btn-toolbar-icon-secondary:hover{background:linear-gradient(to bottom right,var(--secondary),var(--secondary))}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-secondary:hover{background:linear-gradient(to bottom right,color-mix(in oklch,var(--secondary),transparent 80%),color-mix(in oklch,var(--secondary),transparent 70%))}}.badge-compact{height:1.25rem;padding:0 .5rem;font-size:10px}.badge-mini{height:1rem;padding:0 .375rem;font-size:10px}@keyframes shimmer-bg{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{background:linear-gradient(90deg,#0000,#ffffff1a,#0000) 0 0/1000px 100%;animation:3s linear infinite shimmer-bg}.animate-shimmer{animation:2s linear infinite shimmer}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px rgba(var(--primary),.1)}50%{box-shadow:0 0 30px rgba(var(--primary),.2)}}.pulse-glow{animation:2s ease-in-out infinite pulse-glow}@keyframes gradient-x{0%,to{background-position:0%}50%{background-position:100%}}.animate-gradient-x{animation:8s ease-in-out infinite gradient-x}.gradient-text{background:linear-gradient(to right,var(--foreground),var(--foreground))}@supports (color:color-mix(in lab, red, red)){.gradient-text{background:linear-gradient(to right,var(--foreground),color-mix(in oklch,var(--foreground),transparent 30%))}}.gradient-text{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.glass{background:color-mix(in oklch,var(--background),transparent 50%)}}.glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){.glass{border:1px solid color-mix(in oklch,var(--border),transparent 50%)}}.tool-card{transition:all .3s ease-out}.tool-card:hover{transform:scale(1.02);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.scrollbar-thin::-webkit-scrollbar-thumb{background-color:color-mix(in oklch,var(--primary),transparent 80%)}}.scrollbar-thin::-webkit-scrollbar-thumb{border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:color-mix(in oklch,var(--primary),transparent 70%)}}}@layer utilities{.\\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.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-\\[1px\\]{inset:-1px}.inset-0{inset:calc(var(--spacing)*0)}.-top-12{top:calc(var(--spacing)*-12)}.top-0{top:calc(var(--spacing)*0)}.top-1\\.5{top:calc(var(--spacing)*1.5)}.top-1\\/2{top:50%}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.top-\\[50\\%\\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-1\\.5{right:calc(var(--spacing)*1.5)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.left-1\\/2,.left-\\[50\\%\\]{left:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.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:calc(var(--spacing)*0)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-auto{margin-block:auto}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.-mr-1{margin-right:calc(var(--spacing)*-1)}.mr-1\\.5{margin-right:calc(var(--spacing)*1.5)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.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-1{margin-left:calc(var(--spacing)*-1)}.-ml-2{margin-left:calc(var(--spacing)*-2)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.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-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-14{width:calc(var(--spacing)*14);height:calc(var(--spacing)*14)}.size-\\[34px\\]{width:34px;height:34px}.size-full{width:100%;height:100%}.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-\\[600px\\]{height:600px}.h-\\[calc\\(100\\%-60px\\)\\]{height:calc(100% - 60px)}.h-auto{height:auto}.h-full{height:100%}.max-h-24{max-height:calc(var(--spacing)*24)}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-\\[80dvh\\]{max-height:80dvh}.max-h-\\[80vh\\]{max-height:80vh}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-\\[60px\\]{min-height:60px}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-\\[500px\\]{width:500px}.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-7\\/8{max-width:87.5%}.max-w-16{max-width:calc(var(--spacing)*16)}.max-w-24{max-width:calc(var(--spacing)*24)}.max-w-\\[80\\%\\]{max-width:80%}.max-w-\\[80px\\]{max-width:80px}.max-w-\\[85\\%\\]{max-width:85%}.max-w-\\[100px\\]{max-width:100px}.max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.max-w-\\[var\\(--thread-max-width\\)\\]{max-width:var(--thread-max-width)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-separate{border-collapse:separate}.border-spacing-0{--tw-border-spacing-x:calc(var(--spacing)*0);--tw-border-spacing-y:calc(var(--spacing)*0);border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y)}.origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\\[-50\\%\\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[-50\\%\\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[calc\\(-50\\%_-_2px\\)\\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize-none{resize:none}.scroll-m-20{scroll-margin:calc(var(--spacing)*20)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.auto-rows-auto{grid-auto-rows:auto}.grid-cols-\\[minmax\\(72px\\,1fr\\)_auto\\]{grid-template-columns:minmax(72px,1fr) auto}.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}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-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-y-2{row-gap:calc(var(--spacing)*2)}.self-center{align-self:center}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[2px\\]{border-radius:2px}.rounded-\\[14px\\]{border-radius:14px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.\\!rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-t-3xl{border-top-left-radius:var(--radius-3xl);border-top-right-radius:var(--radius-3xl)}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.rounded-tr-sm{border-top-right-radius:calc(var(--radius) - 4px)}.rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-blue-500\\/40{border-color:#3080ff66}@supports (color:color-mix(in lab, red, red)){.border-blue-500\\/40{border-color:color-mix(in oklab,var(--color-blue-500)40%,transparent)}}.border-blue-500\\/60{border-color:#3080ff99}@supports (color:color-mix(in lab, red, red)){.border-blue-500\\/60{border-color:color-mix(in oklab,var(--color-blue-500)60%,transparent)}}.border-border,.border-border\\/20{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/20{border-color:color-mix(in oklab,var(--border)20%,transparent)}}.border-border\\/40{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/40{border-color:color-mix(in oklab,var(--border)40%,transparent)}}.border-border\\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-destructive,.border-destructive\\/60{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\\/60{border-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.border-foreground\\/20{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\\/20{border-color:color-mix(in oklab,var(--foreground)20%,transparent)}}.border-green-500\\/20{border-color:#00c75833}@supports (color:color-mix(in lab, red, red)){.border-green-500\\/20{border-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.border-green-500\\/40{border-color:#00c75866}@supports (color:color-mix(in lab, red, red)){.border-green-500\\/40{border-color:color-mix(in oklab,var(--color-green-500)40%,transparent)}}.border-green-500\\/60{border-color:#00c75899}@supports (color:color-mix(in lab, red, red)){.border-green-500\\/60{border-color:color-mix(in oklab,var(--color-green-500)60%,transparent)}}.border-input{border-color:var(--input)}.border-muted-foreground\\/20{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.border-muted-foreground\\/20{border-color:color-mix(in oklab,var(--muted-foreground)20%,transparent)}}.border-primary\\/60{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\\/60{border-color:color-mix(in oklab,var(--primary)60%,transparent)}}.border-red-500\\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\\/20{border-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.border-red-500\\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab, red, red)){.border-red-500\\/40{border-color:color-mix(in oklab,var(--color-red-500)40%,transparent)}}.border-red-500\\/60{border-color:#fb2c3699}@supports (color:color-mix(in lab, red, red)){.border-red-500\\/60{border-color:color-mix(in oklab,var(--color-red-500)60%,transparent)}}.border-transparent{border-color:#0000}.border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\\[color-mix\\(in_oklab\\,rgb\\(var\\(--background\\)\\)_20\\%\\,transparent\\)\\]{background-color:rgb(var(--background))}@supports (color:color-mix(in lab, red, red)){.bg-\\[color-mix\\(in_oklab\\,rgb\\(var\\(--background\\)\\)_20\\%\\,transparent\\)\\]{background-color:color-mix(in oklab,rgb(var(--background))20%,transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-background,.bg-background\\/50{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\\/50{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.bg-background\\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-background\\/95{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\\/95{background-color:color-mix(in oklab,var(--background)95%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\\/30{background-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.bg-black\\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\\/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-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\\/5{background-color:#3080ff0d}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/5{background-color:color-mix(in oklab,var(--color-blue-500)5%,transparent)}}.bg-blue-500\\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-border{background-color:var(--border)}.bg-destructive,.bg-destructive\\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-400\\/60{background-color:#05df7299}@supports (color:color-mix(in lab, red, red)){.bg-green-400\\/60{background-color:color-mix(in oklab,var(--color-green-400)60%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\\/5{background-color:#00c7580d}@supports (color:color-mix(in lab, red, red)){.bg-green-500\\/5{background-color:color-mix(in oklab,var(--color-green-500)5%,transparent)}}.bg-green-500\\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-muted{background-color:var(--muted)}.bg-muted-foreground\\/15{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\\/15{background-color:color-mix(in oklab,var(--muted-foreground)15%,transparent)}}.bg-muted\\/5{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/5{background-color:color-mix(in oklab,var(--muted)5%,transparent)}}.bg-muted\\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover\\/95{background-color:var(--popover)}@supports (color:color-mix(in lab, red, red)){.bg-popover\\/95{background-color:color-mix(in oklab,var(--popover)95%,transparent)}}.bg-primary,.bg-primary\\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/5{background-color:color-mix(in oklab,var(--color-red-500)5%,transparent)}}.bg-red-500\\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-500\\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-slate-900\\/95{background-color:#0f172bf2}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\\/95{background-color:color-mix(in oklab,var(--color-slate-900)95%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-yellow-500{background-color:var(--color-yellow-500)}.fill-foreground{fill:var(--foreground)}.stroke-\\[1\\.5px\\]{stroke-width:1.5px}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-px{padding:1px}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.pt-0\\.5{padding-top:calc(var(--spacing)*.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-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}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.text-\\[17px\\]{font-size:17px}.text-\\[19px\\]{font-size:19px}.text-\\[21px\\]{font-size:21px}.text-\\[25px\\]{font-size:25px}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-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)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-background{color:var(--background)}.text-blue-400{color:var(--color-blue-400)}.text-blue-600{color:var(--color-blue-600)}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-emerald-500{color:var(--color-emerald-500)}.text-foreground,.text-foreground\\/80{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}}.text-green-400{color:var(--color-green-400)}.text-green-600{color:var(--color-green-600)}.text-muted-foreground,.text-muted-foreground\\/65{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/65{color:color-mix(in oklab,var(--muted-foreground)65%,transparent)}}.text-muted-foreground\\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-600{color:var(--color-red-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.text-white\\/20{color:#fff3}@supports (color:color-mix(in lab, red, red)){.text-white\\/20{color:color-mix(in oklab,var(--color-white)20%,transparent)}}.text-white\\/30{color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.text-white\\/30{color:color-mix(in oklab,var(--color-white)30%,transparent)}}.text-white\\/40{color:#fff6}@supports (color:color-mix(in lab, red, red)){.text-white\\/40{color:color-mix(in oklab,var(--color-white)40%,transparent)}}.text-white\\/50{color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.text-white\\/50{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.text-white\\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.text-white\\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.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)}}.text-white\\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.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,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_12px_rgba\\(34\\,197\\,94\\,0\\.3\\)\\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#22c55e4d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_12px_rgba\\(59\\,130\\,246\\,0\\.3\\)\\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#3b82f64d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_12px_rgba\\(239\\,68\\,68\\,0\\.3\\)\\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#ef44444d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_12px_24px_-16px_rgba\\(37\\,99\\,235\\,0\\.55\\)\\]{--tw-shadow:0 12px 24px -16px var(--tw-shadow-color,#2563eb8c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_12px_24px_-18px_rgba\\(220\\,38\\,38\\,0\\.55\\)\\]{--tw-shadow:0 12px 24px -18px var(--tw-shadow-color,#dc26268c);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-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{--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)}.\\[box-shadow\\:inset_0_1px_2px_0_rgba\\(255\\,255\\,255\\,0\\.15\\)\\]{box-shadow:inset 0 1px 2px #ffffff26}.shadow-black\\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab, red, red)){.shadow-black\\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)20%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.drop-shadow-xl{--tw-drop-shadow-size:drop-shadow(0 9px 7px var(--tw-drop-shadow-color,#0000001a));--tw-drop-shadow:drop-shadow(var(--drop-shadow-xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-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,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-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-\\[color\\,box-shadow\\]{transition-property: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-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-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.placeholder\\:text-muted-foreground::placeholder,.placeholder\\:text-muted-foreground\\/70::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.placeholder\\:text-muted-foreground\\/70::placeholder{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.placeholder\\:text-white\\/40::placeholder{color:#fff6}@supports (color:color-mix(in lab, red, red)){.placeholder\\:text-white\\/40::placeholder{color:color-mix(in oklab,var(--color-white)40%,transparent)}}.first\\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}.first\\:mt-3:first-child{margin-top:calc(var(--spacing)*3)}.first\\:mt-4:first-child{margin-top:calc(var(--spacing)*4)}.first\\:rounded-tl-lg:first-child{border-top-left-radius:var(--radius)}.first\\:border-t:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}.last\\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.last\\:mb-5:last-child{margin-bottom:calc(var(--spacing)*5)}.last\\:mb-24:last-child{margin-bottom:calc(var(--spacing)*24)}.last\\:rounded-tr-lg:last-child{border-top-right-radius:var(--radius)}.last\\:border-r:last-child{border-right-style:var(--tw-border-style);border-right-width:1px}.empty\\:hidden:empty{display:none}.focus-within\\:border-ring\\/50:focus-within{border-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-within\\:border-ring\\/50:focus-within{border-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-within\\:border-white\\/20:focus-within{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.focus-within\\:border-white\\/20:focus-within{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.focus-within\\:bg-white\\/15:focus-within{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.focus-within\\:bg-white\\/15:focus-within{background-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.focus-within\\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);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\\:shadow-md:focus-within{--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-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\\:shadow-black\\/30:focus-within{--tw-shadow-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.focus-within\\:shadow-black\\/30:focus-within{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)30%,transparent)var(--tw-shadow-alpha),transparent)}}.focus-within\\:ring-ring:focus-within{--tw-ring-color:var(--ring)}.focus-within\\:ring-offset-2:focus-within{--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)}@media (hover:hover){.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:border-accent:hover{border-color:var(--accent)}.hover\\:border-border\\/60:hover{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.hover\\:border-border\\/60:hover{border-color:color-mix(in oklab,var(--border)60%,transparent)}}.hover\\:border-white\\/15:hover{border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\\:border-white\\/15:hover{border-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.hover\\:\\!bg-white:hover{background-color:var(--color-white)!important}.hover\\:bg-accent:hover,.hover\\:bg-accent\\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/50:hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.hover\\:bg-destructive\\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\\:bg-destructive\\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/80:hover{background-color:color-mix(in oklab,var(--destructive)80%,transparent)}}.hover\\:bg-destructive\\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\\:bg-muted-foreground\\/15:hover{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-muted-foreground\\/15:hover{background-color:color-mix(in oklab,var(--muted-foreground)15%,transparent)}}.hover\\:bg-primary\\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-primary\\/80:hover{background-color:color-mix(in oklab,var(--primary)80%,transparent)}}.hover\\:bg-primary\\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\\:bg-red-500\\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-red-500\\/30:hover{background-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.hover\\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\\:bg-transparent:hover{background-color:#0000}.hover\\:bg-white\\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-white\\/5:hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.hover\\:bg-white\\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-white\\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\\:bg-white\\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-white\\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\\:text-destructive:hover{color:var(--destructive)}.hover\\:text-foreground:hover{color:var(--foreground)}.hover\\:text-primary\\/80:hover{color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\\:text-primary\\/80:hover{color:color-mix(in oklab,var(--primary)80%,transparent)}}.hover\\:text-red-200:hover{color:var(--color-red-200)}.hover\\:text-red-300:hover{color:var(--color-red-300)}.hover\\:text-white:hover{color:var(--color-white)}.hover\\:text-white\\/70:hover{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.hover\\:text-white\\/70:hover{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.hover\\:text-white\\/80:hover{color:#fffc}@supports (color:color-mix(in lab, red, red)){.hover\\:text-white\\/80:hover{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-75:hover{opacity:.75}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-\\[0_14px_24px_-14px_rgba\\(37\\,99\\,235\\,0\\.6\\)\\]:hover{--tw-shadow:0 14px 24px -14px var(--tw-shadow-color,#2563eb99);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-\\[0_14px_24px_-16px_rgba\\(220\\,38\\,38\\,0\\.6\\)\\]:hover{--tw-shadow:0 14px 24px -16px var(--tw-shadow-color,#dc262699);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:drop-shadow-2xl:hover{--tw-drop-shadow-size:drop-shadow(0 25px 25px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-2xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\\:ring-offset-2:focus{--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\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.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-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + 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-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\\:ring-destructive\\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-destructive\\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.focus-visible\\:ring-primary\\/40:focus-visible{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-primary\\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--primary)40%,transparent)}}.focus-visible\\:ring-ring:focus-visible,.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:invisible:disabled{visibility:hidden}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\\[\\>svg\\]\\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\\[\\>svg\\]\\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-floating\\:absolute[data-floating]{position:absolute}.data-floating\\:rounded-md[data-floating]{border-radius:calc(var(--radius) - 2px)}.data-floating\\:border[data-floating]{border-style:var(--tw-border-style);border-width:1px}.data-floating\\:bg-background[data-floating]{background-color:var(--background)}.data-floating\\:p-1[data-floating]{padding:calc(var(--spacing)*1)}.data-floating\\:shadow-sm[data-floating]{--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)}.data-\\[orientation\\=horizontal\\]\\:h-px[data-orientation=horizontal]{height:1px}.data-\\[orientation\\=horizontal\\]\\:w-full[data-orientation=horizontal]{width:100%}.data-\\[orientation\\=vertical\\]\\:h-full[data-orientation=vertical]{height:100%}.data-\\[orientation\\=vertical\\]\\:w-px[data-orientation=vertical]{width:1px}.data-\\[state\\=closed\\]\\:scale-0[data-state=closed]{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\\[state\\=closed\\]\\:scale-100[data-state=closed]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\\[state\\=closed\\]\\:-rotate-90[data-state=closed]{rotate:-90deg}.data-\\[state\\=closed\\]\\:rotate-0[data-state=closed]{rotate:none}.data-\\[state\\=open\\]\\:scale-0[data-state=open]{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\\[state\\=open\\]\\:scale-100[data-state=open]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\\[state\\=open\\]\\:rotate-0[data-state=open]{rotate:none}.data-\\[state\\=open\\]\\:rotate-90[data-state=open]{rotate:90deg}.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\\[state\\=open\\]\\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}@media (min-width:40rem){.sm\\:max-w-3xl{max-width:var(--container-3xl)}.sm\\:max-w-lg{max-width:var(--container-lg)}.sm\\:max-w-md{max-width:var(--container-md)}.sm\\:flex-row{flex-direction:row}.sm\\:justify-end{justify-content:flex-end}.sm\\:text-left{text-align:left}}@media (min-width:48rem){.md\\:pb-6{padding-bottom:calc(var(--spacing)*6)}}@container (min-width:28rem){.\\@md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\\@md\\:flex-col{flex-direction:column}}.dark\\:border-input:is(.dark *){border-color:var(--input)}.dark\\:border-muted-foreground\\/15:is(.dark *){border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.dark\\:border-muted-foreground\\/15:is(.dark *){border-color:color-mix(in oklab,var(--muted-foreground)15%,transparent)}}.dark\\:bg-background:is(.dark *){background-color:var(--background)}.dark\\:bg-destructive\\/5:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-destructive\\/5:is(.dark *){background-color:color-mix(in oklab,var(--destructive)5%,transparent)}}.dark\\:bg-destructive\\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-destructive\\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\\:bg-muted-foreground\\/20:is(.dark *){background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-muted-foreground\\/20:is(.dark *){background-color:color-mix(in oklab,var(--muted-foreground)20%,transparent)}}.dark\\:stroke-\\[2\\.5px\\]:is(.dark *){stroke-width:2.5px}.dark\\:text-green-400:is(.dark *){color:var(--color-green-400)}.dark\\:text-red-200:is(.dark *){color:var(--color-red-200)}@media (hover:hover){.dark\\:hover\\:bg-accent:is(.dark *):hover,.dark\\:hover\\:bg-accent\\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-accent\\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\\:hover\\:bg-accent\\/60:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-accent\\/60:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)60%,transparent)}}.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.dark\\:hover\\:bg-muted-foreground\\/30:is(.dark *):hover{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-muted-foreground\\/30:is(.dark *):hover{background-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}}.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\]\\:text-background svg{color:var(--background)}.\\[\\&_svg\\]\\:text-black svg{color:var(--color-black)}@media (hover:hover){.hover\\:\\[\\&_svg\\]\\:text-destructive:hover svg{color:var(--destructive)}}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\\[\\&\\:last-child\\>td\\:first-child\\]\\:rounded-bl-lg:last-child>td:first-child{border-bottom-left-radius:var(--radius)}.\\[\\&\\:last-child\\>td\\:last-child\\]\\:rounded-br-lg:last-child>td:last-child{border-bottom-right-radius:var(--radius)}.\\[\\&\\:nth-child\\(n\\+3\\)\\]\\:hidden:nth-child(n+3){display:none}@container (min-width:28rem){.\\@md\\:\\[\\&\\:nth-child\\(n\\+3\\)\\]\\:block:nth-child(n+3){display:block}}.\\[\\&\\:where\\(\\>\\*\\)\\]\\:col-start-2:where(){grid-column-start:2}.only\\:\\[\\&\\>\\#attachment-tile\\]\\:size-24:only-child>#attachment-tile{width:calc(var(--spacing)*24);height:calc(var(--spacing)*24)}.\\[\\&\\>\\.aui-thread-root\\]\\:bg-inherit>.aui-thread-root{background-color:inherit}.\\[\\&\\>a\\]\\:text-xs>a{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\[\\&\\>a\\]\\:no-underline>a{text-decoration-line:none}.\\[\\&\\>button\\]\\:rounded-full>button{border-radius:3.40282e38px}.\\[\\&\\>button\\]\\:bg-foreground\\/60>button{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.\\[\\&\\>button\\]\\:bg-foreground\\/60>button{background-color:color-mix(in oklab,var(--foreground)60%,transparent)}}.\\[\\&\\>button\\]\\:p-1>button{padding:calc(var(--spacing)*1)}.\\[\\&\\>button\\]\\:opacity-100>button{opacity:1}.\\[\\&\\>button\\]\\:\\!ring-0>button{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}@media (hover:hover){.\\[\\&\\>button\\]\\:hover\\:\\[\\&_svg\\]\\:text-destructive>button:hover svg{color:var(--destructive)}}.\\[\\&\\>li\\]\\:mt-0\\.5>li{margin-top:calc(var(--spacing)*.5)}.\\[\\&\\>li\\]\\:mt-1>li{margin-top:calc(var(--spacing)*1)}.\\[\\&\\>span\\]\\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\[\\&\\[align\\=center\\]\\]\\:text-center[align=center]{text-align:center}.\\[\\&\\[align\\=right\\]\\]\\:text-right[align=right]{text-align:right}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.85}}@keyframes smooth-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gradient-shift{0%,to{transform:translate(0%)translateY(0%)}25%{transform:translate(100%)translateY(100%)}50%{transform:translate(100%)translateY(0%)}75%{transform:translate(0%)translateY(100%)}}@keyframes float{0%,to{transform:translateY(0)translate(0)}33%{transform:translateY(-30px)translate(20px)}66%{transform:translateY(20px)translate(-20px)}}@keyframes float-delayed{0%,to{transform:translateY(0)translate(0)}33%{transform:translateY(30px)translate(-30px)}66%{transform:translateY(-20px)translate(20px)}}.tool-card-transition{transition:all .4s cubic-bezier(.34,1.56,.64,1)}.tool-card-smooth{transition:all .35s cubic-bezier(.4,0,.2,1)}.animate-fadeInUp{opacity:0;animation:.5s ease-out forwards fadeInUp}.animate-gradient-shift{background-size:200% 200%;animation:20s ease-in-out infinite gradient-shift}.animate-float-slow{animation:20s ease-in-out infinite float}.animate-float-delayed{animation:25s ease-in-out 5s infinite float-delayed}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@keyframes tool-border-rotate{0%{--tool-border-angle:0deg}to{--tool-border-angle:360deg}}@property --tool-border-angle{syntax:\"<angle>\";inherits:false;initial-value:0deg}.tool-border-calling{background:conic-gradient(from var(--tool-border-angle),transparent 0deg,transparent 60deg,#3b82f680 90deg,#60a5fab3 120deg,#93c5fd80 150deg,transparent 180deg,transparent 360deg);animation:1.5s linear infinite tool-border-rotate}.tool-border-success{background:#22c55e66;box-shadow:0 0 12px #22c55e4d,inset 0 0 8px #22c55e1a}.tool-border-error{background:#ef444466;box-shadow:0 0 12px #ef44444d,inset 0 0 8px #ef44441a}@keyframes pulse-success{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 8px #22c55e00}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.animate-pulse-success{animation:.6s ease-out pulse-success}.animate-shake{animation:.3s ease-out shake}@keyframes aui-pulse{50%{opacity:.5}}:where(.aui-md[data-status=running]):empty:after,:where(.aui-md[data-status=running])>:where(:not(ol):not(ul):not(pre)):last-child:after,:where(.aui-md[data-status=running])>pre:last-child code:after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child):after{--aui-content:\"●\";content:var(--aui-content);margin-left:.25rem;margin-right:.25rem;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;animation:2s cubic-bezier(.4,0,.6,1) infinite aui-pulse}.glass-pill{-webkit-backdrop-filter:blur(20px)saturate(150%);background:#0f172ad9;border:1px solid #ffffff0f;box-shadow:0 4px 16px #0003,inset 0 .5px #ffffff14}.glass-pill:before{content:\"\";border-radius:inherit;pointer-events:none;z-index:1;background:linear-gradient(#ffffff0a 0%,#0000 40%);position:absolute;inset:0}.glass-pill:after{display:none}.glass-pill-collapsed{-webkit-backdrop-filter:blur(12px);background:#ffffff1f;border:none;box-shadow:0 1px 4px #00000026}.glass-pill-collapsed:before,.glass-pill-collapsed:after{display:none}.glass-pill-hovered{-webkit-backdrop-filter:blur(16px)saturate(140%);background:#0f172acc;border:1px solid #ffffff0f;box-shadow:0 2px 12px #0000002e}.glass-pill-hovered:before,.glass-pill-hovered:after{display:none}@keyframes glass-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.glass-shimmer{background:linear-gradient(90deg,#ffffff14 0%,#ffffff26 50%,#ffffff14 100%) 0 0/200% 100%;animation:4s ease-in-out infinite glass-shimmer}@property --tw-border-spacing-x{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}";
7816
+ const WEBMCP_STYLES = "/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */\n@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-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tool-border-angle:0deg}}}@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-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--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-amber-500:oklch(76.9% .188 70.08);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--drop-shadow-xl:0 9px 7px #0000001a;--drop-shadow-2xl:0 25px 25px #00000026;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--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)}}@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%;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;-webkit-text-decoration: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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--radius:.75rem;--background:oklch(100% 0 0);--foreground:oklch(14.1% .005 285.823);--card:oklch(100% 0 0);--card-foreground:oklch(14.1% .005 285.823);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.1% .005 285.823);--primary:oklch(21% .006 285.885);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(96.7% .001 286.375);--muted-foreground:oklch(55.2% .016 285.938);--accent:oklch(96.7% .001 286.375);--accent-foreground:oklch(21% .006 285.885);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(92% .004 286.32);--input:oklch(92% .004 286.32);--ring:oklch(70.5% .015 286.067)}.dark{--background:oklch(14.1% .005 285.823);--foreground:oklch(98.5% 0 0);--card:oklch(21% .006 285.885);--card-foreground:oklch(98.5% 0 0);--popover:oklch(21% .006 285.885);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92% .004 286.32);--primary-foreground:oklch(21% .006 285.885);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(27.4% .006 286.033);--muted-foreground:oklch(70.5% .015 286.067);--accent:oklch(27.4% .006 286.033);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.2% .016 285.938)}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklch,var(--ring),transparent 50%)}}body{background-color:var(--background);color:var(--foreground)}}@layer components{.app-shell{z-index:0;background-color:var(--background);background-image:radial-gradient(80% 60% at -10% -10%,oklch(82% .15 270/.15),#0000),radial-gradient(60% 50% at 110% 10%,oklch(85% .1 220/.12),#0000),radial-gradient(50% 45% at 50% 120%,oklch(95% .02 250/.08),#0000);position:relative}.dark .app-shell{background-image:radial-gradient(80% 60% at -10% -10%,oklch(55% .14 270/.25),#0000),radial-gradient(60% 50% at 110% 15%,oklch(60% .12 220/.22),#0000),radial-gradient(50% 45% at 50% 120%,oklch(35% .04 250/.16),#0000)}.app-shell:before,.app-shell:after{content:\"\";pointer-events:none;filter:blur(32px);opacity:.6;z-index:-1;border-radius:9999px;position:absolute;inset:auto}.app-shell:before{background:radial-gradient(60% 60% at 40% 40%,oklch(80% .12 270/.3),#0000);width:260px;height:260px;top:-60px;left:-80px}.app-shell:after{background:radial-gradient(60% 60% at 60% 60%,oklch(84% .1 220/.25),#0000);width:300px;height:300px;bottom:-80px;right:-60px}.toolbar-surface{border-top:1px solid var(--border);background:linear-gradient(to right,var(--background),var(--background),var(--background))}@supports (color:color-mix(in lab, red, red)){.toolbar-surface{background:linear-gradient(to right,var(--background),color-mix(in oklch,var(--background),transparent 5%),var(--background))}}.toolbar-surface{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.toolbar-surface{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.toolbar-surface{background:color-mix(in oklch,var(--background),transparent 20%)}}}.toolbar-surface-top{border-bottom:1px solid var(--border);background:linear-gradient(to right,var(--background),var(--background),var(--background))}@supports (color:color-mix(in lab, red, red)){.toolbar-surface-top{background:linear-gradient(to right,var(--background),color-mix(in oklch,var(--background),transparent 5%),var(--background))}}.toolbar-surface-top{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.toolbar-surface-top{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.toolbar-surface-top{background:color-mix(in oklch,var(--background),transparent 20%)}}}.toolbar-inner{justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.toolbar-card{background:var(--card);justify-content:space-between;align-items:center;gap:.5rem;display:flex}@supports (color:color-mix(in lab, red, red)){.toolbar-card{background:color-mix(in oklch,var(--card),transparent 60%)}}.toolbar-card{border:1px solid var(--border);border-radius:.75rem;padding:.5rem .75rem}.toolbar-group{align-items:center;gap:.25rem;display:flex}.btn-toolbar-primary{background:linear-gradient(to right,var(--primary),var(--primary));border-radius:.75rem;align-items:center;gap:.5rem;height:2.25rem;padding:0 .75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-primary{background:linear-gradient(to right,color-mix(in oklch,var(--primary),transparent 95%),color-mix(in oklch,var(--primary),transparent 90%))}}.btn-toolbar-primary{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-primary{border:1px solid color-mix(in oklch,var(--primary),transparent 80%)}}.btn-toolbar-primary{transition:all .2s}.btn-toolbar-primary:hover{background:linear-gradient(to right,var(--primary),var(--primary))}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-primary:hover{background:linear-gradient(to right,color-mix(in oklch,var(--primary),transparent 90%),color-mix(in oklch,var(--primary),transparent 80%))}}.btn-toolbar-icon-primary{background:linear-gradient(to bottom right,var(--primary),var(--primary));border-radius:9999px;width:2rem;height:2rem;padding:0}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-primary{background:linear-gradient(to bottom right,color-mix(in oklch,var(--primary),transparent 90%),color-mix(in oklch,var(--primary),transparent 80%))}}.btn-toolbar-icon-primary{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-primary{border:1px solid color-mix(in oklch,var(--primary),transparent 70%)}}.btn-toolbar-icon-primary{transition:all .2s;box-shadow:0 1px 2px #0000000d}.btn-toolbar-icon-primary:hover{background:linear-gradient(to bottom right,var(--primary),var(--primary))}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-primary:hover{background:linear-gradient(to bottom right,color-mix(in oklch,var(--primary),transparent 80%),color-mix(in oklch,var(--primary),transparent 70%))}}.btn-toolbar-icon-secondary{background:linear-gradient(to bottom right,var(--secondary),var(--secondary));border-radius:9999px;width:2rem;height:2rem;padding:0}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-secondary{background:linear-gradient(to bottom right,color-mix(in oklch,var(--secondary),transparent 90%),color-mix(in oklch,var(--secondary),transparent 80%))}}.btn-toolbar-icon-secondary{border:1px solid var(--secondary)}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-secondary{border:1px solid color-mix(in oklch,var(--secondary),transparent 70%)}}.btn-toolbar-icon-secondary{transition:all .2s;box-shadow:0 1px 2px #0000000d}.btn-toolbar-icon-secondary:hover{background:linear-gradient(to bottom right,var(--secondary),var(--secondary))}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-secondary:hover{background:linear-gradient(to bottom right,color-mix(in oklch,var(--secondary),transparent 80%),color-mix(in oklch,var(--secondary),transparent 70%))}}.badge-compact{height:1.25rem;padding:0 .5rem;font-size:10px}.badge-mini{height:1rem;padding:0 .375rem;font-size:10px}@keyframes shimmer-bg{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{background:linear-gradient(90deg,#0000,#ffffff1a,#0000) 0 0/1000px 100%;animation:3s linear infinite shimmer-bg}.animate-shimmer{animation:2s linear infinite shimmer}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px rgba(var(--primary),.1)}50%{box-shadow:0 0 30px rgba(var(--primary),.2)}}.pulse-glow{animation:2s ease-in-out infinite pulse-glow}@keyframes gradient-x{0%,to{background-position:0%}50%{background-position:100%}}.animate-gradient-x{animation:8s ease-in-out infinite gradient-x}.gradient-text{background:linear-gradient(to right,var(--foreground),var(--foreground))}@supports (color:color-mix(in lab, red, red)){.gradient-text{background:linear-gradient(to right,var(--foreground),color-mix(in oklch,var(--foreground),transparent 30%))}}.gradient-text{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.glass{background:color-mix(in oklch,var(--background),transparent 50%)}}.glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){.glass{border:1px solid color-mix(in oklch,var(--border),transparent 50%)}}.tool-card{transition:all .3s ease-out}.tool-card:hover{transform:scale(1.02);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.scrollbar-thin::-webkit-scrollbar-thumb{background-color:color-mix(in oklch,var(--primary),transparent 80%)}}.scrollbar-thin::-webkit-scrollbar-thumb{border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:color-mix(in oklch,var(--primary),transparent 70%)}}}@layer utilities{.\\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.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-\\[1px\\]{inset:-1px}.inset-0{inset:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.-top-12{top:calc(var(--spacing)*-12)}.top-0{top:calc(var(--spacing)*0)}.top-1\\.5{top:calc(var(--spacing)*1.5)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-\\[50\\%\\]{top:50%}.-right-1{right:calc(var(--spacing)*-1)}.right-0{right:calc(var(--spacing)*0)}.right-1\\.5{right:calc(var(--spacing)*1.5)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.left-1\\/2,.left-\\[50\\%\\]{left:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.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:calc(var(--spacing)*0)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-auto{margin-block:auto}.-mt-1{margin-top:calc(var(--spacing)*-1)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.-mr-1{margin-right:calc(var(--spacing)*-1)}.mr-1\\.5{margin-right:calc(var(--spacing)*1.5)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.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-1{margin-left:calc(var(--spacing)*-1)}.-ml-2{margin-left:calc(var(--spacing)*-2)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.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-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-14{width:calc(var(--spacing)*14);height:calc(var(--spacing)*14)}.size-\\[34px\\]{width:34px;height:34px}.size-full{width:100%;height:100%}.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-\\[600px\\]{height:600px}.h-\\[calc\\(100\\%-60px\\)\\]{height:calc(100% - 60px)}.h-auto{height:auto}.h-full{height:100%}.max-h-24{max-height:calc(var(--spacing)*24)}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-\\[80dvh\\]{max-height:80dvh}.max-h-\\[80vh\\]{max-height:80vh}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-\\[60px\\]{min-height:60px}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-\\[500px\\]{width:500px}.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-7\\/8{max-width:87.5%}.max-w-16{max-width:calc(var(--spacing)*16)}.max-w-24{max-width:calc(var(--spacing)*24)}.max-w-\\[80\\%\\]{max-width:80%}.max-w-\\[80px\\]{max-width:80px}.max-w-\\[85\\%\\]{max-width:85%}.max-w-\\[100px\\]{max-width:100px}.max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.max-w-\\[var\\(--thread-max-width\\)\\]{max-width:var(--thread-max-width)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-separate{border-collapse:separate}.border-spacing-0{--tw-border-spacing-x:calc(var(--spacing)*0);--tw-border-spacing-y:calc(var(--spacing)*0);border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y)}.origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\\[-50\\%\\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[-50\\%\\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[calc\\(-50\\%_-_2px\\)\\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize-none{resize:none}.scroll-m-20{scroll-margin:calc(var(--spacing)*20)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.auto-rows-auto{grid-auto-rows:auto}.grid-cols-\\[minmax\\(72px\\,1fr\\)_auto\\]{grid-template-columns:minmax(72px,1fr) auto}.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}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-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-y-2{row-gap:calc(var(--spacing)*2)}.self-center{align-self:center}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[2px\\]{border-radius:2px}.rounded-\\[14px\\]{border-radius:14px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.\\!rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-t-3xl{border-top-left-radius:var(--radius-3xl);border-top-right-radius:var(--radius-3xl)}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.rounded-tr-sm{border-top-right-radius:calc(var(--radius) - 4px)}.rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-blue-500\\/40{border-color:#3080ff66}@supports (color:color-mix(in lab, red, red)){.border-blue-500\\/40{border-color:color-mix(in oklab,var(--color-blue-500)40%,transparent)}}.border-blue-500\\/60{border-color:#3080ff99}@supports (color:color-mix(in lab, red, red)){.border-blue-500\\/60{border-color:color-mix(in oklab,var(--color-blue-500)60%,transparent)}}.border-border,.border-border\\/20{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/20{border-color:color-mix(in oklab,var(--border)20%,transparent)}}.border-border\\/40{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/40{border-color:color-mix(in oklab,var(--border)40%,transparent)}}.border-border\\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-destructive,.border-destructive\\/60{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\\/60{border-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.border-foreground\\/20{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\\/20{border-color:color-mix(in oklab,var(--foreground)20%,transparent)}}.border-green-500\\/20{border-color:#00c75833}@supports (color:color-mix(in lab, red, red)){.border-green-500\\/20{border-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.border-green-500\\/40{border-color:#00c75866}@supports (color:color-mix(in lab, red, red)){.border-green-500\\/40{border-color:color-mix(in oklab,var(--color-green-500)40%,transparent)}}.border-green-500\\/60{border-color:#00c75899}@supports (color:color-mix(in lab, red, red)){.border-green-500\\/60{border-color:color-mix(in oklab,var(--color-green-500)60%,transparent)}}.border-input{border-color:var(--input)}.border-muted-foreground\\/20{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.border-muted-foreground\\/20{border-color:color-mix(in oklab,var(--muted-foreground)20%,transparent)}}.border-primary\\/60{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\\/60{border-color:color-mix(in oklab,var(--primary)60%,transparent)}}.border-red-500\\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\\/20{border-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.border-red-500\\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab, red, red)){.border-red-500\\/40{border-color:color-mix(in oklab,var(--color-red-500)40%,transparent)}}.border-red-500\\/60{border-color:#fb2c3699}@supports (color:color-mix(in lab, red, red)){.border-red-500\\/60{border-color:color-mix(in oklab,var(--color-red-500)60%,transparent)}}.border-transparent{border-color:#0000}.border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\\[color-mix\\(in_oklab\\,rgb\\(var\\(--background\\)\\)_20\\%\\,transparent\\)\\]{background-color:rgb(var(--background))}@supports (color:color-mix(in lab, red, red)){.bg-\\[color-mix\\(in_oklab\\,rgb\\(var\\(--background\\)\\)_20\\%\\,transparent\\)\\]{background-color:color-mix(in oklab,rgb(var(--background))20%,transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-background,.bg-background\\/50{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\\/50{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.bg-background\\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-background\\/95{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\\/95{background-color:color-mix(in oklab,var(--background)95%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\\/30{background-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.bg-black\\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\\/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-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\\/5{background-color:#3080ff0d}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/5{background-color:color-mix(in oklab,var(--color-blue-500)5%,transparent)}}.bg-blue-500\\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-border{background-color:var(--border)}.bg-destructive,.bg-destructive\\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-400\\/60{background-color:#05df7299}@supports (color:color-mix(in lab, red, red)){.bg-green-400\\/60{background-color:color-mix(in oklab,var(--color-green-400)60%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\\/5{background-color:#00c7580d}@supports (color:color-mix(in lab, red, red)){.bg-green-500\\/5{background-color:color-mix(in oklab,var(--color-green-500)5%,transparent)}}.bg-green-500\\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-muted{background-color:var(--muted)}.bg-muted-foreground\\/15{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\\/15{background-color:color-mix(in oklab,var(--muted-foreground)15%,transparent)}}.bg-muted\\/5{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/5{background-color:color-mix(in oklab,var(--muted)5%,transparent)}}.bg-muted\\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover\\/95{background-color:var(--popover)}@supports (color:color-mix(in lab, red, red)){.bg-popover\\/95{background-color:color-mix(in oklab,var(--popover)95%,transparent)}}.bg-primary,.bg-primary\\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/5{background-color:color-mix(in oklab,var(--color-red-500)5%,transparent)}}.bg-red-500\\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-500\\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-slate-900\\/95{background-color:#0f172bf2}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\\/95{background-color:color-mix(in oklab,var(--color-slate-900)95%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-yellow-500{background-color:var(--color-yellow-500)}.fill-foreground{fill:var(--foreground)}.stroke-\\[1\\.5px\\]{stroke-width:1.5px}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-px{padding:1px}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.pt-0\\.5{padding-top:calc(var(--spacing)*.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-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}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.text-\\[17px\\]{font-size:17px}.text-\\[19px\\]{font-size:19px}.text-\\[21px\\]{font-size:21px}.text-\\[25px\\]{font-size:25px}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-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)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-background{color:var(--background)}.text-blue-400{color:var(--color-blue-400)}.text-blue-600{color:var(--color-blue-600)}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-emerald-500{color:var(--color-emerald-500)}.text-foreground,.text-foreground\\/80{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}}.text-green-400{color:var(--color-green-400)}.text-green-600{color:var(--color-green-600)}.text-muted-foreground,.text-muted-foreground\\/65{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/65{color:color-mix(in oklab,var(--muted-foreground)65%,transparent)}}.text-muted-foreground\\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-600{color:var(--color-red-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.text-white\\/20{color:#fff3}@supports (color:color-mix(in lab, red, red)){.text-white\\/20{color:color-mix(in oklab,var(--color-white)20%,transparent)}}.text-white\\/30{color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.text-white\\/30{color:color-mix(in oklab,var(--color-white)30%,transparent)}}.text-white\\/40{color:#fff6}@supports (color:color-mix(in lab, red, red)){.text-white\\/40{color:color-mix(in oklab,var(--color-white)40%,transparent)}}.text-white\\/50{color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.text-white\\/50{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.text-white\\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.text-white\\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.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)}}.text-white\\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.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,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_12px_rgba\\(34\\,197\\,94\\,0\\.3\\)\\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#22c55e4d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_12px_rgba\\(59\\,130\\,246\\,0\\.3\\)\\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#3b82f64d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_12px_rgba\\(239\\,68\\,68\\,0\\.3\\)\\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#ef44444d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_12px_24px_-16px_rgba\\(37\\,99\\,235\\,0\\.55\\)\\]{--tw-shadow:0 12px 24px -16px var(--tw-shadow-color,#2563eb8c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_12px_24px_-18px_rgba\\(220\\,38\\,38\\,0\\.55\\)\\]{--tw-shadow:0 12px 24px -18px var(--tw-shadow-color,#dc26268c);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-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{--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)}.\\[box-shadow\\:inset_0_1px_2px_0_rgba\\(255\\,255\\,255\\,0\\.15\\)\\]{box-shadow:inset 0 1px 2px #ffffff26}.shadow-black\\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab, red, red)){.shadow-black\\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)20%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.drop-shadow-xl{--tw-drop-shadow-size:drop-shadow(0 9px 7px var(--tw-drop-shadow-color,#0000001a));--tw-drop-shadow:drop-shadow(var(--drop-shadow-xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-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,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-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-\\[color\\,box-shadow\\]{transition-property: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-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-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-muted-foreground::placeholder,.placeholder\\:text-muted-foreground\\/70::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.placeholder\\:text-muted-foreground\\/70::placeholder{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.placeholder\\:text-white\\/40::placeholder{color:#fff6}@supports (color:color-mix(in lab, red, red)){.placeholder\\:text-white\\/40::placeholder{color:color-mix(in oklab,var(--color-white)40%,transparent)}}.first\\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}.first\\:mt-3:first-child{margin-top:calc(var(--spacing)*3)}.first\\:mt-4:first-child{margin-top:calc(var(--spacing)*4)}.first\\:rounded-tl-lg:first-child{border-top-left-radius:var(--radius)}.first\\:border-t:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}.last\\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.last\\:mb-5:last-child{margin-bottom:calc(var(--spacing)*5)}.last\\:mb-24:last-child{margin-bottom:calc(var(--spacing)*24)}.last\\:rounded-tr-lg:last-child{border-top-right-radius:var(--radius)}.last\\:border-r:last-child{border-right-style:var(--tw-border-style);border-right-width:1px}.empty\\:hidden:empty{display:none}.focus-within\\:border-ring\\/50:focus-within{border-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-within\\:border-ring\\/50:focus-within{border-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-within\\:border-white\\/20:focus-within{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.focus-within\\:border-white\\/20:focus-within{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.focus-within\\:bg-white\\/15:focus-within{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.focus-within\\:bg-white\\/15:focus-within{background-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.focus-within\\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);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\\:shadow-md:focus-within{--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-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\\:shadow-black\\/30:focus-within{--tw-shadow-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.focus-within\\:shadow-black\\/30:focus-within{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)30%,transparent)var(--tw-shadow-alpha),transparent)}}.focus-within\\:ring-ring:focus-within{--tw-ring-color:var(--ring)}.focus-within\\:ring-offset-2:focus-within{--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)}@media (hover:hover){.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:border-accent:hover{border-color:var(--accent)}.hover\\:border-border\\/60:hover{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.hover\\:border-border\\/60:hover{border-color:color-mix(in oklab,var(--border)60%,transparent)}}.hover\\:border-white\\/15:hover{border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\\:border-white\\/15:hover{border-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.hover\\:\\!bg-white:hover{background-color:var(--color-white)!important}.hover\\:bg-accent:hover,.hover\\:bg-accent\\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/50:hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.hover\\:bg-destructive\\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\\:bg-destructive\\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/80:hover{background-color:color-mix(in oklab,var(--destructive)80%,transparent)}}.hover\\:bg-destructive\\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\\:bg-muted-foreground\\/15:hover{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-muted-foreground\\/15:hover{background-color:color-mix(in oklab,var(--muted-foreground)15%,transparent)}}.hover\\:bg-primary\\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-primary\\/80:hover{background-color:color-mix(in oklab,var(--primary)80%,transparent)}}.hover\\:bg-primary\\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\\:bg-red-500\\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-red-500\\/30:hover{background-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.hover\\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\\:bg-transparent:hover{background-color:#0000}.hover\\:bg-white\\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-white\\/5:hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.hover\\:bg-white\\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-white\\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\\:bg-white\\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-white\\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\\:text-destructive:hover{color:var(--destructive)}.hover\\:text-foreground:hover{color:var(--foreground)}.hover\\:text-primary\\/80:hover{color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\\:text-primary\\/80:hover{color:color-mix(in oklab,var(--primary)80%,transparent)}}.hover\\:text-red-200:hover{color:var(--color-red-200)}.hover\\:text-red-300:hover{color:var(--color-red-300)}.hover\\:text-white:hover{color:var(--color-white)}.hover\\:text-white\\/70:hover{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.hover\\:text-white\\/70:hover{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-75:hover{opacity:.75}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-\\[0_14px_24px_-14px_rgba\\(37\\,99\\,235\\,0\\.6\\)\\]:hover{--tw-shadow:0 14px 24px -14px var(--tw-shadow-color,#2563eb99);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-\\[0_14px_24px_-16px_rgba\\(220\\,38\\,38\\,0\\.6\\)\\]:hover{--tw-shadow:0 14px 24px -16px var(--tw-shadow-color,#dc262699);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:drop-shadow-2xl:hover{--tw-drop-shadow-size:drop-shadow(0 25px 25px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-2xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\\:ring-offset-2:focus{--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\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.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-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + 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-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\\:ring-destructive\\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-destructive\\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.focus-visible\\:ring-primary\\/40:focus-visible{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-primary\\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--primary)40%,transparent)}}.focus-visible\\:ring-ring:focus-visible,.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\\:ring-white\\/30:focus-visible{--tw-ring-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-white\\/30:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.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-transparent:focus-visible{--tw-ring-offset-color:transparent}.focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:cursor-grabbing:active{cursor:grabbing}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:invisible:disabled{visibility:hidden}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\\[\\>svg\\]\\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\\[\\>svg\\]\\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-floating\\:absolute[data-floating]{position:absolute}.data-floating\\:rounded-md[data-floating]{border-radius:calc(var(--radius) - 2px)}.data-floating\\:border[data-floating]{border-style:var(--tw-border-style);border-width:1px}.data-floating\\:bg-background[data-floating]{background-color:var(--background)}.data-floating\\:p-1[data-floating]{padding:calc(var(--spacing)*1)}.data-floating\\:shadow-sm[data-floating]{--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)}.data-\\[orientation\\=horizontal\\]\\:h-px[data-orientation=horizontal]{height:1px}.data-\\[orientation\\=horizontal\\]\\:w-full[data-orientation=horizontal]{width:100%}.data-\\[orientation\\=vertical\\]\\:h-full[data-orientation=vertical]{height:100%}.data-\\[orientation\\=vertical\\]\\:w-px[data-orientation=vertical]{width:1px}.data-\\[state\\=closed\\]\\:scale-0[data-state=closed]{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\\[state\\=closed\\]\\:scale-100[data-state=closed]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\\[state\\=closed\\]\\:-rotate-90[data-state=closed]{rotate:-90deg}.data-\\[state\\=closed\\]\\:rotate-0[data-state=closed]{rotate:none}.data-\\[state\\=open\\]\\:scale-0[data-state=open]{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\\[state\\=open\\]\\:scale-100[data-state=open]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\\[state\\=open\\]\\:rotate-0[data-state=open]{rotate:none}.data-\\[state\\=open\\]\\:rotate-90[data-state=open]{rotate:90deg}.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\\[state\\=open\\]\\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}@media (min-width:40rem){.sm\\:max-w-3xl{max-width:var(--container-3xl)}.sm\\:max-w-lg{max-width:var(--container-lg)}.sm\\:max-w-md{max-width:var(--container-md)}.sm\\:flex-row{flex-direction:row}.sm\\:justify-end{justify-content:flex-end}.sm\\:text-left{text-align:left}}@media (min-width:48rem){.md\\:pb-6{padding-bottom:calc(var(--spacing)*6)}}@container (min-width:28rem){.\\@md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\\@md\\:flex-col{flex-direction:column}}.dark\\:border-input:is(.dark *){border-color:var(--input)}.dark\\:border-muted-foreground\\/15:is(.dark *){border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.dark\\:border-muted-foreground\\/15:is(.dark *){border-color:color-mix(in oklab,var(--muted-foreground)15%,transparent)}}.dark\\:bg-background:is(.dark *){background-color:var(--background)}.dark\\:bg-destructive\\/5:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-destructive\\/5:is(.dark *){background-color:color-mix(in oklab,var(--destructive)5%,transparent)}}.dark\\:bg-destructive\\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-destructive\\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\\:bg-muted-foreground\\/20:is(.dark *){background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-muted-foreground\\/20:is(.dark *){background-color:color-mix(in oklab,var(--muted-foreground)20%,transparent)}}.dark\\:stroke-\\[2\\.5px\\]:is(.dark *){stroke-width:2.5px}.dark\\:text-green-400:is(.dark *){color:var(--color-green-400)}.dark\\:text-red-200:is(.dark *){color:var(--color-red-200)}@media (hover:hover){.dark\\:hover\\:bg-accent:is(.dark *):hover,.dark\\:hover\\:bg-accent\\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-accent\\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\\:hover\\:bg-accent\\/60:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-accent\\/60:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)60%,transparent)}}.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.dark\\:hover\\:bg-muted-foreground\\/30:is(.dark *):hover{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-muted-foreground\\/30:is(.dark *):hover{background-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}}.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\]\\:text-background svg{color:var(--background)}.\\[\\&_svg\\]\\:text-black svg{color:var(--color-black)}@media (hover:hover){.hover\\:\\[\\&_svg\\]\\:text-destructive:hover svg{color:var(--destructive)}}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\\[\\&\\:last-child\\>td\\:first-child\\]\\:rounded-bl-lg:last-child>td:first-child{border-bottom-left-radius:var(--radius)}.\\[\\&\\:last-child\\>td\\:last-child\\]\\:rounded-br-lg:last-child>td:last-child{border-bottom-right-radius:var(--radius)}.\\[\\&\\:nth-child\\(n\\+3\\)\\]\\:hidden:nth-child(n+3){display:none}@container (min-width:28rem){.\\@md\\:\\[\\&\\:nth-child\\(n\\+3\\)\\]\\:block:nth-child(n+3){display:block}}.\\[\\&\\:where\\(\\>\\*\\)\\]\\:col-start-2:where(){grid-column-start:2}.only\\:\\[\\&\\>\\#attachment-tile\\]\\:size-24:only-child>#attachment-tile{width:calc(var(--spacing)*24);height:calc(var(--spacing)*24)}.\\[\\&\\>\\.aui-thread-root\\]\\:bg-inherit>.aui-thread-root{background-color:inherit}.\\[\\&\\>a\\]\\:text-xs>a{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\[\\&\\>a\\]\\:no-underline>a{text-decoration-line:none}.\\[\\&\\>button\\]\\:rounded-full>button{border-radius:3.40282e38px}.\\[\\&\\>button\\]\\:bg-foreground\\/60>button{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.\\[\\&\\>button\\]\\:bg-foreground\\/60>button{background-color:color-mix(in oklab,var(--foreground)60%,transparent)}}.\\[\\&\\>button\\]\\:p-1>button{padding:calc(var(--spacing)*1)}.\\[\\&\\>button\\]\\:opacity-100>button{opacity:1}.\\[\\&\\>button\\]\\:\\!ring-0>button{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}@media (hover:hover){.\\[\\&\\>button\\]\\:hover\\:\\[\\&_svg\\]\\:text-destructive>button:hover svg{color:var(--destructive)}}.\\[\\&\\>li\\]\\:mt-0\\.5>li{margin-top:calc(var(--spacing)*.5)}.\\[\\&\\>li\\]\\:mt-1>li{margin-top:calc(var(--spacing)*1)}.\\[\\&\\>span\\]\\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\[\\&\\[align\\=center\\]\\]\\:text-center[align=center]{text-align:center}.\\[\\&\\[align\\=right\\]\\]\\:text-right[align=right]{text-align:right}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.85}}@keyframes smooth-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gradient-shift{0%,to{transform:translate(0%)translateY(0%)}25%{transform:translate(100%)translateY(100%)}50%{transform:translate(100%)translateY(0%)}75%{transform:translate(0%)translateY(100%)}}@keyframes float{0%,to{transform:translateY(0)translate(0)}33%{transform:translateY(-30px)translate(20px)}66%{transform:translateY(20px)translate(-20px)}}@keyframes float-delayed{0%,to{transform:translateY(0)translate(0)}33%{transform:translateY(30px)translate(-30px)}66%{transform:translateY(-20px)translate(20px)}}.tool-card-transition{transition:all .4s cubic-bezier(.34,1.56,.64,1)}.tool-card-smooth{transition:all .35s cubic-bezier(.4,0,.2,1)}.animate-fadeInUp{opacity:0;animation:.5s ease-out forwards fadeInUp}.animate-gradient-shift{background-size:200% 200%;animation:20s ease-in-out infinite gradient-shift}.animate-float-slow{animation:20s ease-in-out infinite float}.animate-float-delayed{animation:25s ease-in-out 5s infinite float-delayed}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@keyframes tool-border-rotate{0%{--tool-border-angle:0deg}to{--tool-border-angle:360deg}}@property --tool-border-angle{syntax:\"<angle>\";inherits:false;initial-value:0deg}.tool-border-calling{background:conic-gradient(from var(--tool-border-angle),transparent 0deg,transparent 60deg,#3b82f680 90deg,#60a5fab3 120deg,#93c5fd80 150deg,transparent 180deg,transparent 360deg);animation:1.5s linear infinite tool-border-rotate}.tool-border-success{background:#22c55e66;box-shadow:0 0 12px #22c55e4d,inset 0 0 8px #22c55e1a}.tool-border-error{background:#ef444466;box-shadow:0 0 12px #ef44444d,inset 0 0 8px #ef44441a}@keyframes pulse-success{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 8px #22c55e00}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.animate-pulse-success{animation:.6s ease-out pulse-success}.animate-shake{animation:.3s ease-out shake}@keyframes aui-pulse{50%{opacity:.5}}:where(.aui-md[data-status=running]):empty:after,:where(.aui-md[data-status=running])>:where(:not(ol):not(ul):not(pre)):last-child:after,:where(.aui-md[data-status=running])>pre:last-child code:after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child):after{--aui-content:\"●\";content:var(--aui-content);margin-left:.25rem;margin-right:.25rem;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;animation:2s cubic-bezier(.4,0,.6,1) infinite aui-pulse}.glass-pill{-webkit-backdrop-filter:blur(20px)saturate(150%);background:#0f172ad9;border:1px solid #ffffff0f;box-shadow:0 4px 16px #0003,inset 0 .5px #ffffff14}.glass-pill:before{content:\"\";border-radius:inherit;pointer-events:none;z-index:1;background:linear-gradient(#ffffff0a 0%,#0000 40%);position:absolute;inset:0}.glass-pill:after{display:none}.glass-pill-collapsed{-webkit-backdrop-filter:blur(12px);background:#ffffff1f;border:none;box-shadow:0 1px 4px #00000026}.glass-pill-collapsed:before,.glass-pill-collapsed:after{display:none}.glass-pill-hovered{-webkit-backdrop-filter:blur(16px)saturate(140%);background:#0f172acc;border:1px solid #ffffff0f;box-shadow:0 2px 12px #0000002e}.glass-pill-hovered:before,.glass-pill-hovered:after{display:none}@keyframes glass-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.glass-shimmer{background:linear-gradient(90deg,#ffffff14 0%,#ffffff26 50%,#ffffff14 100%) 0 0/200% 100%;animation:4s ease-in-out infinite glass-shimmer}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:#fff3 transparent}.scrollbar-thin::-webkit-scrollbar{width:4px;height:4px}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:#fff3;border-radius:9999px}.scrollbar-thin::-webkit-scrollbar-track{background-color:#0000}@property --tw-border-spacing-x{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}";
7333
7817
  /**
7334
7818
  * Inject the WebMCP styles into the document head.
7335
7819
  * This is called automatically when registering the web component.
@@ -7344,6 +7828,75 @@ function injectStyles() {
7344
7828
  document.head.appendChild(style);
7345
7829
  }
7346
7830
 
7831
+ //#endregion
7832
+ //#region src/providers/VoiceMCPBridge.tsx
7833
+ /**
7834
+ * Convert MCP tool to RegisteredTool format for voice mode.
7835
+ * Both use JSON Schema for inputSchema, so conversion is straightforward.
7836
+ */
7837
+ function convertToRegisteredTool(tool) {
7838
+ return {
7839
+ name: tool.name,
7840
+ description: tool.description ?? `Execute ${tool.name}`,
7841
+ inputSchema: tool.inputSchema
7842
+ };
7843
+ }
7844
+ /**
7845
+ * Bridge component that connects MCP tools to VoiceModeProvider.
7846
+ * Uses the MCP context and provides tools + executor to voice mode.
7847
+ */
7848
+ const VoiceMCPBridge = (t0) => {
7849
+ const $ = c(14);
7850
+ const { children, tokenEndpoint, onError, onConnect, onDisconnect, onUserTranscript, onAssistantTranscript } = t0;
7851
+ const { tools: mcpTools, callTool } = useMCPTools();
7852
+ let t1;
7853
+ if ($[0] !== mcpTools) {
7854
+ t1 = mcpTools.map(convertToRegisteredTool);
7855
+ $[0] = mcpTools;
7856
+ $[1] = t1;
7857
+ } else t1 = $[1];
7858
+ const voiceTools = t1;
7859
+ let t2;
7860
+ if ($[2] !== callTool) {
7861
+ t2 = async (name, args) => {
7862
+ const result = await callTool(name, args);
7863
+ if (result.content && Array.isArray(result.content) && result.content.length > 0) {
7864
+ const firstContent = result.content[0];
7865
+ if (firstContent && "text" in firstContent) return firstContent.text;
7866
+ }
7867
+ return result;
7868
+ };
7869
+ $[2] = callTool;
7870
+ $[3] = t2;
7871
+ } else t2 = $[3];
7872
+ const toolExecutor = t2;
7873
+ let t3;
7874
+ if ($[4] !== children || $[5] !== onAssistantTranscript || $[6] !== onConnect || $[7] !== onDisconnect || $[8] !== onError || $[9] !== onUserTranscript || $[10] !== tokenEndpoint || $[11] !== toolExecutor || $[12] !== voiceTools) {
7875
+ t3 = /* @__PURE__ */ jsx(VoiceModeProvider, {
7876
+ tokenEndpoint,
7877
+ tools: voiceTools,
7878
+ toolExecutor,
7879
+ onError,
7880
+ onConnect,
7881
+ onDisconnect,
7882
+ onUserTranscript,
7883
+ onAssistantTranscript,
7884
+ children
7885
+ });
7886
+ $[4] = children;
7887
+ $[5] = onAssistantTranscript;
7888
+ $[6] = onConnect;
7889
+ $[7] = onDisconnect;
7890
+ $[8] = onError;
7891
+ $[9] = onUserTranscript;
7892
+ $[10] = tokenEndpoint;
7893
+ $[11] = toolExecutor;
7894
+ $[12] = voiceTools;
7895
+ $[13] = t3;
7896
+ } else t3 = $[13];
7897
+ return t3;
7898
+ };
7899
+
7347
7900
  //#endregion
7348
7901
  //#region src/web-component.tsx
7349
7902
  /**
@@ -7457,7 +8010,7 @@ const EmbeddedAgent = (t0) => {
7457
8010
  const renderUI = t8;
7458
8011
  let t9;
7459
8012
  if ($[12] !== onVoiceConnect || $[13] !== onVoiceDisconnect || $[14] !== onVoiceError || $[15] !== renderUI || $[16] !== resolvedTokenEndpoint || $[17] !== runtime) {
7460
- t9 = resolvedTokenEndpoint ? /* @__PURE__ */ jsx(VoiceModeProvider, {
8013
+ t9 = resolvedTokenEndpoint ? /* @__PURE__ */ jsx(VoiceMCPBridge, {
7461
8014
  tokenEndpoint: resolvedTokenEndpoint,
7462
8015
  onError: onVoiceError,
7463
8016
  onConnect: onVoiceConnect,