@usecrow/ui 0.1.72 → 0.1.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -119,6 +119,12 @@ function useChat({
119
119
  const pendingClientTools = [];
120
120
  abortControllerRef.current = new AbortController();
121
121
  try {
122
+ if (typeof window !== "undefined" && !window.__crow_page_context) {
123
+ for (let i = 0; i < 10; i++) {
124
+ await new Promise((r) => setTimeout(r, 200));
125
+ if (window.__crow_page_context) break;
126
+ }
127
+ }
122
128
  const identityToken = window.__crow_identity_token;
123
129
  const response = await fetch(`${apiUrl}/api/chat/message`, {
124
130
  method: "POST",
@@ -2352,6 +2358,13 @@ function useCopilotStyles2() {
2352
2358
  const context = useContext(CopilotStyleContext);
2353
2359
  return context?.styles ?? DEFAULT_COPILOT_STYLES;
2354
2360
  }
2361
+ function useActiveStyles() {
2362
+ const copilotContext = useContext(CopilotStyleContext);
2363
+ const widgetContext = useContext(WidgetStyleContext);
2364
+ if (copilotContext) return copilotContext.styles;
2365
+ if (widgetContext) return widgetContext.styles;
2366
+ return DEFAULT_COPILOT_STYLES;
2367
+ }
2355
2368
  var PASSTHROUGH_KEYS = /* @__PURE__ */ new Set(["Escape", "Tab"]);
2356
2369
  function ShadowContainer({
2357
2370
  children,
@@ -2889,6 +2902,7 @@ function ReasoningTrace({
2889
2902
  ] }) });
2890
2903
  }
2891
2904
  function WaitingIndicator() {
2905
+ const mutedColor = useActiveStyles().colors.text + "80";
2892
2906
  const [messageIndex, setMessageIndex] = useState(
2893
2907
  () => Math.floor(Math.random() * THINKING_MESSAGES.length)
2894
2908
  );
@@ -2899,7 +2913,7 @@ function WaitingIndicator() {
2899
2913
  return () => clearInterval(interval);
2900
2914
  }, []);
2901
2915
  const message = THINKING_MESSAGES[messageIndex] + "...";
2902
- return /* @__PURE__ */ jsxs("div", { className: "crow-flex crow-items-center crow-gap-1.5 crow-text-xs crow-text-gray-500", children: [
2916
+ return /* @__PURE__ */ jsxs("div", { className: "crow-flex crow-items-center crow-gap-1.5 crow-text-xs", style: { color: mutedColor }, children: [
2903
2917
  /* @__PURE__ */ jsx("div", { className: "crow-flex crow-items-center crow-justify-center crow-w-4 crow-h-4", children: /* @__PURE__ */ jsx(ShimmeringContent, { children: /* @__PURE__ */ jsx(Brain, { className: "crow-w-3.5 crow-h-3.5" }) }) }),
2904
2918
  /* @__PURE__ */ jsx("span", { className: "crow-font-medium", children: /* @__PURE__ */ jsx(ShimmeringContent, { children: message }) })
2905
2919
  ] });
@@ -2908,6 +2922,8 @@ function ThinkingBlock({
2908
2922
  thinking,
2909
2923
  isComplete
2910
2924
  }) {
2925
+ const themeColors = useActiveStyles().colors;
2926
+ const mutedColor = themeColors.text + "80";
2911
2927
  const [isExpanded, setIsExpanded] = useState(!isComplete);
2912
2928
  const [messageIndex, setMessageIndex] = useState(
2913
2929
  () => Math.floor(Math.random() * THINKING_MESSAGES.length)
@@ -2929,7 +2945,8 @@ function ThinkingBlock({
2929
2945
  "button",
2930
2946
  {
2931
2947
  onClick: () => setIsExpanded(!isExpanded),
2932
- className: `crow-flex crow-items-center crow-gap-1.5 crow-select-none crow-transition-colors ${isInProgress ? "crow-text-gray-500" : "crow-text-gray-600 hover:crow-text-gray-800"} crow-cursor-pointer`,
2948
+ className: "crow-flex crow-items-center crow-gap-1.5 crow-select-none crow-transition-colors crow-cursor-pointer",
2949
+ style: { color: mutedColor },
2933
2950
  children: [
2934
2951
  /* @__PURE__ */ jsx("div", { className: "crow-flex crow-items-center crow-justify-center crow-w-4 crow-h-4", children: isInProgress ? /* @__PURE__ */ jsx(ShimmeringContent, { children: /* @__PURE__ */ jsx(Brain, { className: "crow-w-3.5 crow-h-3.5" }) }) : /* @__PURE__ */ jsx(Brain, { className: "crow-w-3.5 crow-h-3.5" }) }),
2935
2952
  /* @__PURE__ */ jsx("span", { className: "crow-font-medium", children: isInProgress ? /* @__PURE__ */ jsx(ShimmeringContent, { children: message }) : "Thought" }),
@@ -2954,10 +2971,11 @@ function ThinkingBlock({
2954
2971
  exit: { height: 0, opacity: 0 },
2955
2972
  transition: { duration: 0.15 },
2956
2973
  className: "crow-overflow-hidden",
2957
- children: /* @__PURE__ */ jsx("div", { className: "crow-border-l-2 crow-border-gray-200 crow-pl-3 crow-ml-2", children: /* @__PURE__ */ jsx(
2974
+ children: /* @__PURE__ */ jsx("div", { className: "crow-border-l-2 crow-pl-3 crow-ml-2", style: { borderColor: themeColors.border }, children: /* @__PURE__ */ jsx(
2958
2975
  "div",
2959
2976
  {
2960
- className: `crow-text-xs crow-leading-relaxed crow-whitespace-pre-wrap ${isComplete ? "crow-text-gray-500" : "crow-text-gray-600"}`,
2977
+ className: "crow-text-xs crow-leading-relaxed crow-whitespace-pre-wrap",
2978
+ style: { color: mutedColor },
2961
2979
  children: thinking
2962
2980
  }
2963
2981
  ) })
@@ -2987,6 +3005,8 @@ function ToolCallBlock({
2987
3005
  toolRenderers,
2988
3006
  onToolConsent
2989
3007
  }) {
3008
+ const themeColors = useActiveStyles().colors;
3009
+ const mutedColor = themeColors.text + "80";
2990
3010
  const [expanded, setExpanded] = useState(false);
2991
3011
  const hasArgs = Object.keys(toolCall.arguments || {}).length > 0;
2992
3012
  const isExecuting = toolCall.status === "executing";
@@ -3000,13 +3020,15 @@ function ToolCallBlock({
3000
3020
  /* @__PURE__ */ jsxs(
3001
3021
  "div",
3002
3022
  {
3003
- className: `crow-flex crow-items-center crow-gap-1.5 crow-select-none crow-transition-colors ${isExecuting || isAwaitingConsent ? "crow-text-gray-500" : "crow-text-gray-600"}`,
3023
+ className: "crow-flex crow-items-center crow-gap-1.5 crow-select-none crow-transition-colors",
3024
+ style: { color: mutedColor },
3004
3025
  children: [
3005
3026
  hasArgs && !isAwaitingConsent && /* @__PURE__ */ jsx(
3006
3027
  "button",
3007
3028
  {
3008
3029
  onClick: () => setExpanded(!expanded),
3009
- className: "crow-cursor-pointer hover:crow-text-gray-800",
3030
+ className: "crow-cursor-pointer",
3031
+ style: { color: mutedColor },
3010
3032
  children: /* @__PURE__ */ jsx(
3011
3033
  motion.div,
3012
3034
  {
@@ -3021,7 +3043,7 @@ function ToolCallBlock({
3021
3043
  isExecuting && /* @__PURE__ */ jsx(Loader2, { className: "crow-w-3 crow-h-3 crow-animate-spin crow-text-blue-500" }),
3022
3044
  isComplete && /* @__PURE__ */ jsx(Check, { className: "crow-w-3 crow-h-3 crow-text-green-500" }),
3023
3045
  isError && /* @__PURE__ */ jsx("span", { className: "crow-w-3 crow-h-3 crow-text-red-500", children: "\u2715" }),
3024
- isDenied && /* @__PURE__ */ jsx("span", { className: "crow-w-3 crow-h-3 crow-text-gray-400", children: "\u2715" }),
3046
+ isDenied && /* @__PURE__ */ jsx("span", { className: "crow-w-3 crow-h-3", style: { color: mutedColor }, children: "\u2715" }),
3025
3047
  /* @__PURE__ */ jsx("span", { className: "crow-font-medium", children: toolCall.displayName || toolCall.name }),
3026
3048
  isAwaitingConsent && /* @__PURE__ */ jsxs(Fragment, { children: [
3027
3049
  /* @__PURE__ */ jsx("span", { className: "crow-text-amber-500", children: "needs permission" }),
@@ -3038,16 +3060,16 @@ function ToolCallBlock({
3038
3060
  "button",
3039
3061
  {
3040
3062
  onClick: () => onToolConsent?.(toolCall.id, false),
3041
- className: "crow-px-2 crow-py-0.5 crow-rounded crow-border crow-text-xs crow-font-medium crow-text-gray-500 crow-cursor-pointer",
3042
- style: { borderColor: "#d1d5db", backgroundColor: "transparent" },
3063
+ className: "crow-px-2 crow-py-0.5 crow-rounded crow-border crow-text-xs crow-font-medium crow-cursor-pointer",
3064
+ style: { borderColor: themeColors.border, backgroundColor: "transparent", color: mutedColor },
3043
3065
  children: "Deny"
3044
3066
  }
3045
3067
  )
3046
3068
  ] }),
3047
- isExecuting && /* @__PURE__ */ jsx("span", { className: "crow-text-gray-400", children: "running..." }),
3048
- isComplete && /* @__PURE__ */ jsx("span", { className: "crow-text-gray-400", children: "done" }),
3049
- isError && /* @__PURE__ */ jsx("span", { className: "crow-text-gray-400", children: "failed" }),
3050
- isDenied && /* @__PURE__ */ jsx("span", { className: "crow-text-gray-400", children: "denied" })
3069
+ isExecuting && /* @__PURE__ */ jsx("span", { style: { color: mutedColor }, children: "running..." }),
3070
+ isComplete && /* @__PURE__ */ jsx("span", { style: { color: mutedColor }, children: "done" }),
3071
+ isError && /* @__PURE__ */ jsx("span", { style: { color: mutedColor }, children: "failed" }),
3072
+ isDenied && /* @__PURE__ */ jsx("span", { style: { color: mutedColor }, children: "denied" })
3051
3073
  ]
3052
3074
  }
3053
3075
  ),
@@ -3148,7 +3170,7 @@ function MessageBubble({
3148
3170
  toolRenderers,
3149
3171
  onToolConsent
3150
3172
  }) {
3151
- const styles = useWidgetStyles2();
3173
+ const styles = useActiveStyles();
3152
3174
  const showThinkingSetting = useShowThinking();
3153
3175
  const isWaiting = message.content === "Thinking..." || message.isBot && isLoading && !message.content;
3154
3176
  const hasThinking = message.isBot && message.thinking;
@@ -3267,7 +3289,7 @@ function MessageList({
3267
3289
  }) });
3268
3290
  }
3269
3291
  var MessagesContainer = forwardRef(({ children }, ref) => {
3270
- const styles = useWidgetStyles2();
3292
+ const styles = useActiveStyles();
3271
3293
  const internalRef = useRef(null);
3272
3294
  const lastScrollHeightRef = useRef(0);
3273
3295
  const isUserScrollingRef = useRef(false);
@@ -3329,26 +3351,92 @@ function ConversationList({
3329
3351
  onSelect,
3330
3352
  onClose
3331
3353
  }) {
3354
+ const styles = useActiveStyles();
3332
3355
  return /* @__PURE__ */ jsxs(
3333
3356
  motion.div,
3334
3357
  {
3335
3358
  initial: { opacity: 0, height: 0 },
3336
3359
  animate: { opacity: 1, height: "auto" },
3337
3360
  exit: { opacity: 0, height: 0 },
3338
- className: "crow-mb-3 crow-rounded-xl crow-bg-gray-50 crow-border crow-border-gray-200",
3361
+ className: "crow-mb-3 crow-rounded-xl crow-border",
3362
+ style: {
3363
+ background: styles.colors.text + "08",
3364
+ borderColor: styles.colors.border
3365
+ },
3339
3366
  children: [
3340
- /* @__PURE__ */ jsxs("div", { className: "crow-p-2 crow-border-b crow-border-gray-200 crow-flex crow-justify-between crow-items-center", children: [
3341
- /* @__PURE__ */ jsx("span", { className: "crow-text-sm crow-font-medium crow-text-gray-700", children: "Recent Conversations" }),
3342
- /* @__PURE__ */ jsx("button", { onClick: onClose, className: "crow-p-1 hover:crow-bg-gray-200 crow-rounded", children: /* @__PURE__ */ jsx(X, { size: 14, className: "crow-text-gray-500" }) })
3343
- ] }),
3344
- /* @__PURE__ */ jsx("div", { className: "crow-max-h-[200px] crow-overflow-y-auto", children: conversations.length === 0 ? /* @__PURE__ */ jsx("div", { className: "crow-p-4 crow-text-center crow-text-sm crow-text-gray-500", children: "No conversations yet" }) : conversations.map((conv) => /* @__PURE__ */ jsxs(
3367
+ /* @__PURE__ */ jsxs(
3368
+ "div",
3369
+ {
3370
+ className: "crow-p-2 crow-border-b crow-flex crow-justify-between crow-items-center",
3371
+ style: { borderColor: styles.colors.border },
3372
+ children: [
3373
+ /* @__PURE__ */ jsx(
3374
+ "span",
3375
+ {
3376
+ className: "crow-text-sm crow-font-medium",
3377
+ style: { color: styles.colors.text + "cc" },
3378
+ children: "Recent Conversations"
3379
+ }
3380
+ ),
3381
+ /* @__PURE__ */ jsx(
3382
+ "button",
3383
+ {
3384
+ onClick: onClose,
3385
+ className: "crow-p-1 crow-rounded",
3386
+ style: { color: styles.colors.text + "80" },
3387
+ onMouseEnter: (e) => {
3388
+ e.currentTarget.style.background = styles.colors.text + "10";
3389
+ },
3390
+ onMouseLeave: (e) => {
3391
+ e.currentTarget.style.background = "transparent";
3392
+ },
3393
+ children: /* @__PURE__ */ jsx(X, { size: 14 })
3394
+ }
3395
+ )
3396
+ ]
3397
+ }
3398
+ ),
3399
+ /* @__PURE__ */ jsx("div", { className: "crow-max-h-[200px] crow-overflow-y-auto", children: conversations.length === 0 ? /* @__PURE__ */ jsx(
3400
+ "div",
3401
+ {
3402
+ className: "crow-p-4 crow-text-center crow-text-sm",
3403
+ style: { color: styles.colors.text + "80" },
3404
+ children: "No conversations yet"
3405
+ }
3406
+ ) : conversations.map((conv) => /* @__PURE__ */ jsxs(
3345
3407
  "button",
3346
3408
  {
3347
3409
  onClick: () => onSelect(conv.id),
3348
- className: `crow-w-full crow-p-3 crow-text-left hover:crow-bg-gray-100 crow-transition-colors crow-border-b crow-border-gray-100 last:crow-border-0 ${currentConversationId === conv.id ? "crow-bg-blue-50" : ""}`,
3410
+ className: "crow-w-full crow-p-3 crow-text-left crow-transition-colors crow-border-b last:crow-border-0",
3411
+ style: {
3412
+ borderColor: styles.colors.border,
3413
+ background: currentConversationId === conv.id ? styles.colors.primary + "18" : "transparent"
3414
+ },
3415
+ onMouseEnter: (e) => {
3416
+ if (currentConversationId !== conv.id) {
3417
+ e.currentTarget.style.background = styles.colors.text + "08";
3418
+ }
3419
+ },
3420
+ onMouseLeave: (e) => {
3421
+ e.currentTarget.style.background = currentConversationId === conv.id ? styles.colors.primary + "18" : "transparent";
3422
+ },
3349
3423
  children: [
3350
- /* @__PURE__ */ jsx("div", { className: "crow-text-sm crow-font-medium crow-text-gray-800 crow-truncate", children: conv.name || "Untitled conversation" }),
3351
- /* @__PURE__ */ jsx("div", { className: "crow-text-xs crow-text-gray-500 crow-mt-0.5", children: formatConversationDate(conv.updated_at) })
3424
+ /* @__PURE__ */ jsx(
3425
+ "div",
3426
+ {
3427
+ className: "crow-text-sm crow-font-medium crow-truncate",
3428
+ style: { color: styles.colors.text },
3429
+ children: conv.name || "Untitled conversation"
3430
+ }
3431
+ ),
3432
+ /* @__PURE__ */ jsx(
3433
+ "div",
3434
+ {
3435
+ className: "crow-text-xs crow-mt-0.5",
3436
+ style: { color: styles.colors.text + "80" },
3437
+ children: formatConversationDate(conv.updated_at)
3438
+ }
3439
+ )
3352
3440
  ]
3353
3441
  },
3354
3442
  conv.id
@@ -3365,14 +3453,26 @@ function WorkflowPanel({ workflow, onExit }) {
3365
3453
  animate: { opacity: 1, y: 0 },
3366
3454
  exit: { opacity: 0, y: -10 },
3367
3455
  transition: { duration: 0.3 },
3368
- className: "crow-mb-3 crow-p-3 crow-rounded-xl crow-bg-gray-50 crow-border crow-border-gray-200",
3456
+ className: "crow-mb-3 crow-p-3 crow-rounded-xl crow-border",
3457
+ style: {
3458
+ background: "var(--crow-bg-hover, rgba(0,0,0,0.04))",
3459
+ borderColor: "var(--crow-border, #e5e7eb)"
3460
+ },
3369
3461
  children: /* @__PURE__ */ jsxs("div", { className: "crow-flex crow-items-center crow-justify-between", children: [
3370
- /* @__PURE__ */ jsx("span", { className: "crow-text-sm crow-font-medium crow-text-gray-900 crow-flex crow-items-center crow-gap-1", children: workflow.name }),
3462
+ /* @__PURE__ */ jsx(
3463
+ "span",
3464
+ {
3465
+ className: "crow-text-sm crow-font-medium crow-flex crow-items-center crow-gap-1",
3466
+ style: { color: "var(--crow-text, #111827)" },
3467
+ children: workflow.name
3468
+ }
3469
+ ),
3371
3470
  /* @__PURE__ */ jsx(
3372
3471
  "button",
3373
3472
  {
3374
3473
  onClick: onExit,
3375
- className: "crow-text-xs crow-text-gray-500 hover:crow-text-gray-700 crow-underline",
3474
+ className: "crow-text-xs crow-underline",
3475
+ style: { color: "var(--crow-text-muted, #6b7280)" },
3376
3476
  children: "Exit"
3377
3477
  }
3378
3478
  )
@@ -3381,12 +3481,14 @@ function WorkflowPanel({ workflow, onExit }) {
3381
3481
  );
3382
3482
  }
3383
3483
  function PoweredByBadge({ apiUrl = "" }) {
3384
- const styles = useWidgetStyles2();
3484
+ const styles = useActiveStyles();
3385
3485
  const branding = styles.branding;
3386
3486
  if (!branding.showPoweredBy) return null;
3387
- const logoUrl = branding.logoUrl?.startsWith("http") ? branding.logoUrl : `${apiUrl}${branding.logoUrl}`;
3388
- return /* @__PURE__ */ jsxs("div", { className: "crow-flex crow-items-center crow-justify-center crow-gap-1.5 crow-mb-3 crow-text-xs crow-text-gray-400", children: [
3389
- branding.showLogo && logoUrl && /* @__PURE__ */ jsx(
3487
+ const showLogo = "showLogo" in branding ? branding.showLogo : false;
3488
+ const rawLogoUrl = "logoUrl" in branding ? branding.logoUrl : void 0;
3489
+ const logoUrl = rawLogoUrl?.startsWith("http") ? rawLogoUrl : rawLogoUrl ? `${apiUrl}${rawLogoUrl}` : void 0;
3490
+ return /* @__PURE__ */ jsxs("div", { className: "crow-flex crow-items-center crow-justify-center crow-gap-1.5 crow-mb-3 crow-text-xs", style: { color: "var(--crow-text-muted, #9ca3af)" }, children: [
3491
+ showLogo && logoUrl && /* @__PURE__ */ jsx(
3390
3492
  "img",
3391
3493
  {
3392
3494
  src: logoUrl,
@@ -3433,10 +3535,10 @@ var ModelSelector = ({
3433
3535
  disabled,
3434
3536
  className: cn(
3435
3537
  "crow-flex crow-items-center crow-gap-1 crow-px-2 crow-py-1 crow-rounded-md crow-text-xs",
3436
- "crow-bg-transparent crow-text-gray-400",
3437
- "hover:crow-text-gray-700 crow-transition-colors",
3538
+ "crow-bg-transparent crow-transition-colors",
3438
3539
  disabled ? "crow-opacity-50 crow-cursor-not-allowed" : "crow-cursor-pointer"
3439
3540
  ),
3541
+ style: { color: "var(--crow-text-muted, #9ca3af)" },
3440
3542
  children: [
3441
3543
  /* @__PURE__ */ jsx("span", { children: selectedModelData?.name || "Select Model" }),
3442
3544
  /* @__PURE__ */ jsx(
@@ -3451,28 +3553,48 @@ var ModelSelector = ({
3451
3553
  ]
3452
3554
  }
3453
3555
  ),
3454
- isOpen && /* @__PURE__ */ jsx("div", { className: "crow-absolute crow-bottom-full crow-mb-2 crow-left-0 crow-min-w-[180px] crow-bg-white crow-border crow-border-gray-200 crow-rounded-xl crow-shadow-lg crow-z-50 crow-overflow-hidden", children: Object.entries(groupedModels).map(([provider, providerModels]) => /* @__PURE__ */ jsxs("div", { children: [
3455
- /* @__PURE__ */ jsx("div", { className: "crow-px-3 crow-py-1.5 crow-text-xs crow-font-medium crow-text-gray-400 crow-uppercase crow-tracking-wide crow-bg-gray-50", children: provider }),
3456
- providerModels.map((model) => /* @__PURE__ */ jsxs(
3457
- "button",
3458
- {
3459
- onClick: () => {
3460
- onModelChange(model.id);
3461
- setIsOpen(false);
3462
- },
3463
- className: cn(
3464
- "crow-w-full crow-flex crow-items-center crow-justify-between crow-px-3 crow-py-1.5 crow-text-sm",
3465
- "hover:crow-bg-gray-100 crow-transition-colors",
3466
- model.id === selectedModel ? "crow-text-gray-900" : "crow-text-gray-600"
3556
+ isOpen && /* @__PURE__ */ jsx(
3557
+ "div",
3558
+ {
3559
+ className: "crow-absolute crow-bottom-full crow-mb-2 crow-left-0 crow-min-w-[180px] crow-rounded-xl crow-shadow-lg crow-z-50 crow-overflow-hidden crow-border",
3560
+ style: { background: "var(--crow-bg, #ffffff)", borderColor: "var(--crow-border, #e5e7eb)" },
3561
+ children: Object.entries(groupedModels).map(([provider, providerModels]) => /* @__PURE__ */ jsxs("div", { children: [
3562
+ /* @__PURE__ */ jsx(
3563
+ "div",
3564
+ {
3565
+ className: "crow-px-3 crow-py-1.5 crow-text-xs crow-font-medium crow-uppercase crow-tracking-wide",
3566
+ style: {
3567
+ color: "var(--crow-text-muted, #9ca3af)",
3568
+ background: "var(--crow-bg-hover, rgba(0,0,0,0.04))"
3569
+ },
3570
+ children: provider
3571
+ }
3467
3572
  ),
3468
- children: [
3469
- /* @__PURE__ */ jsx("span", { children: model.name }),
3470
- model.id === selectedModel && /* @__PURE__ */ jsx(Check, { className: "crow-w-4 crow-h-4 crow-text-green-500" })
3471
- ]
3472
- },
3473
- model.id
3474
- ))
3475
- ] }, provider)) })
3573
+ providerModels.map((model) => /* @__PURE__ */ jsxs(
3574
+ "button",
3575
+ {
3576
+ onClick: () => {
3577
+ onModelChange(model.id);
3578
+ setIsOpen(false);
3579
+ },
3580
+ className: "crow-w-full crow-flex crow-items-center crow-justify-between crow-px-3 crow-py-1.5 crow-text-sm crow-transition-colors",
3581
+ style: { color: model.id === selectedModel ? "var(--crow-text, #111827)" : "var(--crow-text-muted, #4b5563)" },
3582
+ onMouseEnter: (e) => {
3583
+ e.currentTarget.style.background = "var(--crow-bg-hover, rgba(0,0,0,0.04))";
3584
+ },
3585
+ onMouseLeave: (e) => {
3586
+ e.currentTarget.style.background = "transparent";
3587
+ },
3588
+ children: [
3589
+ /* @__PURE__ */ jsx("span", { children: model.name }),
3590
+ model.id === selectedModel && /* @__PURE__ */ jsx(Check, { className: "crow-w-4 crow-h-4 crow-text-green-500" })
3591
+ ]
3592
+ },
3593
+ model.id
3594
+ ))
3595
+ ] }, provider))
3596
+ }
3597
+ )
3476
3598
  ] });
3477
3599
  };
3478
3600
  var isMediaRecorderSupported = () => {
@@ -3673,9 +3795,12 @@ var Textarea = React3.forwardRef(
3673
3795
  "textarea",
3674
3796
  {
3675
3797
  className: cn(
3676
- "crow-flex crow-w-full crow-rounded-md crow-border-none crow-bg-transparent crow-px-3 crow-py-1.5 crow-text-base crow-text-gray-900 placeholder:crow-text-gray-500 focus-visible:crow-outline-none focus-visible:crow-ring-0 disabled:crow-cursor-not-allowed disabled:crow-opacity-50 crow-min-h-[32px] crow-resize-none",
3798
+ "crow-flex crow-w-full crow-rounded-md crow-border-none crow-bg-transparent crow-px-3 crow-py-1.5 crow-text-base focus-visible:crow-outline-none focus-visible:crow-ring-0 disabled:crow-cursor-not-allowed disabled:crow-opacity-50 crow-min-h-[32px] crow-resize-none",
3677
3799
  className
3678
3800
  ),
3801
+ style: {
3802
+ color: "inherit"
3803
+ },
3679
3804
  ref,
3680
3805
  rows: 1,
3681
3806
  ...props
@@ -3692,9 +3817,10 @@ var TooltipContent = React3.forwardRef(({ className, sideOffset = 4, ...props },
3692
3817
  ref,
3693
3818
  sideOffset,
3694
3819
  className: cn(
3695
- "crow-z-50 crow-overflow-hidden crow-rounded-md crow-border crow-border-gray-300 crow-bg-white crow-text-gray-900 crow-px-3 crow-py-1.5 crow-text-sm crow-shadow-md",
3820
+ "crow-z-50 crow-overflow-hidden crow-rounded-md crow-border crow-px-3 crow-py-1.5 crow-text-sm crow-shadow-md",
3696
3821
  className
3697
3822
  ),
3823
+ style: { background: "var(--crow-bg, #ffffff)", borderColor: "var(--crow-border, #d1d5db)", color: "var(--crow-text, #111827)" },
3698
3824
  ...props
3699
3825
  }
3700
3826
  ));
@@ -3702,9 +3828,9 @@ TooltipContent.displayName = "TooltipContent";
3702
3828
  var Button = React3.forwardRef(
3703
3829
  ({ className, variant = "default", size = "default", ...props }, ref) => {
3704
3830
  const variantClasses = {
3705
- default: "crow-bg-black hover:crow-bg-gray-800 crow-text-white",
3706
- outline: "crow-border crow-bg-transparent hover:crow-bg-gray-100",
3707
- ghost: "crow-bg-transparent hover:crow-bg-gray-100"
3831
+ default: "crow-text-white",
3832
+ outline: "crow-border crow-bg-transparent",
3833
+ ghost: "crow-bg-transparent"
3708
3834
  };
3709
3835
  const sizeClasses = {
3710
3836
  default: "crow-h-10 crow-px-4 crow-py-2",
@@ -3777,11 +3903,16 @@ var PromptInput = React3.forwardRef(
3777
3903
  {
3778
3904
  ref,
3779
3905
  className: cn(
3780
- "crow-rounded-3xl crow-border crow-border-gray-300 crow-bg-white crow-p-1.5 crow-shadow-lg crow-transition-all crow-duration-300",
3906
+ "crow-rounded-3xl crow-border crow-p-1.5 crow-shadow-lg crow-transition-all crow-duration-300",
3781
3907
  isLoading && "crow-border-red-500",
3782
3908
  className
3783
3909
  ),
3784
- style,
3910
+ style: {
3911
+ background: "var(--crow-bg, #ffffff)",
3912
+ color: "var(--crow-text, #111827)",
3913
+ borderColor: isLoading ? void 0 : "var(--crow-border, #d1d5db)",
3914
+ ...style
3915
+ },
3785
3916
  children
3786
3917
  }
3787
3918
  )
@@ -3864,6 +3995,7 @@ var PromptInputBox = React3.forwardRef(
3864
3995
  backendUrl = "",
3865
3996
  triggerVoiceRecording = 0
3866
3997
  }, ref) => {
3998
+ const themeStyles = useActiveStyles();
3867
3999
  const [input, setInput] = React3.useState("");
3868
4000
  const promptBoxRef = React3.useRef(null);
3869
4001
  const voice = useVoiceInput({ backendUrl, silenceTimeoutMs: 1500 });
@@ -3917,10 +4049,15 @@ var PromptInputBox = React3.forwardRef(
3917
4049
  highlighted && "crow-ring-4 crow-ring-offset-2 crow-animate-pulse crow-shadow-[0_0_20px_rgba(0,0,0,0.25)]",
3918
4050
  className
3919
4051
  ),
3920
- style: highlighted ? {
3921
- "--tw-ring-color": "var(--crow-user-bubble, #000)",
3922
- "--tw-ring-offset-color": "var(--crow-background, #fff)"
3923
- } : void 0,
4052
+ style: {
4053
+ background: themeStyles.colors.background,
4054
+ color: themeStyles.colors.text,
4055
+ borderColor: themeStyles.colors.border,
4056
+ ...highlighted ? {
4057
+ "--tw-ring-color": themeStyles.colors.userBubble,
4058
+ "--tw-ring-offset-color": themeStyles.colors.background
4059
+ } : {}
4060
+ },
3924
4061
  disabled: isLoading,
3925
4062
  ref: ref || promptBoxRef,
3926
4063
  children: [
@@ -3960,10 +4097,8 @@ var PromptInputBox = React3.forwardRef(
3960
4097
  /* @__PURE__ */ jsx(
3961
4098
  Mic,
3962
4099
  {
3963
- className: cn(
3964
- "crow-h-3.5 crow-w-3.5 crow-transition-colors",
3965
- voice.isRecording ? "crow-text-red-500" : "crow-text-gray-400"
3966
- )
4100
+ className: "crow-h-3.5 crow-w-3.5 crow-transition-colors",
4101
+ style: { color: voice.isRecording ? "#ef4444" : "var(--crow-text-muted, #9ca3af)" }
3967
4102
  }
3968
4103
  ),
3969
4104
  voice.isRecording && /* @__PURE__ */ jsx("span", { className: "crow-absolute crow-top-0 crow-right-0 crow-h-2 crow-w-2 crow-rounded-full crow-bg-red-500 crow-animate-pulse" })
@@ -3981,12 +4116,10 @@ var PromptInputBox = React3.forwardRef(
3981
4116
  {
3982
4117
  variant: "default",
3983
4118
  size: "icon",
3984
- className: cn(
3985
- "crow-h-7 crow-w-7 crow-rounded-full crow-transition-all crow-duration-200",
3986
- (isLoading || showStopButton) && "crow-bg-red-500 hover:crow-bg-red-500",
3987
- hasContent && !isLoading && !showStopButton && "crow-bg-black hover:crow-bg-gray-800",
3988
- !hasContent && !isLoading && !showStopButton && "crow-bg-transparent"
3989
- ),
4119
+ className: "crow-h-7 crow-w-7 crow-rounded-full crow-transition-all crow-duration-200",
4120
+ style: {
4121
+ background: isLoading || showStopButton ? "#ef4444" : hasContent ? "var(--crow-primary, #000000)" : "transparent"
4122
+ },
3990
4123
  onClick: () => {
3991
4124
  if ((isLoading || showStopButton) && onStop) {
3992
4125
  onStop();
@@ -4003,10 +4136,8 @@ var PromptInputBox = React3.forwardRef(
4003
4136
  ) : /* @__PURE__ */ jsx(
4004
4137
  ArrowUp,
4005
4138
  {
4006
- className: cn(
4007
- "crow-h-3.5 crow-w-3.5",
4008
- hasContent ? "crow-text-white" : "crow-text-gray-400"
4009
- )
4139
+ className: "crow-h-3.5 crow-w-3.5",
4140
+ style: { color: hasContent ? "white" : "var(--crow-text-muted, #9ca3af)" }
4010
4141
  }
4011
4142
  )
4012
4143
  }
@@ -4026,7 +4157,7 @@ function BrowserUseConfirmation({
4026
4157
  onAllow,
4027
4158
  onDeny
4028
4159
  }) {
4029
- const styles = useWidgetStyles2();
4160
+ const styles = useActiveStyles();
4030
4161
  return /* @__PURE__ */ jsx(
4031
4162
  "div",
4032
4163
  {
@@ -4108,7 +4239,7 @@ function BrowserUseQuestion({
4108
4239
  question,
4109
4240
  onSubmit
4110
4241
  }) {
4111
- const styles = useWidgetStyles2();
4242
+ const styles = useActiveStyles();
4112
4243
  const [answer, setAnswer] = useState("");
4113
4244
  const [isSubmitting, setIsSubmitting] = useState(false);
4114
4245
  const handleSubmit = useCallback(() => {
@@ -4195,15 +4326,15 @@ function SuggestedActions({
4195
4326
  actions,
4196
4327
  onActionClick
4197
4328
  }) {
4198
- const styles = useWidgetStyles2();
4329
+ const styles = useActiveStyles();
4199
4330
  return /* @__PURE__ */ jsx("div", { className: "crow-flex crow-flex-wrap crow-gap-2 crow-px-1 crow-pb-2", children: actions.map((action, idx) => /* @__PURE__ */ jsx(
4200
4331
  "button",
4201
4332
  {
4202
4333
  onClick: () => onActionClick(action),
4203
4334
  className: "crow-rounded-full crow-border crow-px-3 crow-py-1.5 crow-text-sm crow-font-medium crow-transition-colors hover:crow-opacity-80 crow-cursor-pointer",
4204
4335
  style: {
4205
- borderColor: styles.colors.primary,
4206
- color: styles.colors.primary,
4336
+ borderColor: styles.colors.border,
4337
+ color: styles.colors.text,
4207
4338
  background: "transparent"
4208
4339
  },
4209
4340
  children: action.label
@@ -4339,7 +4470,7 @@ function injectCopilotBodyStyles() {
4339
4470
  }
4340
4471
  var WIDGET_CSS = `*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
4341
4472
 
4342
- /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.crow-pointer-events-none{pointer-events:none}.crow-pointer-events-auto{pointer-events:auto}.crow-fixed{position:fixed}.crow-absolute{position:absolute}.crow-relative{position:relative}.crow-sticky{position:sticky}.crow-bottom-0{bottom:0}.crow-bottom-full{bottom:100%}.crow-left-0{left:0}.crow-right-0{right:0}.crow-top-0{top:0}.crow-z-10{z-index:10}.crow-z-50{z-index:50}.crow-z-\\[999999\\]{z-index:999999}.crow-m-0{margin:0}.crow-mx-3{margin-left:.75rem;margin-right:.75rem}.crow-my-1{margin-top:.25rem;margin-bottom:.25rem}.crow-my-1\\.5{margin-top:.375rem;margin-bottom:.375rem}.crow-my-2{margin-top:.5rem;margin-bottom:.5rem}.crow-mb-0{margin-bottom:0}.crow-mb-0\\.5{margin-bottom:.125rem}.crow-mb-1{margin-bottom:.25rem}.crow-mb-1\\.5{margin-bottom:.375rem}.crow-mb-2{margin-bottom:.5rem}.crow-mb-3{margin-bottom:.75rem}.crow-mb-4{margin-bottom:1rem}.crow-ml-0{margin-left:0}.crow-ml-0\\.5{margin-left:.125rem}.crow-ml-2{margin-left:.5rem}.crow-ml-4{margin-left:1rem}.crow-mt-0{margin-top:0}.crow-mt-0\\.5{margin-top:.125rem}.crow-mt-1{margin-top:.25rem}.crow-mt-1\\.5{margin-top:.375rem}.crow-mt-2{margin-top:.5rem}.crow-mt-auto{margin-top:auto}.crow-block{display:block}.crow-inline-block{display:inline-block}.crow-flex{display:flex}.crow-inline-flex{display:inline-flex}.crow-h-10{height:2.5rem}.crow-h-12{height:3rem}.crow-h-2{height:.5rem}.crow-h-3{height:.75rem}.crow-h-3\\.5{height:.875rem}.crow-h-4{height:1rem}.crow-h-5{height:1.25rem}.crow-h-7{height:1.75rem}.crow-h-8{height:2rem}.crow-h-full{height:100%}.crow-max-h-32{max-height:8rem}.crow-max-h-48{max-height:12rem}.crow-max-h-\\[200px\\]{max-height:200px}.crow-min-h-0{min-height:0}.crow-min-h-\\[32px\\]{min-height:32px}.crow-min-h-\\[40px\\]{min-height:40px}.crow-w-0{width:0}.crow-w-0\\.5{width:.125rem}.crow-w-2{width:.5rem}.crow-w-3{width:.75rem}.crow-w-3\\.5{width:.875rem}.crow-w-4{width:1rem}.crow-w-5{width:1.25rem}.crow-w-7{width:1.75rem}.crow-w-8{width:2rem}.crow-w-full{width:100%}.crow-min-w-0{min-width:0}.crow-min-w-\\[180px\\]{min-width:180px}.crow-max-w-\\[80\\%\\]{max-width:80%}.crow-max-w-\\[90\\%\\]{max-width:90%}.crow-max-w-full{max-width:100%}.crow-flex-1{flex:1 1 0%}.crow-flex-shrink-0,.crow-shrink-0{flex-shrink:0}.crow-border-collapse{border-collapse:collapse}.crow-rotate-180{--tw-rotate:180deg}.crow-rotate-180,.crow-scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.crow-scale-100{--tw-scale-x:1;--tw-scale-y:1}.crow-scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.crow-animate-fade-in{animation:crow-fadeIn .2s ease-out}.crow-animate-pulse{animation:crow-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.crow-animate-slide-up{animation:crow-slideUp .3s ease-out}@keyframes crow-spin{to{transform:rotate(1turn)}}.crow-animate-spin{animation:crow-spin 1s linear infinite}.crow-cursor-default{cursor:default}.crow-cursor-not-allowed{cursor:not-allowed}.crow-cursor-nw-resize{cursor:nw-resize}.crow-cursor-pointer{cursor:pointer}.crow-cursor-se-resize{cursor:se-resize}.crow-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.crow-resize-none{resize:none}.crow-list-decimal{list-style-type:decimal}.crow-list-disc{list-style-type:disc}.crow-flex-row{flex-direction:row}.crow-flex-col{flex-direction:column}.crow-flex-wrap{flex-wrap:wrap}.crow-items-start{align-items:flex-start}.crow-items-end{align-items:flex-end}.crow-items-center{align-items:center}.crow-items-stretch{align-items:stretch}.crow-justify-start{justify-content:flex-start}.crow-justify-end{justify-content:flex-end}.crow-justify-center{justify-content:center}.crow-justify-between{justify-content:space-between}.crow-gap-1{gap:.25rem}.crow-gap-1\\.5{gap:.375rem}.crow-gap-2{gap:.5rem}.crow-gap-3{gap:.75rem}.crow-gap-4{gap:1rem}.crow-gap-6{gap:1.5rem}.crow-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.crow-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.crow-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.crow-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.crow-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.crow-overflow-auto{overflow:auto}.crow-overflow-hidden{overflow:hidden}.crow-overflow-visible{overflow:visible}.crow-overflow-x-auto{overflow-x:auto}.crow-overflow-y-auto{overflow-y:auto}.crow-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crow-whitespace-pre-wrap{white-space:pre-wrap}.crow-break-words{overflow-wrap:break-word}.crow-rounded{border-radius:.25rem}.crow-rounded-2xl{border-radius:1rem}.crow-rounded-3xl{border-radius:1.5rem}.crow-rounded-full{border-radius:9999px}.crow-rounded-lg{border-radius:.5rem}.crow-rounded-md{border-radius:.375rem}.crow-rounded-xl{border-radius:.75rem}.crow-border{border-width:1px}.crow-border-b{border-bottom-width:1px}.crow-border-l{border-left-width:1px}.crow-border-l-2{border-left-width:2px}.crow-border-r{border-right-width:1px}.crow-border-t{border-top-width:1px}.crow-border-none{border-style:none}.crow-border-\\[var\\(--crow-border\\,\\#e5e7eb\\)\\]{border-color:var(--crow-border,#e5e7eb)}.crow-border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.crow-border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.crow-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.crow-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.crow-border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.crow-border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.crow-border-gray-700\\/50{border-color:rgba(55,65,81,.5)}.crow-border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.crow-bg-\\[var\\(--crow-bg-secondary\\,\\#f3f4f6\\)\\]{background-color:var(--crow-bg-secondary,#f3f4f6)}.crow-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.crow-bg-black\\/5{background-color:rgba(0,0,0,.05)}.crow-bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.crow-bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.crow-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.crow-bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.crow-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.crow-bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.crow-bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.crow-bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.crow-bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.crow-bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.crow-bg-transparent{background-color:transparent}.crow-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.crow-p-0{padding:0}.crow-p-0\\.5{padding:.125rem}.crow-p-1{padding:.25rem}.crow-p-1\\.5{padding:.375rem}.crow-p-2{padding:.5rem}.crow-p-3{padding:.75rem}.crow-p-4{padding:1rem}.crow-p-6{padding:1.5rem}.crow-px-1{padding-left:.25rem;padding-right:.25rem}.crow-px-1\\.5{padding-left:.375rem;padding-right:.375rem}.crow-px-2{padding-left:.5rem;padding-right:.5rem}.crow-px-3{padding-left:.75rem;padding-right:.75rem}.crow-px-4{padding-left:1rem;padding-right:1rem}.crow-px-6{padding-left:1.5rem;padding-right:1.5rem}.crow-py-0{padding-top:0;padding-bottom:0}.crow-py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.crow-py-1{padding-top:.25rem;padding-bottom:.25rem}.crow-py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.crow-py-2{padding-top:.5rem;padding-bottom:.5rem}.crow-py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.crow-py-3{padding-top:.75rem;padding-bottom:.75rem}.crow-py-6{padding-top:1.5rem;padding-bottom:1.5rem}.crow-py-8{padding-top:2rem;padding-bottom:2rem}.crow-pb-1{padding-bottom:.25rem}.crow-pb-2{padding-bottom:.5rem}.crow-pl-1{padding-left:.25rem}.crow-pl-3{padding-left:.75rem}.crow-pl-4{padding-left:1rem}.crow-pl-5{padding-left:1.25rem}.crow-pr-1{padding-right:.25rem}.crow-pr-4{padding-right:1rem}.crow-pt-1{padding-top:.25rem}.crow-pt-3{padding-top:.75rem}.crow-text-left{text-align:left}.crow-text-center{text-align:center}.crow-text-right{text-align:right}.crow-align-text-bottom{vertical-align:text-bottom}.crow-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.crow-text-\\[13px\\]{font-size:13px}.crow-text-base{font-size:1rem;line-height:1.5rem}.crow-text-lg{font-size:1.125rem;line-height:1.75rem}.crow-text-sm{font-size:.875rem;line-height:1.25rem}.crow-text-xs{font-size:.75rem;line-height:1rem}.crow-font-bold{font-weight:700}.crow-font-medium{font-weight:500}.crow-font-semibold{font-weight:600}.crow-uppercase{text-transform:uppercase}.crow-italic{font-style:italic}.crow-leading-relaxed{line-height:1.625}.crow-leading-tight{line-height:1.25}.crow-tracking-wide{letter-spacing:.025em}.crow-tracking-wider{letter-spacing:.05em}.crow-text-\\[var\\(--crow-primary\\,\\#7c3aed\\)\\]{color:var(--crow-primary,#7c3aed)}.crow-text-\\[var\\(--crow-text\\,\\#111827\\)\\]{color:var(--crow-text,#111827)}.crow-text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.crow-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.crow-text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.crow-text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.crow-text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.crow-text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.crow-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.crow-text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.crow-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.crow-text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.crow-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.crow-text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.crow-text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.crow-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.crow-underline{text-decoration-line:underline}.crow-opacity-0{opacity:0}.crow-opacity-100{opacity:1}.crow-opacity-25{opacity:.25}.crow-opacity-40{opacity:.4}.crow-opacity-50{opacity:.5}.crow-opacity-60{opacity:.6}.crow-opacity-75{opacity:.75}.crow-shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.crow-shadow-2xl,.crow-shadow-\\[0_0_20px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.crow-shadow-\\[0_0_20px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\]{--tw-shadow:0 0 20px rgba(0,0,0,.25);--tw-shadow-colored:0 0 20px var(--tw-shadow-color)}.crow-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.crow-shadow-lg,.crow-shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.crow-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.crow-outline-none{outline:2px solid transparent;outline-offset:2px}.crow-ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.crow-ring-offset-2{--tw-ring-offset-width:2px}.crow-backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.crow-backdrop-blur-md,.crow-backdrop-blur-sm{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)}.crow-backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.crow-transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-duration-150{transition-duration:.15s}.crow-duration-200{transition-duration:.2s}.crow-duration-300{transition-duration:.3s}.crow-duration-500{transition-duration:.5s}.crow-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.crow-animate-fade-in{animation:crow-fadeIn .2s ease-out}.crow-animate-slide-up{animation:crow-slideUp .3s ease-out}.crow-animate-pulse{animation:crow-pulse 1.5s ease-in-out infinite}.crow-animation-delay-100{animation-delay:.1s}.crow-animation-delay-200{animation-delay:.2s}@keyframes crow-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes crow-slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes crow-pulse{0%,to{opacity:1}50%{opacity:.4}}.crow-overflow-y-auto::-webkit-scrollbar{width:6px}.crow-overflow-y-auto::-webkit-scrollbar-track{background:transparent}.crow-overflow-y-auto::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:3px}.crow-overflow-y-auto::-webkit-scrollbar-thumb:hover{background-color:#9ca3af}.crow-focus-visible\\:crow-outline-none:focus-visible{outline:none}.crow-focus-visible\\:crow-ring-2:focus-visible{box-shadow:0 0 0 2px var(--crow-primary,#6366f1)}:host{--crow-primary:#6366f1;--crow-primary-dark:#4f46e5;--crow-secondary:#f1f5f9;--crow-accent:#10b981}@media (prefers-color-scheme:dark){:host{--crow-primary:#818cf8;--crow-primary-dark:#6366f1}}.crow-copilot-toggle{position:fixed;top:50%;transform:translateY(-50%);z-index:999998;width:24px;height:64px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.crow-copilot-toggle:hover{background:#f9fafb;box-shadow:0 4px 12px rgba(0,0,0,.15)}.crow-copilot-toggle-right{right:0;border-radius:8px 0 0 8px;border-right:none}.crow-copilot-toggle-left{left:0;border-radius:0 8px 8px 0;border-left:none}.crow-copilot-toggle.open.crow-copilot-toggle-right{right:var(--crow-copilot-width,400px)}.crow-copilot-toggle.open.crow-copilot-toggle-left{left:var(--crow-copilot-width,400px)}.crow-copilot-toggle svg{width:16px;height:16px;color:#6b7280;transition:transform .2s ease}.crow-copilot-toggle:hover svg{color:#374151}.crow-copilot-sidebar{position:fixed;top:0;bottom:0;z-index:999997;background:#fff;box-shadow:-4px 0 20px rgba(0,0,0,.1);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.crow-copilot-sidebar-right{right:0;border-left:1px solid #e5e7eb}.crow-copilot-sidebar-left{left:0;border-right:1px solid #e5e7eb}.crow-copilot-sidebar.closed.crow-copilot-sidebar-right{transform:translateX(100%)}.crow-copilot-sidebar.closed.crow-copilot-sidebar-left{transform:translateX(-100%)}body.crow-copilot-open-right{margin-right:var(--crow-copilot-width,400px)!important;transition:margin .3s cubic-bezier(.4,0,.2,1)}body.crow-copilot-open-left{margin-left:var(--crow-copilot-width,400px)!important}body,body.crow-copilot-open-left{transition:margin .3s cubic-bezier(.4,0,.2,1)}.placeholder\\:crow-text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\\:crow-text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.last\\:crow-mb-0:last-child{margin-bottom:0}.last\\:crow-border-0:last-child{border-width:0}.hover\\:crow-scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:crow-bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\\:crow-bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\\:crow-bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\\:crow-text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.hover\\:crow-text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\\:crow-text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\\:crow-text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\\:crow-opacity-100:hover{opacity:1}.hover\\:crow-opacity-80:hover{opacity:.8}.hover\\:crow-opacity-90:hover{opacity:.9}.focus\\:crow-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:crow-ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:crow-ring-0:focus,.focus\\:crow-ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:crow-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:crow-ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\\:crow-outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:crow-ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.disabled\\:crow-pointer-events-none:disabled{pointer-events:none}.disabled\\:crow-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:crow-opacity-50:disabled{opacity:.5}`;
4473
+ /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.crow-pointer-events-none{pointer-events:none}.crow-pointer-events-auto{pointer-events:auto}.crow-fixed{position:fixed}.crow-absolute{position:absolute}.crow-relative{position:relative}.crow-sticky{position:sticky}.crow-bottom-0{bottom:0}.crow-bottom-full{bottom:100%}.crow-left-0{left:0}.crow-right-0{right:0}.crow-top-0{top:0}.crow-z-10{z-index:10}.crow-z-50{z-index:50}.crow-z-\\[999999\\]{z-index:999999}.crow-m-0{margin:0}.crow-mx-3{margin-left:.75rem;margin-right:.75rem}.crow-my-1{margin-top:.25rem;margin-bottom:.25rem}.crow-my-1\\.5{margin-top:.375rem;margin-bottom:.375rem}.crow-my-2{margin-top:.5rem;margin-bottom:.5rem}.crow-mb-0{margin-bottom:0}.crow-mb-0\\.5{margin-bottom:.125rem}.crow-mb-1{margin-bottom:.25rem}.crow-mb-1\\.5{margin-bottom:.375rem}.crow-mb-2{margin-bottom:.5rem}.crow-mb-3{margin-bottom:.75rem}.crow-mb-4{margin-bottom:1rem}.crow-ml-0{margin-left:0}.crow-ml-0\\.5{margin-left:.125rem}.crow-ml-2{margin-left:.5rem}.crow-ml-4{margin-left:1rem}.crow-mt-0{margin-top:0}.crow-mt-0\\.5{margin-top:.125rem}.crow-mt-1{margin-top:.25rem}.crow-mt-1\\.5{margin-top:.375rem}.crow-mt-2{margin-top:.5rem}.crow-mt-auto{margin-top:auto}.crow-block{display:block}.crow-inline-block{display:inline-block}.crow-flex{display:flex}.crow-inline-flex{display:inline-flex}.crow-h-10{height:2.5rem}.crow-h-12{height:3rem}.crow-h-2{height:.5rem}.crow-h-3{height:.75rem}.crow-h-3\\.5{height:.875rem}.crow-h-4{height:1rem}.crow-h-5{height:1.25rem}.crow-h-7{height:1.75rem}.crow-h-8{height:2rem}.crow-h-full{height:100%}.crow-max-h-32{max-height:8rem}.crow-max-h-48{max-height:12rem}.crow-max-h-\\[200px\\]{max-height:200px}.crow-min-h-0{min-height:0}.crow-min-h-\\[32px\\]{min-height:32px}.crow-min-h-\\[40px\\]{min-height:40px}.crow-w-0{width:0}.crow-w-0\\.5{width:.125rem}.crow-w-2{width:.5rem}.crow-w-3{width:.75rem}.crow-w-3\\.5{width:.875rem}.crow-w-4{width:1rem}.crow-w-5{width:1.25rem}.crow-w-7{width:1.75rem}.crow-w-8{width:2rem}.crow-w-full{width:100%}.crow-min-w-0{min-width:0}.crow-min-w-\\[180px\\]{min-width:180px}.crow-max-w-\\[80\\%\\]{max-width:80%}.crow-max-w-\\[90\\%\\]{max-width:90%}.crow-max-w-full{max-width:100%}.crow-flex-1{flex:1 1 0%}.crow-flex-shrink-0,.crow-shrink-0{flex-shrink:0}.crow-border-collapse{border-collapse:collapse}.crow-rotate-180{--tw-rotate:180deg}.crow-rotate-180,.crow-scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.crow-scale-100{--tw-scale-x:1;--tw-scale-y:1}.crow-scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.crow-animate-fade-in{animation:crow-fadeIn .2s ease-out}.crow-animate-pulse{animation:crow-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.crow-animate-slide-up{animation:crow-slideUp .3s ease-out}@keyframes crow-spin{to{transform:rotate(1turn)}}.crow-animate-spin{animation:crow-spin 1s linear infinite}.crow-cursor-default{cursor:default}.crow-cursor-not-allowed{cursor:not-allowed}.crow-cursor-pointer{cursor:pointer}.crow-cursor-se-resize{cursor:se-resize}.crow-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.crow-resize-none{resize:none}.crow-list-decimal{list-style-type:decimal}.crow-list-disc{list-style-type:disc}.crow-flex-row{flex-direction:row}.crow-flex-col{flex-direction:column}.crow-flex-wrap{flex-wrap:wrap}.crow-items-start{align-items:flex-start}.crow-items-end{align-items:flex-end}.crow-items-center{align-items:center}.crow-items-stretch{align-items:stretch}.crow-justify-start{justify-content:flex-start}.crow-justify-end{justify-content:flex-end}.crow-justify-center{justify-content:center}.crow-justify-between{justify-content:space-between}.crow-gap-1{gap:.25rem}.crow-gap-1\\.5{gap:.375rem}.crow-gap-2{gap:.5rem}.crow-gap-3{gap:.75rem}.crow-gap-4{gap:1rem}.crow-gap-6{gap:1.5rem}.crow-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.crow-space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.crow-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.crow-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.crow-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.crow-overflow-auto{overflow:auto}.crow-overflow-hidden{overflow:hidden}.crow-overflow-visible{overflow:visible}.crow-overflow-x-auto{overflow-x:auto}.crow-overflow-y-auto{overflow-y:auto}.crow-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crow-whitespace-pre-wrap{white-space:pre-wrap}.crow-break-words{overflow-wrap:break-word}.crow-rounded{border-radius:.25rem}.crow-rounded-2xl{border-radius:1rem}.crow-rounded-3xl{border-radius:1.5rem}.crow-rounded-full{border-radius:9999px}.crow-rounded-lg{border-radius:.5rem}.crow-rounded-md{border-radius:.375rem}.crow-rounded-xl{border-radius:.75rem}.crow-border{border-width:1px}.crow-border-b{border-bottom-width:1px}.crow-border-l{border-left-width:1px}.crow-border-l-2{border-left-width:2px}.crow-border-r{border-right-width:1px}.crow-border-t{border-top-width:1px}.crow-border-none{border-style:none}.crow-border-\\[var\\(--crow-border\\,\\#e5e7eb\\)\\]{border-color:var(--crow-border,#e5e7eb)}.crow-border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.crow-border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.crow-border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.crow-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.crow-border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.crow-border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.crow-border-gray-700\\/50{border-color:rgba(55,65,81,.5)}.crow-border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.crow-bg-\\[var\\(--crow-bg-secondary\\,\\#f3f4f6\\)\\]{background-color:var(--crow-bg-secondary,#f3f4f6)}.crow-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.crow-bg-black\\/5{background-color:rgba(0,0,0,.05)}.crow-bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.crow-bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.crow-bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.crow-bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.crow-bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.crow-bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.crow-bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.crow-bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.crow-bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.crow-bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.crow-bg-transparent{background-color:transparent}.crow-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.crow-p-0{padding:0}.crow-p-0\\.5{padding:.125rem}.crow-p-1{padding:.25rem}.crow-p-1\\.5{padding:.375rem}.crow-p-2{padding:.5rem}.crow-p-3{padding:.75rem}.crow-p-4{padding:1rem}.crow-p-6{padding:1.5rem}.crow-px-1{padding-left:.25rem;padding-right:.25rem}.crow-px-1\\.5{padding-left:.375rem;padding-right:.375rem}.crow-px-2{padding-left:.5rem;padding-right:.5rem}.crow-px-3{padding-left:.75rem;padding-right:.75rem}.crow-px-4{padding-left:1rem;padding-right:1rem}.crow-px-6{padding-left:1.5rem;padding-right:1.5rem}.crow-py-0{padding-top:0;padding-bottom:0}.crow-py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.crow-py-1{padding-top:.25rem;padding-bottom:.25rem}.crow-py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.crow-py-2{padding-top:.5rem;padding-bottom:.5rem}.crow-py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.crow-py-3{padding-top:.75rem;padding-bottom:.75rem}.crow-py-6{padding-top:1.5rem;padding-bottom:1.5rem}.crow-py-8{padding-top:2rem;padding-bottom:2rem}.crow-pb-1{padding-bottom:.25rem}.crow-pb-2{padding-bottom:.5rem}.crow-pl-3{padding-left:.75rem}.crow-pl-4{padding-left:1rem}.crow-pl-5{padding-left:1.25rem}.crow-pr-1{padding-right:.25rem}.crow-pr-4{padding-right:1rem}.crow-pt-1{padding-top:.25rem}.crow-pt-3{padding-top:.75rem}.crow-text-left{text-align:left}.crow-text-center{text-align:center}.crow-text-right{text-align:right}.crow-align-text-bottom{vertical-align:text-bottom}.crow-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.crow-text-\\[13px\\]{font-size:13px}.crow-text-base{font-size:1rem;line-height:1.5rem}.crow-text-lg{font-size:1.125rem;line-height:1.75rem}.crow-text-sm{font-size:.875rem;line-height:1.25rem}.crow-text-xs{font-size:.75rem;line-height:1rem}.crow-font-bold{font-weight:700}.crow-font-medium{font-weight:500}.crow-font-semibold{font-weight:600}.crow-uppercase{text-transform:uppercase}.crow-italic{font-style:italic}.crow-leading-relaxed{line-height:1.625}.crow-leading-tight{line-height:1.25}.crow-tracking-wide{letter-spacing:.025em}.crow-tracking-wider{letter-spacing:.05em}.crow-text-\\[var\\(--crow-primary\\,\\#7c3aed\\)\\]{color:var(--crow-primary,#7c3aed)}.crow-text-\\[var\\(--crow-text\\,\\#111827\\)\\]{color:var(--crow-text,#111827)}.crow-text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.crow-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.crow-text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.crow-text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.crow-text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.crow-text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.crow-text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.crow-text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.crow-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.crow-text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.crow-text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.crow-text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.crow-text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.crow-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.crow-underline{text-decoration-line:underline}.crow-opacity-0{opacity:0}.crow-opacity-100{opacity:1}.crow-opacity-25{opacity:.25}.crow-opacity-40{opacity:.4}.crow-opacity-50{opacity:.5}.crow-opacity-60{opacity:.6}.crow-opacity-75{opacity:.75}.crow-shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.crow-shadow-2xl,.crow-shadow-\\[0_0_20px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.crow-shadow-\\[0_0_20px_rgba\\(0\\,0\\,0\\,0\\.25\\)\\]{--tw-shadow:0 0 20px rgba(0,0,0,.25);--tw-shadow-colored:0 0 20px var(--tw-shadow-color)}.crow-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.crow-shadow-lg,.crow-shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.crow-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.crow-outline-none{outline:2px solid transparent;outline-offset:2px}.crow-ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.crow-ring-offset-2{--tw-ring-offset-width:2px}.crow-backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.crow-backdrop-blur-md,.crow-backdrop-blur-sm{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)}.crow-backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.crow-transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.crow-duration-150{transition-duration:.15s}.crow-duration-200{transition-duration:.2s}.crow-duration-300{transition-duration:.3s}.crow-duration-500{transition-duration:.5s}.crow-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.crow-animate-fade-in{animation:crow-fadeIn .2s ease-out}.crow-animate-slide-up{animation:crow-slideUp .3s ease-out}.crow-animate-pulse{animation:crow-pulse 1.5s ease-in-out infinite}.crow-animation-delay-100{animation-delay:.1s}.crow-animation-delay-200{animation-delay:.2s}@keyframes crow-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes crow-slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes crow-pulse{0%,to{opacity:1}50%{opacity:.4}}.crow-overflow-y-auto::-webkit-scrollbar{width:6px}.crow-overflow-y-auto::-webkit-scrollbar-track{background:transparent}.crow-overflow-y-auto::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:3px}.crow-overflow-y-auto::-webkit-scrollbar-thumb:hover{background-color:#9ca3af}.crow-focus-visible\\:crow-outline-none:focus-visible{outline:none}.crow-focus-visible\\:crow-ring-2:focus-visible{box-shadow:0 0 0 2px var(--crow-primary,#6366f1)}:host{--crow-primary:#6366f1;--crow-primary-dark:#4f46e5;--crow-secondary:#f1f5f9;--crow-accent:#10b981}@media (prefers-color-scheme:dark){:host{--crow-primary:#818cf8;--crow-primary-dark:#6366f1}}.crow-copilot-toggle{position:fixed;top:50%;transform:translateY(-50%);z-index:999998;width:24px;height:64px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.crow-copilot-toggle:hover{background:#f9fafb;box-shadow:0 4px 12px rgba(0,0,0,.15)}.crow-copilot-toggle-right{right:0;border-radius:8px 0 0 8px;border-right:none}.crow-copilot-toggle-left{left:0;border-radius:0 8px 8px 0;border-left:none}.crow-copilot-toggle.open.crow-copilot-toggle-right{right:var(--crow-copilot-width,400px)}.crow-copilot-toggle.open.crow-copilot-toggle-left{left:var(--crow-copilot-width,400px)}.crow-copilot-toggle svg{width:16px;height:16px;color:#6b7280;transition:transform .2s ease}.crow-copilot-toggle:hover svg{color:#374151}.crow-copilot-sidebar{position:fixed;top:0;bottom:0;z-index:999997;background:#fff;box-shadow:-4px 0 20px rgba(0,0,0,.1);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.crow-copilot-sidebar-right{right:0;border-left:1px solid #e5e7eb}.crow-copilot-sidebar-left{left:0;border-right:1px solid #e5e7eb}.crow-copilot-sidebar.closed.crow-copilot-sidebar-right{transform:translateX(100%)}.crow-copilot-sidebar.closed.crow-copilot-sidebar-left{transform:translateX(-100%)}body.crow-copilot-open-right{margin-right:var(--crow-copilot-width,400px)!important;transition:margin .3s cubic-bezier(.4,0,.2,1)}body.crow-copilot-open-left{margin-left:var(--crow-copilot-width,400px)!important}body,body.crow-copilot-open-left{transition:margin .3s cubic-bezier(.4,0,.2,1)}.placeholder\\:crow-text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\\:crow-text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.last\\:crow-mb-0:last-child{margin-bottom:0}.last\\:crow-border-0:last-child{border-width:0}.hover\\:crow-scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:crow-bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\\:crow-bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.hover\\:crow-bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\\:crow-bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.hover\\:crow-text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.hover\\:crow-text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\\:crow-text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\\:crow-text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\\:crow-opacity-100:hover{opacity:1}.hover\\:crow-opacity-80:hover{opacity:.8}.hover\\:crow-opacity-90:hover{opacity:.9}.focus\\:crow-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:crow-ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:crow-ring-0:focus,.focus\\:crow-ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:crow-ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:crow-ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\\:crow-outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:crow-ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.disabled\\:crow-pointer-events-none:disabled{pointer-events:none}.disabled\\:crow-cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:crow-opacity-50:disabled{opacity:.5}`;
4343
4474
  var injected = false;
4344
4475
  function injectStyles(target = document) {
4345
4476
  if (target === document && injected) return;
@@ -6062,7 +6193,20 @@ function CrowCopilot({
6062
6193
  lineHeight: styles.typography.lineHeight,
6063
6194
  letterSpacing: styles.typography.letterSpacing,
6064
6195
  background: styles.colors.background,
6065
- borderColor: styles.colors.border
6196
+ borderColor: styles.colors.border,
6197
+ // CSS variables for dark mode / theme propagation
6198
+ "--crow-primary": styles.colors.primary,
6199
+ "--crow-bg": styles.colors.background,
6200
+ "--crow-text": styles.colors.text,
6201
+ "--crow-border": styles.colors.border,
6202
+ "--crow-bot-bubble": styles.colors.botBubble,
6203
+ "--crow-bot-text": styles.colors.botText,
6204
+ "--crow-user-bubble": styles.colors.userBubble,
6205
+ "--crow-user-text": styles.colors.userText,
6206
+ "--crow-messages-bg": styles.colors.messagesBackground,
6207
+ "--crow-text-muted": styles.colors.text + "80",
6208
+ "--crow-bg-hover": styles.colors.text + "10",
6209
+ "--crow-bg-active": styles.colors.text + "18"
6066
6210
  },
6067
6211
  children: [
6068
6212
  /* @__PURE__ */ jsxs(
@@ -6088,8 +6232,10 @@ function CrowCopilot({
6088
6232
  return /* @__PURE__ */ jsxs(
6089
6233
  "div",
6090
6234
  {
6091
- className: `crow-relative crow-flex-shrink-0 crow-flex crow-items-center crow-text-[13px] crow-leading-tight crow-py-2.5 crow-transition-colors crow-select-none crow-cursor-pointer ${isActive ? "crow-text-gray-900 crow-font-medium" : "crow-text-gray-500 hover:crow-text-gray-700 hover:crow-bg-gray-50"}`,
6235
+ className: "crow-relative crow-flex-shrink-0 crow-flex crow-items-center crow-text-[13px] crow-leading-tight crow-py-2.5 crow-transition-colors crow-select-none crow-cursor-pointer",
6092
6236
  style: {
6237
+ color: isActive ? styles.colors.text : styles.colors.text + "80",
6238
+ fontWeight: isActive ? 500 : void 0,
6093
6239
  maxWidth: "180px",
6094
6240
  borderRight: idx < tabs.length - 1 ? `1px solid ${styles.colors.border}` : "none",
6095
6241
  paddingLeft: "16px",
@@ -6121,7 +6267,7 @@ function CrowCopilot({
6121
6267
  isCloseable && /* @__PURE__ */ jsx(
6122
6268
  "span",
6123
6269
  {
6124
- className: "crow-rounded crow-p-0.5 crow-flex-shrink-0 crow-inline-flex crow-items-center crow-justify-center crow-transition-opacity hover:crow-bg-gray-200",
6270
+ className: "crow-rounded crow-p-0.5 crow-flex-shrink-0 crow-inline-flex crow-items-center crow-justify-center crow-transition-opacity",
6125
6271
  style: {
6126
6272
  marginLeft: "6px",
6127
6273
  opacity: isHovered ? 1 : 0,
@@ -6133,7 +6279,7 @@ function CrowCopilot({
6133
6279
  },
6134
6280
  role: "button",
6135
6281
  "aria-label": `Close ${tab.name}`,
6136
- children: /* @__PURE__ */ jsx(TabCloseIcon, { className: "crow-w-3 crow-h-3 crow-text-gray-400 hover:crow-text-gray-600" })
6282
+ children: /* @__PURE__ */ jsx(TabCloseIcon, { className: "crow-w-3 crow-h-3", style: { color: styles.colors.text + "80" } })
6137
6283
  }
6138
6284
  ),
6139
6285
  isActive && /* @__PURE__ */ jsx(
@@ -6163,10 +6309,17 @@ function CrowCopilot({
6163
6309
  "button",
6164
6310
  {
6165
6311
  onClick: handleNewChat,
6166
- className: "crow-p-2 hover:crow-bg-gray-100 crow-transition-colors",
6312
+ className: "crow-p-2 crow-transition-colors crow-rounded",
6313
+ style: { color: styles.colors.text + "80" },
6314
+ onMouseEnter: (e) => {
6315
+ e.currentTarget.style.background = styles.colors.text + "10";
6316
+ },
6317
+ onMouseLeave: (e) => {
6318
+ e.currentTarget.style.background = "transparent";
6319
+ },
6167
6320
  "aria-label": "New Chat",
6168
6321
  title: "New Chat",
6169
- children: /* @__PURE__ */ jsx(PlusIcon, { className: "crow-w-4 crow-h-4 crow-text-gray-500" })
6322
+ children: /* @__PURE__ */ jsx(PlusIcon, { className: "crow-w-4 crow-h-4" })
6170
6323
  }
6171
6324
  ),
6172
6325
  /* @__PURE__ */ jsx(
@@ -6175,29 +6328,53 @@ function CrowCopilot({
6175
6328
  onClick: handleToggleHistory,
6176
6329
  disabled: !isVerifiedUser,
6177
6330
  "aria-disabled": !isVerifiedUser,
6178
- className: `crow-p-2 crow-transition-colors ${showConversationList ? "crow-bg-gray-100" : "hover:crow-bg-gray-100"} ${!isVerifiedUser ? "crow-opacity-40 crow-cursor-not-allowed" : ""}`,
6331
+ className: `crow-p-2 crow-transition-colors crow-rounded ${!isVerifiedUser ? "crow-opacity-40 crow-cursor-not-allowed" : ""}`,
6332
+ style: {
6333
+ color: styles.colors.text + "80",
6334
+ background: showConversationList ? styles.colors.text + "10" : "transparent"
6335
+ },
6336
+ onMouseEnter: (e) => {
6337
+ if (isVerifiedUser) e.currentTarget.style.background = styles.colors.text + "10";
6338
+ },
6339
+ onMouseLeave: (e) => {
6340
+ if (!showConversationList) e.currentTarget.style.background = "transparent";
6341
+ },
6179
6342
  "aria-label": "Conversation History",
6180
6343
  title: isVerifiedUser ? "Conversation History" : "Sign in to view history",
6181
- children: /* @__PURE__ */ jsx(HistoryIcon, { className: "crow-w-4 crow-h-4 crow-text-gray-500" })
6344
+ children: /* @__PURE__ */ jsx(HistoryIcon, { className: "crow-w-4 crow-h-4" })
6182
6345
  }
6183
6346
  ),
6184
6347
  canScrollRight && /* @__PURE__ */ jsx(
6185
6348
  "button",
6186
6349
  {
6187
6350
  onClick: handleScrollRight,
6188
- className: "crow-p-2 hover:crow-bg-gray-100 crow-transition-colors",
6351
+ className: "crow-p-2 crow-transition-colors crow-rounded",
6352
+ style: { color: styles.colors.text + "80" },
6353
+ onMouseEnter: (e) => {
6354
+ e.currentTarget.style.background = styles.colors.text + "10";
6355
+ },
6356
+ onMouseLeave: (e) => {
6357
+ e.currentTarget.style.background = "transparent";
6358
+ },
6189
6359
  "aria-label": "Scroll tabs",
6190
6360
  title: "Scroll tabs",
6191
- children: /* @__PURE__ */ jsx(ChevronRightIcon, { className: "crow-w-4 crow-h-4 crow-text-gray-500" })
6361
+ children: /* @__PURE__ */ jsx(ChevronRightIcon, { className: "crow-w-4 crow-h-4" })
6192
6362
  }
6193
6363
  ),
6194
6364
  (forceShowClose ?? showClose) && (overrideOnClose ?? onClose) && /* @__PURE__ */ jsx(
6195
6365
  "button",
6196
6366
  {
6197
6367
  onClick: overrideOnClose ?? onClose,
6198
- className: "crow-p-2 hover:crow-bg-gray-100 crow-transition-colors",
6368
+ className: "crow-p-2 crow-transition-colors crow-rounded",
6369
+ style: { color: styles.colors.text + "80" },
6370
+ onMouseEnter: (e) => {
6371
+ e.currentTarget.style.background = styles.colors.text + "10";
6372
+ },
6373
+ onMouseLeave: (e) => {
6374
+ e.currentTarget.style.background = "transparent";
6375
+ },
6199
6376
  "aria-label": "Close",
6200
- children: /* @__PURE__ */ jsx(CloseIcon, { className: "crow-w-4 crow-h-4 crow-text-gray-500" })
6377
+ children: /* @__PURE__ */ jsx(CloseIcon, { className: "crow-w-4 crow-h-4" })
6201
6378
  }
6202
6379
  )
6203
6380
  ]
@@ -6211,7 +6388,7 @@ function CrowCopilot({
6211
6388
  {
6212
6389
  className: "crow-flex crow-items-center crow-gap-1.5 crow-px-3 crow-py-1.5 crow-border-b crow-text-xs",
6213
6390
  style: {
6214
- color: "#6b7280",
6391
+ color: styles.colors.text + "80",
6215
6392
  borderColor: styles.colors.border
6216
6393
  },
6217
6394
  children: [
@@ -6248,7 +6425,14 @@ function CrowCopilot({
6248
6425
  onClose: handleCloseConversationList
6249
6426
  }
6250
6427
  ),
6251
- showConversationList && !isVerifiedUser && /* @__PURE__ */ jsx("div", { className: "crow-mb-3 crow-rounded-xl crow-bg-gray-50 crow-border crow-border-gray-200 crow-p-4", children: /* @__PURE__ */ jsx("div", { className: "crow-text-sm crow-text-gray-600", children: "Sign in to view conversation history." }) })
6428
+ showConversationList && !isVerifiedUser && /* @__PURE__ */ jsx(
6429
+ "div",
6430
+ {
6431
+ className: "crow-mb-3 crow-rounded-xl crow-border crow-p-4",
6432
+ style: { background: styles.colors.text + "08", borderColor: styles.colors.border },
6433
+ children: /* @__PURE__ */ jsx("div", { className: "crow-text-sm", style: { color: styles.colors.text + "99" }, children: "Sign in to view conversation history." })
6434
+ }
6435
+ )
6252
6436
  ] }),
6253
6437
  /* @__PURE__ */ jsx(AnimatePresence, { children: activeWorkflow && /* @__PURE__ */ jsx(
6254
6438
  WorkflowPanel,
@@ -6301,7 +6485,7 @@ function CrowCopilot({
6301
6485
  className: "crow-p-3 crow-border-t",
6302
6486
  style: { borderColor: styles.colors.border },
6303
6487
  children: [
6304
- toolStatus && /* @__PURE__ */ jsxs("div", { className: "crow-mb-1 crow-flex crow-items-center crow-gap-2 crow-rounded-lg crow-border crow-border-[var(--crow-border,#e5e7eb)] crow-bg-[var(--crow-bg-secondary,#f3f4f6)] crow-px-3 crow-py-2 crow-text-sm", children: [
6488
+ toolStatus && /* @__PURE__ */ jsxs("div", { className: "crow-mb-1 crow-flex crow-items-center crow-gap-2 crow-rounded-lg crow-border crow-px-3 crow-py-2 crow-text-sm", style: { borderColor: styles.colors.border, background: styles.colors.border + "30" }, children: [
6305
6489
  /* @__PURE__ */ jsxs("svg", { className: "crow-animate-spin crow-h-4 crow-w-4 crow-shrink-0 crow-text-[var(--crow-primary,#7c3aed)]", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: [
6306
6490
  /* @__PURE__ */ jsx("circle", { className: "crow-opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
6307
6491
  /* @__PURE__ */ jsx("path", { className: "crow-opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z" })
@@ -6350,7 +6534,8 @@ function CrowCopilot({
6350
6534
  }
6351
6535
  const isRight = position === "right";
6352
6536
  const edgeSide = isRight ? "left" : "right";
6353
- const toggleIcon = isCollapsed ? /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "#6b7280", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z" }) }) : /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "#6b7280", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: isRight ? /* @__PURE__ */ jsx("path", { d: "m9 18 6-6-6-6" }) : /* @__PURE__ */ jsx("path", { d: "m15 18-6-6 6-6" }) });
6537
+ const toggleIconColor = styles.colors.text + "80";
6538
+ const toggleIcon = isCollapsed ? /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: toggleIconColor, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z" }) }) : /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: toggleIconColor, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: isRight ? /* @__PURE__ */ jsx("path", { d: "m9 18 6-6-6-6" }) : /* @__PURE__ */ jsx("path", { d: "m15 18-6-6 6-6" }) });
6354
6539
  return /* @__PURE__ */ jsxs("div", { style: { position: "relative", flexShrink: 0, height: "100%" }, children: [
6355
6540
  /* @__PURE__ */ jsx(
6356
6541
  "button",
@@ -6369,8 +6554,8 @@ function CrowCopilot({
6369
6554
  display: "flex",
6370
6555
  alignItems: "center",
6371
6556
  justifyContent: "center",
6372
- background: "#fff",
6373
- border: "1px solid #e5e7eb",
6557
+ background: styles.colors.background,
6558
+ border: `1px solid ${styles.colors.border}`,
6374
6559
  [isRight ? "borderRight" : "borderLeft"]: "none",
6375
6560
  borderRadius: isRight ? "8px 0 0 8px" : "0 8px 8px 0",
6376
6561
  cursor: isCollapsed ? "pointer" : "col-resize",
@@ -6440,7 +6625,7 @@ function HistoryIcon({ className }) {
6440
6625
  }
6441
6626
  );
6442
6627
  }
6443
- function TabCloseIcon({ className }) {
6628
+ function TabCloseIcon({ className, style }) {
6444
6629
  return /* @__PURE__ */ jsxs(
6445
6630
  "svg",
6446
6631
  {
@@ -6454,6 +6639,7 @@ function TabCloseIcon({ className }) {
6454
6639
  strokeLinecap: "round",
6455
6640
  strokeLinejoin: "round",
6456
6641
  className,
6642
+ style,
6457
6643
  children: [
6458
6644
  /* @__PURE__ */ jsx("path", { d: "M18 6 6 18" }),
6459
6645
  /* @__PURE__ */ jsx("path", { d: "m6 6 12 12" })