@skippr/live-agent-sdk 0.110.0 → 0.112.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -1
- package/dist/esm/lib-exports.js +440 -387
- package/dist/skippr-sdk.css +1 -1
- package/dist/skippr-sdk.js +141 -141
- package/dist/types/components/ConsentBubble.d.ts +2 -2
- package/dist/types/components/ConsentNotice.d.ts +2 -3
- package/dist/types/components/LiveAgent.d.ts +1 -0
- package/dist/types/components/VoiceBarFrame.d.ts +1 -1
- package/dist/types/context/LiveAgentContext.d.ts +2 -1
- package/dist/types/hooks/useAvailableModules.d.ts +2 -1
- package/dist/types/hooks/useVoiceBarDrag.d.ts +1 -1
- package/dist/types/lib/constants.d.ts +19 -0
- package/dist/types/lib/locale.d.ts +2 -0
- package/dist/types/lib/splashPresentation.d.ts +1 -0
- package/dist/types/lib/voiceBar.d.ts +6 -1
- package/package.json +1 -1
package/dist/esm/lib-exports.js
CHANGED
|
@@ -387,63 +387,6 @@ function isEditableTarget() {
|
|
|
387
387
|
return tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT" || el.isContentEditable;
|
|
388
388
|
}
|
|
389
389
|
|
|
390
|
-
// src/components/ConsentNotice.tsx
|
|
391
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
392
|
-
function ConsentNotice({ className, leadIn, determiner = "Skippr's" }) {
|
|
393
|
-
return /* @__PURE__ */ jsxs("p", {
|
|
394
|
-
className: cn("skippr:text-[11px] skippr:leading-[1.2] skippr:text-muted-foreground skippr:text-center", className),
|
|
395
|
-
children: [
|
|
396
|
-
leadIn,
|
|
397
|
-
", you agree to ",
|
|
398
|
-
determiner,
|
|
399
|
-
" ",
|
|
400
|
-
/* @__PURE__ */ jsx("a", {
|
|
401
|
-
href: "https://www.skippr.ai/terms",
|
|
402
|
-
target: "_blank",
|
|
403
|
-
rel: "noopener noreferrer",
|
|
404
|
-
className: "skippr:underline skippr:underline-offset-[2px] skippr:decoration-muted-foreground/40 skippr:hover:text-foreground skippr:hover:decoration-muted-foreground",
|
|
405
|
-
children: "Terms"
|
|
406
|
-
}),
|
|
407
|
-
" ",
|
|
408
|
-
"&",
|
|
409
|
-
" ",
|
|
410
|
-
/* @__PURE__ */ jsx("a", {
|
|
411
|
-
href: "https://www.skippr.ai/privacy",
|
|
412
|
-
target: "_blank",
|
|
413
|
-
rel: "noopener noreferrer",
|
|
414
|
-
className: "skippr:underline skippr:underline-offset-[2px] skippr:decoration-muted-foreground/40 skippr:hover:text-foreground skippr:hover:decoration-muted-foreground",
|
|
415
|
-
children: "Privacy"
|
|
416
|
-
})
|
|
417
|
-
]
|
|
418
|
-
});
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
// src/components/ConsentBubble.tsx
|
|
422
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
423
|
-
function ConsentBubble({
|
|
424
|
-
className,
|
|
425
|
-
style,
|
|
426
|
-
leadIn,
|
|
427
|
-
onPointerEnter,
|
|
428
|
-
onPointerLeave
|
|
429
|
-
}) {
|
|
430
|
-
return /* @__PURE__ */ jsx2("div", {
|
|
431
|
-
className: cn("skippr:pointer-events-auto skippr:w-[240px] skippr:rounded-2xl skippr:bg-white skippr:px-2.5 skippr:py-1.5 skippr:shadow-[0_6px_16px_rgba(45,45,63,0.14)]", className),
|
|
432
|
-
style,
|
|
433
|
-
onPointerEnter,
|
|
434
|
-
onPointerLeave,
|
|
435
|
-
children: /* @__PURE__ */ jsx2(ConsentNotice, {
|
|
436
|
-
leadIn
|
|
437
|
-
})
|
|
438
|
-
});
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
// src/components/VoiceBarLoginCard.tsx
|
|
442
|
-
import { useContext as useContext2 } from "react";
|
|
443
|
-
|
|
444
|
-
// src/context/LiveAgentContext.tsx
|
|
445
|
-
import { createContext as createContext2 } from "react";
|
|
446
|
-
|
|
447
390
|
// src/lib/constants.ts
|
|
448
391
|
var BUDDY_SHAPE = {
|
|
449
392
|
Bolt: "bolt",
|
|
@@ -542,6 +485,11 @@ var SPLASH_SURFACE = {
|
|
|
542
485
|
Host: "host"
|
|
543
486
|
};
|
|
544
487
|
var SKIPPR_OPEN_EVENT = "skippr:open";
|
|
488
|
+
var CONSENT_TERMS_PLACEHOLDER = "{terms}";
|
|
489
|
+
var CONSENT_PRIVACY_PLACEHOLDER = "{privacy}";
|
|
490
|
+
var CONSENT_NOTICE_SESSION_START = `By starting a session, you agree to Skippr's ${CONSENT_TERMS_PLACEHOLDER} & ${CONSENT_PRIVACY_PLACEHOLDER}`;
|
|
491
|
+
var CONSENT_NOTICE_CONTINUING = `By continuing, you agree to the ${CONSENT_TERMS_PLACEHOLDER} & ${CONSENT_PRIVACY_PLACEHOLDER}`;
|
|
492
|
+
var CONSENT_NOTICE_AGENT_SESSION_START = `By starting the AI agent session, you agree to Skippr's ${CONSENT_TERMS_PLACEHOLDER} & ${CONSENT_PRIVACY_PLACEHOLDER}`;
|
|
545
493
|
var SPLASH_COPY_DEFAULTS = {
|
|
546
494
|
howItWorksHeading: "How it works",
|
|
547
495
|
lastAccomplishmentHeading: "Last accomplishment",
|
|
@@ -558,7 +506,21 @@ var SPLASH_COPY_DEFAULTS = {
|
|
|
558
506
|
tipsHeading: "Tips",
|
|
559
507
|
tipsCta: "Need help with something else?",
|
|
560
508
|
tipsEmptyTitle: "Ask about this page",
|
|
561
|
-
tipsEmptyDescription: "Get instant answers about anything you see here"
|
|
509
|
+
tipsEmptyDescription: "Get instant answers about anything you see here",
|
|
510
|
+
attributionPrefix: "AI Agent Powered by",
|
|
511
|
+
closeLabel: "Close",
|
|
512
|
+
mediaEnableAction: "Enable",
|
|
513
|
+
mediaEnabledStatus: "Enabled",
|
|
514
|
+
micMutedStatus: "Muted",
|
|
515
|
+
screenRequiredStatus: "Required",
|
|
516
|
+
muteMicAction: "Mute microphone",
|
|
517
|
+
consentNotice: CONSENT_NOTICE_SESSION_START,
|
|
518
|
+
sectionRouteTitle: "Guides you step by step",
|
|
519
|
+
sectionRouteDescription: "Walks you through each step, start to finish",
|
|
520
|
+
sectionMessagesTitle: "Talk or type",
|
|
521
|
+
sectionMessagesDescription: "Ask by voice or in chat",
|
|
522
|
+
sectionPointerTitle: "Ask it to click through for you",
|
|
523
|
+
sectionPointerDescription: "Controls the environment for you"
|
|
562
524
|
};
|
|
563
525
|
var SPLASH_SECTION_GLYPH = {
|
|
564
526
|
Route: "route",
|
|
@@ -568,20 +530,20 @@ var SPLASH_SECTION_GLYPH = {
|
|
|
568
530
|
var DEFAULT_SPLASH_SECTIONS = [
|
|
569
531
|
{
|
|
570
532
|
id: "9f2b1c4a-5d6e-4f70-8a91-b2c3d4e5f601",
|
|
571
|
-
title:
|
|
572
|
-
description:
|
|
533
|
+
title: SPLASH_COPY_DEFAULTS.sectionRouteTitle,
|
|
534
|
+
description: SPLASH_COPY_DEFAULTS.sectionRouteDescription,
|
|
573
535
|
glyph: SPLASH_SECTION_GLYPH.Route
|
|
574
536
|
},
|
|
575
537
|
{
|
|
576
538
|
id: "9f2b1c4a-5d6e-4f70-8a91-b2c3d4e5f602",
|
|
577
|
-
title:
|
|
578
|
-
description:
|
|
539
|
+
title: SPLASH_COPY_DEFAULTS.sectionMessagesTitle,
|
|
540
|
+
description: SPLASH_COPY_DEFAULTS.sectionMessagesDescription,
|
|
579
541
|
glyph: SPLASH_SECTION_GLYPH.Messages
|
|
580
542
|
},
|
|
581
543
|
{
|
|
582
544
|
id: "9f2b1c4a-5d6e-4f70-8a91-b2c3d4e5f603",
|
|
583
|
-
title:
|
|
584
|
-
description:
|
|
545
|
+
title: SPLASH_COPY_DEFAULTS.sectionPointerTitle,
|
|
546
|
+
description: SPLASH_COPY_DEFAULTS.sectionPointerDescription,
|
|
585
547
|
glyph: SPLASH_SECTION_GLYPH.Pointer
|
|
586
548
|
}
|
|
587
549
|
];
|
|
@@ -625,7 +587,68 @@ var PLAN_ATTR = "skippr.action-plan";
|
|
|
625
587
|
var LINK_CARD_ATTR = "skippr.link-card";
|
|
626
588
|
var NAME_MAX_CHARS = 80;
|
|
627
589
|
|
|
590
|
+
// src/components/ConsentNotice.tsx
|
|
591
|
+
import { jsx } from "react/jsx-runtime";
|
|
592
|
+
var CONSENT_LINK_BY_PLACEHOLDER = {
|
|
593
|
+
[CONSENT_TERMS_PLACEHOLDER]: { href: "https://www.skippr.ai/terms", label: "Terms" },
|
|
594
|
+
[CONSENT_PRIVACY_PLACEHOLDER]: { href: "https://www.skippr.ai/privacy", label: "Privacy" }
|
|
595
|
+
};
|
|
596
|
+
var CONSENT_LINK_CLASS = "skippr:underline skippr:underline-offset-[2px] skippr:decoration-muted-foreground/40 skippr:hover:text-foreground skippr:hover:decoration-muted-foreground";
|
|
597
|
+
function toConsentParts(template) {
|
|
598
|
+
const parts = [];
|
|
599
|
+
let rest = template;
|
|
600
|
+
while (rest.length > 0) {
|
|
601
|
+
const next = Object.keys(CONSENT_LINK_BY_PLACEHOLDER).map((placeholder) => ({ placeholder, at: rest.indexOf(placeholder) })).filter(({ at }) => at !== -1).sort((a, b) => a.at - b.at)[0];
|
|
602
|
+
if (!next) {
|
|
603
|
+
parts.push(rest);
|
|
604
|
+
break;
|
|
605
|
+
}
|
|
606
|
+
if (next.at > 0)
|
|
607
|
+
parts.push(rest.slice(0, next.at));
|
|
608
|
+
parts.push(CONSENT_LINK_BY_PLACEHOLDER[next.placeholder]);
|
|
609
|
+
rest = rest.slice(next.at + next.placeholder.length);
|
|
610
|
+
}
|
|
611
|
+
return parts;
|
|
612
|
+
}
|
|
613
|
+
function ConsentNotice({ className, template }) {
|
|
614
|
+
return /* @__PURE__ */ jsx("p", {
|
|
615
|
+
lang: "en",
|
|
616
|
+
className: cn("skippr:text-[11px] skippr:leading-[1.2] skippr:text-muted-foreground skippr:text-center", className),
|
|
617
|
+
children: toConsentParts(template).map((part) => typeof part === "string" ? part : /* @__PURE__ */ jsx("a", {
|
|
618
|
+
href: part.href,
|
|
619
|
+
target: "_blank",
|
|
620
|
+
rel: "noopener noreferrer",
|
|
621
|
+
className: CONSENT_LINK_CLASS,
|
|
622
|
+
children: part.label
|
|
623
|
+
}, part.href))
|
|
624
|
+
});
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
// src/components/ConsentBubble.tsx
|
|
628
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
629
|
+
function ConsentBubble({
|
|
630
|
+
className,
|
|
631
|
+
style,
|
|
632
|
+
template,
|
|
633
|
+
onPointerEnter,
|
|
634
|
+
onPointerLeave
|
|
635
|
+
}) {
|
|
636
|
+
return /* @__PURE__ */ jsx2("div", {
|
|
637
|
+
className: cn("skippr:pointer-events-auto skippr:w-[240px] skippr:rounded-2xl skippr:bg-white skippr:px-2.5 skippr:py-1.5 skippr:shadow-[0_6px_16px_rgba(45,45,63,0.14)]", className),
|
|
638
|
+
style,
|
|
639
|
+
onPointerEnter,
|
|
640
|
+
onPointerLeave,
|
|
641
|
+
children: /* @__PURE__ */ jsx2(ConsentNotice, {
|
|
642
|
+
template
|
|
643
|
+
})
|
|
644
|
+
});
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
// src/components/VoiceBarLoginCard.tsx
|
|
648
|
+
import { useContext as useContext2 } from "react";
|
|
649
|
+
|
|
628
650
|
// src/context/LiveAgentContext.tsx
|
|
651
|
+
import { createContext as createContext2 } from "react";
|
|
629
652
|
var LiveAgentContext = createContext2(null);
|
|
630
653
|
|
|
631
654
|
// src/components/LoginFlow.tsx
|
|
@@ -661,7 +684,7 @@ var Button = forwardRef3(({ className, variant = "default", size = "default", ..
|
|
|
661
684
|
Button.displayName = "Button";
|
|
662
685
|
|
|
663
686
|
// src/components/LoginFlow.tsx
|
|
664
|
-
import { jsx as jsx4, jsxs
|
|
687
|
+
import { jsx as jsx4, jsxs } from "react/jsx-runtime";
|
|
665
688
|
var OTP_LENGTH = 6;
|
|
666
689
|
var DIGIT_KEYS = ["d0", "d1", "d2", "d3", "d4", "d5"];
|
|
667
690
|
function LoginFlow({ requestOtp, verifyOtp, error, isSubmitting }) {
|
|
@@ -705,10 +728,10 @@ function EmailStep({ email, onEmailChange, onSubmit, error, isSubmitting }) {
|
|
|
705
728
|
if (email.trim())
|
|
706
729
|
onSubmit(email.trim());
|
|
707
730
|
}
|
|
708
|
-
return /* @__PURE__ */
|
|
731
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
709
732
|
className: "skippr:flex skippr:flex-1 skippr:flex-col skippr:px-4 skippr:py-4",
|
|
710
733
|
children: [
|
|
711
|
-
/* @__PURE__ */
|
|
734
|
+
/* @__PURE__ */ jsxs("div", {
|
|
712
735
|
className: "skippr:mb-4 skippr:text-center",
|
|
713
736
|
children: [
|
|
714
737
|
/* @__PURE__ */ jsx4(Mail, {
|
|
@@ -724,7 +747,7 @@ function EmailStep({ email, onEmailChange, onSubmit, error, isSubmitting }) {
|
|
|
724
747
|
})
|
|
725
748
|
]
|
|
726
749
|
}),
|
|
727
|
-
/* @__PURE__ */
|
|
750
|
+
/* @__PURE__ */ jsxs("form", {
|
|
728
751
|
onSubmit: handleSubmit,
|
|
729
752
|
className: "skippr:flex skippr:flex-col skippr:gap-3",
|
|
730
753
|
children: [
|
|
@@ -751,7 +774,7 @@ function EmailStep({ email, onEmailChange, onSubmit, error, isSubmitting }) {
|
|
|
751
774
|
className: "skippr:text-xs skippr:text-center skippr:text-destructive",
|
|
752
775
|
children: error
|
|
753
776
|
}),
|
|
754
|
-
/* @__PURE__ */
|
|
777
|
+
/* @__PURE__ */ jsxs("p", {
|
|
755
778
|
className: "skippr:text-[11px] skippr:leading-relaxed skippr:text-muted-foreground skippr:text-center",
|
|
756
779
|
children: [
|
|
757
780
|
"By continuing, you agree to the",
|
|
@@ -851,17 +874,17 @@ function OtpStep({ email, onSubmit, onResend, onBack, error, isSubmitting }) {
|
|
|
851
874
|
submittedRef.current = false;
|
|
852
875
|
inputRefs.current[0]?.focus();
|
|
853
876
|
}
|
|
854
|
-
return /* @__PURE__ */
|
|
877
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
855
878
|
className: "skippr:flex skippr:flex-1 skippr:flex-col skippr:px-4 skippr:py-4",
|
|
856
879
|
children: [
|
|
857
|
-
/* @__PURE__ */
|
|
880
|
+
/* @__PURE__ */ jsxs("div", {
|
|
858
881
|
className: "skippr:mb-4 skippr:text-center",
|
|
859
882
|
children: [
|
|
860
883
|
/* @__PURE__ */ jsx4("p", {
|
|
861
884
|
className: "skippr:text-sm skippr:font-medium skippr:text-foreground",
|
|
862
885
|
children: "Enter verification code"
|
|
863
886
|
}),
|
|
864
|
-
/* @__PURE__ */
|
|
887
|
+
/* @__PURE__ */ jsxs("p", {
|
|
865
888
|
className: "skippr:mt-1 skippr:text-xs skippr:text-muted-foreground",
|
|
866
889
|
children: [
|
|
867
890
|
"We sent a 6-digit code to",
|
|
@@ -874,7 +897,7 @@ function OtpStep({ email, onSubmit, onResend, onBack, error, isSubmitting }) {
|
|
|
874
897
|
})
|
|
875
898
|
]
|
|
876
899
|
}),
|
|
877
|
-
/* @__PURE__ */
|
|
900
|
+
/* @__PURE__ */ jsxs("form", {
|
|
878
901
|
onSubmit: handleSubmit,
|
|
879
902
|
className: "skippr:flex skippr:flex-col skippr:gap-3",
|
|
880
903
|
children: [
|
|
@@ -909,7 +932,7 @@ function OtpStep({ email, onSubmit, onResend, onBack, error, isSubmitting }) {
|
|
|
909
932
|
className: "skippr:size-4 skippr:animate-spin"
|
|
910
933
|
}) : "Verify"
|
|
911
934
|
}),
|
|
912
|
-
/* @__PURE__ */
|
|
935
|
+
/* @__PURE__ */ jsxs("div", {
|
|
913
936
|
className: "skippr:flex skippr:items-center skippr:justify-between skippr:text-xs",
|
|
914
937
|
children: [
|
|
915
938
|
/* @__PURE__ */ jsx4("button", {
|
|
@@ -935,17 +958,17 @@ function OtpStep({ email, onSubmit, onResend, onBack, error, isSubmitting }) {
|
|
|
935
958
|
}
|
|
936
959
|
|
|
937
960
|
// src/components/VoiceBarLoginCard.tsx
|
|
938
|
-
import { jsx as jsx5, jsxs as
|
|
961
|
+
import { jsx as jsx5, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
939
962
|
function VoiceBarLoginCard({ onDismiss }) {
|
|
940
963
|
const ctx = useContext2(LiveAgentContext);
|
|
941
964
|
if (!ctx) {
|
|
942
965
|
throw new Error("VoiceBarLoginCard must be used within a <LiveAgent> provider");
|
|
943
966
|
}
|
|
944
967
|
const { requestOtp, verifyOtp, authError, isAuthSubmitting } = ctx;
|
|
945
|
-
return /* @__PURE__ */
|
|
968
|
+
return /* @__PURE__ */ jsxs2("div", {
|
|
946
969
|
className: "skippr:w-[320px] skippr:rounded-[14px] skippr:border skippr:border-[rgba(45,45,63,0.08)] skippr:bg-white skippr:shadow-[0_10px_28px_rgba(45,45,63,0.16)] skippr:[animation:skippr-tip-in_360ms_cubic-bezier(0.34,1.3,0.64,1)]",
|
|
947
970
|
children: [
|
|
948
|
-
/* @__PURE__ */
|
|
971
|
+
/* @__PURE__ */ jsxs2("div", {
|
|
949
972
|
className: "skippr:flex skippr:items-center skippr:justify-between skippr:border-b skippr:border-[rgba(45,45,63,0.06)] skippr:px-[12px] skippr:py-[6px]",
|
|
950
973
|
children: [
|
|
951
974
|
/* @__PURE__ */ jsx5("span", {
|
|
@@ -1178,7 +1201,7 @@ function useVoiceTurn() {
|
|
|
1178
1201
|
}
|
|
1179
1202
|
|
|
1180
1203
|
// src/buddy/BuddyFace.tsx
|
|
1181
|
-
import { jsx as jsx6, jsxs as
|
|
1204
|
+
import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
1182
1205
|
function BuddyFace({
|
|
1183
1206
|
eyeDx,
|
|
1184
1207
|
eyeDy,
|
|
@@ -1187,7 +1210,7 @@ function BuddyFace({
|
|
|
1187
1210
|
lidsPath,
|
|
1188
1211
|
pupilOpacity
|
|
1189
1212
|
}) {
|
|
1190
|
-
return /* @__PURE__ */
|
|
1213
|
+
return /* @__PURE__ */ jsxs3("svg", {
|
|
1191
1214
|
width: "52",
|
|
1192
1215
|
height: "28",
|
|
1193
1216
|
viewBox: "0 0 52 28",
|
|
@@ -1200,7 +1223,7 @@ function BuddyFace({
|
|
|
1200
1223
|
transformOrigin: "center",
|
|
1201
1224
|
animation: "skippr-blink 4.6s ease-in-out infinite"
|
|
1202
1225
|
},
|
|
1203
|
-
children: /* @__PURE__ */
|
|
1226
|
+
children: /* @__PURE__ */ jsxs3("g", {
|
|
1204
1227
|
opacity: pupilOpacity,
|
|
1205
1228
|
children: [
|
|
1206
1229
|
/* @__PURE__ */ jsx6("ellipse", {
|
|
@@ -1221,7 +1244,7 @@ function BuddyFace({
|
|
|
1221
1244
|
stroke: "#2D2D3F",
|
|
1222
1245
|
strokeWidth: "2"
|
|
1223
1246
|
}),
|
|
1224
|
-
/* @__PURE__ */
|
|
1247
|
+
/* @__PURE__ */ jsxs3("g", {
|
|
1225
1248
|
transform: `translate(${eyeDx} ${eyeDy})`,
|
|
1226
1249
|
children: [
|
|
1227
1250
|
/* @__PURE__ */ jsx6("circle", {
|
|
@@ -1289,7 +1312,7 @@ function PeekBody() {
|
|
|
1289
1312
|
}
|
|
1290
1313
|
|
|
1291
1314
|
// src/buddy/shapes/colorful.tsx
|
|
1292
|
-
import { jsx as jsx8, jsxs as
|
|
1315
|
+
import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1293
1316
|
function BloomBody() {
|
|
1294
1317
|
return /* @__PURE__ */ jsx8("svg", {
|
|
1295
1318
|
width: BODY_SIZE.width,
|
|
@@ -1336,10 +1359,10 @@ function PopBody() {
|
|
|
1336
1359
|
viewBox: "0 0 96 92",
|
|
1337
1360
|
style: { display: "block", overflow: "visible" },
|
|
1338
1361
|
"aria-hidden": "true",
|
|
1339
|
-
children: /* @__PURE__ */
|
|
1362
|
+
children: /* @__PURE__ */ jsxs4("g", {
|
|
1340
1363
|
fill: "#7B52D3",
|
|
1341
1364
|
children: [
|
|
1342
|
-
/* @__PURE__ */
|
|
1365
|
+
/* @__PURE__ */ jsxs4("g", {
|
|
1343
1366
|
className: "skippr-avatar-bub-tail",
|
|
1344
1367
|
children: [
|
|
1345
1368
|
/* @__PURE__ */ jsx8("circle", {
|
|
@@ -1368,10 +1391,10 @@ function RoboBody() {
|
|
|
1368
1391
|
viewBox: "0 0 96 92",
|
|
1369
1392
|
style: { display: "block", overflow: "visible" },
|
|
1370
1393
|
"aria-hidden": "true",
|
|
1371
|
-
children: /* @__PURE__ */
|
|
1394
|
+
children: /* @__PURE__ */ jsxs4("g", {
|
|
1372
1395
|
fill: "#5FA8E8",
|
|
1373
1396
|
children: [
|
|
1374
|
-
/* @__PURE__ */
|
|
1397
|
+
/* @__PURE__ */ jsxs4("g", {
|
|
1375
1398
|
className: "skippr-avatar-antenna",
|
|
1376
1399
|
children: [
|
|
1377
1400
|
/* @__PURE__ */ jsx8("rect", {
|
|
@@ -1411,9 +1434,9 @@ function RoboBody() {
|
|
|
1411
1434
|
}
|
|
1412
1435
|
|
|
1413
1436
|
// src/buddy/shapes/glass.tsx
|
|
1414
|
-
import { jsx as jsx9, jsxs as
|
|
1437
|
+
import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1415
1438
|
function BoulderBody() {
|
|
1416
|
-
return /* @__PURE__ */
|
|
1439
|
+
return /* @__PURE__ */ jsxs5("svg", {
|
|
1417
1440
|
width: BODY_SIZE.width,
|
|
1418
1441
|
height: BODY_SIZE.height,
|
|
1419
1442
|
viewBox: "0 0 96 92",
|
|
@@ -1438,7 +1461,7 @@ function BoulderBody() {
|
|
|
1438
1461
|
});
|
|
1439
1462
|
}
|
|
1440
1463
|
function KiteBody() {
|
|
1441
|
-
return /* @__PURE__ */
|
|
1464
|
+
return /* @__PURE__ */ jsxs5("svg", {
|
|
1442
1465
|
width: BODY_SIZE.width,
|
|
1443
1466
|
height: BODY_SIZE.height,
|
|
1444
1467
|
viewBox: "0 0 96 92",
|
|
@@ -1464,7 +1487,7 @@ function KiteBody() {
|
|
|
1464
1487
|
});
|
|
1465
1488
|
}
|
|
1466
1489
|
function LoafBody() {
|
|
1467
|
-
return /* @__PURE__ */
|
|
1490
|
+
return /* @__PURE__ */ jsxs5("svg", {
|
|
1468
1491
|
width: BODY_SIZE.width,
|
|
1469
1492
|
height: BODY_SIZE.height,
|
|
1470
1493
|
viewBox: "0 0 96 92",
|
|
@@ -1489,7 +1512,7 @@ function LoafBody() {
|
|
|
1489
1512
|
});
|
|
1490
1513
|
}
|
|
1491
1514
|
function FacetBody() {
|
|
1492
|
-
return /* @__PURE__ */
|
|
1515
|
+
return /* @__PURE__ */ jsxs5("svg", {
|
|
1493
1516
|
width: BODY_SIZE.width,
|
|
1494
1517
|
height: BODY_SIZE.height,
|
|
1495
1518
|
viewBox: "0 0 96 92",
|
|
@@ -1513,7 +1536,7 @@ function FacetBody() {
|
|
|
1513
1536
|
});
|
|
1514
1537
|
}
|
|
1515
1538
|
function BellBody() {
|
|
1516
|
-
return /* @__PURE__ */
|
|
1539
|
+
return /* @__PURE__ */ jsxs5("svg", {
|
|
1517
1540
|
width: BODY_SIZE.width,
|
|
1518
1541
|
height: BODY_SIZE.height,
|
|
1519
1542
|
viewBox: "0 0 96 92",
|
|
@@ -1547,9 +1570,9 @@ function BellBody() {
|
|
|
1547
1570
|
}
|
|
1548
1571
|
|
|
1549
1572
|
// src/buddy/shapes/original.tsx
|
|
1550
|
-
import { jsx as jsx10, jsxs as
|
|
1573
|
+
import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1551
1574
|
function BoltBody() {
|
|
1552
|
-
return /* @__PURE__ */
|
|
1575
|
+
return /* @__PURE__ */ jsxs6("svg", {
|
|
1553
1576
|
width: BODY_SIZE.width,
|
|
1554
1577
|
height: BODY_SIZE.height,
|
|
1555
1578
|
viewBox: "0 0 96 92",
|
|
@@ -1611,7 +1634,7 @@ function BoltBody() {
|
|
|
1611
1634
|
});
|
|
1612
1635
|
}
|
|
1613
1636
|
function TermBody() {
|
|
1614
|
-
return /* @__PURE__ */
|
|
1637
|
+
return /* @__PURE__ */ jsxs6("svg", {
|
|
1615
1638
|
width: BODY_SIZE.width,
|
|
1616
1639
|
height: BODY_SIZE.height,
|
|
1617
1640
|
viewBox: "0 0 96 92",
|
|
@@ -1656,7 +1679,7 @@ function TermBody() {
|
|
|
1656
1679
|
});
|
|
1657
1680
|
}
|
|
1658
1681
|
function HexBody() {
|
|
1659
|
-
return /* @__PURE__ */
|
|
1682
|
+
return /* @__PURE__ */ jsxs6("svg", {
|
|
1660
1683
|
width: BODY_SIZE.width,
|
|
1661
1684
|
height: BODY_SIZE.height,
|
|
1662
1685
|
viewBox: "0 0 96 92",
|
|
@@ -1698,9 +1721,9 @@ function BubBody() {
|
|
|
1698
1721
|
}
|
|
1699
1722
|
|
|
1700
1723
|
// src/buddy/shapes/pixel.tsx
|
|
1701
|
-
import { jsx as jsx11, jsxs as
|
|
1724
|
+
import { jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1702
1725
|
function TotemBody() {
|
|
1703
|
-
return /* @__PURE__ */
|
|
1726
|
+
return /* @__PURE__ */ jsxs7("svg", {
|
|
1704
1727
|
width: BODY_SIZE.width,
|
|
1705
1728
|
height: BODY_SIZE.height,
|
|
1706
1729
|
viewBox: "0 0 96 92",
|
|
@@ -1754,7 +1777,7 @@ function TotemBody() {
|
|
|
1754
1777
|
});
|
|
1755
1778
|
}
|
|
1756
1779
|
function MelonBody() {
|
|
1757
|
-
return /* @__PURE__ */
|
|
1780
|
+
return /* @__PURE__ */ jsxs7("svg", {
|
|
1758
1781
|
width: BODY_SIZE.width,
|
|
1759
1782
|
height: BODY_SIZE.height,
|
|
1760
1783
|
viewBox: "0 0 96 92",
|
|
@@ -1815,7 +1838,7 @@ function MelonBody() {
|
|
|
1815
1838
|
});
|
|
1816
1839
|
}
|
|
1817
1840
|
function SunnyBody() {
|
|
1818
|
-
return /* @__PURE__ */
|
|
1841
|
+
return /* @__PURE__ */ jsxs7("svg", {
|
|
1819
1842
|
width: BODY_SIZE.width,
|
|
1820
1843
|
height: BODY_SIZE.height,
|
|
1821
1844
|
viewBox: "0 0 96 92",
|
|
@@ -1862,7 +1885,7 @@ function SunnyBody() {
|
|
|
1862
1885
|
});
|
|
1863
1886
|
}
|
|
1864
1887
|
function StormBody() {
|
|
1865
|
-
return /* @__PURE__ */
|
|
1888
|
+
return /* @__PURE__ */ jsxs7("svg", {
|
|
1866
1889
|
width: BODY_SIZE.width,
|
|
1867
1890
|
height: BODY_SIZE.height,
|
|
1868
1891
|
viewBox: "0 0 96 92",
|
|
@@ -1909,7 +1932,7 @@ function StormBody() {
|
|
|
1909
1932
|
});
|
|
1910
1933
|
}
|
|
1911
1934
|
function ReedBody() {
|
|
1912
|
-
return /* @__PURE__ */
|
|
1935
|
+
return /* @__PURE__ */ jsxs7("svg", {
|
|
1913
1936
|
width: BODY_SIZE.width,
|
|
1914
1937
|
height: BODY_SIZE.height,
|
|
1915
1938
|
viewBox: "0 0 96 92",
|
|
@@ -2003,7 +2026,7 @@ var SHAPE_FACE_OFFSET = {
|
|
|
2003
2026
|
};
|
|
2004
2027
|
|
|
2005
2028
|
// src/buddy/BuddyFamilyFace.tsx
|
|
2006
|
-
import { jsx as jsx12, jsxs as
|
|
2029
|
+
import { jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
2007
2030
|
var VIEWBOX_UNITS_PER_PX = 512 / BODY_SIZE.width;
|
|
2008
2031
|
var COLORFUL_FACE = {
|
|
2009
2032
|
rAlmond: "M240.7 287.4C262.7 265.4 262.7 229.6 240.7 207.6C235.7 202.6 230 198.7 224 196C203.2 186.6 178 190.5 160.9 207.6C138.9 229.6 138.9 265.4 160.9 287.4C179.7 306.2 208.5 308.9 230.2 295.6C233.9 293.4 237.5 290.6 240.7 287.4C240.7 287.4 240.7 287.4 240.7 287.4Z",
|
|
@@ -2041,7 +2064,7 @@ function ColorfulFace({
|
|
|
2041
2064
|
const eyeGroupProps = animated ? { className: "skippr-avatar-blink" } : { className: "skippr-buddy-blink" };
|
|
2042
2065
|
const pupilGroupProps = animated ? { className: "skippr-avatar-pupil" } : { transform: pupilShift };
|
|
2043
2066
|
if (asleep) {
|
|
2044
|
-
return /* @__PURE__ */
|
|
2067
|
+
return /* @__PURE__ */ jsxs8("svg", {
|
|
2045
2068
|
width: BODY_SIZE.width,
|
|
2046
2069
|
height: BODY_SIZE.width,
|
|
2047
2070
|
viewBox: "0 0 512 512",
|
|
@@ -2067,7 +2090,7 @@ function ColorfulFace({
|
|
|
2067
2090
|
]
|
|
2068
2091
|
});
|
|
2069
2092
|
}
|
|
2070
|
-
return /* @__PURE__ */
|
|
2093
|
+
return /* @__PURE__ */ jsxs8("svg", {
|
|
2071
2094
|
width: BODY_SIZE.width,
|
|
2072
2095
|
height: BODY_SIZE.width,
|
|
2073
2096
|
viewBox: "0 0 512 512",
|
|
@@ -2087,10 +2110,10 @@ function ColorfulFace({
|
|
|
2087
2110
|
d: COLORFUL_FACE.lAlmond
|
|
2088
2111
|
})
|
|
2089
2112
|
}),
|
|
2090
|
-
/* @__PURE__ */
|
|
2113
|
+
/* @__PURE__ */ jsxs8("g", {
|
|
2091
2114
|
className: animated ? "skippr-avatar-eyes" : undefined,
|
|
2092
2115
|
children: [
|
|
2093
|
-
/* @__PURE__ */
|
|
2116
|
+
/* @__PURE__ */ jsxs8("g", {
|
|
2094
2117
|
...eyeGroupProps,
|
|
2095
2118
|
children: [
|
|
2096
2119
|
/* @__PURE__ */ jsx12("path", {
|
|
@@ -2099,7 +2122,7 @@ function ColorfulFace({
|
|
|
2099
2122
|
}),
|
|
2100
2123
|
/* @__PURE__ */ jsx12("g", {
|
|
2101
2124
|
clipPath: `url(#${clipId}r)`,
|
|
2102
|
-
children: /* @__PURE__ */
|
|
2125
|
+
children: /* @__PURE__ */ jsxs8("g", {
|
|
2103
2126
|
...pupilGroupProps,
|
|
2104
2127
|
children: [
|
|
2105
2128
|
/* @__PURE__ */ jsx12("circle", {
|
|
@@ -2117,7 +2140,7 @@ function ColorfulFace({
|
|
|
2117
2140
|
})
|
|
2118
2141
|
]
|
|
2119
2142
|
}),
|
|
2120
|
-
/* @__PURE__ */
|
|
2143
|
+
/* @__PURE__ */ jsxs8("g", {
|
|
2121
2144
|
...eyeGroupProps,
|
|
2122
2145
|
children: [
|
|
2123
2146
|
/* @__PURE__ */ jsx12("path", {
|
|
@@ -2126,7 +2149,7 @@ function ColorfulFace({
|
|
|
2126
2149
|
}),
|
|
2127
2150
|
/* @__PURE__ */ jsx12("g", {
|
|
2128
2151
|
clipPath: `url(#${clipId}l)`,
|
|
2129
|
-
children: /* @__PURE__ */
|
|
2152
|
+
children: /* @__PURE__ */ jsxs8("g", {
|
|
2130
2153
|
...pupilGroupProps,
|
|
2131
2154
|
children: [
|
|
2132
2155
|
/* @__PURE__ */ jsx12("circle", {
|
|
@@ -2160,7 +2183,7 @@ function aimPupil(center, rest, eyeDx, eyeDy) {
|
|
|
2160
2183
|
}
|
|
2161
2184
|
function PixelFace({ eyeDx, eyeDy, asleep }) {
|
|
2162
2185
|
if (asleep) {
|
|
2163
|
-
return /* @__PURE__ */
|
|
2186
|
+
return /* @__PURE__ */ jsxs8("svg", {
|
|
2164
2187
|
width: BODY_SIZE.width,
|
|
2165
2188
|
height: BODY_SIZE.width,
|
|
2166
2189
|
viewBox: "0 0 512 512",
|
|
@@ -2189,7 +2212,7 @@ function PixelFace({ eyeDx, eyeDy, asleep }) {
|
|
|
2189
2212
|
const tracking = eyeDx !== 0 || eyeDy !== 0;
|
|
2190
2213
|
const right = tracking ? aimPupil(PIXEL_FACE.r, PIXEL_FACE.pupilRest.r, eyeDx, eyeDy) : PIXEL_FACE.pupilRest.r;
|
|
2191
2214
|
const left = tracking ? aimPupil(PIXEL_FACE.l, PIXEL_FACE.pupilRest.l, eyeDx, eyeDy) : PIXEL_FACE.pupilRest.l;
|
|
2192
|
-
return /* @__PURE__ */
|
|
2215
|
+
return /* @__PURE__ */ jsxs8("svg", {
|
|
2193
2216
|
width: BODY_SIZE.width,
|
|
2194
2217
|
height: BODY_SIZE.width,
|
|
2195
2218
|
viewBox: "0 0 512 512",
|
|
@@ -2197,7 +2220,7 @@ function PixelFace({ eyeDx, eyeDy, asleep }) {
|
|
|
2197
2220
|
"data-testid": "buddy-face-pixel",
|
|
2198
2221
|
"aria-hidden": "true",
|
|
2199
2222
|
children: [
|
|
2200
|
-
/* @__PURE__ */
|
|
2223
|
+
/* @__PURE__ */ jsxs8("g", {
|
|
2201
2224
|
className: "skippr-buddy-blink",
|
|
2202
2225
|
children: [
|
|
2203
2226
|
/* @__PURE__ */ jsx12("circle", {
|
|
@@ -2216,7 +2239,7 @@ function PixelFace({ eyeDx, eyeDy, asleep }) {
|
|
|
2216
2239
|
})
|
|
2217
2240
|
]
|
|
2218
2241
|
}),
|
|
2219
|
-
/* @__PURE__ */
|
|
2242
|
+
/* @__PURE__ */ jsxs8("g", {
|
|
2220
2243
|
className: "skippr-buddy-blink",
|
|
2221
2244
|
children: [
|
|
2222
2245
|
/* @__PURE__ */ jsx12("circle", {
|
|
@@ -2240,7 +2263,7 @@ function PixelFace({ eyeDx, eyeDy, asleep }) {
|
|
|
2240
2263
|
}
|
|
2241
2264
|
|
|
2242
2265
|
// src/buddy/BuddyCreature.tsx
|
|
2243
|
-
import { jsx as jsx13, jsxs as
|
|
2266
|
+
import { jsx as jsx13, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
2244
2267
|
var COLORFUL_SHAPES = new Set([
|
|
2245
2268
|
BUDDY_SHAPE.Bloom,
|
|
2246
2269
|
BUDDY_SHAPE.Wobble,
|
|
@@ -2302,7 +2325,7 @@ function BuddyCreature({ shape, mode, eyeDx, eyeDy, isTalking }) {
|
|
|
2302
2325
|
const offset = SHAPE_FACE_OFFSET[shape];
|
|
2303
2326
|
const asleep = mode === BUDDY_MODE.Sleep;
|
|
2304
2327
|
const colorfulAnimated = isColorful && mode !== BUDDY_MODE.Sleep && mode !== BUDDY_MODE.Happy;
|
|
2305
|
-
return /* @__PURE__ */
|
|
2328
|
+
return /* @__PURE__ */ jsxs9("span", {
|
|
2306
2329
|
"data-testid": `buddy-shape-${shape}`,
|
|
2307
2330
|
style: {
|
|
2308
2331
|
position: "relative",
|
|
@@ -2343,7 +2366,7 @@ function BuddyCreature({ shape, mode, eyeDx, eyeDy, isTalking }) {
|
|
|
2343
2366
|
pupilOpacity: face.pupilOpacity
|
|
2344
2367
|
})
|
|
2345
2368
|
}),
|
|
2346
|
-
mode === BUDDY_MODE.Sleep && /* @__PURE__ */
|
|
2369
|
+
mode === BUDDY_MODE.Sleep && /* @__PURE__ */ jsxs9("span", {
|
|
2347
2370
|
style: {
|
|
2348
2371
|
position: "absolute",
|
|
2349
2372
|
bottom: "calc(100% - 10px)",
|
|
@@ -2774,7 +2797,7 @@ function useBuddyIdleMode({
|
|
|
2774
2797
|
}
|
|
2775
2798
|
|
|
2776
2799
|
// src/buddy/BuddyVoiceBar.tsx
|
|
2777
|
-
import { jsx as jsx14, jsxs as
|
|
2800
|
+
import { jsx as jsx14, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
2778
2801
|
var WAKE_BUBBLE_MS = 2100;
|
|
2779
2802
|
var FOCUS_RING = {
|
|
2780
2803
|
outline: "2px solid var(--skippr-brand, #2bc0ae)",
|
|
@@ -2833,7 +2856,7 @@ var PEEK_CLASS = {
|
|
|
2833
2856
|
bottom: "skippr-peek-bottom"
|
|
2834
2857
|
};
|
|
2835
2858
|
function BuddyLoadingDots() {
|
|
2836
|
-
return /* @__PURE__ */
|
|
2859
|
+
return /* @__PURE__ */ jsxs10("span", {
|
|
2837
2860
|
className: "skippr:flex skippr:items-center skippr:gap-[3px]",
|
|
2838
2861
|
"aria-hidden": "true",
|
|
2839
2862
|
children: [
|
|
@@ -3034,7 +3057,7 @@ function BuddyVoiceBar({ revealed }) {
|
|
|
3034
3057
|
};
|
|
3035
3058
|
return /* @__PURE__ */ jsx14("div", {
|
|
3036
3059
|
style: isConnected ? activeWrapperStyle : { ...edgeWrapperStyle(edgeDrag.pos), touchAction: "none" },
|
|
3037
|
-
children: isConnected ? /* @__PURE__ */
|
|
3060
|
+
children: isConnected ? /* @__PURE__ */ jsxs10("div", {
|
|
3038
3061
|
ref: (node) => {
|
|
3039
3062
|
containerRef.current = node;
|
|
3040
3063
|
},
|
|
@@ -3077,13 +3100,13 @@ function BuddyVoiceBar({ revealed }) {
|
|
|
3077
3100
|
"aria-label": "Close buddy session",
|
|
3078
3101
|
title: "Close",
|
|
3079
3102
|
className: `skippr:absolute skippr:-right-1 skippr:-top-1 skippr:flex skippr:h-6 skippr:w-6 skippr:items-center skippr:justify-center skippr:rounded-full skippr:text-[#5c5850] ${isDisconnecting ? "skippr:cursor-default" : "skippr:cursor-pointer skippr:bg-white/80 skippr:shadow-[0_2px_6px_rgba(45,45,63,0.14)] skippr:hover:text-[#2D2D3F]"}`,
|
|
3080
|
-
children: /* @__PURE__ */
|
|
3103
|
+
children: /* @__PURE__ */ jsxs10("span", {
|
|
3081
3104
|
className: "skippr:relative skippr:flex skippr:size-5 skippr:items-center skippr:justify-center",
|
|
3082
3105
|
children: [
|
|
3083
3106
|
/* @__PURE__ */ jsx14(X, {
|
|
3084
3107
|
className: `skippr:size-3.5 skippr:transition-opacity skippr:duration-200 ${isDisconnecting ? "skippr:opacity-40" : ""}`
|
|
3085
3108
|
}),
|
|
3086
|
-
isDisconnecting && /* @__PURE__ */
|
|
3109
|
+
isDisconnecting && /* @__PURE__ */ jsxs10("svg", {
|
|
3087
3110
|
viewBox: "0 0 24 24",
|
|
3088
3111
|
fill: "none",
|
|
3089
3112
|
"aria-hidden": "true",
|
|
@@ -3111,7 +3134,7 @@ function BuddyVoiceBar({ revealed }) {
|
|
|
3111
3134
|
]
|
|
3112
3135
|
})
|
|
3113
3136
|
}),
|
|
3114
|
-
showWakeBubble ? /* @__PURE__ */
|
|
3137
|
+
showWakeBubble ? /* @__PURE__ */ jsxs10("div", {
|
|
3115
3138
|
className: "skippr:absolute skippr:-top-8 skippr:left-1/2 skippr:flex skippr:-translate-x-1/2 skippr:items-center skippr:gap-1.5 skippr:whitespace-nowrap skippr:rounded-full skippr:bg-white skippr:px-3 skippr:py-1 skippr:text-[11px] skippr:font-medium skippr:text-[#2D2D3F] skippr:shadow-[0_6px_16px_rgba(45,45,63,0.14)]",
|
|
3116
3139
|
role: "status",
|
|
3117
3140
|
children: [
|
|
@@ -3134,15 +3157,15 @@ function BuddyVoiceBar({ revealed }) {
|
|
|
3134
3157
|
children: "hold me down to talk"
|
|
3135
3158
|
})
|
|
3136
3159
|
]
|
|
3137
|
-
}) : /* @__PURE__ */
|
|
3160
|
+
}) : /* @__PURE__ */ jsxs10("div", {
|
|
3138
3161
|
ref: setHoverContainer,
|
|
3139
3162
|
style: { position: "relative", display: "flex" },
|
|
3140
3163
|
children: [
|
|
3141
|
-
/* @__PURE__ */
|
|
3164
|
+
/* @__PURE__ */ jsxs10("div", {
|
|
3142
3165
|
className: isStandingBy || isIdleLauncherHovered ? "skippr-peek-out" : PEEK_CLASS[edgeDrag.pos.edge],
|
|
3143
3166
|
style: { display: "flex", position: "relative" },
|
|
3144
3167
|
children: [
|
|
3145
|
-
/* @__PURE__ */
|
|
3168
|
+
/* @__PURE__ */ jsxs10("button", {
|
|
3146
3169
|
ref: (node) => {
|
|
3147
3170
|
containerRef.current = node;
|
|
3148
3171
|
},
|
|
@@ -3190,7 +3213,7 @@ function BuddyVoiceBar({ revealed }) {
|
|
|
3190
3213
|
]
|
|
3191
3214
|
}),
|
|
3192
3215
|
isIdleLauncherHovered && !loginOpen && /* @__PURE__ */ jsx14(ConsentBubble, {
|
|
3193
|
-
|
|
3216
|
+
template: CONSENT_NOTICE_AGENT_SESSION_START,
|
|
3194
3217
|
className: "skippr:absolute skippr:bottom-[calc(100%+8px)] skippr:w-[150px]",
|
|
3195
3218
|
style: edgeDrag.pos.edge === "left" ? { left: 0 } : edgeDrag.pos.edge === "right" ? { right: 0 } : { left: "50%", transform: "translateX(-50%)" }
|
|
3196
3219
|
})
|
|
@@ -4062,7 +4085,8 @@ function useAvailableModules({
|
|
|
4062
4085
|
enabled,
|
|
4063
4086
|
bearerToken,
|
|
4064
4087
|
authedFetch,
|
|
4065
|
-
agentId
|
|
4088
|
+
agentId,
|
|
4089
|
+
locale
|
|
4066
4090
|
}) {
|
|
4067
4091
|
const [modules, setModules] = useState12([]);
|
|
4068
4092
|
const [defaultSelection, setDefaultSelection] = useState12(EMPTY_DEFAULT);
|
|
@@ -4078,7 +4102,13 @@ function useAvailableModules({
|
|
|
4078
4102
|
setIsLoading(true);
|
|
4079
4103
|
setError(null);
|
|
4080
4104
|
try {
|
|
4081
|
-
const
|
|
4105
|
+
const params = new URLSearchParams;
|
|
4106
|
+
if (agentId)
|
|
4107
|
+
params.set("agentId", agentId);
|
|
4108
|
+
if (locale)
|
|
4109
|
+
params.set("locale", locale);
|
|
4110
|
+
const search = params.toString();
|
|
4111
|
+
const query = search ? `?${search}` : "";
|
|
4082
4112
|
const resp = await authedFetch(`${API_URL3}/v1/modules/available${query}`, {
|
|
4083
4113
|
signal: signal ?? null
|
|
4084
4114
|
});
|
|
@@ -4103,7 +4133,7 @@ function useAvailableModules({
|
|
|
4103
4133
|
setHasResolved(true);
|
|
4104
4134
|
}
|
|
4105
4135
|
}
|
|
4106
|
-
}, [authedFetch, agentId]);
|
|
4136
|
+
}, [authedFetch, agentId, locale]);
|
|
4107
4137
|
useEffect15(() => {
|
|
4108
4138
|
if (!enabled || !bearerToken)
|
|
4109
4139
|
return;
|
|
@@ -4759,6 +4789,31 @@ function launcherPopsDown(bottomPx) {
|
|
|
4759
4789
|
return bottomPx + LAUNCHER_HEIGHT_PX / 2 > window.innerHeight / 2;
|
|
4760
4790
|
}
|
|
4761
4791
|
|
|
4792
|
+
// src/lib/locale.ts
|
|
4793
|
+
import { useSyncExternalStore } from "react";
|
|
4794
|
+
function detectLocale(configLocale) {
|
|
4795
|
+
return firstNonBlank(configLocale) ?? firstNonBlank(document.documentElement.lang) ?? firstNonBlank(navigator.language);
|
|
4796
|
+
}
|
|
4797
|
+
function useDetectedLocale(configLocale) {
|
|
4798
|
+
useSyncExternalStore(subscribeToHtmlLang, readHtmlLang, readServerHtmlLang);
|
|
4799
|
+
return detectLocale(configLocale);
|
|
4800
|
+
}
|
|
4801
|
+
function subscribeToHtmlLang(onChange) {
|
|
4802
|
+
const observer = new MutationObserver(onChange);
|
|
4803
|
+
observer.observe(document.documentElement, { attributes: true, attributeFilter: ["lang"] });
|
|
4804
|
+
return () => observer.disconnect();
|
|
4805
|
+
}
|
|
4806
|
+
function readHtmlLang() {
|
|
4807
|
+
return document.documentElement.lang;
|
|
4808
|
+
}
|
|
4809
|
+
function readServerHtmlLang() {
|
|
4810
|
+
return "";
|
|
4811
|
+
}
|
|
4812
|
+
function firstNonBlank(value) {
|
|
4813
|
+
const trimmed = value?.trim();
|
|
4814
|
+
return trimmed ? trimmed : undefined;
|
|
4815
|
+
}
|
|
4816
|
+
|
|
4762
4817
|
// src/lib/splashSurfaces.ts
|
|
4763
4818
|
var NO_SPLASH_SURFACES = {
|
|
4764
4819
|
applies: false,
|
|
@@ -4835,20 +4890,24 @@ function readSavedBarPos() {
|
|
|
4835
4890
|
return clampBarPos({
|
|
4836
4891
|
x: xRatio * window.innerWidth,
|
|
4837
4892
|
y: yRatio * window.innerHeight
|
|
4838
|
-
});
|
|
4893
|
+
}, VOICE_BAR_WIDTH_PX);
|
|
4839
4894
|
} catch {}
|
|
4840
4895
|
return null;
|
|
4841
4896
|
}
|
|
4897
|
+
function barPosRatio(pos) {
|
|
4898
|
+
return { xRatio: pos.x / window.innerWidth, yRatio: pos.y / window.innerHeight };
|
|
4899
|
+
}
|
|
4842
4900
|
function persistBarPos(pos) {
|
|
4843
4901
|
try {
|
|
4844
|
-
|
|
4845
|
-
localStorage.setItem(
|
|
4902
|
+
const { xRatio, yRatio } = barPosRatio(pos);
|
|
4903
|
+
localStorage.setItem(BAR_X_RATIO_KEY, String(xRatio));
|
|
4904
|
+
localStorage.setItem(BAR_Y_RATIO_KEY, String(yRatio));
|
|
4846
4905
|
} catch {}
|
|
4847
4906
|
}
|
|
4848
|
-
function clampBarPos(pos) {
|
|
4907
|
+
function clampBarPos(pos, widthPx) {
|
|
4849
4908
|
const m = VOICE_BAR_EDGE_MARGIN_PX;
|
|
4850
4909
|
return {
|
|
4851
|
-
x: Math.round(Math.min(Math.max(pos.x, m), window.innerWidth -
|
|
4910
|
+
x: Math.round(Math.min(Math.max(pos.x, m), window.innerWidth - widthPx - m)),
|
|
4852
4911
|
y: Math.round(Math.min(Math.max(pos.y, m), window.innerHeight - VOICE_BAR_HEIGHT_PX - m))
|
|
4853
4912
|
};
|
|
4854
4913
|
}
|
|
@@ -4862,7 +4921,7 @@ function defaultBarPos() {
|
|
|
4862
4921
|
return clampBarPos({
|
|
4863
4922
|
x: window.innerWidth / 2 - VOICE_BAR_WIDTH_PX / 2,
|
|
4864
4923
|
y: window.innerHeight - VOICE_BAR_EDGE_MARGIN_PX - VOICE_BAR_HEIGHT_PX
|
|
4865
|
-
});
|
|
4924
|
+
}, VOICE_BAR_WIDTH_PX);
|
|
4866
4925
|
}
|
|
4867
4926
|
function barPosStyle(pos) {
|
|
4868
4927
|
return {
|
|
@@ -4875,10 +4934,8 @@ function edgeExtent(edge) {
|
|
|
4875
4934
|
return isHorizontalEdge(edge) ? window.innerWidth : window.innerHeight;
|
|
4876
4935
|
}
|
|
4877
4936
|
function clampOffset(edge, offsetPx) {
|
|
4878
|
-
const
|
|
4879
|
-
|
|
4880
|
-
const max = edgeExtent(edge) - VOICE_BAR_EDGE_MARGIN_PX - halfSize;
|
|
4881
|
-
return Math.round(Math.min(Math.max(offsetPx, min), max));
|
|
4937
|
+
const half = LAUNCHER_DOCK_THICKNESS_PX / 2;
|
|
4938
|
+
return Math.round(Math.min(Math.max(offsetPx, half), edgeExtent(edge) - half));
|
|
4882
4939
|
}
|
|
4883
4940
|
function defaultOffset(edge) {
|
|
4884
4941
|
return clampOffset(edge, edgeExtent(edge) / 2);
|
|
@@ -5074,7 +5131,7 @@ function traceRing(path, durationMs, onFrame, onDone) {
|
|
|
5074
5131
|
}
|
|
5075
5132
|
|
|
5076
5133
|
// src/components/AgentCursor.tsx
|
|
5077
|
-
import { jsx as jsx18, jsxs as
|
|
5134
|
+
import { jsx as jsx18, jsxs as jsxs11, Fragment } from "react/jsx-runtime";
|
|
5078
5135
|
var Z_INDEX = 2147483646;
|
|
5079
5136
|
var BRAND_COLOR = "var(--skippr-brand, #2bc0ae)";
|
|
5080
5137
|
var GLIDE_EASE = "cubic-bezier(0.45, 0, 0.25, 1)";
|
|
@@ -5305,7 +5362,7 @@ function AgentCursor({
|
|
|
5305
5362
|
return null;
|
|
5306
5363
|
const rippleCenter = ringBox ? centerOf(ringBox) : null;
|
|
5307
5364
|
const drawing = phase === "travel" || phase === "drawing";
|
|
5308
|
-
return /* @__PURE__ */
|
|
5365
|
+
return /* @__PURE__ */ jsxs11("div", {
|
|
5309
5366
|
"data-skippr-private": "true",
|
|
5310
5367
|
"aria-hidden": "true",
|
|
5311
5368
|
children: [
|
|
@@ -5322,7 +5379,7 @@ function AgentCursor({
|
|
|
5322
5379
|
style: { strokeDasharray: "0 99999" }
|
|
5323
5380
|
})
|
|
5324
5381
|
}),
|
|
5325
|
-
phase === "done" && ringBox && /* @__PURE__ */
|
|
5382
|
+
phase === "done" && ringBox && /* @__PURE__ */ jsxs11(Fragment, {
|
|
5326
5383
|
children: [
|
|
5327
5384
|
/* @__PURE__ */ jsx18("div", {
|
|
5328
5385
|
style: ringBoxStyle(ringBox, Z_INDEX),
|
|
@@ -7163,7 +7220,7 @@ function useLauncherDrag(containerRef, onDrop, followRefs, reportDragging, enabl
|
|
|
7163
7220
|
}
|
|
7164
7221
|
|
|
7165
7222
|
// src/components/AdoptionBubble.tsx
|
|
7166
|
-
import { jsx as jsx19, jsxs as
|
|
7223
|
+
import { jsx as jsx19, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
7167
7224
|
function AdoptionBubble({
|
|
7168
7225
|
goal,
|
|
7169
7226
|
onAttend,
|
|
@@ -7177,7 +7234,7 @@ function AdoptionBubble({
|
|
|
7177
7234
|
transitionDelay: hidden ? `${exitDelayMs}ms` : "0ms"
|
|
7178
7235
|
},
|
|
7179
7236
|
className: cn("skippr:group skippr:relative", "skippr:transition-opacity skippr:duration-300", "skippr:[animation:skippr-tip-in_360ms_cubic-bezier(0.34,1.3,0.64,1)_backwards]", hidden && "skippr:opacity-0 skippr:pointer-events-none"),
|
|
7180
|
-
children: /* @__PURE__ */
|
|
7237
|
+
children: /* @__PURE__ */ jsxs12("button", {
|
|
7181
7238
|
type: "button",
|
|
7182
7239
|
onClick: () => onAttend(goal),
|
|
7183
7240
|
className: cn("skippr:flex skippr:max-w-72 skippr:items-center skippr:gap-2", "skippr:rounded-[14px] skippr:bg-amber-50 skippr:py-1.5 skippr:pr-3 skippr:pl-1.5", "skippr:text-left skippr:shadow-[0_8px_24px_rgba(0,0,0,0.18)]", "skippr:transition-colors skippr:cursor-pointer skippr:hover:bg-amber-100", "skippr:focus-visible:outline-none skippr:focus-visible:ring-2 skippr:focus-visible:ring-bubble/60"),
|
|
@@ -7202,7 +7259,7 @@ function AdoptionBubble({
|
|
|
7202
7259
|
}
|
|
7203
7260
|
|
|
7204
7261
|
// src/components/ModulePill.tsx
|
|
7205
|
-
import { jsx as jsx20, jsxs as
|
|
7262
|
+
import { jsx as jsx20, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
7206
7263
|
var RING_RADIUS = 8;
|
|
7207
7264
|
var RING_CIRCUMFERENCE = 2 * Math.PI * RING_RADIUS;
|
|
7208
7265
|
function ModulePill({ module, onSelect }) {
|
|
@@ -7210,12 +7267,12 @@ function ModulePill({ module, onSelect }) {
|
|
|
7210
7267
|
const totalPhases = module.totalPhases;
|
|
7211
7268
|
const showProgress = module.mode !== AGENT_MODE.AlwaysOn && totalPhases > 0;
|
|
7212
7269
|
const progressFraction = showProgress ? Math.min(completedPhases / totalPhases, 1) : 0;
|
|
7213
|
-
return /* @__PURE__ */
|
|
7270
|
+
return /* @__PURE__ */ jsxs13("button", {
|
|
7214
7271
|
type: "button",
|
|
7215
7272
|
onClick: () => onSelect(module.id),
|
|
7216
7273
|
className: cn("skippr:flex skippr:w-40 skippr:items-center skippr:gap-1.5 skippr:whitespace-nowrap", "skippr:rounded-[14px] skippr:bg-white skippr:px-3 skippr:py-1.5", "skippr:text-[13px] skippr:font-medium skippr:text-black", "skippr:shadow-[0_8px_24px_rgba(0,0,0,0.18)]", "skippr:transition-colors skippr:cursor-pointer skippr:hover:bg-neutral-100", "skippr:animate-[skippr-bubble-in_0.28s_ease-out]", "skippr:focus-visible:outline-none skippr:focus-visible:ring-2 skippr:focus-visible:ring-bubble/60"),
|
|
7217
7274
|
children: [
|
|
7218
|
-
showProgress && /* @__PURE__ */
|
|
7275
|
+
showProgress && /* @__PURE__ */ jsxs13("svg", {
|
|
7219
7276
|
viewBox: "0 0 20 20",
|
|
7220
7277
|
className: "skippr:size-4 skippr:shrink-0 skippr:-rotate-90",
|
|
7221
7278
|
"aria-hidden": "true",
|
|
@@ -7245,7 +7302,7 @@ function ModulePill({ module, onSelect }) {
|
|
|
7245
7302
|
className: "skippr:min-w-0 skippr:flex-1 skippr:truncate skippr:text-left",
|
|
7246
7303
|
children: module.name
|
|
7247
7304
|
}),
|
|
7248
|
-
showProgress && /* @__PURE__ */
|
|
7305
|
+
showProgress && /* @__PURE__ */ jsxs13("span", {
|
|
7249
7306
|
className: cn("skippr:ml-0.5 skippr:inline-flex skippr:shrink-0 skippr:items-center skippr:gap-1 skippr:rounded-full", "skippr:bg-black/[0.07] skippr:px-1.5 skippr:py-0.5", "skippr:text-[10px] skippr:font-semibold"),
|
|
7250
7307
|
children: [
|
|
7251
7308
|
completedPhases,
|
|
@@ -7258,7 +7315,7 @@ function ModulePill({ module, onSelect }) {
|
|
|
7258
7315
|
}
|
|
7259
7316
|
|
|
7260
7317
|
// src/components/MinimizedBubble.tsx
|
|
7261
|
-
import { jsx as jsx21, jsxs as
|
|
7318
|
+
import { jsx as jsx21, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
7262
7319
|
var GOALS_AUTO_HIDE_MS = 6000;
|
|
7263
7320
|
var GOAL_FADE_OUT_MS = 300;
|
|
7264
7321
|
var GOAL_APPEAR_STAGGER_MS = 150;
|
|
@@ -7330,7 +7387,7 @@ function IdleLauncher({
|
|
|
7330
7387
|
onStart,
|
|
7331
7388
|
onChat
|
|
7332
7389
|
}) {
|
|
7333
|
-
return /* @__PURE__ */
|
|
7390
|
+
return /* @__PURE__ */ jsxs14("div", {
|
|
7334
7391
|
className: cn("skippr:flex skippr:h-[48px] skippr:items-center", "skippr:bg-launcher skippr:p-1.5 skippr:shadow-[-6px_8px_30px_rgba(15,18,26,0.32)]", "skippr:[animation:skippr-orb-in_320ms_cubic-bezier(0.34,1.3,0.64,1)]", "skippr:transition-transform skippr:duration-[400ms] skippr:ease-[cubic-bezier(0.22,1,0.36,1)]", position === "right" ? "skippr:rounded-l-[18px] skippr:origin-right" : "skippr:rounded-r-[18px] skippr:origin-left", position === "right" ? isHovered || logoUrl ? "skippr:translate-x-3" : "skippr:translate-x-7" : isHovered || logoUrl ? "skippr:-translate-x-3" : "skippr:-translate-x-7"),
|
|
7335
7392
|
style: { gap: isHovered ? 8 : 0 },
|
|
7336
7393
|
children: [
|
|
@@ -7357,7 +7414,7 @@ function WelcomeBubble({
|
|
|
7357
7414
|
const timer = setTimeout(onDismiss, 5000);
|
|
7358
7415
|
return () => clearTimeout(timer);
|
|
7359
7416
|
}, [onDismiss]);
|
|
7360
|
-
return /* @__PURE__ */
|
|
7417
|
+
return /* @__PURE__ */ jsxs14("button", {
|
|
7361
7418
|
type: "button",
|
|
7362
7419
|
className: cn("skippr:absolute", popsDown ? "skippr:top-full skippr:mt-3" : "skippr:bottom-full skippr:mb-3", "skippr:max-w-64 skippr:rounded-xl skippr:bg-card skippr:shadow-lg", "skippr:border skippr:border-border skippr:px-4 skippr:py-3", "skippr:text-sm skippr:text-foreground skippr:leading-relaxed skippr:text-left", "skippr:animate-[skippr-fade-in_0.3s_ease-out]", "skippr:cursor-pointer", position === "right" ? "skippr:right-0" : "skippr:left-0"),
|
|
7363
7420
|
onClick,
|
|
@@ -7485,12 +7542,12 @@ function MinimizedBubble({
|
|
|
7485
7542
|
expandPanel();
|
|
7486
7543
|
}
|
|
7487
7544
|
};
|
|
7488
|
-
return /* @__PURE__ */
|
|
7545
|
+
return /* @__PURE__ */ jsxs14("div", {
|
|
7489
7546
|
ref: hoverContainerRef,
|
|
7490
7547
|
style: { bottom: launcherBottomPx },
|
|
7491
7548
|
className: cn("skippr:fixed skippr:z-[9999] skippr:touch-none", "skippr:flex skippr:items-center skippr:gap-2", position === "right" ? "skippr:right-3" : "skippr:left-3"),
|
|
7492
7549
|
children: [
|
|
7493
|
-
(modulePills.length > 0 || visibleGoals.length > 0) && /* @__PURE__ */
|
|
7550
|
+
(modulePills.length > 0 || visibleGoals.length > 0) && /* @__PURE__ */ jsxs14("div", {
|
|
7494
7551
|
className: cn("skippr:absolute skippr:gap-2", popsDown ? "skippr:top-full skippr:mt-3 skippr:flex skippr:flex-col-reverse" : "skippr:bottom-full skippr:mb-3 skippr:flex skippr:flex-col", position === "right" ? "skippr:right-0 skippr:items-end" : "skippr:left-0 skippr:items-start"),
|
|
7495
7552
|
children: [
|
|
7496
7553
|
visibleGoals.map((goal, index2) => /* @__PURE__ */ jsx21(AdoptionBubble, {
|
|
@@ -7522,11 +7579,11 @@ function MinimizedBubble({
|
|
|
7522
7579
|
onDismissWelcome();
|
|
7523
7580
|
}
|
|
7524
7581
|
}),
|
|
7525
|
-
/* @__PURE__ */
|
|
7582
|
+
/* @__PURE__ */ jsxs14("div", {
|
|
7526
7583
|
className: "skippr:relative",
|
|
7527
7584
|
children: [
|
|
7528
7585
|
isLauncherHovered && /* @__PURE__ */ jsx21(ConsentBubble, {
|
|
7529
|
-
|
|
7586
|
+
template: CONSENT_NOTICE_SESSION_START,
|
|
7530
7587
|
className: cn("skippr:absolute skippr:bottom-[calc(100%+8px)]", position === "right" ? "skippr:right-0" : "skippr:left-0")
|
|
7531
7588
|
}),
|
|
7532
7589
|
/* @__PURE__ */ jsx21(IdleLauncher, {
|
|
@@ -8068,17 +8125,17 @@ function useMicLevel(enabled) {
|
|
|
8068
8125
|
}
|
|
8069
8126
|
|
|
8070
8127
|
// src/components/PausedCountdown.tsx
|
|
8071
|
-
import { jsxs as
|
|
8128
|
+
import { jsxs as jsxs15 } from "react/jsx-runtime";
|
|
8072
8129
|
function PausedCountdown({ secondsRemaining }) {
|
|
8073
8130
|
const minutes = Math.floor(secondsRemaining / 60);
|
|
8074
8131
|
const seconds = String(secondsRemaining % 60).padStart(2, "0");
|
|
8075
|
-
return /* @__PURE__ */
|
|
8132
|
+
return /* @__PURE__ */ jsxs15("span", {
|
|
8076
8133
|
role: "timer",
|
|
8077
8134
|
"aria-label": `Agent closes in ${secondsRemaining} seconds`,
|
|
8078
8135
|
className: "skippr:flex skippr:h-[38px] skippr:items-center skippr:whitespace-nowrap skippr:px-1 skippr:text-[13px] skippr:font-medium skippr:text-neutral-500 skippr:[animation:skippr-stage-fade_240ms_ease-out]",
|
|
8079
8136
|
children: [
|
|
8080
8137
|
"Agent closes in",
|
|
8081
|
-
/* @__PURE__ */
|
|
8138
|
+
/* @__PURE__ */ jsxs15("span", {
|
|
8082
8139
|
className: "skippr:ml-1 skippr:font-semibold skippr:tabular-nums skippr:text-bubble",
|
|
8083
8140
|
children: [
|
|
8084
8141
|
minutes,
|
|
@@ -8091,15 +8148,15 @@ function PausedCountdown({ secondsRemaining }) {
|
|
|
8091
8148
|
}
|
|
8092
8149
|
|
|
8093
8150
|
// src/components/PushToTalkHint.tsx
|
|
8094
|
-
import { jsx as jsx22, jsxs as
|
|
8151
|
+
import { jsx as jsx22, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
8095
8152
|
function PushToTalkHint() {
|
|
8096
|
-
return /* @__PURE__ */
|
|
8153
|
+
return /* @__PURE__ */ jsxs16("div", {
|
|
8097
8154
|
className: cn("skippr:absolute skippr:top-full skippr:left-2 skippr:mt-2 skippr:flex skippr:w-fit skippr:items-center skippr:gap-1.5 skippr:whitespace-nowrap skippr:rounded-full skippr:bg-[#f4ecd8] skippr:px-2.5 skippr:py-1 skippr:text-[10px] skippr:font-medium skippr:text-black skippr:shadow-[0_4px_14px_rgba(0,0,0,0.12)] skippr:[animation:skippr-agent-in_200ms_ease-out]"),
|
|
8098
8155
|
children: [
|
|
8099
8156
|
/* @__PURE__ */ jsx22("span", {
|
|
8100
8157
|
children: "Hold the"
|
|
8101
8158
|
}),
|
|
8102
|
-
/* @__PURE__ */
|
|
8159
|
+
/* @__PURE__ */ jsxs16("kbd", {
|
|
8103
8160
|
className: "skippr:flex skippr:items-center skippr:gap-0.5 skippr:rounded skippr:border skippr:border-black/25 skippr:bg-white/70 skippr:px-1.5 skippr:py-0.5 skippr:font-mono skippr:text-[11px] skippr:leading-none skippr:text-black",
|
|
8104
8161
|
children: [
|
|
8105
8162
|
/* @__PURE__ */ jsx22("span", {
|
|
@@ -8122,7 +8179,7 @@ function PushToTalkHint() {
|
|
|
8122
8179
|
}
|
|
8123
8180
|
|
|
8124
8181
|
// src/components/PushToTalkMic.tsx
|
|
8125
|
-
import { jsx as jsx23, jsxs as
|
|
8182
|
+
import { jsx as jsx23, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
8126
8183
|
function PushToTalkMic({
|
|
8127
8184
|
isCapturingSpeech,
|
|
8128
8185
|
showLabel,
|
|
@@ -8133,7 +8190,7 @@ function PushToTalkMic({
|
|
|
8133
8190
|
const holdPushToTalk = usePointerHold(onStart, onCommit);
|
|
8134
8191
|
const label = isCapturingSpeech ? "Release to send" : "Hold to talk";
|
|
8135
8192
|
const withLabel = isCapturingSpeech || showLabel;
|
|
8136
|
-
return /* @__PURE__ */
|
|
8193
|
+
return /* @__PURE__ */ jsxs17("button", {
|
|
8137
8194
|
type: "button",
|
|
8138
8195
|
"data-skippr-no-drag": "",
|
|
8139
8196
|
onPointerDown: holdPushToTalk,
|
|
@@ -8170,9 +8227,9 @@ function PushToTalkMic({
|
|
|
8170
8227
|
}
|
|
8171
8228
|
|
|
8172
8229
|
// src/components/StopActionsIcon.tsx
|
|
8173
|
-
import { jsx as jsx24, jsxs as
|
|
8230
|
+
import { jsx as jsx24, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
8174
8231
|
function StopActionsIcon({ className }) {
|
|
8175
|
-
return /* @__PURE__ */
|
|
8232
|
+
return /* @__PURE__ */ jsxs18("svg", {
|
|
8176
8233
|
viewBox: "0 0 24 24",
|
|
8177
8234
|
fill: "none",
|
|
8178
8235
|
stroke: "currentColor",
|
|
@@ -8196,12 +8253,12 @@ function StopActionsIcon({ className }) {
|
|
|
8196
8253
|
}
|
|
8197
8254
|
|
|
8198
8255
|
// src/components/TapToTalkMic.tsx
|
|
8199
|
-
import { jsx as jsx25, jsxs as
|
|
8256
|
+
import { jsx as jsx25, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
8200
8257
|
function TapToTalkMic({ isCapturingSpeech, showLabel, onToggle }) {
|
|
8201
8258
|
const { barRefs, isTalking } = useMicLevel(isCapturingSpeech);
|
|
8202
8259
|
const label = isCapturingSpeech ? "Tap to send" : "Tap to talk";
|
|
8203
8260
|
const withLabel = isCapturingSpeech || showLabel;
|
|
8204
|
-
return /* @__PURE__ */
|
|
8261
|
+
return /* @__PURE__ */ jsxs19("button", {
|
|
8205
8262
|
type: "button",
|
|
8206
8263
|
onClick: onToggle,
|
|
8207
8264
|
"aria-label": "Tap to talk",
|
|
@@ -8237,7 +8294,7 @@ function TapToTalkMic({ isCapturingSpeech, showLabel, onToggle }) {
|
|
|
8237
8294
|
}
|
|
8238
8295
|
|
|
8239
8296
|
// src/components/SessionControlBar.tsx
|
|
8240
|
-
import { jsx as jsx26, jsxs as
|
|
8297
|
+
import { jsx as jsx26, jsxs as jsxs20, Fragment as Fragment2 } from "react/jsx-runtime";
|
|
8241
8298
|
var STANDBY_BAR_WIDTH = 168;
|
|
8242
8299
|
var READY_BAR_WIDTH = 238;
|
|
8243
8300
|
var PAUSED_BAR_WIDTH = 248;
|
|
@@ -8270,7 +8327,7 @@ function AgentActivity({
|
|
|
8270
8327
|
noiseGate: AGENT_NOISE_GATE
|
|
8271
8328
|
});
|
|
8272
8329
|
const label = isActing ? "Working" : AGENT_STATE_LABELS[state] ?? "";
|
|
8273
|
-
return /* @__PURE__ */
|
|
8330
|
+
return /* @__PURE__ */ jsxs20("span", {
|
|
8274
8331
|
role: "status",
|
|
8275
8332
|
className: "skippr:flex skippr:items-center skippr:gap-1.5 skippr:text-bubble",
|
|
8276
8333
|
"aria-label": isActing ? "Agent is acting" : `Agent is ${state}`,
|
|
@@ -8280,7 +8337,7 @@ function AgentActivity({
|
|
|
8280
8337
|
children: isActing ? /* @__PURE__ */ jsx26(MousePointerClick, {
|
|
8281
8338
|
strokeWidth: 2,
|
|
8282
8339
|
className: "skippr:size-5 skippr:[animation:skippr-finger-tap_1.1s_ease-in-out_infinite]"
|
|
8283
|
-
}) : /* @__PURE__ */
|
|
8340
|
+
}) : /* @__PURE__ */ jsxs20(Fragment2, {
|
|
8284
8341
|
children: [
|
|
8285
8342
|
state === "speaking" && /* @__PURE__ */ jsx26("span", {
|
|
8286
8343
|
className: "skippr:flex skippr:h-5 skippr:items-center skippr:gap-[2px]",
|
|
@@ -8292,7 +8349,7 @@ function AgentActivity({
|
|
|
8292
8349
|
style: { height: AGENT_BAR_IDLE_HEIGHT_PX }
|
|
8293
8350
|
}, index2))
|
|
8294
8351
|
}),
|
|
8295
|
-
state === "thinking" && /* @__PURE__ */
|
|
8352
|
+
state === "thinking" && /* @__PURE__ */ jsxs20("span", {
|
|
8296
8353
|
className: "skippr:flex skippr:items-center skippr:gap-[3px]",
|
|
8297
8354
|
children: [
|
|
8298
8355
|
/* @__PURE__ */ jsx26("span", {
|
|
@@ -8306,7 +8363,7 @@ function AgentActivity({
|
|
|
8306
8363
|
})
|
|
8307
8364
|
]
|
|
8308
8365
|
}),
|
|
8309
|
-
state === "listening" && /* @__PURE__ */
|
|
8366
|
+
state === "listening" && /* @__PURE__ */ jsxs20("svg", {
|
|
8310
8367
|
viewBox: "0 0 24 24",
|
|
8311
8368
|
className: "skippr:size-5",
|
|
8312
8369
|
fill: "none",
|
|
@@ -8451,7 +8508,7 @@ function SessionControlBar() {
|
|
|
8451
8508
|
className: "skippr:size-5"
|
|
8452
8509
|
})
|
|
8453
8510
|
});
|
|
8454
|
-
return /* @__PURE__ */
|
|
8511
|
+
return /* @__PURE__ */ jsxs20("div", {
|
|
8455
8512
|
ref: controlBarRef,
|
|
8456
8513
|
style: { bottom: launcherBottomPx },
|
|
8457
8514
|
className: cn("skippr:fixed skippr:z-[9999] skippr:touch-none skippr:cursor-grab", position === "right" ? "skippr:right-3" : "skippr:left-3"),
|
|
@@ -8463,14 +8520,14 @@ function SessionControlBar() {
|
|
|
8463
8520
|
children: "Listening…"
|
|
8464
8521
|
})
|
|
8465
8522
|
}),
|
|
8466
|
-
/* @__PURE__ */
|
|
8523
|
+
/* @__PURE__ */ jsxs20("div", {
|
|
8467
8524
|
style: { width: isReady && pushOrTapMicMode ? "auto" : barWidth },
|
|
8468
8525
|
className: cn("skippr:group skippr:relative skippr:flex skippr:h-[54px] skippr:items-center skippr:justify-center skippr:gap-2", "skippr:rounded-[20px] skippr:bg-white skippr:p-2", "skippr:shadow-[0_10px_32px_rgba(0,0,0,0.18)] skippr:ring-1 skippr:ring-black/5", "skippr:transition-[width,margin] skippr:duration-300 skippr:ease-out", "skippr:[animation:skippr-toolset-pop_440ms_cubic-bezier(0.22,1,0.36,1)]", isReady && (position === "right" ? "skippr:mr-7" : "skippr:ml-7")),
|
|
8469
8526
|
children: [
|
|
8470
|
-
!isReady && /* @__PURE__ */
|
|
8527
|
+
!isReady && /* @__PURE__ */ jsxs20("span", {
|
|
8471
8528
|
className: "skippr:flex skippr:h-[38px] skippr:items-center skippr:justify-center skippr:gap-2 skippr:text-[13px] skippr:font-medium skippr:text-bubble skippr:[animation:skippr-stage-fade_240ms_ease-out]",
|
|
8472
8529
|
children: [
|
|
8473
|
-
/* @__PURE__ */
|
|
8530
|
+
/* @__PURE__ */ jsxs20("span", {
|
|
8474
8531
|
className: "skippr:flex skippr:items-center skippr:gap-[3px]",
|
|
8475
8532
|
children: [
|
|
8476
8533
|
/* @__PURE__ */ jsx26("span", {
|
|
@@ -8489,7 +8546,7 @@ function SessionControlBar() {
|
|
|
8489
8546
|
})
|
|
8490
8547
|
]
|
|
8491
8548
|
}),
|
|
8492
|
-
isReady && /* @__PURE__ */
|
|
8549
|
+
isReady && /* @__PURE__ */ jsxs20("div", {
|
|
8493
8550
|
className: cn("skippr:flex skippr:items-center skippr:gap-2 skippr:[animation:skippr-stage-fade_240ms_ease-out]", isHeld && "skippr:w-full skippr:justify-start"),
|
|
8494
8551
|
children: [
|
|
8495
8552
|
/* @__PURE__ */ jsx26("button", {
|
|
@@ -8506,16 +8563,16 @@ function SessionControlBar() {
|
|
|
8506
8563
|
fill: "currentColor"
|
|
8507
8564
|
})
|
|
8508
8565
|
}),
|
|
8509
|
-
isHeld ? /* @__PURE__ */
|
|
8566
|
+
isHeld ? /* @__PURE__ */ jsxs20(Fragment2, {
|
|
8510
8567
|
children: [
|
|
8511
8568
|
/* @__PURE__ */ jsx26(PausedCountdown, {
|
|
8512
8569
|
secondsRemaining: countdown
|
|
8513
8570
|
}),
|
|
8514
8571
|
panelToggleButton
|
|
8515
8572
|
]
|
|
8516
|
-
}) : /* @__PURE__ */
|
|
8573
|
+
}) : /* @__PURE__ */ jsxs20(Fragment2, {
|
|
8517
8574
|
children: [
|
|
8518
|
-
!textMode && pushOrTapMicMode && /* @__PURE__ */
|
|
8575
|
+
!textMode && pushOrTapMicMode && /* @__PURE__ */ jsxs20("div", {
|
|
8519
8576
|
className: "skippr:flex skippr:h-[38px] skippr:items-center skippr:gap-2",
|
|
8520
8577
|
children: [
|
|
8521
8578
|
micMode === MIC_MODE.PushToTalk ? /* @__PURE__ */ jsx26(PushToTalkMic, {
|
|
@@ -8541,7 +8598,7 @@ function SessionControlBar() {
|
|
|
8541
8598
|
})
|
|
8542
8599
|
]
|
|
8543
8600
|
}),
|
|
8544
|
-
!textMode && !pushOrTapMicMode && /* @__PURE__ */
|
|
8601
|
+
!textMode && !pushOrTapMicMode && /* @__PURE__ */ jsxs20("div", {
|
|
8545
8602
|
className: "skippr:relative skippr:h-[38px]",
|
|
8546
8603
|
style: { width: MIC_REGION_WIDTH },
|
|
8547
8604
|
children: [
|
|
@@ -8554,7 +8611,7 @@ function SessionControlBar() {
|
|
|
8554
8611
|
mediaStreamTrack: agentMediaStreamTrack
|
|
8555
8612
|
})
|
|
8556
8613
|
}),
|
|
8557
|
-
/* @__PURE__ */
|
|
8614
|
+
/* @__PURE__ */ jsxs20("button", {
|
|
8558
8615
|
type: "button",
|
|
8559
8616
|
onClick: ifNotDragged(() => void toggleMute()),
|
|
8560
8617
|
"aria-label": isMuted ? "Unmute" : "Mute",
|
|
@@ -8619,14 +8676,14 @@ function SessionControlBar() {
|
|
|
8619
8676
|
"aria-label": "End session",
|
|
8620
8677
|
"aria-busy": isPausing,
|
|
8621
8678
|
className: cn("skippr:absolute skippr:top-1/2 skippr:z-20 skippr:flex skippr:h-[54px] skippr:w-[50px] skippr:-mt-[27px] skippr:items-center", position === "right" ? "skippr:-right-8 skippr:justify-start skippr:pl-2.5" : "skippr:-left-8 skippr:justify-end skippr:pr-2.5", "skippr:rounded-[16px] skippr:bg-red-500 skippr:text-white", "skippr:shadow-[0_4px_14px_rgba(239,68,68,0.45)]", "skippr:transition-colors skippr:duration-150", "skippr:[animation:skippr-toolset-pop_280ms_cubic-bezier(0.22,1,0.36,1)]", isPausing ? "skippr:cursor-default" : "skippr:cursor-pointer skippr:hover:bg-red-600"),
|
|
8622
|
-
children: /* @__PURE__ */
|
|
8679
|
+
children: /* @__PURE__ */ jsxs20("span", {
|
|
8623
8680
|
className: "skippr:relative skippr:flex skippr:size-5 skippr:items-center skippr:justify-center",
|
|
8624
8681
|
children: [
|
|
8625
8682
|
/* @__PURE__ */ jsx26(X, {
|
|
8626
8683
|
className: cn("skippr:size-4 skippr:transition-opacity skippr:duration-200", isPausing && "skippr:opacity-40"),
|
|
8627
8684
|
strokeWidth: 2.5
|
|
8628
8685
|
}),
|
|
8629
|
-
isPausing && /* @__PURE__ */
|
|
8686
|
+
isPausing && /* @__PURE__ */ jsxs20("svg", {
|
|
8630
8687
|
viewBox: "0 0 24 24",
|
|
8631
8688
|
fill: "none",
|
|
8632
8689
|
"aria-hidden": "true",
|
|
@@ -8683,7 +8740,7 @@ function ShadowHost({
|
|
|
8683
8740
|
const hostRef = useRef26(null);
|
|
8684
8741
|
const [shadowRoot, setShadowRoot] = useState24(null);
|
|
8685
8742
|
const css = `/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
|
|
8686
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-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-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-outline-style:solid}}}@layer theme{:root,:host{--skippr-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--skippr-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--skippr-color-red-50:oklch(97.1% .013 17.38);--skippr-color-red-100:oklch(93.6% .032 17.717);--skippr-color-red-200:oklch(88.5% .062 18.334);--skippr-color-red-300:oklch(80.8% .114 19.571);--skippr-color-red-400:oklch(70.4% .191 22.216);--skippr-color-red-500:oklch(63.7% .237 25.331);--skippr-color-red-600:oklch(57.7% .245 27.325);--skippr-color-red-700:oklch(50.5% .213 27.518);--skippr-color-amber-50:oklch(98.7% .022 95.277);--skippr-color-amber-100:oklch(96.2% .059 95.617);--skippr-color-amber-400:oklch(82.8% .189 84.429);--skippr-color-amber-700:oklch(55.5% .163 48.998);--skippr-color-amber-950:oklch(27.9% .077 45.635);--skippr-color-emerald-400:oklch(76.5% .177 163.223);--skippr-color-neutral-100:oklch(97% 0 0);--skippr-color-neutral-200:oklch(92.2% 0 0);--skippr-color-neutral-500:oklch(55.6% 0 0);--skippr-color-neutral-700:oklch(37.1% 0 0);--skippr-color-black:#000;--skippr-color-white:#fff;--skippr-spacing:.25rem;--skippr-text-xs:.75rem;--skippr-text-xs--line-height:calc(1/.75);--skippr-text-sm:.875rem;--skippr-text-sm--line-height:calc(1.25/.875);--skippr-font-weight-medium:500;--skippr-font-weight-semibold:600;--skippr-font-weight-bold:700;--skippr-leading-snug:1.375;--skippr-leading-relaxed:1.625;--skippr-ease-out:cubic-bezier(0,0,.2,1);--skippr-ease-in-out:cubic-bezier(.4,0,.2,1);--skippr-animate-spin:spin 1s linear infinite;--skippr-animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--skippr-animate-bounce:bounce 1s infinite;--skippr-blur-sm:8px;--skippr-default-transition-duration:.15s;--skippr-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--skippr-default-font-family:var(--skippr-font-sans);--skippr-default-mono-font-family:var(--skippr-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(--skippr-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(--skippr-default-font-feature-settings,normal);font-variation-settings:var(--skippr-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(--skippr-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--skippr-default-mono-font-feature-settings,normal);font-variation-settings:var(--skippr-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}}@layer components;@layer utilities{.skippr\\:pointer-events-auto{pointer-events:auto}.skippr\\:pointer-events-none{pointer-events:none}.skippr\\:absolute{position:absolute}.skippr\\:fixed{position:fixed}.skippr\\:relative{position:relative}.skippr\\:sticky{position:sticky}.skippr\\:-inset-\\[3px\\]{inset:-3px}.skippr\\:inset-0{inset:calc(var(--skippr-spacing)*0)}.skippr\\:inset-y-0{inset-block:calc(var(--skippr-spacing)*0)}.skippr\\:-top-1{top:calc(var(--skippr-spacing)*-1)}.skippr\\:-top-6{top:calc(var(--skippr-spacing)*-6)}.skippr\\:-top-8{top:calc(var(--skippr-spacing)*-8)}.skippr\\:-top-\\[2px\\]{top:-2px}.skippr\\:-top-\\[3px\\]{top:-3px}.skippr\\:-top-\\[13px\\]{top:-13px}.skippr\\:top-0{top:calc(var(--skippr-spacing)*0)}.skippr\\:top-1\\/2{top:50%}.skippr\\:top-\\[8px\\]{top:8px}.skippr\\:top-full{top:100%}.skippr\\:-right-1{right:calc(var(--skippr-spacing)*-1)}.skippr\\:-right-8{right:calc(var(--skippr-spacing)*-8)}.skippr\\:-right-\\[2px\\]{right:-2px}.skippr\\:-right-\\[6px\\]{right:-6px}.skippr\\:right-0{right:calc(var(--skippr-spacing)*0)}.skippr\\:right-3{right:calc(var(--skippr-spacing)*3)}.skippr\\:right-5{right:calc(var(--skippr-spacing)*5)}.skippr\\:right-6{right:calc(var(--skippr-spacing)*6)}.skippr\\:right-\\[4px\\]{right:4px}.skippr\\:right-\\[8px\\]{right:8px}.skippr\\:-bottom-\\[2px\\]{bottom:-2px}.skippr\\:bottom-3{bottom:calc(var(--skippr-spacing)*3)}.skippr\\:bottom-4{bottom:calc(var(--skippr-spacing)*4)}.skippr\\:bottom-20{bottom:calc(var(--skippr-spacing)*20)}.skippr\\:bottom-\\[calc\\(100\\%\\+8px\\)\\]{bottom:calc(100% + 8px)}.skippr\\:bottom-\\[calc\\(100\\%\\+11px\\)\\]{bottom:calc(100% + 11px)}.skippr\\:bottom-full{bottom:100%}.skippr\\:-left-8{left:calc(var(--skippr-spacing)*-8)}.skippr\\:-left-\\[2px\\]{left:-2px}.skippr\\:-left-\\[6px\\]{left:-6px}.skippr\\:left-0{left:calc(var(--skippr-spacing)*0)}.skippr\\:left-1\\/2{left:50%}.skippr\\:left-2{left:calc(var(--skippr-spacing)*2)}.skippr\\:left-3{left:calc(var(--skippr-spacing)*3)}.skippr\\:left-5{left:calc(var(--skippr-spacing)*5)}.skippr\\:left-6{left:calc(var(--skippr-spacing)*6)}.skippr\\:z-10{z-index:10}.skippr\\:z-20{z-index:20}.skippr\\:z-\\[1\\]{z-index:1}.skippr\\:z-\\[2\\]{z-index:2}.skippr\\:z-\\[4\\]{z-index:4}.skippr\\:z-\\[5\\]{z-index:5}.skippr\\:z-\\[6\\]{z-index:6}.skippr\\:z-\\[7\\]{z-index:7}.skippr\\:z-\\[8\\]{z-index:8}.skippr\\:z-\\[9998\\]{z-index:9998}.skippr\\:z-\\[9999\\]{z-index:9999}.skippr\\:z-\\[10000\\]{z-index:10000}.skippr\\:order-first{order:-9999}.skippr\\:order-last{order:9999}.skippr\\:mx-auto{margin-inline:auto}.skippr\\:-mt-1{margin-top:calc(var(--skippr-spacing)*-1)}.skippr\\:-mt-\\[5px\\]{margin-top:-5px}.skippr\\:-mt-\\[27px\\]{margin-top:-27px}.skippr\\:mt-1{margin-top:calc(var(--skippr-spacing)*1)}.skippr\\:mt-1\\.5{margin-top:calc(var(--skippr-spacing)*1.5)}.skippr\\:mt-2{margin-top:calc(var(--skippr-spacing)*2)}.skippr\\:mt-3{margin-top:calc(var(--skippr-spacing)*3)}.skippr\\:mt-3\\.5{margin-top:calc(var(--skippr-spacing)*3.5)}.skippr\\:mt-\\[1px\\]{margin-top:1px}.skippr\\:mt-\\[6px\\]{margin-top:6px}.skippr\\:mt-\\[8px\\]{margin-top:8px}.skippr\\:mt-\\[9px\\]{margin-top:9px}.skippr\\:-mr-1{margin-right:calc(var(--skippr-spacing)*-1)}.skippr\\:mr-7{margin-right:calc(var(--skippr-spacing)*7)}.skippr\\:mr-\\[22px\\]{margin-right:22px}.skippr\\:-mb-\\[5px\\]{margin-bottom:-5px}.skippr\\:mb-1{margin-bottom:calc(var(--skippr-spacing)*1)}.skippr\\:mb-1\\.5{margin-bottom:calc(var(--skippr-spacing)*1.5)}.skippr\\:mb-2{margin-bottom:calc(var(--skippr-spacing)*2)}.skippr\\:mb-3{margin-bottom:calc(var(--skippr-spacing)*3)}.skippr\\:mb-4{margin-bottom:calc(var(--skippr-spacing)*4)}.skippr\\:mb-\\[14px\\]{margin-bottom:14px}.skippr\\:-ml-\\[2px\\]{margin-left:-2px}.skippr\\:ml-0\\.5{margin-left:calc(var(--skippr-spacing)*.5)}.skippr\\:ml-1{margin-left:calc(var(--skippr-spacing)*1)}.skippr\\:ml-7{margin-left:calc(var(--skippr-spacing)*7)}.skippr\\:ml-auto{margin-left:auto}.skippr\\:line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.skippr\\:block{display:block}.skippr\\:flex{display:flex}.skippr\\:hidden{display:none}.skippr\\:inline-flex{display:inline-flex}.skippr\\:size-1{width:calc(var(--skippr-spacing)*1);height:calc(var(--skippr-spacing)*1)}.skippr\\:size-1\\.5{width:calc(var(--skippr-spacing)*1.5);height:calc(var(--skippr-spacing)*1.5)}.skippr\\:size-2{width:calc(var(--skippr-spacing)*2);height:calc(var(--skippr-spacing)*2)}.skippr\\:size-2\\.5{width:calc(var(--skippr-spacing)*2.5);height:calc(var(--skippr-spacing)*2.5)}.skippr\\:size-3{width:calc(var(--skippr-spacing)*3);height:calc(var(--skippr-spacing)*3)}.skippr\\:size-3\\.5{width:calc(var(--skippr-spacing)*3.5);height:calc(var(--skippr-spacing)*3.5)}.skippr\\:size-4{width:calc(var(--skippr-spacing)*4);height:calc(var(--skippr-spacing)*4)}.skippr\\:size-5{width:calc(var(--skippr-spacing)*5);height:calc(var(--skippr-spacing)*5)}.skippr\\:size-6{width:calc(var(--skippr-spacing)*6);height:calc(var(--skippr-spacing)*6)}.skippr\\:size-7{width:calc(var(--skippr-spacing)*7);height:calc(var(--skippr-spacing)*7)}.skippr\\:size-8{width:calc(var(--skippr-spacing)*8);height:calc(var(--skippr-spacing)*8)}.skippr\\:size-9{width:calc(var(--skippr-spacing)*9);height:calc(var(--skippr-spacing)*9)}.skippr\\:size-10{width:calc(var(--skippr-spacing)*10);height:calc(var(--skippr-spacing)*10)}.skippr\\:size-12{width:calc(var(--skippr-spacing)*12);height:calc(var(--skippr-spacing)*12)}.skippr\\:size-\\[3px\\]{width:3px;height:3px}.skippr\\:size-\\[4px\\]{width:4px;height:4px}.skippr\\:size-\\[5px\\]{width:5px;height:5px}.skippr\\:size-\\[6px\\]{width:6px;height:6px}.skippr\\:size-\\[7px\\]{width:7px;height:7px}.skippr\\:size-\\[8px\\]{width:8px;height:8px}.skippr\\:size-\\[9px\\]{width:9px;height:9px}.skippr\\:size-\\[10px\\]{width:10px;height:10px}.skippr\\:size-\\[11px\\]{width:11px;height:11px}.skippr\\:size-\\[12px\\]{width:12px;height:12px}.skippr\\:size-\\[13px\\]{width:13px;height:13px}.skippr\\:size-\\[14px\\]{width:14px;height:14px}.skippr\\:size-\\[15px\\]{width:15px;height:15px}.skippr\\:size-\\[16px\\]{width:16px;height:16px}.skippr\\:size-\\[17px\\]{width:17px;height:17px}.skippr\\:size-\\[18px\\]{width:18px;height:18px}.skippr\\:size-\\[19px\\]{width:19px;height:19px}.skippr\\:size-\\[20px\\]{width:20px;height:20px}.skippr\\:size-\\[22px\\]{width:22px;height:22px}.skippr\\:size-\\[26px\\]{width:26px;height:26px}.skippr\\:size-\\[28px\\]{width:28px;height:28px}.skippr\\:size-\\[30px\\]{width:30px;height:30px}.skippr\\:size-\\[32px\\]{width:32px;height:32px}.skippr\\:size-\\[34px\\]{width:34px;height:34px}.skippr\\:size-\\[38px\\]{width:38px;height:38px}.skippr\\:size-\\[46px\\]{width:46px;height:46px}.skippr\\:size-full{width:100%;height:100%}.skippr\\:h-0{height:calc(var(--skippr-spacing)*0)}.skippr\\:h-1{height:calc(var(--skippr-spacing)*1)}.skippr\\:h-1\\.5{height:calc(var(--skippr-spacing)*1.5)}.skippr\\:h-2{height:calc(var(--skippr-spacing)*2)}.skippr\\:h-3{height:calc(var(--skippr-spacing)*3)}.skippr\\:h-3\\.5{height:calc(var(--skippr-spacing)*3.5)}.skippr\\:h-5{height:calc(var(--skippr-spacing)*5)}.skippr\\:h-6{height:calc(var(--skippr-spacing)*6)}.skippr\\:h-7{height:calc(var(--skippr-spacing)*7)}.skippr\\:h-8{height:calc(var(--skippr-spacing)*8)}.skippr\\:h-9{height:calc(var(--skippr-spacing)*9)}.skippr\\:h-10{height:calc(var(--skippr-spacing)*10)}.skippr\\:h-\\[5px\\]{height:5px}.skippr\\:h-\\[11px\\]{height:11px}.skippr\\:h-\\[14px\\]{height:14px}.skippr\\:h-\\[16px\\]{height:16px}.skippr\\:h-\\[18\\.5px\\]{height:18.5px}.skippr\\:h-\\[18px\\]{height:18px}.skippr\\:h-\\[22px\\]{height:22px}.skippr\\:h-\\[24px\\]{height:24px}.skippr\\:h-\\[26px\\]{height:26px}.skippr\\:h-\\[36px\\]{height:36px}.skippr\\:h-\\[38px\\]{height:38px}.skippr\\:h-\\[48px\\]{height:48px}.skippr\\:h-\\[54px\\]{height:54px}.skippr\\:h-full{height:100%}.skippr\\:h-px{height:1px}.skippr\\:max-h-\\[132px\\]{max-height:132px}.skippr\\:min-h-0{min-height:calc(var(--skippr-spacing)*0)}.skippr\\:min-h-11{min-height:calc(var(--skippr-spacing)*11)}.skippr\\:min-h-\\[16px\\]{min-height:16px}.skippr\\:w-0{width:calc(var(--skippr-spacing)*0)}.skippr\\:w-3\\.5{width:calc(var(--skippr-spacing)*3.5)}.skippr\\:w-5{width:calc(var(--skippr-spacing)*5)}.skippr\\:w-6{width:calc(var(--skippr-spacing)*6)}.skippr\\:w-7{width:calc(var(--skippr-spacing)*7)}.skippr\\:w-10{width:calc(var(--skippr-spacing)*10)}.skippr\\:w-40{width:calc(var(--skippr-spacing)*40)}.skippr\\:w-\\[2\\.5px\\]{width:2.5px}.skippr\\:w-\\[2px\\]{width:2px}.skippr\\:w-\\[3px\\]{width:3px}.skippr\\:w-\\[9px\\]{width:9px}.skippr\\:w-\\[14px\\]{width:14px}.skippr\\:w-\\[15\\.4px\\]{width:15.4px}.skippr\\:w-\\[15px\\]{width:15px}.skippr\\:w-\\[16px\\]{width:16px}.skippr\\:w-\\[22px\\]{width:22px}.skippr\\:w-\\[36px\\]{width:36px}.skippr\\:w-\\[38px\\]{width:38px}.skippr\\:w-\\[50px\\]{width:50px}.skippr\\:w-\\[120px\\]{width:120px}.skippr\\:w-\\[148px\\]{width:148px}.skippr\\:w-\\[150px\\]{width:150px}.skippr\\:w-\\[156px\\]{width:156px}.skippr\\:w-\\[220px\\]{width:220px}.skippr\\:w-\\[225px\\]{width:225px}.skippr\\:w-\\[240px\\]{width:240px}.skippr\\:w-\\[255px\\]{width:255px}.skippr\\:w-\\[320px\\]{width:320px}.skippr\\:w-fit{width:fit-content}.skippr\\:w-full{width:100%}.skippr\\:w-px{width:1px}.skippr\\:max-w-64{max-width:calc(var(--skippr-spacing)*64)}.skippr\\:max-w-72{max-width:calc(var(--skippr-spacing)*72)}.skippr\\:max-w-\\[80\\%\\]{max-width:80%}.skippr\\:max-w-\\[280px\\]{max-width:280px}.skippr\\:min-w-0{min-width:calc(var(--skippr-spacing)*0)}.skippr\\:min-w-11{min-width:calc(var(--skippr-spacing)*11)}.skippr\\:min-w-\\[96px\\]{min-width:96px}.skippr\\:flex-1{flex:1}.skippr\\:shrink-0{flex-shrink:0}.skippr\\:origin-bottom{transform-origin:bottom}.skippr\\:origin-bottom-left{transform-origin:0 100%}.skippr\\:origin-bottom-right{transform-origin:100% 100%}.skippr\\:origin-center{transform-origin:50%}.skippr\\:origin-left{transform-origin:0}.skippr\\:origin-right{transform-origin:100%}.skippr\\:origin-top{transform-origin:top}.skippr\\:origin-top-left{transform-origin:0 0}.skippr\\:origin-top-right{transform-origin:100% 0}.skippr\\:-translate-x-1\\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.skippr\\:-translate-x-3{--tw-translate-x:calc(var(--skippr-spacing)*-3);translate:var(--tw-translate-x)var(--tw-translate-y)}.skippr\\:-translate-x-7{--tw-translate-x:calc(var(--skippr-spacing)*-7);translate:var(--tw-translate-x)var(--tw-translate-y)}.skippr\\:translate-x-3{--tw-translate-x:calc(var(--skippr-spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.skippr\\:translate-x-7{--tw-translate-x:calc(var(--skippr-spacing)*7);translate:var(--tw-translate-x)var(--tw-translate-y)}.skippr\\:-translate-y-\\[4px\\]{--tw-translate-y:calc(4px*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.skippr\\:scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.skippr\\:scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.skippr\\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.skippr\\:scale-\\[0\\.94\\]{scale:.94}.skippr\\:-rotate-90{rotate:-90deg}.skippr\\:rotate-45{rotate:45deg}.skippr\\:rotate-\\[225deg\\]{rotate:225deg}.skippr\\:\\[animation\\:skippr-agent-in_200ms_ease-out\\]{animation:.2s ease-out skippr-agent-in}.skippr\\:\\[animation\\:skippr-agent-in_200ms_ease-out_240ms_both\\]{animation:.2s ease-out .24s both skippr-agent-in}.skippr\\:\\[animation\\:skippr-banner-look_2\\.4s_ease-in-out_infinite\\]{animation:2.4s ease-in-out infinite skippr-banner-look}.skippr\\:\\[animation\\:skippr-block-reveal_320ms_cubic-bezier\\(0\\.22\\,1\\,0\\.36\\,1\\)\\]{animation:.32s cubic-bezier(.22,1,.36,1) skippr-block-reveal}.skippr\\:\\[animation\\:skippr-breathe_1\\.1s_ease-in-out_0\\.18s_infinite\\]{animation:1.1s ease-in-out .18s infinite skippr-breathe}.skippr\\:\\[animation\\:skippr-breathe_1\\.1s_ease-in-out_0\\.36s_infinite\\]{animation:1.1s ease-in-out .36s infinite skippr-breathe}.skippr\\:\\[animation\\:skippr-breathe_1\\.1s_ease-in-out_0s_infinite\\]{animation:1.1s ease-in-out infinite skippr-breathe}.skippr\\:\\[animation\\:skippr-evaporate_3\\.2s_ease-in_forwards\\]{animation:3.2s ease-in forwards skippr-evaporate}.skippr\\:\\[animation\\:skippr-fade-in_0\\.2s_ease\\]{animation:.2s skippr-fade-in}.skippr\\:\\[animation\\:skippr-fade-in_0\\.16s_ease\\]{animation:.16s skippr-fade-in}.skippr\\:\\[animation\\:skippr-fade-in_0\\.22s_ease\\]{animation:.22s skippr-fade-in}.skippr\\:\\[animation\\:skippr-fade-in_0\\.24s_cubic-bezier\\(0\\.22\\,1\\,0\\.36\\,1\\)\\]{animation:.24s cubic-bezier(.22,1,.36,1) skippr-fade-in}.skippr\\:\\[animation\\:skippr-fade-in_0\\.25s_ease\\]{animation:.25s skippr-fade-in}.skippr\\:\\[animation\\:skippr-fade-out_0\\.18s_ease-in_forwards\\]{animation:.18s ease-in forwards skippr-fade-out}.skippr\\:\\[animation\\:skippr-finger-tap_1\\.1s_ease-in-out_infinite\\]{animation:1.1s ease-in-out infinite skippr-finger-tap}.skippr\\:\\[animation\\:skippr-mote-rise_1\\.6s_ease-out_infinite\\]{animation:1.6s ease-out infinite skippr-mote-rise}.skippr\\:\\[animation\\:skippr-orb-in_320ms_cubic-bezier\\(0\\.34\\,1\\.3\\,0\\.64\\,1\\)\\]{animation:.32s cubic-bezier(.34,1.3,.64,1) skippr-orb-in}.skippr\\:\\[animation\\:skippr-pop_0\\.2s_ease\\]{animation:.2s skippr-pop}.skippr\\:\\[animation\\:skippr-stage-fade_240ms_ease-out\\]{animation:.24s ease-out skippr-stage-fade}.skippr\\:\\[animation\\:skippr-tip-in_360ms_cubic-bezier\\(0\\.34\\,1\\.3\\,0\\.64\\,1\\)\\]{animation:.36s cubic-bezier(.34,1.3,.64,1) skippr-tip-in}.skippr\\:\\[animation\\:skippr-tip-in_360ms_cubic-bezier\\(0\\.34\\,1\\.3\\,0\\.64\\,1\\)_backwards\\]{animation:.36s cubic-bezier(.34,1.3,.64,1) backwards skippr-tip-in}.skippr\\:\\[animation\\:skippr-toolset-pop_280ms_cubic-bezier\\(0\\.22\\,1\\,0\\.36\\,1\\)\\]{animation:.28s cubic-bezier(.22,1,.36,1) skippr-toolset-pop}.skippr\\:\\[animation\\:skippr-toolset-pop_440ms_cubic-bezier\\(0\\.22\\,1\\,0\\.36\\,1\\)\\]{animation:.44s cubic-bezier(.22,1,.36,1) skippr-toolset-pop}.skippr\\:animate-\\[skippr-banner-look_2\\.4s_ease-in-out_infinite\\]{animation:2.4s ease-in-out infinite skippr-banner-look}.skippr\\:animate-\\[skippr-bubble-in_0\\.28s_ease-out\\]{animation:.28s ease-out skippr-bubble-in}.skippr\\:animate-\\[skippr-fade-in_0\\.3s_ease-out\\]{animation:.3s ease-out skippr-fade-in}.skippr\\:animate-\\[skippr-pill-content_0\\.22s_ease-out\\]{animation:.22s ease-out skippr-pill-content}.skippr\\:animate-\\[skippr-speak_1\\.1s_ease-in-out_0\\.3s_infinite\\]{animation:1.1s ease-in-out .3s infinite skippr-speak}.skippr\\:animate-\\[skippr-speak_1\\.1s_ease-in-out_0\\.6s_infinite\\]{animation:1.1s ease-in-out .6s infinite skippr-speak}.skippr\\:animate-\\[skippr-speak_1\\.1s_ease-in-out_0\\.15s_infinite\\]{animation:1.1s ease-in-out .15s infinite skippr-speak}.skippr\\:animate-\\[skippr-speak_1\\.1s_ease-in-out_0\\.45s_infinite\\]{animation:1.1s ease-in-out .45s infinite skippr-speak}.skippr\\:animate-\\[skippr-speak_1\\.1s_ease-in-out_infinite\\]{animation:1.1s ease-in-out infinite skippr-speak}.skippr\\:animate-bounce{animation:var(--skippr-animate-bounce)}.skippr\\:animate-ping{animation:var(--skippr-animate-ping)}.skippr\\:animate-skippr-annotation-pulse{animation:1.8s ease-in-out infinite skippr-annotation-pulse}.skippr\\:animate-skippr-click-ping{animation:.5s ease-out forwards skippr-click-ping}.skippr\\:animate-skippr-cursor-pop{animation:.22s ease-out skippr-cursor-pop}.skippr\\:animate-skippr-flow{animation:3.6s linear infinite skippr-flow}.skippr\\:animate-skippr-press{animation:.5s ease-in-out skippr-press}.skippr\\:animate-skippr-ptt-transmit{animation:1.4s ease-out infinite skippr-ptt-transmit}.skippr\\:animate-skippr-rec-ring{animation:2s ease-out infinite skippr-rec-ring}.skippr\\:animate-skippr-tab-fade{animation:.2s ease-out skippr-tab-fade}.skippr\\:animate-skippr-thinking-dot{animation:1.2s ease-in-out infinite skippr-thinking-dot}.skippr\\:animate-skippr-voice-pulse{animation:1.6s ease-out infinite skippr-voice-pulse}.skippr\\:animate-spin{animation:var(--skippr-animate-spin)}.skippr\\:cursor-default{cursor:default}.skippr\\:cursor-grab{cursor:grab}.skippr\\:cursor-not-allowed{cursor:not-allowed}.skippr\\:cursor-pointer{cursor:pointer}.skippr\\:touch-none{touch-action:none}.skippr\\:resize-none{resize:none}.skippr\\:appearance-none{appearance:none}.skippr\\:flex-col{flex-direction:column}.skippr\\:flex-col-reverse{flex-direction:column-reverse}.skippr\\:flex-row{flex-direction:row}.skippr\\:flex-row-reverse{flex-direction:row-reverse}.skippr\\:items-baseline{align-items:baseline}.skippr\\:items-center{align-items:center}.skippr\\:items-end{align-items:flex-end}.skippr\\:items-start{align-items:flex-start}.skippr\\:justify-between{justify-content:space-between}.skippr\\:justify-center{justify-content:center}.skippr\\:justify-end{justify-content:flex-end}.skippr\\:justify-start{justify-content:flex-start}.skippr\\:gap-0\\.5{gap:calc(var(--skippr-spacing)*.5)}.skippr\\:gap-1{gap:calc(var(--skippr-spacing)*1)}.skippr\\:gap-1\\.5{gap:calc(var(--skippr-spacing)*1.5)}.skippr\\:gap-2{gap:calc(var(--skippr-spacing)*2)}.skippr\\:gap-2\\.5{gap:calc(var(--skippr-spacing)*2.5)}.skippr\\:gap-3{gap:calc(var(--skippr-spacing)*3)}.skippr\\:gap-\\[1px\\]{gap:1px}.skippr\\:gap-\\[2px\\]{gap:2px}.skippr\\:gap-\\[3px\\]{gap:3px}.skippr\\:gap-\\[4px\\]{gap:4px}.skippr\\:gap-\\[5px\\]{gap:5px}.skippr\\:gap-\\[6px\\]{gap:6px}.skippr\\:gap-\\[7px\\]{gap:7px}.skippr\\:gap-\\[8px\\]{gap:8px}.skippr\\:gap-\\[9px\\]{gap:9px}.skippr\\:gap-\\[10px\\]{gap:10px}.skippr\\:gap-\\[14px\\]{gap:14px}.skippr\\:gap-px{gap:1px}:where(.skippr\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--skippr-spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--skippr-spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.skippr\\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--skippr-spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--skippr-spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.skippr\\:space-y-\\[6px\\]>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(6px*var(--tw-space-y-reverse));margin-block-end:calc(6px*calc(1 - var(--tw-space-y-reverse)))}.skippr\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.skippr\\:overflow-hidden{overflow:hidden}.skippr\\:overflow-visible{overflow:visible}.skippr\\:overflow-y-auto{overflow-y:auto}.skippr\\:overscroll-contain{overscroll-behavior:contain}.skippr\\:rounded{border-radius:.25rem}.skippr\\:rounded-2xl{border-radius:1.125rem}.skippr\\:rounded-\\[1rem\\]{border-radius:1rem}.skippr\\:rounded-\\[4px\\]{border-radius:4px}.skippr\\:rounded-\\[5px\\]{border-radius:5px}.skippr\\:rounded-\\[10px\\]{border-radius:10px}.skippr\\:rounded-\\[11px\\]{border-radius:11px}.skippr\\:rounded-\\[12px\\]{border-radius:12px}.skippr\\:rounded-\\[14px\\]{border-radius:14px}.skippr\\:rounded-\\[16px\\]{border-radius:16px}.skippr\\:rounded-\\[20px\\]{border-radius:20px}.skippr\\:rounded-full{border-radius:3.40282e38px}.skippr\\:rounded-md{border-radius:.5rem}.skippr\\:rounded-sm{border-radius:.375rem}.skippr\\:rounded-xl{border-radius:.875rem}.skippr\\:rounded-t-\\[6px\\]{border-top-left-radius:6px;border-top-right-radius:6px}.skippr\\:rounded-t-\\[18px\\]{border-top-left-radius:18px;border-top-right-radius:18px}.skippr\\:rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.skippr\\:rounded-l-\\[6px\\]{border-top-left-radius:6px;border-bottom-left-radius:6px}.skippr\\:rounded-l-\\[18px\\]{border-top-left-radius:18px;border-bottom-left-radius:18px}.skippr\\:rounded-l-full{border-top-left-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.skippr\\:rounded-tl-\\[6px\\]{border-top-left-radius:6px}.skippr\\:rounded-tl-md{border-top-left-radius:.5rem}.skippr\\:rounded-r-\\[6px\\]{border-top-right-radius:6px;border-bottom-right-radius:6px}.skippr\\:rounded-r-\\[18px\\]{border-top-right-radius:18px;border-bottom-right-radius:18px}.skippr\\:rounded-r-full{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.skippr\\:rounded-tr-\\[6px\\]{border-top-right-radius:6px}.skippr\\:rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.skippr\\:rounded-b-\\[18px\\]{border-bottom-right-radius:18px;border-bottom-left-radius:18px}.skippr\\:rounded-b-full{border-bottom-right-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.skippr\\:rounded-bl-\\[6px\\]{border-bottom-left-radius:6px}.skippr\\:border{border-style:var(--tw-border-style);border-width:1px}.skippr\\:border-0{border-style:var(--tw-border-style);border-width:0}.skippr\\:border-2{border-style:var(--tw-border-style);border-width:2px}.skippr\\:border-\\[2\\.5px\\]{border-style:var(--tw-border-style);border-width:2.5px}.skippr\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.skippr\\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.skippr\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.skippr\\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.skippr\\:border-none{--tw-border-style:none;border-style:none}.skippr\\:border-\\[\\#d8d3ca\\]{border-color:#d8d3ca}.skippr\\:border-\\[rgba\\(45\\,45\\,63\\,0\\.1\\)\\]{border-color:#2d2d3f1a}.skippr\\:border-\\[rgba\\(45\\,45\\,63\\,0\\.06\\)\\]{border-color:#2d2d3f0f}.skippr\\:border-\\[rgba\\(45\\,45\\,63\\,0\\.08\\)\\]{border-color:#2d2d3f14}.skippr\\:border-\\[rgba\\(45\\,45\\,63\\,0\\.12\\)\\]{border-color:#2d2d3f1f}.skippr\\:border-\\[rgba\\(45\\,45\\,63\\,0\\.14\\)\\]{border-color:#2d2d3f24}.skippr\\:border-\\[rgba\\(45\\,45\\,63\\,0\\.28\\)\\]{border-color:#2d2d3f47}.skippr\\:border-\\[var\\(--skippr-brand-ring\\)\\]{border-color:var(--skippr-brand-ring)}.skippr\\:border-black\\/25{border-color:var(--skippr-color-black)}@supports (color:color-mix(in lab, red, red)){.skippr\\:border-black\\/25{border-color:color-mix(in oklab,var(--skippr-color-black)25%,transparent)}}.skippr\\:border-border{border-color:oklch(92.3% .003 48.717)}.skippr\\:border-brand{border-color:var(--skippr-brand,#2bc0ae)}.skippr\\:border-input{border-color:oklch(92.3% .003 48.717)}.skippr\\:border-primary,.skippr\\:border-primary\\/20{border-color:var(--skippr-brand,#2d2b3d)}@supports (color:color-mix(in lab, red, red)){.skippr\\:border-primary\\/20{border-color:color-mix(in oklab,var(--skippr-brand,#2d2b3d)20%,transparent)}}.skippr\\:border-transparent{border-color:#0000}.skippr\\:border-white,.skippr\\:border-white\\/30{border-color:var(--skippr-color-white)}@supports (color:color-mix(in lab, red, red)){.skippr\\:border-white\\/30{border-color:color-mix(in oklab,var(--skippr-color-white)30%,transparent)}}.skippr\\:border-t-brand{border-top-color:var(--skippr-brand,#2bc0ae)}.skippr\\:border-t-white{border-top-color:var(--skippr-color-white)}.skippr\\:border-r-border{border-right-color:oklch(92.3% .003 48.717)}.skippr\\:border-l-border{border-left-color:oklch(92.3% .003 48.717)}.skippr\\:bg-\\[\\#2D2D3F\\]{background-color:#2d2d3f}.skippr\\:bg-\\[\\#F1EFEA\\]{background-color:#f1efea}.skippr\\:bg-\\[\\#b9b4ab\\]{background-color:#b9b4ab}.skippr\\:bg-\\[\\#dc2626\\]{background-color:#dc2626}.skippr\\:bg-\\[\\#eeeae4\\]{background-color:#eeeae4}.skippr\\:bg-\\[\\#f2f0eb\\]{background-color:#f2f0eb}.skippr\\:bg-\\[\\#f4ecd8\\]{background-color:#f4ecd8}.skippr\\:bg-\\[\\#f4f2ee\\]{background-color:#f4f2ee}.skippr\\:bg-\\[rgba\\(45\\,45\\,63\\,0\\.03\\)\\]{background-color:#2d2d3f08}.skippr\\:bg-amber-50{background-color:var(--skippr-color-amber-50)}.skippr\\:bg-amber-400{background-color:var(--skippr-color-amber-400)}.skippr\\:bg-background{background-color:oklch(100% 0 0)}.skippr\\:bg-black\\/\\[0\\.07\\]{background-color:var(--skippr-color-black)}@supports (color:color-mix(in lab, red, red)){.skippr\\:bg-black\\/\\[0\\.07\\]{background-color:color-mix(in oklab,var(--skippr-color-black)7.0%,transparent)}}.skippr\\:bg-brand,.skippr\\:bg-brand\\/50{background-color:var(--skippr-brand,#2bc0ae)}@supports (color:color-mix(in lab, red, red)){.skippr\\:bg-brand\\/50{background-color:color-mix(in oklab,var(--skippr-brand,#2bc0ae)50%,transparent)}}.skippr\\:bg-bubble{background-color:#2d2b3d}.skippr\\:bg-bubble\\/95{background-color:oklab(29.9244% .0107414 -.0305411/.95)}.skippr\\:bg-card{background-color:oklch(100% 0 0)}.skippr\\:bg-current{background-color:currentColor}.skippr\\:bg-destructive{background-color:#d94f4f}.skippr\\:bg-emerald-400{background-color:var(--skippr-color-emerald-400)}.skippr\\:bg-foreground{background-color:oklch(14.7% .004 49.25)}.skippr\\:bg-foreground\\/10{background-color:oklab(14.7% .00261104 .00303026/.1)}.skippr\\:bg-launcher{background-color:#2d2d3f}.skippr\\:bg-muted-foreground\\/40{background-color:oklab(55.3% .00687528 .0110332/.4)}.skippr\\:bg-neutral-100{background-color:var(--skippr-color-neutral-100)}.skippr\\:bg-primary,.skippr\\:bg-primary\\/10{background-color:var(--skippr-brand,#2d2b3d)}@supports (color:color-mix(in lab, red, red)){.skippr\\:bg-primary\\/10{background-color:color-mix(in oklab,var(--skippr-brand,#2d2b3d)10%,transparent)}}.skippr\\:bg-red-50{background-color:var(--skippr-color-red-50)}.skippr\\:bg-red-100{background-color:var(--skippr-color-red-100)}.skippr\\:bg-red-500{background-color:var(--skippr-color-red-500)}.skippr\\:bg-secondary{background-color:#ffdfb5}.skippr\\:bg-transparent{background-color:#0000}.skippr\\:bg-white,.skippr\\:bg-white\\/70{background-color:var(--skippr-color-white)}@supports (color:color-mix(in lab, red, red)){.skippr\\:bg-white\\/70{background-color:color-mix(in oklab,var(--skippr-color-white)70%,transparent)}}.skippr\\:bg-white\\/80{background-color:var(--skippr-color-white)}@supports (color:color-mix(in lab, red, red)){.skippr\\:bg-white\\/80{background-color:color-mix(in oklab,var(--skippr-color-white)80%,transparent)}}.skippr\\:bg-white\\/95{background-color:var(--skippr-color-white)}@supports (color:color-mix(in lab, red, red)){.skippr\\:bg-white\\/95{background-color:color-mix(in oklab,var(--skippr-color-white)95%,transparent)}}.skippr\\:fill-brand{fill:var(--skippr-brand,#2bc0ae)}.skippr\\:fill-current{fill:currentColor}.skippr\\:fill-primary\\/30{fill:var(--skippr-brand,#2d2b3d)}@supports (color:color-mix(in lab, red, red)){.skippr\\:fill-primary\\/30{fill:color-mix(in oklab,var(--skippr-brand,#2d2b3d)30%,transparent)}}.skippr\\:fill-white{fill:var(--skippr-color-white)}.skippr\\:stroke-black\\/15{stroke:var(--skippr-color-black)}@supports (color:color-mix(in lab, red, red)){.skippr\\:stroke-black\\/15{stroke:color-mix(in oklab,var(--skippr-color-black)15%,transparent)}}.skippr\\:stroke-bubble{stroke:#2d2b3d}.skippr\\:object-contain{object-fit:contain}.skippr\\:object-cover{object-fit:cover}.skippr\\:p-0{padding:calc(var(--skippr-spacing)*0)}.skippr\\:p-1\\.5{padding:calc(var(--skippr-spacing)*1.5)}.skippr\\:p-2{padding:calc(var(--skippr-spacing)*2)}.skippr\\:p-3{padding:calc(var(--skippr-spacing)*3)}.skippr\\:p-3\\.5{padding:calc(var(--skippr-spacing)*3.5)}.skippr\\:p-4{padding:calc(var(--skippr-spacing)*4)}.skippr\\:p-\\[2px\\]{padding:2px}.skippr\\:p-\\[3px\\]{padding:3px}.skippr\\:p-\\[9px\\]{padding:9px}.skippr\\:p-\\[14px\\]{padding:14px}.skippr\\:px-1{padding-inline:calc(var(--skippr-spacing)*1)}.skippr\\:px-1\\.5{padding-inline:calc(var(--skippr-spacing)*1.5)}.skippr\\:px-2{padding-inline:calc(var(--skippr-spacing)*2)}.skippr\\:px-2\\.5{padding-inline:calc(var(--skippr-spacing)*2.5)}.skippr\\:px-3{padding-inline:calc(var(--skippr-spacing)*3)}.skippr\\:px-3\\.5{padding-inline:calc(var(--skippr-spacing)*3.5)}.skippr\\:px-4{padding-inline:calc(var(--skippr-spacing)*4)}.skippr\\:px-5{padding-inline:calc(var(--skippr-spacing)*5)}.skippr\\:px-6{padding-inline:calc(var(--skippr-spacing)*6)}.skippr\\:px-8{padding-inline:calc(var(--skippr-spacing)*8)}.skippr\\:px-\\[5px\\]{padding-inline:5px}.skippr\\:px-\\[7px\\]{padding-inline:7px}.skippr\\:px-\\[9px\\]{padding-inline:9px}.skippr\\:px-\\[10px\\]{padding-inline:10px}.skippr\\:px-\\[11px\\]{padding-inline:11px}.skippr\\:px-\\[12px\\]{padding-inline:12px}.skippr\\:px-\\[18px\\]{padding-inline:18px}.skippr\\:px-\\[22px\\]{padding-inline:22px}.skippr\\:py-0\\.5{padding-block:calc(var(--skippr-spacing)*.5)}.skippr\\:py-1{padding-block:calc(var(--skippr-spacing)*1)}.skippr\\:py-1\\.5{padding-block:calc(var(--skippr-spacing)*1.5)}.skippr\\:py-2{padding-block:calc(var(--skippr-spacing)*2)}.skippr\\:py-2\\.5{padding-block:calc(var(--skippr-spacing)*2.5)}.skippr\\:py-3{padding-block:calc(var(--skippr-spacing)*3)}.skippr\\:py-4{padding-block:calc(var(--skippr-spacing)*4)}.skippr\\:py-6{padding-block:calc(var(--skippr-spacing)*6)}.skippr\\:py-\\[1px\\]{padding-block:1px}.skippr\\:py-\\[3px\\]{padding-block:3px}.skippr\\:py-\\[4px\\]{padding-block:4px}.skippr\\:py-\\[5px\\]{padding-block:5px}.skippr\\:py-\\[6px\\]{padding-block:6px}.skippr\\:py-\\[7px\\]{padding-block:7px}.skippr\\:py-\\[13px\\]{padding-block:13px}.skippr\\:pt-1{padding-top:calc(var(--skippr-spacing)*1)}.skippr\\:pt-5{padding-top:calc(var(--skippr-spacing)*5)}.skippr\\:pt-\\[8px\\]{padding-top:8px}.skippr\\:pt-\\[9px\\]{padding-top:9px}.skippr\\:pt-\\[10px\\]{padding-top:10px}.skippr\\:pt-\\[18px\\]{padding-top:18px}.skippr\\:pt-\\[22px\\]{padding-top:22px}.skippr\\:pr-2\\.5{padding-right:calc(var(--skippr-spacing)*2.5)}.skippr\\:pr-3{padding-right:calc(var(--skippr-spacing)*3)}.skippr\\:pr-\\[5px\\]{padding-right:5px}.skippr\\:pr-\\[6px\\]{padding-right:6px}.skippr\\:pr-\\[9px\\]{padding-right:9px}.skippr\\:pr-\\[10px\\]{padding-right:10px}.skippr\\:pb-0\\.5{padding-bottom:calc(var(--skippr-spacing)*.5)}.skippr\\:pb-1{padding-bottom:calc(var(--skippr-spacing)*1)}.skippr\\:pb-4{padding-bottom:calc(var(--skippr-spacing)*4)}.skippr\\:pb-\\[8px\\]{padding-bottom:8px}.skippr\\:pb-\\[10px\\]{padding-bottom:10px}.skippr\\:pb-\\[22px\\]{padding-bottom:22px}.skippr\\:pl-1\\.5{padding-left:calc(var(--skippr-spacing)*1.5)}.skippr\\:pl-2\\.5{padding-left:calc(var(--skippr-spacing)*2.5)}.skippr\\:pl-3\\.5{padding-left:calc(var(--skippr-spacing)*3.5)}.skippr\\:pl-\\[9px\\]{padding-left:9px}.skippr\\:pl-\\[13px\\]{padding-left:13px}.skippr\\:text-center{text-align:center}.skippr\\:text-left{text-align:left}.skippr\\:font-mono{font-family:var(--skippr-font-mono)}.skippr\\:text-sm{font-size:var(--skippr-text-sm);line-height:var(--tw-leading,var(--skippr-text-sm--line-height))}.skippr\\:text-xs{font-size:var(--skippr-text-xs);line-height:var(--tw-leading,var(--skippr-text-xs--line-height))}.skippr\\:text-\\[8\\.5px\\]{font-size:8.5px}.skippr\\:text-\\[9\\.5px\\]{font-size:9.5px}.skippr\\:text-\\[9px\\]{font-size:9px}.skippr\\:text-\\[10\\.5px\\]{font-size:10.5px}.skippr\\:text-\\[10px\\]{font-size:10px}.skippr\\:text-\\[11\\.5px\\]{font-size:11.5px}.skippr\\:text-\\[11px\\]{font-size:11px}.skippr\\:text-\\[12\\.5px\\]{font-size:12.5px}.skippr\\:text-\\[12px\\]{font-size:12px}.skippr\\:text-\\[13px\\]{font-size:13px}.skippr\\:text-\\[14px\\]{font-size:14px}.skippr\\:text-\\[16px\\]{font-size:16px}.skippr\\:text-\\[18px\\]{font-size:18px}.skippr\\:leading-5{--tw-leading:calc(var(--skippr-spacing)*5);line-height:calc(var(--skippr-spacing)*5)}.skippr\\:leading-\\[1\\.2\\]{--tw-leading:1.2;line-height:1.2}.skippr\\:leading-\\[1\\.25\\]{--tw-leading:1.25;line-height:1.25}.skippr\\:leading-none{--tw-leading:1;line-height:1}.skippr\\:leading-relaxed{--tw-leading:var(--skippr-leading-relaxed);line-height:var(--skippr-leading-relaxed)}.skippr\\:leading-snug{--tw-leading:var(--skippr-leading-snug);line-height:var(--skippr-leading-snug)}.skippr\\:font-bold{--tw-font-weight:var(--skippr-font-weight-bold);font-weight:var(--skippr-font-weight-bold)}.skippr\\:font-medium{--tw-font-weight:var(--skippr-font-weight-medium);font-weight:var(--skippr-font-weight-medium)}.skippr\\:font-semibold{--tw-font-weight:var(--skippr-font-weight-semibold);font-weight:var(--skippr-font-weight-semibold)}.skippr\\:tracking-\\[-0\\.01em\\]{--tw-tracking:-.01em;letter-spacing:-.01em}.skippr\\:tracking-\\[-0\\.0125em\\]{--tw-tracking:-.0125em;letter-spacing:-.0125em}.skippr\\:tracking-\\[0\\.02em\\]{--tw-tracking:.02em;letter-spacing:.02em}.skippr\\:tracking-\\[0\\.05em\\]{--tw-tracking:.05em;letter-spacing:.05em}.skippr\\:whitespace-nowrap{white-space:nowrap}.skippr\\:text-\\[\\#2D2D3F\\]{color:#2d2d3f}.skippr\\:text-\\[\\#5a5650\\]{color:#5a5650}.skippr\\:text-\\[\\#5c5850\\]{color:#5c5850}.skippr\\:text-\\[\\#6b6660\\]{color:#6b6660}.skippr\\:text-\\[\\#6b6875\\]{color:#6b6875}.skippr\\:text-\\[\\#8b877f\\]{color:#8b877f}.skippr\\:text-\\[\\#92400e\\]{color:#92400e}.skippr\\:text-\\[\\#a8a49c\\]{color:#a8a49c}.skippr\\:text-\\[\\#b8b4ac\\]{color:#b8b4ac}.skippr\\:text-\\[\\#c9c5bd\\]{color:#c9c5bd}.skippr\\:text-\\[\\#cbc7bf\\]{color:#cbc7bf}.skippr\\:text-\\[\\#dc2626\\]{color:#dc2626}.skippr\\:text-\\[var\\(--skippr-brand-deep\\)\\]{color:var(--skippr-brand-deep)}.skippr\\:text-amber-700{color:var(--skippr-color-amber-700)}.skippr\\:text-amber-950{color:var(--skippr-color-amber-950)}.skippr\\:text-background{color:oklch(100% 0 0)}.skippr\\:text-black,.skippr\\:text-black\\/40{color:var(--skippr-color-black)}@supports (color:color-mix(in lab, red, red)){.skippr\\:text-black\\/40{color:color-mix(in oklab,var(--skippr-color-black)40%,transparent)}}.skippr\\:text-brand{color:var(--skippr-brand,#2bc0ae)}.skippr\\:text-brand-on-white{color:var(--skippr-brand-on-white,#1e8478)}.skippr\\:text-bubble{color:#2d2b3d}.skippr\\:text-chart-3{color:oklch(66.6% .179 58.318)}.skippr\\:text-destructive{color:#d94f4f}.skippr\\:text-foreground{color:oklch(14.7% .004 49.25)}.skippr\\:text-muted-foreground{color:oklch(55.3% .013 58.071)}.skippr\\:text-muted-foreground\\/30{color:oklab(55.3% .00687528 .0110332/.3)}.skippr\\:text-muted-foreground\\/60{color:oklab(55.3% .00687528 .0110332/.6)}.skippr\\:text-neutral-500{color:var(--skippr-color-neutral-500)}.skippr\\:text-neutral-700{color:var(--skippr-color-neutral-700)}.skippr\\:text-primary{color:var(--skippr-brand,#2d2b3d)}.skippr\\:text-primary-foreground{color:var(--skippr-brand-foreground,#fff)}.skippr\\:text-red-400{color:var(--skippr-color-red-400)}.skippr\\:text-red-600{color:var(--skippr-color-red-600)}.skippr\\:text-red-700{color:var(--skippr-color-red-700)}.skippr\\:text-secondary-foreground{color:#613700}.skippr\\:text-white,.skippr\\:text-white\\/60{color:var(--skippr-color-white)}@supports (color:color-mix(in lab, red, red)){.skippr\\:text-white\\/60{color:color-mix(in oklab,var(--skippr-color-white)60%,transparent)}}.skippr\\:capitalize{text-transform:capitalize}.skippr\\:uppercase{text-transform:uppercase}.skippr\\: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,)}.skippr\\:line-through{text-decoration-line:line-through}.skippr\\:underline{text-decoration-line:underline}.skippr\\:decoration-muted-foreground\\/40{text-decoration-color:oklab(55.3% .00687528 .0110332/.4)}.skippr\\:underline-offset-2,.skippr\\:underline-offset-\\[2px\\]{text-underline-offset:2px}.skippr\\:placeholder-muted-foreground::placeholder{color:oklch(55.3% .013 58.071)}.skippr\\:opacity-0{opacity:0}.skippr\\:opacity-40{opacity:.4}.skippr\\:opacity-75{opacity:.75}.skippr\\:opacity-85{opacity:.85}.skippr\\:opacity-100{opacity:1}.skippr\\: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)}.skippr\\:shadow-\\[-3px_0_14px_var\\(--skippr-brand-halo\\)\\]{--tw-shadow:-3px 0 14px var(--tw-shadow-color,var(--skippr-brand-halo));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[-4px_6px_18px_rgba\\(45\\,45\\,63\\,0\\.16\\)\\]{--tw-shadow:-4px 6px 18px var(--tw-shadow-color,#2d2d3f29);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[-6px_8px_30px_rgba\\(15\\,18\\,26\\,0\\.32\\)\\]{--tw-shadow:-6px 8px 30px var(--tw-shadow-color,#0f121a52);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_-3px_14px_var\\(--skippr-brand-halo\\)\\]{--tw-shadow:0 -3px 14px var(--tw-shadow-color,var(--skippr-brand-halo));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_-6px_18px_rgba\\(45\\,45\\,63\\,0\\.16\\)\\]{--tw-shadow:0 -6px 18px var(--tw-shadow-color,#2d2d3f29);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_0_0_1\\.5px_rgba\\(255\\,255\\,255\\,0\\.85\\)\\]{--tw-shadow:0 0 0 1.5px var(--tw-shadow-color,#ffffffd9);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_0_0_1px_rgba\\(45\\,45\\,63\\,0\\.10\\)\\,0_1px_2px_rgba\\(45\\,45\\,63\\,0\\.04\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#2d2d3f1a),0 1px 2px var(--tw-shadow-color,#2d2d3f0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_0_0_4px_var\\(--skippr-brand-ring\\)\\]{--tw-shadow:0 0 0 4px var(--tw-shadow-color,var(--skippr-brand-ring));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_1px_2px_rgba\\(45\\,45\\,63\\,0\\.05\\)\\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#2d2d3f0d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_1px_2px_rgba\\(45\\,45\\,63\\,0\\.08\\)\\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#2d2d3f14);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_2px_6px_rgba\\(0\\,0\\,0\\,0\\.28\\)\\]{--tw-shadow:0 2px 6px var(--tw-shadow-color,#00000047);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_2px_6px_rgba\\(45\\,45\\,63\\,0\\.14\\)\\]{--tw-shadow:0 2px 6px var(--tw-shadow-color,#2d2d3f24);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_3px_14px_var\\(--skippr-brand-halo\\)\\]{--tw-shadow:0 3px 14px var(--tw-shadow-color,var(--skippr-brand-halo));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_4px_12px_rgba\\(0\\,0\\,0\\,0\\.12\\)\\]{--tw-shadow:0 4px 12px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_4px_12px_rgba\\(45\\,45\\,63\\,0\\.1\\)\\]{--tw-shadow:0 4px 12px var(--tw-shadow-color,#2d2d3f1a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_4px_14px_rgba\\(0\\,0\\,0\\,0\\.12\\)\\]{--tw-shadow:0 4px 14px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_4px_14px_rgba\\(239\\,68\\,68\\,0\\.45\\)\\]{--tw-shadow:0 4px 14px var(--tw-shadow-color,#ef444473);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_4px_16px_rgba\\(45\\,43\\,61\\,0\\.45\\)\\,0_2px_4px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\]{--tw-shadow:0 4px 16px var(--tw-shadow-color,#2d2b3d73),0 2px 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)}.skippr\\:shadow-\\[0_6px_16px_rgba\\(45\\,45\\,63\\,0\\.14\\)\\]{--tw-shadow:0 6px 16px var(--tw-shadow-color,#2d2d3f24);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_6px_18px_rgba\\(45\\,45\\,63\\,0\\.16\\)\\]{--tw-shadow:0 6px 18px var(--tw-shadow-color,#2d2d3f29);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_8px_22px_rgba\\(45\\,45\\,63\\,0\\.12\\)\\,0_1px_3px_rgba\\(45\\,45\\,63\\,0\\.04\\)\\]{--tw-shadow:0 8px 22px var(--tw-shadow-color,#2d2d3f1f),0 1px 3px var(--tw-shadow-color,#2d2d3f0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_8px_24px_rgba\\(0\\,0\\,0\\,0\\.18\\)\\]{--tw-shadow:0 8px 24px var(--tw-shadow-color,#0000002e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_8px_24px_rgba\\(45\\,43\\,61\\,0\\.35\\)\\]{--tw-shadow:0 8px 24px var(--tw-shadow-color,#2d2b3d59);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_8px_30px_rgba\\(45\\,45\\,63\\,0\\.14\\)\\,0_2px_6px_rgba\\(45\\,45\\,63\\,0\\.06\\)\\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#2d2d3f24),0 2px 6px var(--tw-shadow-color,#2d2d3f0f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_10px_26px_rgba\\(45\\,45\\,63\\,0\\.13\\)\\,0_2px_6px_rgba\\(45\\,45\\,63\\,0\\.05\\)\\]{--tw-shadow:0 10px 26px var(--tw-shadow-color,#2d2d3f21),0 2px 6px var(--tw-shadow-color,#2d2d3f0d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_10px_28px_rgba\\(45\\,45\\,63\\,0\\.16\\)\\]{--tw-shadow:0 10px 28px var(--tw-shadow-color,#2d2d3f29);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_10px_30px_rgba\\(45\\,45\\,63\\,0\\.14\\)\\,0_0_0_1\\.5px_var\\(--skippr-brand-ring\\)\\]{--tw-shadow:0 10px 30px var(--tw-shadow-color,#2d2d3f24),0 0 0 1.5px var(--tw-shadow-color,var(--skippr-brand-ring));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_10px_32px_rgba\\(0\\,0\\,0\\,0\\.18\\)\\]{--tw-shadow:0 10px 32px var(--tw-shadow-color,#0000002e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_14px_34px_rgba\\(45\\,45\\,63\\,0\\.15\\)\\,0_2px_6px_rgba\\(45\\,45\\,63\\,0\\.06\\)\\]{--tw-shadow:0 14px 34px var(--tw-shadow-color,#2d2d3f26),0 2px 6px var(--tw-shadow-color,#2d2d3f0f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[3px_0_14px_var\\(--skippr-brand-halo\\)\\]{--tw-shadow:3px 0 14px var(--tw-shadow-color,var(--skippr-brand-halo));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[4px_6px_18px_rgba\\(45\\,45\\,63\\,0\\.16\\)\\]{--tw-shadow:4px 6px 18px var(--tw-shadow-color,#2d2d3f29);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[inset_0_0_0_1\\.5px_var\\(--skippr-brand\\,\\#2bc0ae\\)\\]{--tw-shadow:inset 0 0 0 1.5px var(--tw-shadow-color,var(--skippr-brand,#2bc0ae));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-inner{--tw-shadow:inset 0 2px 4px 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)}.skippr\\: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)}.skippr\\:shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\: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)}.skippr\\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:ring-black\\/5{--tw-ring-color:var(--skippr-color-black)}@supports (color:color-mix(in lab, red, red)){.skippr\\:ring-black\\/5{--tw-ring-color:color-mix(in oklab,var(--skippr-color-black)5%,transparent)}}.skippr\\:ring-brand{--tw-ring-color:var(--skippr-brand,#2bc0ae)}.skippr\\:ring-white\\/15{--tw-ring-color:var(--skippr-color-white)}@supports (color:color-mix(in lab, red, red)){.skippr\\:ring-white\\/15{--tw-ring-color:color-mix(in oklab,var(--skippr-color-white)15%,transparent)}}.skippr\\:ring-offset-background{--tw-ring-offset-color:oklch(100% 0 0)}.skippr\\:drop-shadow-\\[0_2px_5px_rgba\\(0\\,0\\,0\\,0\\.4\\)\\]{--tw-drop-shadow-size:drop-shadow(0 2px 5px var(--tw-drop-shadow-color,#0006));--tw-drop-shadow:var(--tw-drop-shadow-size);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,)}.skippr\\:backdrop-blur-sm{--tw-backdrop-blur:blur(var(--skippr-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,)}.skippr\\:transition-\\[filter\\]{transition-property:filter;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[gap\\]{transition-property:gap;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[height\\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[left\\]{transition-property:left;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[opacity\\,color\\]{transition-property:opacity,color;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[opacity\\,transform\\,height\\]{transition-property:opacity,transform,height;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[width\\,height\\,background-color\\,border-color\\]{transition-property:width,height,background-color,border-color;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[width\\,margin\\]{transition-property:width,margin;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\: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(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:duration-75{--tw-duration:75ms;transition-duration:75ms}.skippr\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.skippr\\:duration-150{--tw-duration:.15s;transition-duration:.15s}.skippr\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.skippr\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.skippr\\:duration-\\[400ms\\]{--tw-duration:.4s;transition-duration:.4s}.skippr\\:ease-\\[cubic-bezier\\(0\\.22\\,1\\,0\\.36\\,1\\)\\]{--tw-ease:cubic-bezier(.22,1,.36,1);transition-timing-function:cubic-bezier(.22,1,.36,1)}.skippr\\:ease-\\[cubic-bezier\\(0\\.34\\,1\\.3\\,0\\.64\\,1\\)\\]{--tw-ease:cubic-bezier(.34,1.3,.64,1);transition-timing-function:cubic-bezier(.34,1.3,.64,1)}.skippr\\:ease-\\[cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\]{--tw-ease:cubic-bezier(.34,1.56,.64,1);transition-timing-function:cubic-bezier(.34,1.56,.64,1)}.skippr\\:ease-in-out{--tw-ease:var(--skippr-ease-in-out);transition-timing-function:var(--skippr-ease-in-out)}.skippr\\:ease-out{--tw-ease:var(--skippr-ease-out);transition-timing-function:var(--skippr-ease-out)}.skippr\\:outline-none{--tw-outline-style:none;outline-style:none}.skippr\\:select-none{-webkit-user-select:none;user-select:none}.skippr\\:select-text{-webkit-user-select:text;user-select:text}.skippr\\:\\[animation-delay\\:0ms\\]{animation-delay:0s}.skippr\\:\\[animation-delay\\:150ms\\]{animation-delay:.15s}.skippr\\:\\[animation-delay\\:200ms\\]{animation-delay:.2s}.skippr\\:\\[animation-delay\\:300ms\\]{animation-delay:.3s}.skippr\\:\\[animation-delay\\:400ms\\]{animation-delay:.4s}.skippr\\:\\[overflow-anchor\\:none\\]{overflow-anchor:none}.skippr\\:group-focus-within\\:scale-100:is(:where(.skippr\\:group):focus-within *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.skippr\\:group-focus-within\\:opacity-100:is(:where(.skippr\\:group):focus-within *){opacity:1}@media (hover:hover){.skippr\\:group-hover\\:scale-100:is(:where(.skippr\\:group):hover *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.skippr\\:group-hover\\:text-red-300:is(:where(.skippr\\:group):hover *){color:var(--skippr-color-red-300)}.skippr\\:group-hover\\:text-white\\/80:is(:where(.skippr\\:group):hover *){color:var(--skippr-color-white)}@supports (color:color-mix(in lab, red, red)){.skippr\\:group-hover\\:text-white\\/80:is(:where(.skippr\\:group):hover *){color:color-mix(in oklab,var(--skippr-color-white)80%,transparent)}}.skippr\\:group-hover\\:opacity-100:is(:where(.skippr\\:group):hover *){opacity:1}}.skippr\\:placeholder\\:text-\\[\\#b0aca4\\]::placeholder{color:#b0aca4}.skippr\\:first\\:mt-0:first-child{margin-top:calc(var(--skippr-spacing)*0)}@media (hover:hover){.skippr\\:hover\\:-translate-y-0\\.5:hover{--tw-translate-y:calc(var(--skippr-spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.skippr\\: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)}.skippr\\:hover\\:border-\\[rgba\\(45\\,45\\,63\\,0\\.45\\)\\]:hover{border-color:#2d2d3f73}.skippr\\:hover\\:bg-\\[\\#3a384b\\]:hover{background-color:#3a384b}.skippr\\:hover\\:bg-\\[\\#3d3d52\\]:hover{background-color:#3d3d52}.skippr\\:hover\\:bg-\\[\\#f2f0eb\\]:hover{background-color:#f2f0eb}.skippr\\:hover\\:bg-\\[\\#f4f2ee\\]:hover{background-color:#f4f2ee}.skippr\\:hover\\:bg-\\[\\#f6f4f0\\]:hover{background-color:#f6f4f0}.skippr\\:hover\\:bg-\\[rgba\\(45\\,45\\,63\\,0\\.04\\)\\]:hover{background-color:#2d2d3f0a}.skippr\\:hover\\:bg-accent:hover{background-color:#e7e5e4}.skippr\\:hover\\:bg-amber-100:hover{background-color:var(--skippr-color-amber-100)}.skippr\\:hover\\:bg-bubble:hover{background-color:#2d2b3d}.skippr\\:hover\\:bg-destructive\\/90:hover{background-color:oklab(61.4357% .15892 .0698893/.9)}.skippr\\:hover\\:bg-foreground\\/8:hover{background-color:oklab(14.7% .00261104 .00303026/.08)}.skippr\\:hover\\:bg-muted:hover{background-color:oklch(97% .001 106.424)}.skippr\\:hover\\:bg-neutral-100:hover{background-color:var(--skippr-color-neutral-100)}.skippr\\:hover\\:bg-neutral-200:hover{background-color:var(--skippr-color-neutral-200)}.skippr\\:hover\\:bg-primary\\/90:hover{background-color:var(--skippr-brand,#2d2b3d)}@supports (color:color-mix(in lab, red, red)){.skippr\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--skippr-brand,#2d2b3d)90%,transparent)}}.skippr\\:hover\\:bg-red-200:hover{background-color:var(--skippr-color-red-200)}.skippr\\:hover\\:bg-red-600:hover{background-color:var(--skippr-color-red-600)}.skippr\\:hover\\:bg-secondary\\/80:hover{background-color:oklab(91.9963% .0175391 .0626889/.8)}.skippr\\:hover\\:bg-transparent:hover{background-color:#0000}.skippr\\:hover\\:text-\\[\\#2D2D3F\\]:hover{color:#2d2d3f}.skippr\\:hover\\:text-\\[\\#5a5650\\]:hover{color:#5a5650}.skippr\\:hover\\:text-accent-foreground:hover{color:oklch(21.6% .006 56.043)}.skippr\\:hover\\:text-destructive:hover{color:#d94f4f}.skippr\\:hover\\:text-foreground:hover{color:oklch(14.7% .004 49.25)}.skippr\\:hover\\:underline:hover{text-decoration-line:underline}.skippr\\:hover\\:decoration-muted-foreground:hover{text-decoration-color:oklch(55.3% .013 58.071)}.skippr\\:hover\\:opacity-80:hover{opacity:.8}.skippr\\:hover\\:opacity-100:hover{opacity:1}.skippr\\:hover\\:brightness-110:hover{--tw-brightness:brightness(110%);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,)}.skippr\\:hover\\:brightness-\\[1\\.04\\]:hover{--tw-brightness:brightness(1.04);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,)}.skippr\\:hover\\:brightness-\\[1\\.06\\]:hover{--tw-brightness:brightness(1.06);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,)}}.skippr\\:focus\\:border-primary:focus{border-color:var(--skippr-brand,#2d2b3d)}.skippr\\: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)}.skippr\\:focus\\:ring-primary\\/30:focus{--tw-ring-color:var(--skippr-brand,#2d2b3d)}@supports (color:color-mix(in lab, red, red)){.skippr\\:focus\\:ring-primary\\/30:focus{--tw-ring-color:color-mix(in oklab,var(--skippr-brand,#2d2b3d)30%,transparent)}}.skippr\\:focus-visible\\:border-\\[var\\(--skippr-brand-ring\\)\\]:focus-visible{border-color:var(--skippr-brand-ring)}.skippr\\: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)}.skippr\\:focus-visible\\:ring-\\[var\\(--skippr-brand-ring\\)\\]:focus-visible{--tw-ring-color:var(--skippr-brand-ring)}.skippr\\:focus-visible\\:ring-bubble\\/60:focus-visible{--tw-ring-color:oklab(29.9244% .0107414 -.0305411/.6)}.skippr\\:focus-visible\\:ring-ring:focus-visible{--tw-ring-color:oklch(70.9% .01 56.259)}.skippr\\: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)}.skippr\\:focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.skippr\\:focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.skippr\\:focus-visible\\:outline-\\[var\\(--skippr-brand\\)\\]:focus-visible{outline-color:var(--skippr-brand)}.skippr\\:focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.skippr\\:active\\:translate-y-0:active{--tw-translate-y:calc(var(--skippr-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.skippr\\:active\\:scale-\\[0\\.98\\]:active{scale:.98}.skippr\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.skippr\\:disabled\\:cursor-default:disabled{cursor:default}.skippr\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.skippr\\:disabled\\:opacity-50:disabled{opacity:.5}.skippr\\:disabled\\:opacity-60:disabled{opacity:.6}.skippr\\:disabled\\:opacity-80:disabled{opacity:.8}@media (hover:hover){.skippr\\:disabled\\:hover\\:bg-\\[\\#2D2D3F\\]:disabled:hover{background-color:#2d2d3f}.skippr\\:disabled\\:hover\\:bg-white:disabled:hover{background-color:var(--skippr-color-white)}}@media (prefers-reduced-motion:reduce){.skippr\\:motion-reduce\\:hidden{display:none}.skippr\\:motion-reduce\\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.skippr\\:motion-reduce\\:animate-none{animation:none}}.skippr\\:\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.skippr\\:\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.skippr\\:\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--skippr-spacing)*4);height:calc(var(--skippr-spacing)*4)}}:host{--skippr-brand-active:var(--skippr-brand,#2bc0ae)}@supports (color:color-mix(in lab, red, red)){:host{--skippr-brand-active:color-mix(in srgb,var(--skippr-brand,#2bc0ae)93%,#000)}}:host{--skippr-brand-deep:var(--skippr-brand,#2bc0ae)}@supports (color:color-mix(in lab, red, red)){:host{--skippr-brand-deep:color-mix(in srgb,var(--skippr-brand,#2bc0ae)78%,#000)}}:host{--skippr-brand-ring:var(--skippr-brand,#2bc0ae)}@supports (color:color-mix(in lab, red, red)){:host{--skippr-brand-ring:color-mix(in srgb,var(--skippr-brand,#2bc0ae)22%,transparent)}}:host{--skippr-brand-halo:var(--skippr-brand,#2bc0ae)}@supports (color:color-mix(in lab, red, red)){:host{--skippr-brand-halo:color-mix(in srgb,var(--skippr-brand,#2bc0ae)40%,transparent)}}:host{--skippr-brand-glow:linear-gradient(90deg,var(--skippr-brand,#2bc0ae),var(--skippr-brand,#2bc0ae),var(--skippr-brand,#2bc0ae),var(--skippr-brand,#2bc0ae),var(--skippr-brand,#2bc0ae))}@supports (color:color-mix(in lab, red, red)){:host{--skippr-brand-glow:linear-gradient(90deg,var(--skippr-brand,#2bc0ae),color-mix(in srgb,var(--skippr-brand,#2bc0ae)55%,#fff),color-mix(in srgb,var(--skippr-brand,#2bc0ae)72%,#fff),var(--skippr-brand,#2bc0ae),color-mix(in srgb,var(--skippr-brand,#2bc0ae)42%,#fff))}}@keyframes skippr-tap{0%{transform:scale(1)}45%{transform:scale(.7)}to{transform:scale(1)}}@keyframes skippr-press{0%{transform:scale(1)}55%{transform:scale(1)}85%{transform:scale(.68)}to{transform:scale(1)}}@keyframes skippr-cursor-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes skippr-click-ping{0%{opacity:.9;transform:translate(-50%,-50%)scale(.4)}to{opacity:0;transform:translate(-50%,-50%)scale(2.4)}}@keyframes skippr-tab-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes skippr-speak{0%,to{opacity:.6;transform:scaleY(.4)}50%{opacity:1;transform:scaleY(1)}}@keyframes skippr-thinking-dot{0%,80%,to{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@keyframes skippr-pulse-ring{0%,to{box-shadow:0 0 #2d2b3d66}50%{box-shadow:0 0 0 10px #2d2b3d00}}@keyframes skippr-rec-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--skippr-brand,#2bc0ae)55%,transparent)}70%{box-shadow:0 0 0 11px #0000}to{box-shadow:0 0 #0000}}@keyframes skippr-voice-pulse{0%{box-shadow:0 0 0 0 var(--skippr-pulse-color,#2bc0ae80)}70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}@keyframes skippr-ptt-transmit{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--skippr-brand,#2bc0ae)60%,transparent),0 0 0 0 color-mix(in srgb,var(--skippr-brand,#2bc0ae)35%,transparent)}70%{box-shadow:0 0 0 9px #0000,0 0 0 16px #0000}to{box-shadow:0 0 #0000,0 0 #0000}}@keyframes skippr-annotation-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--skippr-brand,#2bc0ae)50%,transparent)}50%{box-shadow:0 0 0 6px #0000}}@keyframes skippr-speak-ripple{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.8)}}@keyframes skippr-bar{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@keyframes skippr-breathe{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes skippr-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes skippr-evaporate{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}55%{opacity:.85;filter:blur()}to{opacity:0;filter:blur(2.5px);transform:translateY(-7px)scale(.965)}}@keyframes skippr-mote-rise{0%{opacity:0;transform:translateY(2px)scale(.5)}25%{opacity:.85}to{opacity:0;transform:translateY(-24px)scale(1)}}@keyframes skippr-flow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes skippr-wave{0%,to{opacity:.4;transform:scaleY(.4)}50%{opacity:1;transform:scaleY(1)}}@keyframes skippr-bubble-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes skippr-tip-in{0%{opacity:0;transform:translateY(14px)scale(.96)}60%{opacity:1;transform:translateY(-2px)scale(1.01)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes skippr-pill-content{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes skippr-banner-look{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}@keyframes skippr-finger-tap{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(2px)rotate(-6deg)}}@keyframes skippr-toolset-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes skippr-stage-fade{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes skippr-agent-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes skippr-orb-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes skippr-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@keyframes skippr-blink{0%,40%{transform:scaleY(1)}41.3%,42%{transform:scaleY(.08)}43.3%,70%{transform:scaleY(1)}71.3%,72%{transform:scaleY(.08)}73.3%,to{transform:scaleY(1)}}.skippr-buddy-blink{transform-box:fill-box;transform-origin:50%;animation:5s linear infinite skippr-blink}@keyframes skippr-avatar-eyes-bob{0%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:translateY(0)}18%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:translateY(24px)}33.33%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:translateY(-30px)}48%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:translateY(-7px)}64%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:translateY(-30px)}82%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:translateY(31px)}96%,to{transform:translateY(0)}}@keyframes skippr-avatar-pupil-glance{0%,21.33%{transform:translate(0)}28%,68%{transform:translate(-30px)}74%,to{transform:translate(0)}}@keyframes skippr-avatar-body-vibe{0%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:scale(1)}17.67%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:scale(1.08,.95)}33.67%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:scale(1)}49.67%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:scale(1.08,.95)}65.67%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:scale(1)}81.67%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:scale(1.08,.95)}96%,to{transform:scale(1)}}@keyframes skippr-avatar-blink{0%,40%{transform:scaleY(1)}41.3%,42%{transform:scaleY(.08)}43.3%,70%{transform:scaleY(1)}71.3%,72%{transform:scaleY(.08)}73.3%,to{transform:scaleY(1)}}@keyframes skippr-avatar-bub-tail-drift{0%,10%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:translate(0)}45%,60%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:translate(-24px)}95%,to{transform:translate(0)}}@keyframes skippr-avatar-antenna-shake{0%,to{transform:rotate(-4deg)}25%{transform:rotate(4deg)}50%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.skippr-avatar-eyes{animation:5s infinite skippr-avatar-eyes-bob}.skippr-avatar-pupil{animation:5s linear infinite skippr-avatar-pupil-glance}.skippr-avatar-body{transform-box:fill-box;transform-origin:50% 100%;animation:5s infinite skippr-avatar-body-vibe}.skippr-avatar-blink{transform-box:fill-box;transform-origin:50%;animation:5s infinite skippr-avatar-blink}.skippr-avatar-body .skippr-avatar-antenna{transform-box:view-box;transform-origin:48px 22px;animation:1.6s ease-in-out infinite skippr-avatar-antenna-shake}.skippr-avatar-body .skippr-avatar-bub-tail{animation:5s infinite skippr-avatar-bub-tail-drift}@keyframes skippr-buddy-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes skippr-buddy-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes skippr-buddy-pop{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes skippr-buddy-sleep{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(1px)scale(.995)}}@keyframes skippr-buddy-zfloat{0%{opacity:0;transform:translateY(0)}20%{opacity:1}to{opacity:0;transform:translateY(-10px)}}@keyframes skippr-peek-left{0%,20%{transform:translate(-58%)}46%,66%{transform:translate(0)}92%,to{transform:translate(-58%)}}@keyframes skippr-peek-right{0%,20%{transform:translate(58%)}46%,66%{transform:translate(0)}92%,to{transform:translate(58%)}}@keyframes skippr-peek-top{0%,20%{transform:translateY(-58%)}46%,66%{transform:translateY(0)}92%,to{transform:translateY(-58%)}}@keyframes skippr-peek-bottom{0%,20%{transform:translateY(58%)}46%,66%{transform:translateY(0)}92%,to{transform:translateY(58%)}}.skippr-peek-left{animation:3.6s ease-in-out infinite skippr-peek-left}.skippr-peek-right{animation:3.6s ease-in-out infinite skippr-peek-right}.skippr-peek-top{animation:3.6s ease-in-out infinite skippr-peek-top}.skippr-peek-bottom{animation:3.6s ease-in-out infinite skippr-peek-bottom}.skippr-peek-out{animation:none;transform:none}@keyframes skippr-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}@keyframes skippr-block-reveal{0%{opacity:0;max-height:0;transform:translateY(-4px)}55%{opacity:1}to{opacity:1;max-height:260px;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.skippr-buddy-blink,[style*=skippr-blink],[style*=skippr-buddy-bob],[style*=skippr-buddy-breathe],[style*=skippr-buddy-pop],[style*=skippr-buddy-sleep],[style*=skippr-buddy-zfloat],.skippr-avatar-eyes,.skippr-avatar-pupil,.skippr-avatar-body,.skippr-avatar-blink,.skippr-avatar-body .skippr-avatar-antenna,.skippr-avatar-body .skippr-avatar-bub-tail,.skippr-peek-left,.skippr-peek-right,.skippr-peek-top,.skippr-peek-bottom{animation-play-state:paused}}.skippr-no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.skippr-no-scrollbar::-webkit-scrollbar{display:none}:host{color:var(--color-foreground)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-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-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-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}`;
|
|
8743
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-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-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-outline-style:solid}}}@layer theme{:root,:host{--skippr-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--skippr-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--skippr-color-red-50:oklch(97.1% .013 17.38);--skippr-color-red-100:oklch(93.6% .032 17.717);--skippr-color-red-200:oklch(88.5% .062 18.334);--skippr-color-red-300:oklch(80.8% .114 19.571);--skippr-color-red-400:oklch(70.4% .191 22.216);--skippr-color-red-500:oklch(63.7% .237 25.331);--skippr-color-red-600:oklch(57.7% .245 27.325);--skippr-color-red-700:oklch(50.5% .213 27.518);--skippr-color-amber-50:oklch(98.7% .022 95.277);--skippr-color-amber-100:oklch(96.2% .059 95.617);--skippr-color-amber-400:oklch(82.8% .189 84.429);--skippr-color-amber-700:oklch(55.5% .163 48.998);--skippr-color-amber-950:oklch(27.9% .077 45.635);--skippr-color-emerald-400:oklch(76.5% .177 163.223);--skippr-color-neutral-100:oklch(97% 0 0);--skippr-color-neutral-200:oklch(92.2% 0 0);--skippr-color-neutral-500:oklch(55.6% 0 0);--skippr-color-neutral-700:oklch(37.1% 0 0);--skippr-color-black:#000;--skippr-color-white:#fff;--skippr-spacing:.25rem;--skippr-text-xs:.75rem;--skippr-text-xs--line-height:calc(1/.75);--skippr-text-sm:.875rem;--skippr-text-sm--line-height:calc(1.25/.875);--skippr-font-weight-medium:500;--skippr-font-weight-semibold:600;--skippr-font-weight-bold:700;--skippr-leading-snug:1.375;--skippr-leading-relaxed:1.625;--skippr-ease-out:cubic-bezier(0,0,.2,1);--skippr-ease-in-out:cubic-bezier(.4,0,.2,1);--skippr-animate-spin:spin 1s linear infinite;--skippr-animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--skippr-animate-bounce:bounce 1s infinite;--skippr-blur-sm:8px;--skippr-default-transition-duration:.15s;--skippr-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--skippr-default-font-family:var(--skippr-font-sans);--skippr-default-mono-font-family:var(--skippr-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(--skippr-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(--skippr-default-font-feature-settings,normal);font-variation-settings:var(--skippr-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(--skippr-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--skippr-default-mono-font-feature-settings,normal);font-variation-settings:var(--skippr-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}}@layer components;@layer utilities{.skippr\\:pointer-events-auto{pointer-events:auto}.skippr\\:pointer-events-none{pointer-events:none}.skippr\\:absolute{position:absolute}.skippr\\:fixed{position:fixed}.skippr\\:relative{position:relative}.skippr\\:sticky{position:sticky}.skippr\\:-inset-\\[3px\\]{inset:-3px}.skippr\\:inset-0{inset:calc(var(--skippr-spacing)*0)}.skippr\\:inset-y-0{inset-block:calc(var(--skippr-spacing)*0)}.skippr\\:-top-1{top:calc(var(--skippr-spacing)*-1)}.skippr\\:-top-6{top:calc(var(--skippr-spacing)*-6)}.skippr\\:-top-8{top:calc(var(--skippr-spacing)*-8)}.skippr\\:-top-\\[2px\\]{top:-2px}.skippr\\:-top-\\[3px\\]{top:-3px}.skippr\\:-top-\\[13px\\]{top:-13px}.skippr\\:top-0{top:calc(var(--skippr-spacing)*0)}.skippr\\:top-1\\/2{top:50%}.skippr\\:top-\\[8px\\]{top:8px}.skippr\\:top-full{top:100%}.skippr\\:-right-1{right:calc(var(--skippr-spacing)*-1)}.skippr\\:-right-8{right:calc(var(--skippr-spacing)*-8)}.skippr\\:-right-\\[2px\\]{right:-2px}.skippr\\:-right-\\[6px\\]{right:-6px}.skippr\\:right-0{right:calc(var(--skippr-spacing)*0)}.skippr\\:right-3{right:calc(var(--skippr-spacing)*3)}.skippr\\:right-5{right:calc(var(--skippr-spacing)*5)}.skippr\\:right-6{right:calc(var(--skippr-spacing)*6)}.skippr\\:right-\\[4px\\]{right:4px}.skippr\\:right-\\[8px\\]{right:8px}.skippr\\:-bottom-\\[2px\\]{bottom:-2px}.skippr\\:bottom-3{bottom:calc(var(--skippr-spacing)*3)}.skippr\\:bottom-4{bottom:calc(var(--skippr-spacing)*4)}.skippr\\:bottom-20{bottom:calc(var(--skippr-spacing)*20)}.skippr\\:bottom-\\[calc\\(100\\%\\+8px\\)\\]{bottom:calc(100% + 8px)}.skippr\\:bottom-\\[calc\\(100\\%\\+11px\\)\\]{bottom:calc(100% + 11px)}.skippr\\:bottom-full{bottom:100%}.skippr\\:-left-8{left:calc(var(--skippr-spacing)*-8)}.skippr\\:-left-\\[2px\\]{left:-2px}.skippr\\:-left-\\[6px\\]{left:-6px}.skippr\\:left-0{left:calc(var(--skippr-spacing)*0)}.skippr\\:left-1\\/2{left:50%}.skippr\\:left-2{left:calc(var(--skippr-spacing)*2)}.skippr\\:left-3{left:calc(var(--skippr-spacing)*3)}.skippr\\:left-5{left:calc(var(--skippr-spacing)*5)}.skippr\\:left-6{left:calc(var(--skippr-spacing)*6)}.skippr\\:z-10{z-index:10}.skippr\\:z-20{z-index:20}.skippr\\:z-\\[1\\]{z-index:1}.skippr\\:z-\\[2\\]{z-index:2}.skippr\\:z-\\[4\\]{z-index:4}.skippr\\:z-\\[5\\]{z-index:5}.skippr\\:z-\\[6\\]{z-index:6}.skippr\\:z-\\[7\\]{z-index:7}.skippr\\:z-\\[8\\]{z-index:8}.skippr\\:z-\\[9998\\]{z-index:9998}.skippr\\:z-\\[9999\\]{z-index:9999}.skippr\\:z-\\[10000\\]{z-index:10000}.skippr\\:order-first{order:-9999}.skippr\\:order-last{order:9999}.skippr\\:mx-auto{margin-inline:auto}.skippr\\:-mt-1{margin-top:calc(var(--skippr-spacing)*-1)}.skippr\\:-mt-\\[5px\\]{margin-top:-5px}.skippr\\:-mt-\\[27px\\]{margin-top:-27px}.skippr\\:mt-1{margin-top:calc(var(--skippr-spacing)*1)}.skippr\\:mt-1\\.5{margin-top:calc(var(--skippr-spacing)*1.5)}.skippr\\:mt-2{margin-top:calc(var(--skippr-spacing)*2)}.skippr\\:mt-3{margin-top:calc(var(--skippr-spacing)*3)}.skippr\\:mt-3\\.5{margin-top:calc(var(--skippr-spacing)*3.5)}.skippr\\:mt-\\[1px\\]{margin-top:1px}.skippr\\:mt-\\[6px\\]{margin-top:6px}.skippr\\:mt-\\[8px\\]{margin-top:8px}.skippr\\:mt-\\[9px\\]{margin-top:9px}.skippr\\:-mr-1{margin-right:calc(var(--skippr-spacing)*-1)}.skippr\\:mr-7{margin-right:calc(var(--skippr-spacing)*7)}.skippr\\:mr-\\[22px\\]{margin-right:22px}.skippr\\:-mb-\\[5px\\]{margin-bottom:-5px}.skippr\\:mb-1{margin-bottom:calc(var(--skippr-spacing)*1)}.skippr\\:mb-1\\.5{margin-bottom:calc(var(--skippr-spacing)*1.5)}.skippr\\:mb-2{margin-bottom:calc(var(--skippr-spacing)*2)}.skippr\\:mb-3{margin-bottom:calc(var(--skippr-spacing)*3)}.skippr\\:mb-4{margin-bottom:calc(var(--skippr-spacing)*4)}.skippr\\:mb-\\[14px\\]{margin-bottom:14px}.skippr\\:-ml-\\[2px\\]{margin-left:-2px}.skippr\\:ml-0\\.5{margin-left:calc(var(--skippr-spacing)*.5)}.skippr\\:ml-1{margin-left:calc(var(--skippr-spacing)*1)}.skippr\\:ml-7{margin-left:calc(var(--skippr-spacing)*7)}.skippr\\:ml-auto{margin-left:auto}.skippr\\:line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.skippr\\:block{display:block}.skippr\\:flex{display:flex}.skippr\\:hidden{display:none}.skippr\\:inline-flex{display:inline-flex}.skippr\\:size-1{width:calc(var(--skippr-spacing)*1);height:calc(var(--skippr-spacing)*1)}.skippr\\:size-1\\.5{width:calc(var(--skippr-spacing)*1.5);height:calc(var(--skippr-spacing)*1.5)}.skippr\\:size-2{width:calc(var(--skippr-spacing)*2);height:calc(var(--skippr-spacing)*2)}.skippr\\:size-2\\.5{width:calc(var(--skippr-spacing)*2.5);height:calc(var(--skippr-spacing)*2.5)}.skippr\\:size-3{width:calc(var(--skippr-spacing)*3);height:calc(var(--skippr-spacing)*3)}.skippr\\:size-3\\.5{width:calc(var(--skippr-spacing)*3.5);height:calc(var(--skippr-spacing)*3.5)}.skippr\\:size-4{width:calc(var(--skippr-spacing)*4);height:calc(var(--skippr-spacing)*4)}.skippr\\:size-5{width:calc(var(--skippr-spacing)*5);height:calc(var(--skippr-spacing)*5)}.skippr\\:size-6{width:calc(var(--skippr-spacing)*6);height:calc(var(--skippr-spacing)*6)}.skippr\\:size-7{width:calc(var(--skippr-spacing)*7);height:calc(var(--skippr-spacing)*7)}.skippr\\:size-8{width:calc(var(--skippr-spacing)*8);height:calc(var(--skippr-spacing)*8)}.skippr\\:size-9{width:calc(var(--skippr-spacing)*9);height:calc(var(--skippr-spacing)*9)}.skippr\\:size-10{width:calc(var(--skippr-spacing)*10);height:calc(var(--skippr-spacing)*10)}.skippr\\:size-12{width:calc(var(--skippr-spacing)*12);height:calc(var(--skippr-spacing)*12)}.skippr\\:size-\\[3px\\]{width:3px;height:3px}.skippr\\:size-\\[4px\\]{width:4px;height:4px}.skippr\\:size-\\[5px\\]{width:5px;height:5px}.skippr\\:size-\\[6px\\]{width:6px;height:6px}.skippr\\:size-\\[7px\\]{width:7px;height:7px}.skippr\\:size-\\[8px\\]{width:8px;height:8px}.skippr\\:size-\\[9px\\]{width:9px;height:9px}.skippr\\:size-\\[10px\\]{width:10px;height:10px}.skippr\\:size-\\[11px\\]{width:11px;height:11px}.skippr\\:size-\\[12px\\]{width:12px;height:12px}.skippr\\:size-\\[13px\\]{width:13px;height:13px}.skippr\\:size-\\[14px\\]{width:14px;height:14px}.skippr\\:size-\\[15px\\]{width:15px;height:15px}.skippr\\:size-\\[16px\\]{width:16px;height:16px}.skippr\\:size-\\[17px\\]{width:17px;height:17px}.skippr\\:size-\\[18px\\]{width:18px;height:18px}.skippr\\:size-\\[19px\\]{width:19px;height:19px}.skippr\\:size-\\[20px\\]{width:20px;height:20px}.skippr\\:size-\\[22px\\]{width:22px;height:22px}.skippr\\:size-\\[26px\\]{width:26px;height:26px}.skippr\\:size-\\[28px\\]{width:28px;height:28px}.skippr\\:size-\\[30px\\]{width:30px;height:30px}.skippr\\:size-\\[32px\\]{width:32px;height:32px}.skippr\\:size-\\[34px\\]{width:34px;height:34px}.skippr\\:size-\\[38px\\]{width:38px;height:38px}.skippr\\:size-\\[46px\\]{width:46px;height:46px}.skippr\\:size-full{width:100%;height:100%}.skippr\\:h-0{height:calc(var(--skippr-spacing)*0)}.skippr\\:h-1{height:calc(var(--skippr-spacing)*1)}.skippr\\:h-1\\.5{height:calc(var(--skippr-spacing)*1.5)}.skippr\\:h-2{height:calc(var(--skippr-spacing)*2)}.skippr\\:h-3{height:calc(var(--skippr-spacing)*3)}.skippr\\:h-3\\.5{height:calc(var(--skippr-spacing)*3.5)}.skippr\\:h-5{height:calc(var(--skippr-spacing)*5)}.skippr\\:h-6{height:calc(var(--skippr-spacing)*6)}.skippr\\:h-7{height:calc(var(--skippr-spacing)*7)}.skippr\\:h-8{height:calc(var(--skippr-spacing)*8)}.skippr\\:h-9{height:calc(var(--skippr-spacing)*9)}.skippr\\:h-10{height:calc(var(--skippr-spacing)*10)}.skippr\\:h-\\[5px\\]{height:5px}.skippr\\:h-\\[11px\\]{height:11px}.skippr\\:h-\\[14px\\]{height:14px}.skippr\\:h-\\[16px\\]{height:16px}.skippr\\:h-\\[18\\.5px\\]{height:18.5px}.skippr\\:h-\\[18px\\]{height:18px}.skippr\\:h-\\[22px\\]{height:22px}.skippr\\:h-\\[24px\\]{height:24px}.skippr\\:h-\\[26px\\]{height:26px}.skippr\\:h-\\[36px\\]{height:36px}.skippr\\:h-\\[38px\\]{height:38px}.skippr\\:h-\\[48px\\]{height:48px}.skippr\\:h-\\[54px\\]{height:54px}.skippr\\:h-full{height:100%}.skippr\\:h-px{height:1px}.skippr\\:max-h-\\[132px\\]{max-height:132px}.skippr\\:min-h-0{min-height:calc(var(--skippr-spacing)*0)}.skippr\\:min-h-11{min-height:calc(var(--skippr-spacing)*11)}.skippr\\:min-h-\\[16px\\]{min-height:16px}.skippr\\:w-0{width:calc(var(--skippr-spacing)*0)}.skippr\\:w-3\\.5{width:calc(var(--skippr-spacing)*3.5)}.skippr\\:w-5{width:calc(var(--skippr-spacing)*5)}.skippr\\:w-6{width:calc(var(--skippr-spacing)*6)}.skippr\\:w-7{width:calc(var(--skippr-spacing)*7)}.skippr\\:w-10{width:calc(var(--skippr-spacing)*10)}.skippr\\:w-40{width:calc(var(--skippr-spacing)*40)}.skippr\\:w-\\[2\\.5px\\]{width:2.5px}.skippr\\:w-\\[2px\\]{width:2px}.skippr\\:w-\\[3px\\]{width:3px}.skippr\\:w-\\[9px\\]{width:9px}.skippr\\:w-\\[14px\\]{width:14px}.skippr\\:w-\\[15\\.4px\\]{width:15.4px}.skippr\\:w-\\[15px\\]{width:15px}.skippr\\:w-\\[16px\\]{width:16px}.skippr\\:w-\\[22px\\]{width:22px}.skippr\\:w-\\[36px\\]{width:36px}.skippr\\:w-\\[38px\\]{width:38px}.skippr\\:w-\\[50px\\]{width:50px}.skippr\\:w-\\[148px\\]{width:148px}.skippr\\:w-\\[150px\\]{width:150px}.skippr\\:w-\\[220px\\]{width:220px}.skippr\\:w-\\[225px\\]{width:225px}.skippr\\:w-\\[240px\\]{width:240px}.skippr\\:w-\\[255px\\]{width:255px}.skippr\\:w-\\[320px\\]{width:320px}.skippr\\:w-fit{width:fit-content}.skippr\\:w-full{width:100%}.skippr\\:w-px{width:1px}.skippr\\:max-w-64{max-width:calc(var(--skippr-spacing)*64)}.skippr\\:max-w-72{max-width:calc(var(--skippr-spacing)*72)}.skippr\\:max-w-\\[80\\%\\]{max-width:80%}.skippr\\:max-w-\\[280px\\]{max-width:280px}.skippr\\:min-w-0{min-width:calc(var(--skippr-spacing)*0)}.skippr\\:min-w-11{min-width:calc(var(--skippr-spacing)*11)}.skippr\\:min-w-\\[96px\\]{min-width:96px}.skippr\\:flex-1{flex:1}.skippr\\:shrink-0{flex-shrink:0}.skippr\\:origin-bottom{transform-origin:bottom}.skippr\\:origin-bottom-left{transform-origin:0 100%}.skippr\\:origin-bottom-right{transform-origin:100% 100%}.skippr\\:origin-center{transform-origin:50%}.skippr\\:origin-left{transform-origin:0}.skippr\\:origin-right{transform-origin:100%}.skippr\\:origin-top{transform-origin:top}.skippr\\:origin-top-left{transform-origin:0 0}.skippr\\:origin-top-right{transform-origin:100% 0}.skippr\\:-translate-x-1\\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.skippr\\:-translate-x-3{--tw-translate-x:calc(var(--skippr-spacing)*-3);translate:var(--tw-translate-x)var(--tw-translate-y)}.skippr\\:-translate-x-7{--tw-translate-x:calc(var(--skippr-spacing)*-7);translate:var(--tw-translate-x)var(--tw-translate-y)}.skippr\\:translate-x-3{--tw-translate-x:calc(var(--skippr-spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.skippr\\:translate-x-7{--tw-translate-x:calc(var(--skippr-spacing)*7);translate:var(--tw-translate-x)var(--tw-translate-y)}.skippr\\:-translate-y-\\[4px\\]{--tw-translate-y:calc(4px*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.skippr\\:scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.skippr\\:scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.skippr\\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.skippr\\:scale-\\[0\\.94\\]{scale:.94}.skippr\\:-rotate-90{rotate:-90deg}.skippr\\:rotate-45{rotate:45deg}.skippr\\:rotate-\\[225deg\\]{rotate:225deg}.skippr\\:\\[animation\\:skippr-agent-in_200ms_ease-out\\]{animation:.2s ease-out skippr-agent-in}.skippr\\:\\[animation\\:skippr-agent-in_200ms_ease-out_240ms_both\\]{animation:.2s ease-out .24s both skippr-agent-in}.skippr\\:\\[animation\\:skippr-banner-look_2\\.4s_ease-in-out_infinite\\]{animation:2.4s ease-in-out infinite skippr-banner-look}.skippr\\:\\[animation\\:skippr-block-reveal_320ms_cubic-bezier\\(0\\.22\\,1\\,0\\.36\\,1\\)\\]{animation:.32s cubic-bezier(.22,1,.36,1) skippr-block-reveal}.skippr\\:\\[animation\\:skippr-breathe_1\\.1s_ease-in-out_0\\.18s_infinite\\]{animation:1.1s ease-in-out .18s infinite skippr-breathe}.skippr\\:\\[animation\\:skippr-breathe_1\\.1s_ease-in-out_0\\.36s_infinite\\]{animation:1.1s ease-in-out .36s infinite skippr-breathe}.skippr\\:\\[animation\\:skippr-breathe_1\\.1s_ease-in-out_0s_infinite\\]{animation:1.1s ease-in-out infinite skippr-breathe}.skippr\\:\\[animation\\:skippr-evaporate_3\\.2s_ease-in_forwards\\]{animation:3.2s ease-in forwards skippr-evaporate}.skippr\\:\\[animation\\:skippr-fade-in_0\\.2s_ease\\]{animation:.2s skippr-fade-in}.skippr\\:\\[animation\\:skippr-fade-in_0\\.16s_ease\\]{animation:.16s skippr-fade-in}.skippr\\:\\[animation\\:skippr-fade-in_0\\.22s_ease\\]{animation:.22s skippr-fade-in}.skippr\\:\\[animation\\:skippr-fade-in_0\\.24s_cubic-bezier\\(0\\.22\\,1\\,0\\.36\\,1\\)\\]{animation:.24s cubic-bezier(.22,1,.36,1) skippr-fade-in}.skippr\\:\\[animation\\:skippr-fade-in_0\\.25s_ease\\]{animation:.25s skippr-fade-in}.skippr\\:\\[animation\\:skippr-fade-out_0\\.18s_ease-in_forwards\\]{animation:.18s ease-in forwards skippr-fade-out}.skippr\\:\\[animation\\:skippr-finger-tap_1\\.1s_ease-in-out_infinite\\]{animation:1.1s ease-in-out infinite skippr-finger-tap}.skippr\\:\\[animation\\:skippr-mote-rise_1\\.6s_ease-out_infinite\\]{animation:1.6s ease-out infinite skippr-mote-rise}.skippr\\:\\[animation\\:skippr-orb-in_320ms_cubic-bezier\\(0\\.34\\,1\\.3\\,0\\.64\\,1\\)\\]{animation:.32s cubic-bezier(.34,1.3,.64,1) skippr-orb-in}.skippr\\:\\[animation\\:skippr-pop_0\\.2s_ease\\]{animation:.2s skippr-pop}.skippr\\:\\[animation\\:skippr-stage-fade_240ms_ease-out\\]{animation:.24s ease-out skippr-stage-fade}.skippr\\:\\[animation\\:skippr-tip-in_360ms_cubic-bezier\\(0\\.34\\,1\\.3\\,0\\.64\\,1\\)\\]{animation:.36s cubic-bezier(.34,1.3,.64,1) skippr-tip-in}.skippr\\:\\[animation\\:skippr-tip-in_360ms_cubic-bezier\\(0\\.34\\,1\\.3\\,0\\.64\\,1\\)_backwards\\]{animation:.36s cubic-bezier(.34,1.3,.64,1) backwards skippr-tip-in}.skippr\\:\\[animation\\:skippr-toolset-pop_280ms_cubic-bezier\\(0\\.22\\,1\\,0\\.36\\,1\\)\\]{animation:.28s cubic-bezier(.22,1,.36,1) skippr-toolset-pop}.skippr\\:\\[animation\\:skippr-toolset-pop_440ms_cubic-bezier\\(0\\.22\\,1\\,0\\.36\\,1\\)\\]{animation:.44s cubic-bezier(.22,1,.36,1) skippr-toolset-pop}.skippr\\:animate-\\[skippr-banner-look_2\\.4s_ease-in-out_infinite\\]{animation:2.4s ease-in-out infinite skippr-banner-look}.skippr\\:animate-\\[skippr-bubble-in_0\\.28s_ease-out\\]{animation:.28s ease-out skippr-bubble-in}.skippr\\:animate-\\[skippr-fade-in_0\\.3s_ease-out\\]{animation:.3s ease-out skippr-fade-in}.skippr\\:animate-\\[skippr-pill-content_0\\.22s_ease-out\\]{animation:.22s ease-out skippr-pill-content}.skippr\\:animate-\\[skippr-speak_1\\.1s_ease-in-out_0\\.3s_infinite\\]{animation:1.1s ease-in-out .3s infinite skippr-speak}.skippr\\:animate-\\[skippr-speak_1\\.1s_ease-in-out_0\\.6s_infinite\\]{animation:1.1s ease-in-out .6s infinite skippr-speak}.skippr\\:animate-\\[skippr-speak_1\\.1s_ease-in-out_0\\.15s_infinite\\]{animation:1.1s ease-in-out .15s infinite skippr-speak}.skippr\\:animate-\\[skippr-speak_1\\.1s_ease-in-out_0\\.45s_infinite\\]{animation:1.1s ease-in-out .45s infinite skippr-speak}.skippr\\:animate-\\[skippr-speak_1\\.1s_ease-in-out_infinite\\]{animation:1.1s ease-in-out infinite skippr-speak}.skippr\\:animate-bounce{animation:var(--skippr-animate-bounce)}.skippr\\:animate-ping{animation:var(--skippr-animate-ping)}.skippr\\:animate-skippr-annotation-pulse{animation:1.8s ease-in-out infinite skippr-annotation-pulse}.skippr\\:animate-skippr-click-ping{animation:.5s ease-out forwards skippr-click-ping}.skippr\\:animate-skippr-cursor-pop{animation:.22s ease-out skippr-cursor-pop}.skippr\\:animate-skippr-flow{animation:3.6s linear infinite skippr-flow}.skippr\\:animate-skippr-press{animation:.5s ease-in-out skippr-press}.skippr\\:animate-skippr-ptt-transmit{animation:1.4s ease-out infinite skippr-ptt-transmit}.skippr\\:animate-skippr-rec-ring{animation:2s ease-out infinite skippr-rec-ring}.skippr\\:animate-skippr-tab-fade{animation:.2s ease-out skippr-tab-fade}.skippr\\:animate-skippr-thinking-dot{animation:1.2s ease-in-out infinite skippr-thinking-dot}.skippr\\:animate-skippr-voice-pulse{animation:1.6s ease-out infinite skippr-voice-pulse}.skippr\\:animate-spin{animation:var(--skippr-animate-spin)}.skippr\\:cursor-default{cursor:default}.skippr\\:cursor-grab{cursor:grab}.skippr\\:cursor-not-allowed{cursor:not-allowed}.skippr\\:cursor-pointer{cursor:pointer}.skippr\\:touch-none{touch-action:none}.skippr\\:resize-none{resize:none}.skippr\\:appearance-none{appearance:none}.skippr\\:flex-col{flex-direction:column}.skippr\\:flex-col-reverse{flex-direction:column-reverse}.skippr\\:flex-row{flex-direction:row}.skippr\\:flex-row-reverse{flex-direction:row-reverse}.skippr\\:items-baseline{align-items:baseline}.skippr\\:items-center{align-items:center}.skippr\\:items-end{align-items:flex-end}.skippr\\:items-start{align-items:flex-start}.skippr\\:justify-between{justify-content:space-between}.skippr\\:justify-center{justify-content:center}.skippr\\:justify-end{justify-content:flex-end}.skippr\\:justify-start{justify-content:flex-start}.skippr\\:gap-0\\.5{gap:calc(var(--skippr-spacing)*.5)}.skippr\\:gap-1{gap:calc(var(--skippr-spacing)*1)}.skippr\\:gap-1\\.5{gap:calc(var(--skippr-spacing)*1.5)}.skippr\\:gap-2{gap:calc(var(--skippr-spacing)*2)}.skippr\\:gap-2\\.5{gap:calc(var(--skippr-spacing)*2.5)}.skippr\\:gap-3{gap:calc(var(--skippr-spacing)*3)}.skippr\\:gap-\\[1px\\]{gap:1px}.skippr\\:gap-\\[2px\\]{gap:2px}.skippr\\:gap-\\[3px\\]{gap:3px}.skippr\\:gap-\\[4px\\]{gap:4px}.skippr\\:gap-\\[5px\\]{gap:5px}.skippr\\:gap-\\[6px\\]{gap:6px}.skippr\\:gap-\\[7px\\]{gap:7px}.skippr\\:gap-\\[8px\\]{gap:8px}.skippr\\:gap-\\[9px\\]{gap:9px}.skippr\\:gap-\\[10px\\]{gap:10px}.skippr\\:gap-\\[14px\\]{gap:14px}.skippr\\:gap-px{gap:1px}:where(.skippr\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--skippr-spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--skippr-spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.skippr\\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--skippr-spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--skippr-spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.skippr\\:space-y-\\[6px\\]>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(6px*var(--tw-space-y-reverse));margin-block-end:calc(6px*calc(1 - var(--tw-space-y-reverse)))}.skippr\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.skippr\\:overflow-hidden{overflow:hidden}.skippr\\:overflow-visible{overflow:visible}.skippr\\:overflow-y-auto{overflow-y:auto}.skippr\\:overscroll-contain{overscroll-behavior:contain}.skippr\\:rounded{border-radius:.25rem}.skippr\\:rounded-2xl{border-radius:1.125rem}.skippr\\:rounded-\\[1rem\\]{border-radius:1rem}.skippr\\:rounded-\\[4px\\]{border-radius:4px}.skippr\\:rounded-\\[5px\\]{border-radius:5px}.skippr\\:rounded-\\[10px\\]{border-radius:10px}.skippr\\:rounded-\\[11px\\]{border-radius:11px}.skippr\\:rounded-\\[12px\\]{border-radius:12px}.skippr\\:rounded-\\[14px\\]{border-radius:14px}.skippr\\:rounded-\\[16px\\]{border-radius:16px}.skippr\\:rounded-\\[20px\\]{border-radius:20px}.skippr\\:rounded-full{border-radius:3.40282e38px}.skippr\\:rounded-md{border-radius:.5rem}.skippr\\:rounded-sm{border-radius:.375rem}.skippr\\:rounded-xl{border-radius:.875rem}.skippr\\:rounded-t-\\[6px\\]{border-top-left-radius:6px;border-top-right-radius:6px}.skippr\\:rounded-t-\\[18px\\]{border-top-left-radius:18px;border-top-right-radius:18px}.skippr\\:rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.skippr\\:rounded-l-\\[6px\\]{border-top-left-radius:6px;border-bottom-left-radius:6px}.skippr\\:rounded-l-\\[18px\\]{border-top-left-radius:18px;border-bottom-left-radius:18px}.skippr\\:rounded-l-full{border-top-left-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.skippr\\:rounded-tl-\\[6px\\]{border-top-left-radius:6px}.skippr\\:rounded-tl-md{border-top-left-radius:.5rem}.skippr\\:rounded-r-\\[6px\\]{border-top-right-radius:6px;border-bottom-right-radius:6px}.skippr\\:rounded-r-\\[18px\\]{border-top-right-radius:18px;border-bottom-right-radius:18px}.skippr\\:rounded-r-full{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.skippr\\:rounded-tr-\\[6px\\]{border-top-right-radius:6px}.skippr\\:rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.skippr\\:rounded-b-\\[18px\\]{border-bottom-right-radius:18px;border-bottom-left-radius:18px}.skippr\\:rounded-b-full{border-bottom-right-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.skippr\\:rounded-bl-\\[6px\\]{border-bottom-left-radius:6px}.skippr\\:border{border-style:var(--tw-border-style);border-width:1px}.skippr\\:border-0{border-style:var(--tw-border-style);border-width:0}.skippr\\:border-2{border-style:var(--tw-border-style);border-width:2px}.skippr\\:border-\\[2\\.5px\\]{border-style:var(--tw-border-style);border-width:2.5px}.skippr\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.skippr\\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.skippr\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.skippr\\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.skippr\\:border-none{--tw-border-style:none;border-style:none}.skippr\\:border-\\[\\#d8d3ca\\]{border-color:#d8d3ca}.skippr\\:border-\\[rgba\\(45\\,45\\,63\\,0\\.1\\)\\]{border-color:#2d2d3f1a}.skippr\\:border-\\[rgba\\(45\\,45\\,63\\,0\\.06\\)\\]{border-color:#2d2d3f0f}.skippr\\:border-\\[rgba\\(45\\,45\\,63\\,0\\.08\\)\\]{border-color:#2d2d3f14}.skippr\\:border-\\[rgba\\(45\\,45\\,63\\,0\\.12\\)\\]{border-color:#2d2d3f1f}.skippr\\:border-\\[rgba\\(45\\,45\\,63\\,0\\.14\\)\\]{border-color:#2d2d3f24}.skippr\\:border-\\[rgba\\(45\\,45\\,63\\,0\\.28\\)\\]{border-color:#2d2d3f47}.skippr\\:border-\\[var\\(--skippr-brand-ring\\)\\]{border-color:var(--skippr-brand-ring)}.skippr\\:border-black\\/25{border-color:var(--skippr-color-black)}@supports (color:color-mix(in lab, red, red)){.skippr\\:border-black\\/25{border-color:color-mix(in oklab,var(--skippr-color-black)25%,transparent)}}.skippr\\:border-border{border-color:oklch(92.3% .003 48.717)}.skippr\\:border-brand{border-color:var(--skippr-brand,#2bc0ae)}.skippr\\:border-input{border-color:oklch(92.3% .003 48.717)}.skippr\\:border-primary,.skippr\\:border-primary\\/20{border-color:var(--skippr-brand,#2d2b3d)}@supports (color:color-mix(in lab, red, red)){.skippr\\:border-primary\\/20{border-color:color-mix(in oklab,var(--skippr-brand,#2d2b3d)20%,transparent)}}.skippr\\:border-transparent{border-color:#0000}.skippr\\:border-white,.skippr\\:border-white\\/30{border-color:var(--skippr-color-white)}@supports (color:color-mix(in lab, red, red)){.skippr\\:border-white\\/30{border-color:color-mix(in oklab,var(--skippr-color-white)30%,transparent)}}.skippr\\:border-t-brand{border-top-color:var(--skippr-brand,#2bc0ae)}.skippr\\:border-t-white{border-top-color:var(--skippr-color-white)}.skippr\\:border-r-border{border-right-color:oklch(92.3% .003 48.717)}.skippr\\:border-l-border{border-left-color:oklch(92.3% .003 48.717)}.skippr\\:bg-\\[\\#2D2D3F\\]{background-color:#2d2d3f}.skippr\\:bg-\\[\\#F1EFEA\\]{background-color:#f1efea}.skippr\\:bg-\\[\\#b9b4ab\\]{background-color:#b9b4ab}.skippr\\:bg-\\[\\#dc2626\\]{background-color:#dc2626}.skippr\\:bg-\\[\\#eeeae4\\]{background-color:#eeeae4}.skippr\\:bg-\\[\\#f2f0eb\\]{background-color:#f2f0eb}.skippr\\:bg-\\[\\#f4ecd8\\]{background-color:#f4ecd8}.skippr\\:bg-\\[\\#f4f2ee\\]{background-color:#f4f2ee}.skippr\\:bg-\\[rgba\\(45\\,45\\,63\\,0\\.03\\)\\]{background-color:#2d2d3f08}.skippr\\:bg-amber-50{background-color:var(--skippr-color-amber-50)}.skippr\\:bg-amber-400{background-color:var(--skippr-color-amber-400)}.skippr\\:bg-background{background-color:oklch(100% 0 0)}.skippr\\:bg-black\\/\\[0\\.07\\]{background-color:var(--skippr-color-black)}@supports (color:color-mix(in lab, red, red)){.skippr\\:bg-black\\/\\[0\\.07\\]{background-color:color-mix(in oklab,var(--skippr-color-black)7.0%,transparent)}}.skippr\\:bg-brand,.skippr\\:bg-brand\\/50{background-color:var(--skippr-brand,#2bc0ae)}@supports (color:color-mix(in lab, red, red)){.skippr\\:bg-brand\\/50{background-color:color-mix(in oklab,var(--skippr-brand,#2bc0ae)50%,transparent)}}.skippr\\:bg-bubble{background-color:#2d2b3d}.skippr\\:bg-bubble\\/95{background-color:oklab(29.9244% .0107414 -.0305411/.95)}.skippr\\:bg-card{background-color:oklch(100% 0 0)}.skippr\\:bg-current{background-color:currentColor}.skippr\\:bg-destructive{background-color:#d94f4f}.skippr\\:bg-emerald-400{background-color:var(--skippr-color-emerald-400)}.skippr\\:bg-foreground{background-color:oklch(14.7% .004 49.25)}.skippr\\:bg-foreground\\/10{background-color:oklab(14.7% .00261104 .00303026/.1)}.skippr\\:bg-launcher{background-color:#2d2d3f}.skippr\\:bg-muted-foreground\\/40{background-color:oklab(55.3% .00687528 .0110332/.4)}.skippr\\:bg-neutral-100{background-color:var(--skippr-color-neutral-100)}.skippr\\:bg-primary,.skippr\\:bg-primary\\/10{background-color:var(--skippr-brand,#2d2b3d)}@supports (color:color-mix(in lab, red, red)){.skippr\\:bg-primary\\/10{background-color:color-mix(in oklab,var(--skippr-brand,#2d2b3d)10%,transparent)}}.skippr\\:bg-red-50{background-color:var(--skippr-color-red-50)}.skippr\\:bg-red-100{background-color:var(--skippr-color-red-100)}.skippr\\:bg-red-500{background-color:var(--skippr-color-red-500)}.skippr\\:bg-secondary{background-color:#ffdfb5}.skippr\\:bg-transparent{background-color:#0000}.skippr\\:bg-white,.skippr\\:bg-white\\/70{background-color:var(--skippr-color-white)}@supports (color:color-mix(in lab, red, red)){.skippr\\:bg-white\\/70{background-color:color-mix(in oklab,var(--skippr-color-white)70%,transparent)}}.skippr\\:bg-white\\/80{background-color:var(--skippr-color-white)}@supports (color:color-mix(in lab, red, red)){.skippr\\:bg-white\\/80{background-color:color-mix(in oklab,var(--skippr-color-white)80%,transparent)}}.skippr\\:bg-white\\/95{background-color:var(--skippr-color-white)}@supports (color:color-mix(in lab, red, red)){.skippr\\:bg-white\\/95{background-color:color-mix(in oklab,var(--skippr-color-white)95%,transparent)}}.skippr\\:fill-brand{fill:var(--skippr-brand,#2bc0ae)}.skippr\\:fill-current{fill:currentColor}.skippr\\:fill-primary\\/30{fill:var(--skippr-brand,#2d2b3d)}@supports (color:color-mix(in lab, red, red)){.skippr\\:fill-primary\\/30{fill:color-mix(in oklab,var(--skippr-brand,#2d2b3d)30%,transparent)}}.skippr\\:fill-white{fill:var(--skippr-color-white)}.skippr\\:stroke-black\\/15{stroke:var(--skippr-color-black)}@supports (color:color-mix(in lab, red, red)){.skippr\\:stroke-black\\/15{stroke:color-mix(in oklab,var(--skippr-color-black)15%,transparent)}}.skippr\\:stroke-bubble{stroke:#2d2b3d}.skippr\\:object-contain{object-fit:contain}.skippr\\:object-cover{object-fit:cover}.skippr\\:p-0{padding:calc(var(--skippr-spacing)*0)}.skippr\\:p-1\\.5{padding:calc(var(--skippr-spacing)*1.5)}.skippr\\:p-2{padding:calc(var(--skippr-spacing)*2)}.skippr\\:p-3{padding:calc(var(--skippr-spacing)*3)}.skippr\\:p-3\\.5{padding:calc(var(--skippr-spacing)*3.5)}.skippr\\:p-4{padding:calc(var(--skippr-spacing)*4)}.skippr\\:p-\\[2px\\]{padding:2px}.skippr\\:p-\\[3px\\]{padding:3px}.skippr\\:p-\\[9px\\]{padding:9px}.skippr\\:p-\\[14px\\]{padding:14px}.skippr\\:px-1{padding-inline:calc(var(--skippr-spacing)*1)}.skippr\\:px-1\\.5{padding-inline:calc(var(--skippr-spacing)*1.5)}.skippr\\:px-2{padding-inline:calc(var(--skippr-spacing)*2)}.skippr\\:px-2\\.5{padding-inline:calc(var(--skippr-spacing)*2.5)}.skippr\\:px-3{padding-inline:calc(var(--skippr-spacing)*3)}.skippr\\:px-3\\.5{padding-inline:calc(var(--skippr-spacing)*3.5)}.skippr\\:px-4{padding-inline:calc(var(--skippr-spacing)*4)}.skippr\\:px-5{padding-inline:calc(var(--skippr-spacing)*5)}.skippr\\:px-6{padding-inline:calc(var(--skippr-spacing)*6)}.skippr\\:px-8{padding-inline:calc(var(--skippr-spacing)*8)}.skippr\\:px-\\[5px\\]{padding-inline:5px}.skippr\\:px-\\[7px\\]{padding-inline:7px}.skippr\\:px-\\[9px\\]{padding-inline:9px}.skippr\\:px-\\[10px\\]{padding-inline:10px}.skippr\\:px-\\[11px\\]{padding-inline:11px}.skippr\\:px-\\[12px\\]{padding-inline:12px}.skippr\\:px-\\[18px\\]{padding-inline:18px}.skippr\\:px-\\[22px\\]{padding-inline:22px}.skippr\\:py-0\\.5{padding-block:calc(var(--skippr-spacing)*.5)}.skippr\\:py-1{padding-block:calc(var(--skippr-spacing)*1)}.skippr\\:py-1\\.5{padding-block:calc(var(--skippr-spacing)*1.5)}.skippr\\:py-2{padding-block:calc(var(--skippr-spacing)*2)}.skippr\\:py-2\\.5{padding-block:calc(var(--skippr-spacing)*2.5)}.skippr\\:py-3{padding-block:calc(var(--skippr-spacing)*3)}.skippr\\:py-4{padding-block:calc(var(--skippr-spacing)*4)}.skippr\\:py-6{padding-block:calc(var(--skippr-spacing)*6)}.skippr\\:py-\\[1px\\]{padding-block:1px}.skippr\\:py-\\[3px\\]{padding-block:3px}.skippr\\:py-\\[4px\\]{padding-block:4px}.skippr\\:py-\\[5px\\]{padding-block:5px}.skippr\\:py-\\[6px\\]{padding-block:6px}.skippr\\:py-\\[7px\\]{padding-block:7px}.skippr\\:py-\\[13px\\]{padding-block:13px}.skippr\\:pt-1{padding-top:calc(var(--skippr-spacing)*1)}.skippr\\:pt-5{padding-top:calc(var(--skippr-spacing)*5)}.skippr\\:pt-\\[8px\\]{padding-top:8px}.skippr\\:pt-\\[9px\\]{padding-top:9px}.skippr\\:pt-\\[10px\\]{padding-top:10px}.skippr\\:pt-\\[18px\\]{padding-top:18px}.skippr\\:pt-\\[22px\\]{padding-top:22px}.skippr\\:pr-2\\.5{padding-right:calc(var(--skippr-spacing)*2.5)}.skippr\\:pr-3{padding-right:calc(var(--skippr-spacing)*3)}.skippr\\:pr-\\[5px\\]{padding-right:5px}.skippr\\:pr-\\[6px\\]{padding-right:6px}.skippr\\:pr-\\[9px\\]{padding-right:9px}.skippr\\:pr-\\[10px\\]{padding-right:10px}.skippr\\:pb-0\\.5{padding-bottom:calc(var(--skippr-spacing)*.5)}.skippr\\:pb-1{padding-bottom:calc(var(--skippr-spacing)*1)}.skippr\\:pb-4{padding-bottom:calc(var(--skippr-spacing)*4)}.skippr\\:pb-\\[8px\\]{padding-bottom:8px}.skippr\\:pb-\\[10px\\]{padding-bottom:10px}.skippr\\:pb-\\[22px\\]{padding-bottom:22px}.skippr\\:pl-1\\.5{padding-left:calc(var(--skippr-spacing)*1.5)}.skippr\\:pl-2\\.5{padding-left:calc(var(--skippr-spacing)*2.5)}.skippr\\:pl-3\\.5{padding-left:calc(var(--skippr-spacing)*3.5)}.skippr\\:pl-\\[9px\\]{padding-left:9px}.skippr\\:pl-\\[13px\\]{padding-left:13px}.skippr\\:text-center{text-align:center}.skippr\\:text-left{text-align:left}.skippr\\:font-mono{font-family:var(--skippr-font-mono)}.skippr\\:text-sm{font-size:var(--skippr-text-sm);line-height:var(--tw-leading,var(--skippr-text-sm--line-height))}.skippr\\:text-xs{font-size:var(--skippr-text-xs);line-height:var(--tw-leading,var(--skippr-text-xs--line-height))}.skippr\\:text-\\[8\\.5px\\]{font-size:8.5px}.skippr\\:text-\\[9\\.5px\\]{font-size:9.5px}.skippr\\:text-\\[9px\\]{font-size:9px}.skippr\\:text-\\[10\\.5px\\]{font-size:10.5px}.skippr\\:text-\\[10px\\]{font-size:10px}.skippr\\:text-\\[11\\.5px\\]{font-size:11.5px}.skippr\\:text-\\[11px\\]{font-size:11px}.skippr\\:text-\\[12\\.5px\\]{font-size:12.5px}.skippr\\:text-\\[12px\\]{font-size:12px}.skippr\\:text-\\[13px\\]{font-size:13px}.skippr\\:text-\\[14px\\]{font-size:14px}.skippr\\:text-\\[16px\\]{font-size:16px}.skippr\\:text-\\[18px\\]{font-size:18px}.skippr\\:leading-5{--tw-leading:calc(var(--skippr-spacing)*5);line-height:calc(var(--skippr-spacing)*5)}.skippr\\:leading-\\[1\\.2\\]{--tw-leading:1.2;line-height:1.2}.skippr\\:leading-\\[1\\.25\\]{--tw-leading:1.25;line-height:1.25}.skippr\\:leading-none{--tw-leading:1;line-height:1}.skippr\\:leading-relaxed{--tw-leading:var(--skippr-leading-relaxed);line-height:var(--skippr-leading-relaxed)}.skippr\\:leading-snug{--tw-leading:var(--skippr-leading-snug);line-height:var(--skippr-leading-snug)}.skippr\\:font-bold{--tw-font-weight:var(--skippr-font-weight-bold);font-weight:var(--skippr-font-weight-bold)}.skippr\\:font-medium{--tw-font-weight:var(--skippr-font-weight-medium);font-weight:var(--skippr-font-weight-medium)}.skippr\\:font-semibold{--tw-font-weight:var(--skippr-font-weight-semibold);font-weight:var(--skippr-font-weight-semibold)}.skippr\\:tracking-\\[-0\\.01em\\]{--tw-tracking:-.01em;letter-spacing:-.01em}.skippr\\:tracking-\\[-0\\.0125em\\]{--tw-tracking:-.0125em;letter-spacing:-.0125em}.skippr\\:tracking-\\[0\\.02em\\]{--tw-tracking:.02em;letter-spacing:.02em}.skippr\\:tracking-\\[0\\.05em\\]{--tw-tracking:.05em;letter-spacing:.05em}.skippr\\:whitespace-nowrap{white-space:nowrap}.skippr\\:text-\\[\\#2D2D3F\\]{color:#2d2d3f}.skippr\\:text-\\[\\#5a5650\\]{color:#5a5650}.skippr\\:text-\\[\\#5c5850\\]{color:#5c5850}.skippr\\:text-\\[\\#6b6660\\]{color:#6b6660}.skippr\\:text-\\[\\#6b6875\\]{color:#6b6875}.skippr\\:text-\\[\\#8b877f\\]{color:#8b877f}.skippr\\:text-\\[\\#92400e\\]{color:#92400e}.skippr\\:text-\\[\\#a8a49c\\]{color:#a8a49c}.skippr\\:text-\\[\\#b8b4ac\\]{color:#b8b4ac}.skippr\\:text-\\[\\#c9c5bd\\]{color:#c9c5bd}.skippr\\:text-\\[\\#cbc7bf\\]{color:#cbc7bf}.skippr\\:text-\\[\\#dc2626\\]{color:#dc2626}.skippr\\:text-\\[var\\(--skippr-brand-deep\\)\\]{color:var(--skippr-brand-deep)}.skippr\\:text-amber-700{color:var(--skippr-color-amber-700)}.skippr\\:text-amber-950{color:var(--skippr-color-amber-950)}.skippr\\:text-background{color:oklch(100% 0 0)}.skippr\\:text-black,.skippr\\:text-black\\/40{color:var(--skippr-color-black)}@supports (color:color-mix(in lab, red, red)){.skippr\\:text-black\\/40{color:color-mix(in oklab,var(--skippr-color-black)40%,transparent)}}.skippr\\:text-brand{color:var(--skippr-brand,#2bc0ae)}.skippr\\:text-brand-on-white{color:var(--skippr-brand-on-white,#1e8478)}.skippr\\:text-bubble{color:#2d2b3d}.skippr\\:text-chart-3{color:oklch(66.6% .179 58.318)}.skippr\\:text-destructive{color:#d94f4f}.skippr\\:text-foreground{color:oklch(14.7% .004 49.25)}.skippr\\:text-muted-foreground{color:oklch(55.3% .013 58.071)}.skippr\\:text-muted-foreground\\/30{color:oklab(55.3% .00687528 .0110332/.3)}.skippr\\:text-muted-foreground\\/60{color:oklab(55.3% .00687528 .0110332/.6)}.skippr\\:text-neutral-500{color:var(--skippr-color-neutral-500)}.skippr\\:text-neutral-700{color:var(--skippr-color-neutral-700)}.skippr\\:text-primary{color:var(--skippr-brand,#2d2b3d)}.skippr\\:text-primary-foreground{color:var(--skippr-brand-foreground,#fff)}.skippr\\:text-red-400{color:var(--skippr-color-red-400)}.skippr\\:text-red-600{color:var(--skippr-color-red-600)}.skippr\\:text-red-700{color:var(--skippr-color-red-700)}.skippr\\:text-secondary-foreground{color:#613700}.skippr\\:text-white,.skippr\\:text-white\\/60{color:var(--skippr-color-white)}@supports (color:color-mix(in lab, red, red)){.skippr\\:text-white\\/60{color:color-mix(in oklab,var(--skippr-color-white)60%,transparent)}}.skippr\\:capitalize{text-transform:capitalize}.skippr\\:uppercase{text-transform:uppercase}.skippr\\: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,)}.skippr\\:line-through{text-decoration-line:line-through}.skippr\\:underline{text-decoration-line:underline}.skippr\\:decoration-muted-foreground\\/40{text-decoration-color:oklab(55.3% .00687528 .0110332/.4)}.skippr\\:underline-offset-2,.skippr\\:underline-offset-\\[2px\\]{text-underline-offset:2px}.skippr\\:placeholder-muted-foreground::placeholder{color:oklch(55.3% .013 58.071)}.skippr\\:opacity-0{opacity:0}.skippr\\:opacity-40{opacity:.4}.skippr\\:opacity-75{opacity:.75}.skippr\\:opacity-85{opacity:.85}.skippr\\:opacity-100{opacity:1}.skippr\\: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)}.skippr\\:shadow-\\[-3px_0_14px_var\\(--skippr-brand-halo\\)\\]{--tw-shadow:-3px 0 14px var(--tw-shadow-color,var(--skippr-brand-halo));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[-4px_6px_18px_rgba\\(45\\,45\\,63\\,0\\.16\\)\\]{--tw-shadow:-4px 6px 18px var(--tw-shadow-color,#2d2d3f29);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[-6px_8px_30px_rgba\\(15\\,18\\,26\\,0\\.32\\)\\]{--tw-shadow:-6px 8px 30px var(--tw-shadow-color,#0f121a52);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_-3px_14px_var\\(--skippr-brand-halo\\)\\]{--tw-shadow:0 -3px 14px var(--tw-shadow-color,var(--skippr-brand-halo));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_-6px_18px_rgba\\(45\\,45\\,63\\,0\\.16\\)\\]{--tw-shadow:0 -6px 18px var(--tw-shadow-color,#2d2d3f29);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_0_0_1\\.5px_rgba\\(255\\,255\\,255\\,0\\.85\\)\\]{--tw-shadow:0 0 0 1.5px var(--tw-shadow-color,#ffffffd9);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_0_0_1px_rgba\\(45\\,45\\,63\\,0\\.10\\)\\,0_1px_2px_rgba\\(45\\,45\\,63\\,0\\.04\\)\\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#2d2d3f1a),0 1px 2px var(--tw-shadow-color,#2d2d3f0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_0_0_4px_var\\(--skippr-brand-ring\\)\\]{--tw-shadow:0 0 0 4px var(--tw-shadow-color,var(--skippr-brand-ring));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_1px_2px_rgba\\(45\\,45\\,63\\,0\\.05\\)\\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#2d2d3f0d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_1px_2px_rgba\\(45\\,45\\,63\\,0\\.08\\)\\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#2d2d3f14);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_2px_6px_rgba\\(0\\,0\\,0\\,0\\.28\\)\\]{--tw-shadow:0 2px 6px var(--tw-shadow-color,#00000047);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_2px_6px_rgba\\(45\\,45\\,63\\,0\\.14\\)\\]{--tw-shadow:0 2px 6px var(--tw-shadow-color,#2d2d3f24);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_3px_14px_var\\(--skippr-brand-halo\\)\\]{--tw-shadow:0 3px 14px var(--tw-shadow-color,var(--skippr-brand-halo));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_4px_12px_rgba\\(0\\,0\\,0\\,0\\.12\\)\\]{--tw-shadow:0 4px 12px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_4px_12px_rgba\\(45\\,45\\,63\\,0\\.1\\)\\]{--tw-shadow:0 4px 12px var(--tw-shadow-color,#2d2d3f1a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_4px_14px_rgba\\(0\\,0\\,0\\,0\\.12\\)\\]{--tw-shadow:0 4px 14px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_4px_14px_rgba\\(239\\,68\\,68\\,0\\.45\\)\\]{--tw-shadow:0 4px 14px var(--tw-shadow-color,#ef444473);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_4px_16px_rgba\\(45\\,43\\,61\\,0\\.45\\)\\,0_2px_4px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\]{--tw-shadow:0 4px 16px var(--tw-shadow-color,#2d2b3d73),0 2px 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)}.skippr\\:shadow-\\[0_6px_16px_rgba\\(45\\,45\\,63\\,0\\.14\\)\\]{--tw-shadow:0 6px 16px var(--tw-shadow-color,#2d2d3f24);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_6px_18px_rgba\\(45\\,45\\,63\\,0\\.16\\)\\]{--tw-shadow:0 6px 18px var(--tw-shadow-color,#2d2d3f29);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_8px_22px_rgba\\(45\\,45\\,63\\,0\\.12\\)\\,0_1px_3px_rgba\\(45\\,45\\,63\\,0\\.04\\)\\]{--tw-shadow:0 8px 22px var(--tw-shadow-color,#2d2d3f1f),0 1px 3px var(--tw-shadow-color,#2d2d3f0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_8px_24px_rgba\\(0\\,0\\,0\\,0\\.18\\)\\]{--tw-shadow:0 8px 24px var(--tw-shadow-color,#0000002e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_8px_24px_rgba\\(45\\,43\\,61\\,0\\.35\\)\\]{--tw-shadow:0 8px 24px var(--tw-shadow-color,#2d2b3d59);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_8px_30px_rgba\\(45\\,45\\,63\\,0\\.14\\)\\,0_2px_6px_rgba\\(45\\,45\\,63\\,0\\.06\\)\\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#2d2d3f24),0 2px 6px var(--tw-shadow-color,#2d2d3f0f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_10px_26px_rgba\\(45\\,45\\,63\\,0\\.13\\)\\,0_2px_6px_rgba\\(45\\,45\\,63\\,0\\.05\\)\\]{--tw-shadow:0 10px 26px var(--tw-shadow-color,#2d2d3f21),0 2px 6px var(--tw-shadow-color,#2d2d3f0d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_10px_28px_rgba\\(45\\,45\\,63\\,0\\.16\\)\\]{--tw-shadow:0 10px 28px var(--tw-shadow-color,#2d2d3f29);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_10px_30px_rgba\\(45\\,45\\,63\\,0\\.14\\)\\,0_0_0_1\\.5px_var\\(--skippr-brand-ring\\)\\]{--tw-shadow:0 10px 30px var(--tw-shadow-color,#2d2d3f24),0 0 0 1.5px var(--tw-shadow-color,var(--skippr-brand-ring));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_10px_32px_rgba\\(0\\,0\\,0\\,0\\.18\\)\\]{--tw-shadow:0 10px 32px var(--tw-shadow-color,#0000002e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[0_14px_34px_rgba\\(45\\,45\\,63\\,0\\.15\\)\\,0_2px_6px_rgba\\(45\\,45\\,63\\,0\\.06\\)\\]{--tw-shadow:0 14px 34px var(--tw-shadow-color,#2d2d3f26),0 2px 6px var(--tw-shadow-color,#2d2d3f0f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[3px_0_14px_var\\(--skippr-brand-halo\\)\\]{--tw-shadow:3px 0 14px var(--tw-shadow-color,var(--skippr-brand-halo));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[4px_6px_18px_rgba\\(45\\,45\\,63\\,0\\.16\\)\\]{--tw-shadow:4px 6px 18px var(--tw-shadow-color,#2d2d3f29);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-\\[inset_0_0_0_1\\.5px_var\\(--skippr-brand\\,\\#2bc0ae\\)\\]{--tw-shadow:inset 0 0 0 1.5px var(--tw-shadow-color,var(--skippr-brand,#2bc0ae));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:shadow-inner{--tw-shadow:inset 0 2px 4px 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)}.skippr\\: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)}.skippr\\:shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\: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)}.skippr\\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.skippr\\:ring-black\\/5{--tw-ring-color:var(--skippr-color-black)}@supports (color:color-mix(in lab, red, red)){.skippr\\:ring-black\\/5{--tw-ring-color:color-mix(in oklab,var(--skippr-color-black)5%,transparent)}}.skippr\\:ring-brand{--tw-ring-color:var(--skippr-brand,#2bc0ae)}.skippr\\:ring-white\\/15{--tw-ring-color:var(--skippr-color-white)}@supports (color:color-mix(in lab, red, red)){.skippr\\:ring-white\\/15{--tw-ring-color:color-mix(in oklab,var(--skippr-color-white)15%,transparent)}}.skippr\\:ring-offset-background{--tw-ring-offset-color:oklch(100% 0 0)}.skippr\\:drop-shadow-\\[0_2px_5px_rgba\\(0\\,0\\,0\\,0\\.4\\)\\]{--tw-drop-shadow-size:drop-shadow(0 2px 5px var(--tw-drop-shadow-color,#0006));--tw-drop-shadow:var(--tw-drop-shadow-size);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,)}.skippr\\:backdrop-blur-sm{--tw-backdrop-blur:blur(var(--skippr-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,)}.skippr\\:transition-\\[filter\\]{transition-property:filter;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[gap\\]{transition-property:gap;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[height\\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[left\\]{transition-property:left;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[opacity\\,color\\]{transition-property:opacity,color;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[opacity\\,transform\\,height\\]{transition-property:opacity,transform,height;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[width\\,height\\,background-color\\,border-color\\]{transition-property:width,height,background-color,border-color;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[width\\,margin\\]{transition-property:width,margin;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\: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(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--skippr-default-transition-timing-function));transition-duration:var(--tw-duration,var(--skippr-default-transition-duration))}.skippr\\:duration-75{--tw-duration:75ms;transition-duration:75ms}.skippr\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.skippr\\:duration-150{--tw-duration:.15s;transition-duration:.15s}.skippr\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.skippr\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.skippr\\:duration-\\[400ms\\]{--tw-duration:.4s;transition-duration:.4s}.skippr\\:ease-\\[cubic-bezier\\(0\\.22\\,1\\,0\\.36\\,1\\)\\]{--tw-ease:cubic-bezier(.22,1,.36,1);transition-timing-function:cubic-bezier(.22,1,.36,1)}.skippr\\:ease-\\[cubic-bezier\\(0\\.34\\,1\\.3\\,0\\.64\\,1\\)\\]{--tw-ease:cubic-bezier(.34,1.3,.64,1);transition-timing-function:cubic-bezier(.34,1.3,.64,1)}.skippr\\:ease-\\[cubic-bezier\\(0\\.34\\,1\\.56\\,0\\.64\\,1\\)\\]{--tw-ease:cubic-bezier(.34,1.56,.64,1);transition-timing-function:cubic-bezier(.34,1.56,.64,1)}.skippr\\:ease-in-out{--tw-ease:var(--skippr-ease-in-out);transition-timing-function:var(--skippr-ease-in-out)}.skippr\\:ease-out{--tw-ease:var(--skippr-ease-out);transition-timing-function:var(--skippr-ease-out)}.skippr\\:outline-none{--tw-outline-style:none;outline-style:none}.skippr\\:select-none{-webkit-user-select:none;user-select:none}.skippr\\:select-text{-webkit-user-select:text;user-select:text}.skippr\\:\\[animation-delay\\:0ms\\]{animation-delay:0s}.skippr\\:\\[animation-delay\\:150ms\\]{animation-delay:.15s}.skippr\\:\\[animation-delay\\:200ms\\]{animation-delay:.2s}.skippr\\:\\[animation-delay\\:300ms\\]{animation-delay:.3s}.skippr\\:\\[animation-delay\\:400ms\\]{animation-delay:.4s}.skippr\\:\\[overflow-anchor\\:none\\]{overflow-anchor:none}.skippr\\:group-focus-within\\:scale-100:is(:where(.skippr\\:group):focus-within *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.skippr\\:group-focus-within\\:opacity-100:is(:where(.skippr\\:group):focus-within *){opacity:1}@media (hover:hover){.skippr\\:group-hover\\:scale-100:is(:where(.skippr\\:group):hover *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.skippr\\:group-hover\\:text-red-300:is(:where(.skippr\\:group):hover *){color:var(--skippr-color-red-300)}.skippr\\:group-hover\\:text-white\\/80:is(:where(.skippr\\:group):hover *){color:var(--skippr-color-white)}@supports (color:color-mix(in lab, red, red)){.skippr\\:group-hover\\:text-white\\/80:is(:where(.skippr\\:group):hover *){color:color-mix(in oklab,var(--skippr-color-white)80%,transparent)}}.skippr\\:group-hover\\:opacity-100:is(:where(.skippr\\:group):hover *){opacity:1}}.skippr\\:placeholder\\:text-\\[\\#b0aca4\\]::placeholder{color:#b0aca4}.skippr\\:first\\:mt-0:first-child{margin-top:calc(var(--skippr-spacing)*0)}@media (hover:hover){.skippr\\:hover\\:-translate-y-0\\.5:hover{--tw-translate-y:calc(var(--skippr-spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.skippr\\: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)}.skippr\\:hover\\:border-\\[rgba\\(45\\,45\\,63\\,0\\.45\\)\\]:hover{border-color:#2d2d3f73}.skippr\\:hover\\:bg-\\[\\#3a384b\\]:hover{background-color:#3a384b}.skippr\\:hover\\:bg-\\[\\#3d3d52\\]:hover{background-color:#3d3d52}.skippr\\:hover\\:bg-\\[\\#f2f0eb\\]:hover{background-color:#f2f0eb}.skippr\\:hover\\:bg-\\[\\#f4f2ee\\]:hover{background-color:#f4f2ee}.skippr\\:hover\\:bg-\\[\\#f6f4f0\\]:hover{background-color:#f6f4f0}.skippr\\:hover\\:bg-\\[rgba\\(45\\,45\\,63\\,0\\.04\\)\\]:hover{background-color:#2d2d3f0a}.skippr\\:hover\\:bg-accent:hover{background-color:#e7e5e4}.skippr\\:hover\\:bg-amber-100:hover{background-color:var(--skippr-color-amber-100)}.skippr\\:hover\\:bg-bubble:hover{background-color:#2d2b3d}.skippr\\:hover\\:bg-destructive\\/90:hover{background-color:oklab(61.4357% .15892 .0698893/.9)}.skippr\\:hover\\:bg-foreground\\/8:hover{background-color:oklab(14.7% .00261104 .00303026/.08)}.skippr\\:hover\\:bg-muted:hover{background-color:oklch(97% .001 106.424)}.skippr\\:hover\\:bg-neutral-100:hover{background-color:var(--skippr-color-neutral-100)}.skippr\\:hover\\:bg-neutral-200:hover{background-color:var(--skippr-color-neutral-200)}.skippr\\:hover\\:bg-primary\\/90:hover{background-color:var(--skippr-brand,#2d2b3d)}@supports (color:color-mix(in lab, red, red)){.skippr\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--skippr-brand,#2d2b3d)90%,transparent)}}.skippr\\:hover\\:bg-red-200:hover{background-color:var(--skippr-color-red-200)}.skippr\\:hover\\:bg-red-600:hover{background-color:var(--skippr-color-red-600)}.skippr\\:hover\\:bg-secondary\\/80:hover{background-color:oklab(91.9963% .0175391 .0626889/.8)}.skippr\\:hover\\:bg-transparent:hover{background-color:#0000}.skippr\\:hover\\:text-\\[\\#2D2D3F\\]:hover{color:#2d2d3f}.skippr\\:hover\\:text-\\[\\#5a5650\\]:hover{color:#5a5650}.skippr\\:hover\\:text-accent-foreground:hover{color:oklch(21.6% .006 56.043)}.skippr\\:hover\\:text-destructive:hover{color:#d94f4f}.skippr\\:hover\\:text-foreground:hover{color:oklch(14.7% .004 49.25)}.skippr\\:hover\\:underline:hover{text-decoration-line:underline}.skippr\\:hover\\:decoration-muted-foreground:hover{text-decoration-color:oklch(55.3% .013 58.071)}.skippr\\:hover\\:opacity-80:hover{opacity:.8}.skippr\\:hover\\:opacity-100:hover{opacity:1}.skippr\\:hover\\:brightness-110:hover{--tw-brightness:brightness(110%);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,)}.skippr\\:hover\\:brightness-\\[1\\.04\\]:hover{--tw-brightness:brightness(1.04);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,)}.skippr\\:hover\\:brightness-\\[1\\.06\\]:hover{--tw-brightness:brightness(1.06);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,)}}.skippr\\:focus\\:border-primary:focus{border-color:var(--skippr-brand,#2d2b3d)}.skippr\\: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)}.skippr\\:focus\\:ring-primary\\/30:focus{--tw-ring-color:var(--skippr-brand,#2d2b3d)}@supports (color:color-mix(in lab, red, red)){.skippr\\:focus\\:ring-primary\\/30:focus{--tw-ring-color:color-mix(in oklab,var(--skippr-brand,#2d2b3d)30%,transparent)}}.skippr\\:focus-visible\\:border-\\[var\\(--skippr-brand-ring\\)\\]:focus-visible{border-color:var(--skippr-brand-ring)}.skippr\\: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)}.skippr\\:focus-visible\\:ring-\\[var\\(--skippr-brand-ring\\)\\]:focus-visible{--tw-ring-color:var(--skippr-brand-ring)}.skippr\\:focus-visible\\:ring-bubble\\/60:focus-visible{--tw-ring-color:oklab(29.9244% .0107414 -.0305411/.6)}.skippr\\:focus-visible\\:ring-ring:focus-visible{--tw-ring-color:oklch(70.9% .01 56.259)}.skippr\\: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)}.skippr\\:focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.skippr\\:focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.skippr\\:focus-visible\\:outline-\\[var\\(--skippr-brand\\)\\]:focus-visible{outline-color:var(--skippr-brand)}.skippr\\:focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.skippr\\:active\\:translate-y-0:active{--tw-translate-y:calc(var(--skippr-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.skippr\\:active\\:scale-\\[0\\.98\\]:active{scale:.98}.skippr\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.skippr\\:disabled\\:cursor-default:disabled{cursor:default}.skippr\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.skippr\\:disabled\\:opacity-50:disabled{opacity:.5}.skippr\\:disabled\\:opacity-60:disabled{opacity:.6}.skippr\\:disabled\\:opacity-80:disabled{opacity:.8}@media (hover:hover){.skippr\\:disabled\\:hover\\:bg-\\[\\#2D2D3F\\]:disabled:hover{background-color:#2d2d3f}.skippr\\:disabled\\:hover\\:bg-white:disabled:hover{background-color:var(--skippr-color-white)}}@media (prefers-reduced-motion:reduce){.skippr\\:motion-reduce\\:hidden{display:none}.skippr\\:motion-reduce\\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.skippr\\:motion-reduce\\:animate-none{animation:none}}.skippr\\:\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.skippr\\:\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.skippr\\:\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--skippr-spacing)*4);height:calc(var(--skippr-spacing)*4)}}:host{--skippr-brand-active:var(--skippr-brand,#2bc0ae)}@supports (color:color-mix(in lab, red, red)){:host{--skippr-brand-active:color-mix(in srgb,var(--skippr-brand,#2bc0ae)93%,#000)}}:host{--skippr-brand-deep:var(--skippr-brand,#2bc0ae)}@supports (color:color-mix(in lab, red, red)){:host{--skippr-brand-deep:color-mix(in srgb,var(--skippr-brand,#2bc0ae)78%,#000)}}:host{--skippr-brand-ring:var(--skippr-brand,#2bc0ae)}@supports (color:color-mix(in lab, red, red)){:host{--skippr-brand-ring:color-mix(in srgb,var(--skippr-brand,#2bc0ae)22%,transparent)}}:host{--skippr-brand-halo:var(--skippr-brand,#2bc0ae)}@supports (color:color-mix(in lab, red, red)){:host{--skippr-brand-halo:color-mix(in srgb,var(--skippr-brand,#2bc0ae)40%,transparent)}}:host{--skippr-brand-glow:linear-gradient(90deg,var(--skippr-brand,#2bc0ae),var(--skippr-brand,#2bc0ae),var(--skippr-brand,#2bc0ae),var(--skippr-brand,#2bc0ae),var(--skippr-brand,#2bc0ae))}@supports (color:color-mix(in lab, red, red)){:host{--skippr-brand-glow:linear-gradient(90deg,var(--skippr-brand,#2bc0ae),color-mix(in srgb,var(--skippr-brand,#2bc0ae)55%,#fff),color-mix(in srgb,var(--skippr-brand,#2bc0ae)72%,#fff),var(--skippr-brand,#2bc0ae),color-mix(in srgb,var(--skippr-brand,#2bc0ae)42%,#fff))}}@keyframes skippr-tap{0%{transform:scale(1)}45%{transform:scale(.7)}to{transform:scale(1)}}@keyframes skippr-press{0%{transform:scale(1)}55%{transform:scale(1)}85%{transform:scale(.68)}to{transform:scale(1)}}@keyframes skippr-cursor-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes skippr-click-ping{0%{opacity:.9;transform:translate(-50%,-50%)scale(.4)}to{opacity:0;transform:translate(-50%,-50%)scale(2.4)}}@keyframes skippr-tab-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes skippr-speak{0%,to{opacity:.6;transform:scaleY(.4)}50%{opacity:1;transform:scaleY(1)}}@keyframes skippr-thinking-dot{0%,80%,to{opacity:.2;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@keyframes skippr-pulse-ring{0%,to{box-shadow:0 0 #2d2b3d66}50%{box-shadow:0 0 0 10px #2d2b3d00}}@keyframes skippr-rec-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--skippr-brand,#2bc0ae)55%,transparent)}70%{box-shadow:0 0 0 11px #0000}to{box-shadow:0 0 #0000}}@keyframes skippr-voice-pulse{0%{box-shadow:0 0 0 0 var(--skippr-pulse-color,#2bc0ae80)}70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}@keyframes skippr-ptt-transmit{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--skippr-brand,#2bc0ae)60%,transparent),0 0 0 0 color-mix(in srgb,var(--skippr-brand,#2bc0ae)35%,transparent)}70%{box-shadow:0 0 0 9px #0000,0 0 0 16px #0000}to{box-shadow:0 0 #0000,0 0 #0000}}@keyframes skippr-annotation-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--skippr-brand,#2bc0ae)50%,transparent)}50%{box-shadow:0 0 0 6px #0000}}@keyframes skippr-speak-ripple{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.8)}}@keyframes skippr-bar{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@keyframes skippr-breathe{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes skippr-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes skippr-evaporate{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}55%{opacity:.85;filter:blur()}to{opacity:0;filter:blur(2.5px);transform:translateY(-7px)scale(.965)}}@keyframes skippr-mote-rise{0%{opacity:0;transform:translateY(2px)scale(.5)}25%{opacity:.85}to{opacity:0;transform:translateY(-24px)scale(1)}}@keyframes skippr-flow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes skippr-wave{0%,to{opacity:.4;transform:scaleY(.4)}50%{opacity:1;transform:scaleY(1)}}@keyframes skippr-bubble-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes skippr-tip-in{0%{opacity:0;transform:translateY(14px)scale(.96)}60%{opacity:1;transform:translateY(-2px)scale(1.01)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes skippr-pill-content{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes skippr-banner-look{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}@keyframes skippr-finger-tap{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(2px)rotate(-6deg)}}@keyframes skippr-toolset-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes skippr-stage-fade{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes skippr-agent-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes skippr-orb-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes skippr-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@keyframes skippr-blink{0%,40%{transform:scaleY(1)}41.3%,42%{transform:scaleY(.08)}43.3%,70%{transform:scaleY(1)}71.3%,72%{transform:scaleY(.08)}73.3%,to{transform:scaleY(1)}}.skippr-buddy-blink{transform-box:fill-box;transform-origin:50%;animation:5s linear infinite skippr-blink}@keyframes skippr-avatar-eyes-bob{0%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:translateY(0)}18%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:translateY(24px)}33.33%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:translateY(-30px)}48%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:translateY(-7px)}64%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:translateY(-30px)}82%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:translateY(31px)}96%,to{transform:translateY(0)}}@keyframes skippr-avatar-pupil-glance{0%,21.33%{transform:translate(0)}28%,68%{transform:translate(-30px)}74%,to{transform:translate(0)}}@keyframes skippr-avatar-body-vibe{0%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:scale(1)}17.67%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:scale(1.08,.95)}33.67%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:scale(1)}49.67%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:scale(1.08,.95)}65.67%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:scale(1)}81.67%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:scale(1.08,.95)}96%,to{transform:scale(1)}}@keyframes skippr-avatar-blink{0%,40%{transform:scaleY(1)}41.3%,42%{transform:scaleY(.08)}43.3%,70%{transform:scaleY(1)}71.3%,72%{transform:scaleY(.08)}73.3%,to{transform:scaleY(1)}}@keyframes skippr-avatar-bub-tail-drift{0%,10%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:translate(0)}45%,60%{animation-timing-function:cubic-bezier(.65,0,.36,1);transform:translate(-24px)}95%,to{transform:translate(0)}}@keyframes skippr-avatar-antenna-shake{0%,to{transform:rotate(-4deg)}25%{transform:rotate(4deg)}50%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.skippr-avatar-eyes{animation:5s infinite skippr-avatar-eyes-bob}.skippr-avatar-pupil{animation:5s linear infinite skippr-avatar-pupil-glance}.skippr-avatar-body{transform-box:fill-box;transform-origin:50% 100%;animation:5s infinite skippr-avatar-body-vibe}.skippr-avatar-blink{transform-box:fill-box;transform-origin:50%;animation:5s infinite skippr-avatar-blink}.skippr-avatar-body .skippr-avatar-antenna{transform-box:view-box;transform-origin:48px 22px;animation:1.6s ease-in-out infinite skippr-avatar-antenna-shake}.skippr-avatar-body .skippr-avatar-bub-tail{animation:5s infinite skippr-avatar-bub-tail-drift}@keyframes skippr-buddy-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes skippr-buddy-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes skippr-buddy-pop{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes skippr-buddy-sleep{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(1px)scale(.995)}}@keyframes skippr-buddy-zfloat{0%{opacity:0;transform:translateY(0)}20%{opacity:1}to{opacity:0;transform:translateY(-10px)}}@keyframes skippr-peek-left{0%,20%{transform:translate(-58%)}46%,66%{transform:translate(0)}92%,to{transform:translate(-58%)}}@keyframes skippr-peek-right{0%,20%{transform:translate(58%)}46%,66%{transform:translate(0)}92%,to{transform:translate(58%)}}@keyframes skippr-peek-top{0%,20%{transform:translateY(-58%)}46%,66%{transform:translateY(0)}92%,to{transform:translateY(-58%)}}@keyframes skippr-peek-bottom{0%,20%{transform:translateY(58%)}46%,66%{transform:translateY(0)}92%,to{transform:translateY(58%)}}.skippr-peek-left{animation:3.6s ease-in-out infinite skippr-peek-left}.skippr-peek-right{animation:3.6s ease-in-out infinite skippr-peek-right}.skippr-peek-top{animation:3.6s ease-in-out infinite skippr-peek-top}.skippr-peek-bottom{animation:3.6s ease-in-out infinite skippr-peek-bottom}.skippr-peek-out{animation:none;transform:none}@keyframes skippr-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}@keyframes skippr-block-reveal{0%{opacity:0;max-height:0;transform:translateY(-4px)}55%{opacity:1}to{opacity:1;max-height:260px;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.skippr-buddy-blink,[style*=skippr-blink],[style*=skippr-buddy-bob],[style*=skippr-buddy-breathe],[style*=skippr-buddy-pop],[style*=skippr-buddy-sleep],[style*=skippr-buddy-zfloat],.skippr-avatar-eyes,.skippr-avatar-pupil,.skippr-avatar-body,.skippr-avatar-blink,.skippr-avatar-body .skippr-avatar-antenna,.skippr-avatar-body .skippr-avatar-bub-tail,.skippr-peek-left,.skippr-peek-right,.skippr-peek-top,.skippr-peek-bottom{animation-play-state:paused}}.skippr-no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.skippr-no-scrollbar::-webkit-scrollbar{display:none}:host{color:var(--color-foreground)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-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-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-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}`;
|
|
8687
8744
|
const hostStyle = accentColor && isHexColor(accentColor) ? {
|
|
8688
8745
|
"--skippr-brand": accentColor,
|
|
8689
8746
|
"--skippr-brand-foreground": brandForeground(accentColor),
|
|
@@ -9011,7 +9068,7 @@ function useTextMode() {
|
|
|
9011
9068
|
}
|
|
9012
9069
|
|
|
9013
9070
|
// src/components/ChatHeader.tsx
|
|
9014
|
-
import { jsx as jsx28, jsxs as
|
|
9071
|
+
import { jsx as jsx28, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
9015
9072
|
var TABS_PILL_BASE = "skippr:cursor-pointer skippr:rounded-full skippr:border-none skippr:bg-transparent skippr:px-[9px] skippr:py-[3px] skippr:text-[11.5px] skippr:font-semibold skippr:text-[#8b877f] skippr:transition-colors";
|
|
9016
9073
|
var TABS_PILL_ACTIVE = "skippr:bg-white skippr:text-[#2D2D3F] skippr:shadow-[0_1px_2px_rgba(45,45,63,0.08)]";
|
|
9017
9074
|
function ChatHeader({ wasDraggedRef, draggable, headerRef }) {
|
|
@@ -9035,11 +9092,11 @@ function ChatHeader({ wasDraggedRef, draggable, headerRef }) {
|
|
|
9035
9092
|
const displayedMode = agentMode ?? defaultModule?.mode ?? null;
|
|
9036
9093
|
const showAgenda = displayedMode !== AGENT_MODE.AlwaysOn;
|
|
9037
9094
|
const showToggle = isConnected && (sidebarTab === "chat" || !showAgenda);
|
|
9038
|
-
return /* @__PURE__ */
|
|
9095
|
+
return /* @__PURE__ */ jsxs21("header", {
|
|
9039
9096
|
ref: headerRef,
|
|
9040
9097
|
className: cn("skippr:sticky skippr:top-0 skippr:z-10 skippr:flex skippr:shrink-0 skippr:items-center skippr:gap-[7px] skippr:border-b skippr:border-[rgba(45,45,63,0.08)] skippr:bg-white skippr:pl-[13px] skippr:pr-[9px] skippr:pt-[9px] skippr:pb-[8px]", draggable && "skippr:cursor-grab"),
|
|
9041
9098
|
children: [
|
|
9042
|
-
showAgenda ? /* @__PURE__ */
|
|
9099
|
+
showAgenda ? /* @__PURE__ */ jsxs21("div", {
|
|
9043
9100
|
role: "tablist",
|
|
9044
9101
|
"aria-label": "Panel",
|
|
9045
9102
|
"data-skippr-no-drag": "",
|
|
@@ -9069,7 +9126,7 @@ function ChatHeader({ wasDraggedRef, draggable, headerRef }) {
|
|
|
9069
9126
|
/* @__PURE__ */ jsx28("div", {
|
|
9070
9127
|
className: "skippr:flex-1"
|
|
9071
9128
|
}),
|
|
9072
|
-
showToggle && /* @__PURE__ */
|
|
9129
|
+
showToggle && /* @__PURE__ */ jsxs21("button", {
|
|
9073
9130
|
type: "button",
|
|
9074
9131
|
disabled: isHeld,
|
|
9075
9132
|
onClick: () => void toggleTextMode(),
|
|
@@ -9108,12 +9165,12 @@ function ChatHeader({ wasDraggedRef, draggable, headerRef }) {
|
|
|
9108
9165
|
}
|
|
9109
9166
|
|
|
9110
9167
|
// src/components/LoadingDots.tsx
|
|
9111
|
-
import { jsx as jsx29, jsxs as
|
|
9168
|
+
import { jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
9112
9169
|
function LoadingDots({ label }) {
|
|
9113
|
-
return /* @__PURE__ */
|
|
9170
|
+
return /* @__PURE__ */ jsxs22("div", {
|
|
9114
9171
|
className: "skippr:flex skippr:items-center skippr:gap-2 skippr:py-4",
|
|
9115
9172
|
children: [
|
|
9116
|
-
/* @__PURE__ */
|
|
9173
|
+
/* @__PURE__ */ jsxs22("div", {
|
|
9117
9174
|
className: "skippr:flex skippr:gap-1",
|
|
9118
9175
|
children: [
|
|
9119
9176
|
/* @__PURE__ */ jsx29("span", {
|
|
@@ -9136,9 +9193,9 @@ function LoadingDots({ label }) {
|
|
|
9136
9193
|
}
|
|
9137
9194
|
|
|
9138
9195
|
// src/components/LogoMark.tsx
|
|
9139
|
-
import { jsx as jsx30, jsxs as
|
|
9196
|
+
import { jsx as jsx30, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
9140
9197
|
function LogoMark({ className, decorative }) {
|
|
9141
|
-
return /* @__PURE__ */
|
|
9198
|
+
return /* @__PURE__ */ jsxs23("svg", {
|
|
9142
9199
|
viewBox: "21 21 109 109",
|
|
9143
9200
|
fill: "none",
|
|
9144
9201
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -9164,7 +9221,7 @@ import { useCallback as useCallback27, useLayoutEffect as useLayoutEffect3, useR
|
|
|
9164
9221
|
|
|
9165
9222
|
// src/components/ChatInput.tsx
|
|
9166
9223
|
import { useContext as useContext16, useEffect as useEffect34, useRef as useRef30, useState as useState26 } from "react";
|
|
9167
|
-
import { jsx as jsx31, jsxs as
|
|
9224
|
+
import { jsx as jsx31, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
9168
9225
|
var MAX_INPUT_HEIGHT = 60;
|
|
9169
9226
|
function ChatInput({ sendChatMessage, isSendingChat, autoFocus = false }) {
|
|
9170
9227
|
const ctx = useContext16(LiveAgentContext);
|
|
@@ -9206,7 +9263,7 @@ function ChatInput({ sendChatMessage, isSendingChat, autoFocus = false }) {
|
|
|
9206
9263
|
handleSubmit(e);
|
|
9207
9264
|
}
|
|
9208
9265
|
}
|
|
9209
|
-
return /* @__PURE__ */
|
|
9266
|
+
return /* @__PURE__ */ jsxs24("form", {
|
|
9210
9267
|
onSubmit: handleSubmit,
|
|
9211
9268
|
"data-skippr-no-drag": "",
|
|
9212
9269
|
className: "skippr:flex skippr:items-center skippr:gap-[7px] skippr:border-t skippr:border-[rgba(45,45,63,0.08)] skippr:bg-white skippr:p-[9px]",
|
|
@@ -9241,7 +9298,7 @@ function ChatInput({ sendChatMessage, isSendingChat, autoFocus = false }) {
|
|
|
9241
9298
|
}
|
|
9242
9299
|
|
|
9243
9300
|
// src/components/ChatMessage.tsx
|
|
9244
|
-
import { jsx as jsx32, jsxs as
|
|
9301
|
+
import { jsx as jsx32, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
9245
9302
|
function formatTimestamp(ts) {
|
|
9246
9303
|
return new Date(ts).toLocaleTimeString("en-US", {
|
|
9247
9304
|
hour: "numeric",
|
|
@@ -9253,7 +9310,7 @@ function ChatMessage({ message }) {
|
|
|
9253
9310
|
const isAgent = message.role === "assistant";
|
|
9254
9311
|
return /* @__PURE__ */ jsx32("div", {
|
|
9255
9312
|
className: cn("skippr:flex skippr:gap-2", isAgent ? "skippr:items-start" : "skippr:justify-end"),
|
|
9256
|
-
children: /* @__PURE__ */
|
|
9313
|
+
children: /* @__PURE__ */ jsxs25("div", {
|
|
9257
9314
|
className: cn("skippr:flex skippr:max-w-[80%] skippr:flex-col", isAgent ? "skippr:items-start" : "skippr:items-end"),
|
|
9258
9315
|
children: [
|
|
9259
9316
|
/* @__PURE__ */ jsx32("div", {
|
|
@@ -9283,7 +9340,7 @@ async function copyToClipboard(text) {
|
|
|
9283
9340
|
}
|
|
9284
9341
|
|
|
9285
9342
|
// src/components/LinkCard.tsx
|
|
9286
|
-
import { jsx as jsx33, jsxs as
|
|
9343
|
+
import { jsx as jsx33, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
9287
9344
|
var COPIED_RESET_MS = 2000;
|
|
9288
9345
|
var DISMISS_AFTER_COPY_MS = 3000;
|
|
9289
9346
|
function LinkCard({ card, onDismiss }) {
|
|
@@ -9308,10 +9365,10 @@ function LinkCard({ card, onDismiss }) {
|
|
|
9308
9365
|
setCopied(true);
|
|
9309
9366
|
dismissTimerRef.current = setTimeout(onDismiss, DISMISS_AFTER_COPY_MS);
|
|
9310
9367
|
}, [card.url, onDismiss]);
|
|
9311
|
-
return /* @__PURE__ */
|
|
9368
|
+
return /* @__PURE__ */ jsxs26("div", {
|
|
9312
9369
|
className: "skippr:rounded-2xl skippr:rounded-tl-md skippr:bg-card skippr:p-3.5 skippr:ring-2 skippr:ring-brand",
|
|
9313
9370
|
children: [
|
|
9314
|
-
/* @__PURE__ */
|
|
9371
|
+
/* @__PURE__ */ jsxs26("div", {
|
|
9315
9372
|
className: "skippr:mb-1 skippr:flex skippr:items-start skippr:justify-between skippr:gap-2",
|
|
9316
9373
|
children: [
|
|
9317
9374
|
card.title && /* @__PURE__ */ jsx33("p", {
|
|
@@ -9334,10 +9391,10 @@ function LinkCard({ card, onDismiss }) {
|
|
|
9334
9391
|
className: "skippr:mb-3 skippr:truncate skippr:text-xs skippr:text-muted-foreground",
|
|
9335
9392
|
children: card.url
|
|
9336
9393
|
}),
|
|
9337
|
-
/* @__PURE__ */
|
|
9394
|
+
/* @__PURE__ */ jsxs26("div", {
|
|
9338
9395
|
className: "skippr:flex skippr:gap-2",
|
|
9339
9396
|
children: [
|
|
9340
|
-
/* @__PURE__ */
|
|
9397
|
+
/* @__PURE__ */ jsxs26("a", {
|
|
9341
9398
|
href: card.url,
|
|
9342
9399
|
target: "_blank",
|
|
9343
9400
|
rel: "noopener noreferrer",
|
|
@@ -9349,7 +9406,7 @@ function LinkCard({ card, onDismiss }) {
|
|
|
9349
9406
|
"Open"
|
|
9350
9407
|
]
|
|
9351
9408
|
}),
|
|
9352
|
-
/* @__PURE__ */
|
|
9409
|
+
/* @__PURE__ */ jsxs26(Button, {
|
|
9353
9410
|
variant: "outline",
|
|
9354
9411
|
className: "skippr:flex-1 skippr:py-2",
|
|
9355
9412
|
onClick: handleCopy,
|
|
@@ -9371,7 +9428,7 @@ function LinkCard({ card, onDismiss }) {
|
|
|
9371
9428
|
|
|
9372
9429
|
// src/components/PlanCard.tsx
|
|
9373
9430
|
import { useEffect as useEffect36, useState as useState28 } from "react";
|
|
9374
|
-
import { jsx as jsx34, jsxs as
|
|
9431
|
+
import { jsx as jsx34, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
9375
9432
|
var APPROVE_MESSAGE = "Yes, go ahead.";
|
|
9376
9433
|
var CANCEL_MESSAGE = "No, cancel that.";
|
|
9377
9434
|
var COMPLETED_CARD_VISIBLE_MS = 2500;
|
|
@@ -9423,7 +9480,7 @@ function PlanCard({ plan, sendChatMessage, onDismiss }) {
|
|
|
9423
9480
|
const timer = setTimeout(onDismiss, COMPLETED_CARD_VISIBLE_MS);
|
|
9424
9481
|
return () => clearTimeout(timer);
|
|
9425
9482
|
}, [plan.state, onDismiss]);
|
|
9426
|
-
return /* @__PURE__ */
|
|
9483
|
+
return /* @__PURE__ */ jsxs27("div", {
|
|
9427
9484
|
className: "skippr:rounded-2xl skippr:rounded-tl-md skippr:bg-card skippr:p-3.5 skippr:ring-2 skippr:ring-brand",
|
|
9428
9485
|
children: [
|
|
9429
9486
|
/* @__PURE__ */ jsx34("p", {
|
|
@@ -9432,7 +9489,7 @@ function PlanCard({ plan, sendChatMessage, onDismiss }) {
|
|
|
9432
9489
|
}),
|
|
9433
9490
|
/* @__PURE__ */ jsx34("div", {
|
|
9434
9491
|
className: "skippr:space-y-2",
|
|
9435
|
-
children: plan.steps.map((step) => /* @__PURE__ */
|
|
9492
|
+
children: plan.steps.map((step) => /* @__PURE__ */ jsxs27("div", {
|
|
9436
9493
|
className: "skippr:flex skippr:items-center skippr:gap-2",
|
|
9437
9494
|
children: [
|
|
9438
9495
|
/* @__PURE__ */ jsx34(StepIcon, {
|
|
@@ -9445,10 +9502,10 @@ function PlanCard({ plan, sendChatMessage, onDismiss }) {
|
|
|
9445
9502
|
]
|
|
9446
9503
|
}, step.index))
|
|
9447
9504
|
}),
|
|
9448
|
-
awaitingApproval && /* @__PURE__ */
|
|
9505
|
+
awaitingApproval && /* @__PURE__ */ jsxs27("div", {
|
|
9449
9506
|
className: "skippr:mt-3.5 skippr:flex skippr:gap-2",
|
|
9450
9507
|
children: [
|
|
9451
|
-
/* @__PURE__ */
|
|
9508
|
+
/* @__PURE__ */ jsxs27(Button, {
|
|
9452
9509
|
className: "skippr:flex-1 skippr:gap-1.5 skippr:py-2",
|
|
9453
9510
|
disabled: isApproving,
|
|
9454
9511
|
onClick: approve,
|
|
@@ -9473,17 +9530,17 @@ function PlanCard({ plan, sendChatMessage, onDismiss }) {
|
|
|
9473
9530
|
}
|
|
9474
9531
|
|
|
9475
9532
|
// src/components/TypingIndicator.tsx
|
|
9476
|
-
import { jsx as jsx35, jsxs as
|
|
9533
|
+
import { jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
9477
9534
|
function TypingIndicator() {
|
|
9478
9535
|
return /* @__PURE__ */ jsx35("div", {
|
|
9479
9536
|
className: "skippr:flex skippr:items-start skippr:gap-2 skippr:animate-skippr-tab-fade",
|
|
9480
|
-
children: /* @__PURE__ */
|
|
9537
|
+
children: /* @__PURE__ */ jsxs28("div", {
|
|
9481
9538
|
className: "skippr:inline-flex skippr:items-center skippr:gap-1 skippr:rounded-2xl skippr:border skippr:border-primary/20 skippr:bg-primary/10 skippr:px-4 skippr:py-2 skippr:text-xs skippr:text-primary",
|
|
9482
9539
|
children: [
|
|
9483
9540
|
/* @__PURE__ */ jsx35("span", {
|
|
9484
9541
|
children: "Agent is analyzing your screen"
|
|
9485
9542
|
}),
|
|
9486
|
-
/* @__PURE__ */
|
|
9543
|
+
/* @__PURE__ */ jsxs28("span", {
|
|
9487
9544
|
className: "skippr:inline-flex skippr:items-center skippr:gap-[2px]",
|
|
9488
9545
|
children: [
|
|
9489
9546
|
/* @__PURE__ */ jsx35("span", {
|
|
@@ -9503,7 +9560,7 @@ function TypingIndicator() {
|
|
|
9503
9560
|
}
|
|
9504
9561
|
|
|
9505
9562
|
// src/components/MessageList.tsx
|
|
9506
|
-
import { jsx as jsx36, jsxs as
|
|
9563
|
+
import { jsx as jsx36, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
9507
9564
|
var BOTTOM_THRESHOLD_PX = 32;
|
|
9508
9565
|
function MessageList({
|
|
9509
9566
|
messages,
|
|
@@ -9562,13 +9619,13 @@ function MessageList({
|
|
|
9562
9619
|
container.scrollTop = container.scrollHeight;
|
|
9563
9620
|
}, [messages.length, lastMessage?.content]);
|
|
9564
9621
|
const showTyping = isStreaming && lastMessage?.role === "assistant" && lastMessage.content === "";
|
|
9565
|
-
return /* @__PURE__ */
|
|
9622
|
+
return /* @__PURE__ */ jsxs29("div", {
|
|
9566
9623
|
className: "skippr:flex skippr:min-h-0 skippr:flex-1 skippr:flex-col",
|
|
9567
9624
|
children: [
|
|
9568
|
-
/* @__PURE__ */
|
|
9625
|
+
/* @__PURE__ */ jsxs29("div", {
|
|
9569
9626
|
className: "skippr:relative skippr:flex skippr:min-h-0 skippr:flex-1 skippr:flex-col",
|
|
9570
9627
|
children: [
|
|
9571
|
-
/* @__PURE__ */
|
|
9628
|
+
/* @__PURE__ */ jsxs29("div", {
|
|
9572
9629
|
ref: containerRef,
|
|
9573
9630
|
onScroll: handleScroll,
|
|
9574
9631
|
"data-skippr-no-drag": "",
|
|
@@ -9625,7 +9682,7 @@ function MessageList({
|
|
|
9625
9682
|
|
|
9626
9683
|
// src/components/SessionAgenda.tsx
|
|
9627
9684
|
import { useContext as useContext17 } from "react";
|
|
9628
|
-
import { jsx as jsx37, jsxs as
|
|
9685
|
+
import { jsx as jsx37, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
9629
9686
|
function SessionAgenda({ phases, hasStarted }) {
|
|
9630
9687
|
const ctx = useContext17(LiveAgentContext);
|
|
9631
9688
|
const title = ctx?.activeModule?.name ?? "Agenda";
|
|
@@ -9642,17 +9699,17 @@ function SessionAgenda({ phases, hasStarted }) {
|
|
|
9642
9699
|
const activeIndex = phases.findIndex((p) => p.status === "active");
|
|
9643
9700
|
const currentStep = activeIndex >= 0 ? activeIndex + 1 : Math.min(completedCount + 1, total);
|
|
9644
9701
|
const progressPct = Math.round(completedCount / total * 100);
|
|
9645
|
-
return /* @__PURE__ */
|
|
9702
|
+
return /* @__PURE__ */ jsxs30("div", {
|
|
9646
9703
|
className: "skippr:flex-1 skippr:overflow-y-auto skippr:p-[14px]",
|
|
9647
9704
|
children: [
|
|
9648
|
-
/* @__PURE__ */
|
|
9705
|
+
/* @__PURE__ */ jsxs30("div", {
|
|
9649
9706
|
className: "skippr:mb-2 skippr:flex skippr:items-baseline skippr:justify-between",
|
|
9650
9707
|
children: [
|
|
9651
9708
|
/* @__PURE__ */ jsx37("span", {
|
|
9652
9709
|
className: "skippr:text-[12.5px] skippr:font-semibold skippr:text-[#2D2D3F]",
|
|
9653
9710
|
children: title
|
|
9654
9711
|
}),
|
|
9655
|
-
/* @__PURE__ */
|
|
9712
|
+
/* @__PURE__ */ jsxs30("span", {
|
|
9656
9713
|
className: "skippr:text-[11px] skippr:font-semibold skippr:text-[var(--skippr-brand-deep)]",
|
|
9657
9714
|
children: [
|
|
9658
9715
|
"step ",
|
|
@@ -9678,7 +9735,7 @@ function SessionAgenda({ phases, hasStarted }) {
|
|
|
9678
9735
|
phases.map((phase) => {
|
|
9679
9736
|
const isActive = phase.status === "active";
|
|
9680
9737
|
const isCompleted = phase.status === "completed";
|
|
9681
|
-
return /* @__PURE__ */
|
|
9738
|
+
return /* @__PURE__ */ jsxs30("div", {
|
|
9682
9739
|
className: "skippr:flex skippr:items-center skippr:gap-[9px] skippr:py-[5px]",
|
|
9683
9740
|
children: [
|
|
9684
9741
|
isCompleted ? /* @__PURE__ */ jsx37("span", {
|
|
@@ -9726,7 +9783,7 @@ function SessionWarningBanner({ remaining }) {
|
|
|
9726
9783
|
}
|
|
9727
9784
|
|
|
9728
9785
|
// src/components/Sidebar.tsx
|
|
9729
|
-
import { jsx as jsx39, jsxs as
|
|
9786
|
+
import { jsx as jsx39, jsxs as jsxs31, Fragment as Fragment4 } from "react/jsx-runtime";
|
|
9730
9787
|
var ATTRIBUTION_PREFIX = "Powered by";
|
|
9731
9788
|
var ATTRIBUTION_BRAND = "Skippr";
|
|
9732
9789
|
var ATTRIBUTION_URL = "https://www.skippr.ai/";
|
|
@@ -9786,7 +9843,7 @@ function Sidebar({
|
|
|
9786
9843
|
if (!voiceBarRef?.current || !setBarPos)
|
|
9787
9844
|
return;
|
|
9788
9845
|
const rect = voiceBarRef.current.getBoundingClientRect();
|
|
9789
|
-
setBarPos(
|
|
9846
|
+
setBarPos({ x: rect.left, y: rect.top }, rect.width);
|
|
9790
9847
|
}, [setBarPos, voiceBarRef]);
|
|
9791
9848
|
const followsPanel = isFloating && isPanelOpen;
|
|
9792
9849
|
const dragFollowers = followsPanel && panelRef && controlBarRef && voiceBarRef ? [panelRef, controlBarRef, voiceBarRef] : null;
|
|
@@ -9813,7 +9870,7 @@ function Sidebar({
|
|
|
9813
9870
|
}, [isSidebar, isPanelOpen, position]);
|
|
9814
9871
|
if (splashReplacesPanel)
|
|
9815
9872
|
return null;
|
|
9816
|
-
return /* @__PURE__ */
|
|
9873
|
+
return /* @__PURE__ */ jsxs31("div", {
|
|
9817
9874
|
ref: internalCtx?.panelRef,
|
|
9818
9875
|
className: cn("skippr:fixed skippr:z-[9999]", "skippr:bg-card", "skippr:flex skippr:flex-col", "skippr:overflow-hidden", isFloating && "skippr:rounded-[16px] skippr:border skippr:border-[rgba(45,45,63,0.08)] skippr:shadow-[0_14px_34px_rgba(45,45,63,0.15),0_2px_6px_rgba(45,45,63,0.06)]", isFloating && "skippr:transition-[opacity,transform,height] skippr:duration-300 skippr:ease-in-out", anchor2 && panelTransformOrigin(anchor2.popsDown, anchor2.isLeftAligned), isFloating && !isPanelOpen && "skippr:scale-0 skippr:opacity-0 skippr:pointer-events-none", isFloating && isPanelOpen && "skippr:scale-100 skippr:opacity-100", followsPanel && "skippr:select-none", isSidebar && "skippr:top-0 skippr:h-full", isSidebar && "skippr:transition-[width] skippr:duration-300 skippr:ease-in-out", isSidebar && position === "right" && "skippr:right-0 skippr:border-l skippr:border-l-border", isSidebar && position === "left" && "skippr:left-0 skippr:border-r skippr:border-r-border", isSidebar && !isPanelOpen && "skippr:w-0 skippr:border-0"),
|
|
9819
9876
|
style: { width: isPanelOpen ? SIDEBAR_WIDTH : undefined, ...floatingStyle },
|
|
@@ -9875,7 +9932,7 @@ function AuthenticatedContent({
|
|
|
9875
9932
|
}) {
|
|
9876
9933
|
const inSession = isConnected || isStarting || isPaused || isPausing;
|
|
9877
9934
|
const effectiveTab = showAgenda ? activeTab : "chat";
|
|
9878
|
-
return /* @__PURE__ */
|
|
9935
|
+
return /* @__PURE__ */ jsxs31(Fragment4, {
|
|
9879
9936
|
children: [
|
|
9880
9937
|
isConnected && /* @__PURE__ */ jsx39(ConnectedBanner, {}),
|
|
9881
9938
|
/* @__PURE__ */ jsx39("div", {
|
|
@@ -9903,7 +9960,7 @@ function AuthenticatedContent({
|
|
|
9903
9960
|
className: "skippr:shrink-0 skippr:border-t skippr:border-border",
|
|
9904
9961
|
children: /* @__PURE__ */ jsx39("div", {
|
|
9905
9962
|
className: "skippr:flex skippr:items-center skippr:justify-center skippr:px-4 skippr:pt-1 skippr:pb-0.5 skippr:text-[10px] skippr:text-muted-foreground",
|
|
9906
|
-
children: /* @__PURE__ */
|
|
9963
|
+
children: /* @__PURE__ */ jsxs31("a", {
|
|
9907
9964
|
href: ATTRIBUTION_URL,
|
|
9908
9965
|
target: "_blank",
|
|
9909
9966
|
rel: "noopener noreferrer",
|
|
@@ -9927,8 +9984,7 @@ function AuthenticatedContent({
|
|
|
9927
9984
|
"data-skippr-no-drag": "",
|
|
9928
9985
|
className: `skippr:shrink-0 skippr:px-2${hideControls ? " skippr:pb-4 skippr:border-t skippr:border-border skippr:pt-1" : " skippr:pb-1"}`,
|
|
9929
9986
|
children: /* @__PURE__ */ jsx39(ConsentNotice, {
|
|
9930
|
-
|
|
9931
|
-
determiner: "the",
|
|
9987
|
+
template: CONSENT_NOTICE_CONTINUING,
|
|
9932
9988
|
className: "skippr:whitespace-nowrap skippr:text-[10px]"
|
|
9933
9989
|
})
|
|
9934
9990
|
})
|
|
@@ -9936,7 +9992,7 @@ function AuthenticatedContent({
|
|
|
9936
9992
|
});
|
|
9937
9993
|
}
|
|
9938
9994
|
function AuthError() {
|
|
9939
|
-
return /* @__PURE__ */
|
|
9995
|
+
return /* @__PURE__ */ jsxs31("div", {
|
|
9940
9996
|
className: "skippr:flex skippr:flex-1 skippr:flex-col skippr:items-center skippr:justify-center skippr:px-6 skippr:py-4 skippr:text-center",
|
|
9941
9997
|
children: [
|
|
9942
9998
|
/* @__PURE__ */ jsx39(CircleAlert, {
|
|
@@ -9976,7 +10032,7 @@ function IdleHistory({
|
|
|
9976
10032
|
})
|
|
9977
10033
|
});
|
|
9978
10034
|
}
|
|
9979
|
-
return /* @__PURE__ */
|
|
10035
|
+
return /* @__PURE__ */ jsxs31("div", {
|
|
9980
10036
|
className: "skippr:flex skippr:min-h-0 skippr:flex-1 skippr:flex-col skippr:animate-skippr-tab-fade",
|
|
9981
10037
|
children: [
|
|
9982
10038
|
activeTab === "agenda" ? /* @__PURE__ */ jsx39("div", {
|
|
@@ -9991,11 +10047,11 @@ function IdleHistory({
|
|
|
9991
10047
|
isStreaming: false,
|
|
9992
10048
|
readOnly: true
|
|
9993
10049
|
}),
|
|
9994
|
-
(showTalk || error) && /* @__PURE__ */
|
|
10050
|
+
(showTalk || error) && /* @__PURE__ */ jsxs31("div", {
|
|
9995
10051
|
"data-skippr-no-drag": "",
|
|
9996
10052
|
className: "skippr:shrink-0 skippr:border-t skippr:border-border skippr:p-3",
|
|
9997
10053
|
children: [
|
|
9998
|
-
showTalk && /* @__PURE__ */
|
|
10054
|
+
showTalk && /* @__PURE__ */ jsxs31("button", {
|
|
9999
10055
|
type: "button",
|
|
10000
10056
|
onClick: onTalk,
|
|
10001
10057
|
disabled: talkDisabled,
|
|
@@ -10056,9 +10112,9 @@ function ConnectedBody({
|
|
|
10056
10112
|
import { useContext as useContext19 } from "react";
|
|
10057
10113
|
|
|
10058
10114
|
// src/components/Logo.tsx
|
|
10059
|
-
import { jsx as jsx40, jsxs as
|
|
10115
|
+
import { jsx as jsx40, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
10060
10116
|
function Logo({ className, decorative }) {
|
|
10061
|
-
return /* @__PURE__ */
|
|
10117
|
+
return /* @__PURE__ */ jsxs32("svg", {
|
|
10062
10118
|
width: "1em",
|
|
10063
10119
|
height: "1em",
|
|
10064
10120
|
viewBox: "0 0 200 200",
|
|
@@ -10075,7 +10131,7 @@ function Logo({ className, decorative }) {
|
|
|
10075
10131
|
rx: "40",
|
|
10076
10132
|
fill: "#2D2D3F"
|
|
10077
10133
|
}),
|
|
10078
|
-
/* @__PURE__ */
|
|
10134
|
+
/* @__PURE__ */ jsxs32("g", {
|
|
10079
10135
|
transform: "translate(100 100) scale(0.8) translate(-100 -100)",
|
|
10080
10136
|
children: [
|
|
10081
10137
|
/* @__PURE__ */ jsx40("path", {
|
|
@@ -10168,6 +10224,7 @@ function resolveSplashPresentation(splash) {
|
|
|
10168
10224
|
const width = splash?.width;
|
|
10169
10225
|
const maxHeight = splash?.maxHeight;
|
|
10170
10226
|
return {
|
|
10227
|
+
locale: splash?.locale ?? "en",
|
|
10171
10228
|
copy,
|
|
10172
10229
|
card: {
|
|
10173
10230
|
width: width === undefined ? DEFAULT_SPLASH_WIDTH_PX : clampSplashWidth(width),
|
|
@@ -10327,12 +10384,7 @@ var CARD_FRAME = "skippr:rounded-[16px] skippr:bg-white skippr:shadow-[0_0_0_1px
|
|
|
10327
10384
|
|
|
10328
10385
|
// src/components/SplashMediaSection.tsx
|
|
10329
10386
|
import { useCallback as useCallback30, useRef as useRef34 } from "react";
|
|
10330
|
-
import { jsx as jsx42, jsxs as
|
|
10331
|
-
var SCREEN_NOTICE = "Required";
|
|
10332
|
-
var ENABLE_ACTION = "Enable";
|
|
10333
|
-
var MEDIA_ENABLED_STATUS = "Enabled";
|
|
10334
|
-
var MIC_MUTED_STATUS = "Muted";
|
|
10335
|
-
var MUTE_MIC_ACTION = "Mute microphone";
|
|
10387
|
+
import { jsx as jsx42, jsxs as jsxs33, Fragment as Fragment5 } from "react/jsx-runtime";
|
|
10336
10388
|
var MEDIA_TRAILING_BOX = "skippr:shrink-0 skippr:rounded-full skippr:border skippr:px-[18px] skippr:py-[7px] skippr:text-[14px]";
|
|
10337
10389
|
var MEDIA_PILL = `${MEDIA_TRAILING_BOX} skippr:cursor-pointer skippr:border-[rgba(45,45,63,0.12)] skippr:font-medium skippr:transition-colors`;
|
|
10338
10390
|
var MEDIA_LINK = `${FOCUS_RING3} skippr:shrink-0 skippr:cursor-pointer skippr:rounded-[4px] skippr:text-[14px] skippr:font-medium skippr:text-brand-on-white skippr:underline-offset-2 skippr:hover:underline`;
|
|
@@ -10340,14 +10392,14 @@ var MEDIA_STATUS_SHAPE = "skippr:shrink-0 skippr:text-[14px]";
|
|
|
10340
10392
|
var MEDIA_STATUS_MUTED = `${MEDIA_STATUS_SHAPE} skippr:text-[#6b6875]`;
|
|
10341
10393
|
var MEDIA_STATUS_BRAND = `${MEDIA_STATUS_SHAPE} skippr:font-medium skippr:text-brand-on-white`;
|
|
10342
10394
|
function MediaRow({ icon, label, subtext, trailing }) {
|
|
10343
|
-
return /* @__PURE__ */
|
|
10395
|
+
return /* @__PURE__ */ jsxs33("li", {
|
|
10344
10396
|
className: "skippr:flex skippr:items-center skippr:gap-3",
|
|
10345
10397
|
children: [
|
|
10346
10398
|
/* @__PURE__ */ jsx42("span", {
|
|
10347
10399
|
className: ICON_TILE,
|
|
10348
10400
|
children: icon
|
|
10349
10401
|
}),
|
|
10350
|
-
/* @__PURE__ */
|
|
10402
|
+
/* @__PURE__ */ jsxs33("span", {
|
|
10351
10403
|
className: `skippr:flex-1 ${ROW_TEXT}`,
|
|
10352
10404
|
children: [
|
|
10353
10405
|
/* @__PURE__ */ jsx42("span", {
|
|
@@ -10368,12 +10420,12 @@ function MediaRow({ icon, label, subtext, trailing }) {
|
|
|
10368
10420
|
]
|
|
10369
10421
|
});
|
|
10370
10422
|
}
|
|
10371
|
-
function EnableButton({ onEnable }) {
|
|
10423
|
+
function EnableButton({ label, onEnable }) {
|
|
10372
10424
|
return /* @__PURE__ */ jsx42("button", {
|
|
10373
10425
|
type: "button",
|
|
10374
10426
|
onClick: onEnable,
|
|
10375
10427
|
className: MEDIA_LINK,
|
|
10376
|
-
children:
|
|
10428
|
+
children: label
|
|
10377
10429
|
});
|
|
10378
10430
|
}
|
|
10379
10431
|
function MediaStatus({ label, className }) {
|
|
@@ -10384,6 +10436,7 @@ function MediaStatus({ label, className }) {
|
|
|
10384
10436
|
}
|
|
10385
10437
|
function MicToggle({
|
|
10386
10438
|
muted,
|
|
10439
|
+
muteLabel,
|
|
10387
10440
|
onToggle,
|
|
10388
10441
|
toggleRef
|
|
10389
10442
|
}) {
|
|
@@ -10392,7 +10445,7 @@ function MicToggle({
|
|
|
10392
10445
|
type: "button",
|
|
10393
10446
|
onClick: onToggle,
|
|
10394
10447
|
"aria-pressed": muted,
|
|
10395
|
-
"aria-label":
|
|
10448
|
+
"aria-label": muteLabel,
|
|
10396
10449
|
className: `${MEDIA_PILL} ${FOCUS_RING3} skippr:flex skippr:items-center skippr:justify-center ${muted ? "skippr:bg-[#f2f0eb] skippr:text-[#6b6875]" : "skippr:text-[#2D2D3F] skippr:hover:bg-[#f2f0eb]"}`,
|
|
10397
10450
|
children: muted ? /* @__PURE__ */ jsx42(MicOff, {
|
|
10398
10451
|
className: ROW_ICON,
|
|
@@ -10405,18 +10458,23 @@ function MicToggle({
|
|
|
10405
10458
|
})
|
|
10406
10459
|
});
|
|
10407
10460
|
}
|
|
10408
|
-
function ScreenTrailing({
|
|
10461
|
+
function ScreenTrailing({
|
|
10462
|
+
copy,
|
|
10463
|
+
enabled,
|
|
10464
|
+
onEnable
|
|
10465
|
+
}) {
|
|
10409
10466
|
if (enabled === null)
|
|
10410
10467
|
return /* @__PURE__ */ jsx42(MediaStatus, {
|
|
10411
|
-
label:
|
|
10468
|
+
label: copy.screenRequiredStatus,
|
|
10412
10469
|
className: MEDIA_STATUS_BRAND
|
|
10413
10470
|
});
|
|
10414
10471
|
if (enabled)
|
|
10415
10472
|
return /* @__PURE__ */ jsx42(MediaStatus, {
|
|
10416
|
-
label:
|
|
10473
|
+
label: copy.mediaEnabledStatus,
|
|
10417
10474
|
className: MEDIA_STATUS_BRAND
|
|
10418
10475
|
});
|
|
10419
10476
|
return /* @__PURE__ */ jsx42(EnableButton, {
|
|
10477
|
+
label: copy.mediaEnableAction,
|
|
10420
10478
|
onEnable
|
|
10421
10479
|
});
|
|
10422
10480
|
}
|
|
@@ -10440,14 +10498,14 @@ function SplashMediaSection({
|
|
|
10440
10498
|
micFocusPending.current = true;
|
|
10441
10499
|
enableMic();
|
|
10442
10500
|
};
|
|
10443
|
-
return /* @__PURE__ */
|
|
10501
|
+
return /* @__PURE__ */ jsxs33("section", {
|
|
10444
10502
|
className: SECTION_BLOCK,
|
|
10445
10503
|
children: [
|
|
10446
10504
|
/* @__PURE__ */ jsx42("h3", {
|
|
10447
10505
|
className: SECTION_HEADING,
|
|
10448
10506
|
children: copy.mediaHeading
|
|
10449
10507
|
}),
|
|
10450
|
-
/* @__PURE__ */
|
|
10508
|
+
/* @__PURE__ */ jsxs33("ul", {
|
|
10451
10509
|
className: "skippr:flex skippr:flex-col skippr:gap-[14px]",
|
|
10452
10510
|
children: [
|
|
10453
10511
|
/* @__PURE__ */ jsx42(MediaRow, {
|
|
@@ -10458,19 +10516,21 @@ function SplashMediaSection({
|
|
|
10458
10516
|
}),
|
|
10459
10517
|
label: copy.micLabel,
|
|
10460
10518
|
subtext: copy.micSubtext,
|
|
10461
|
-
trailing: micEnabled ? /* @__PURE__ */
|
|
10519
|
+
trailing: micEnabled ? /* @__PURE__ */ jsxs33(Fragment5, {
|
|
10462
10520
|
children: [
|
|
10463
10521
|
/* @__PURE__ */ jsx42(MicToggle, {
|
|
10464
10522
|
muted: startMuted,
|
|
10523
|
+
muteLabel: copy.muteMicAction,
|
|
10465
10524
|
onToggle: toggleStartMuted,
|
|
10466
10525
|
toggleRef: focusMicToggle
|
|
10467
10526
|
}),
|
|
10468
10527
|
/* @__PURE__ */ jsx42(MediaStatus, {
|
|
10469
|
-
label: startMuted ?
|
|
10528
|
+
label: startMuted ? copy.micMutedStatus : copy.mediaEnabledStatus,
|
|
10470
10529
|
className: startMuted ? MEDIA_STATUS_MUTED : MEDIA_STATUS_BRAND
|
|
10471
10530
|
})
|
|
10472
10531
|
]
|
|
10473
10532
|
}) : /* @__PURE__ */ jsx42(EnableButton, {
|
|
10533
|
+
label: copy.mediaEnableAction,
|
|
10474
10534
|
onEnable: grantMic
|
|
10475
10535
|
})
|
|
10476
10536
|
}),
|
|
@@ -10483,6 +10543,7 @@ function SplashMediaSection({
|
|
|
10483
10543
|
label: copy.screenLabel,
|
|
10484
10544
|
subtext: copy.screenSubtext,
|
|
10485
10545
|
trailing: /* @__PURE__ */ jsx42(ScreenTrailing, {
|
|
10546
|
+
copy,
|
|
10486
10547
|
enabled: screenEnabled,
|
|
10487
10548
|
onEnable: enableScreen
|
|
10488
10549
|
})
|
|
@@ -10494,16 +10555,16 @@ function SplashMediaSection({
|
|
|
10494
10555
|
}
|
|
10495
10556
|
|
|
10496
10557
|
// src/components/SplashOptOut.tsx
|
|
10497
|
-
import { jsx as jsx43, jsxs as
|
|
10558
|
+
import { jsx as jsx43, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
10498
10559
|
function SplashOptOut({
|
|
10499
10560
|
label,
|
|
10500
10561
|
checked,
|
|
10501
10562
|
onToggle
|
|
10502
10563
|
}) {
|
|
10503
|
-
return /* @__PURE__ */
|
|
10564
|
+
return /* @__PURE__ */ jsxs34("label", {
|
|
10504
10565
|
className: "skippr:mt-2 skippr:flex skippr:cursor-pointer skippr:items-center skippr:justify-center skippr:gap-2 skippr:py-1",
|
|
10505
10566
|
children: [
|
|
10506
|
-
/* @__PURE__ */
|
|
10567
|
+
/* @__PURE__ */ jsxs34("span", {
|
|
10507
10568
|
className: "skippr:relative skippr:flex skippr:size-4 skippr:shrink-0 skippr:items-center skippr:justify-center",
|
|
10508
10569
|
children: [
|
|
10509
10570
|
/* @__PURE__ */ jsx43("input", {
|
|
@@ -10528,19 +10589,16 @@ function SplashOptOut({
|
|
|
10528
10589
|
}
|
|
10529
10590
|
|
|
10530
10591
|
// src/components/SplashAlwaysOn.tsx
|
|
10531
|
-
import { jsx as jsx44, jsxs as
|
|
10532
|
-
var ATTRIBUTION_PREFIX2 = "AI Agent Powered by";
|
|
10592
|
+
import { jsx as jsx44, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
10533
10593
|
var ATTRIBUTION_BRAND2 = "Skippr";
|
|
10534
10594
|
var ATTRIBUTION_URL2 = "https://www.skippr.ai/";
|
|
10535
|
-
var CLOSE_LABEL = "Close";
|
|
10536
|
-
var CONSENT_LEAD_IN = "By starting a session";
|
|
10537
10595
|
function TipRow({
|
|
10538
10596
|
title,
|
|
10539
10597
|
subtext,
|
|
10540
10598
|
onStart
|
|
10541
10599
|
}) {
|
|
10542
10600
|
return /* @__PURE__ */ jsx44("li", {
|
|
10543
|
-
children: /* @__PURE__ */
|
|
10601
|
+
children: /* @__PURE__ */ jsxs35("button", {
|
|
10544
10602
|
type: "button",
|
|
10545
10603
|
onClick: onStart,
|
|
10546
10604
|
className: `${FOCUS_RING3} skippr:flex skippr:w-full skippr:cursor-pointer skippr:items-start skippr:gap-3 skippr:rounded-[11px] skippr:text-left skippr:transition-colors skippr:hover:bg-[rgba(45,45,63,0.04)]`,
|
|
@@ -10553,7 +10611,7 @@ function TipRow({
|
|
|
10553
10611
|
"aria-hidden": true
|
|
10554
10612
|
})
|
|
10555
10613
|
}),
|
|
10556
|
-
/* @__PURE__ */
|
|
10614
|
+
/* @__PURE__ */ jsxs35("span", {
|
|
10557
10615
|
className: ROW_TEXT,
|
|
10558
10616
|
children: [
|
|
10559
10617
|
/* @__PURE__ */ jsx44("span", {
|
|
@@ -10591,18 +10649,19 @@ function SplashAlwaysOn({
|
|
|
10591
10649
|
ctaRef
|
|
10592
10650
|
}) {
|
|
10593
10651
|
const { copy, card } = presentation;
|
|
10594
|
-
return /* @__PURE__ */
|
|
10652
|
+
return /* @__PURE__ */ jsxs35("section", {
|
|
10595
10653
|
"aria-label": agentName,
|
|
10654
|
+
lang: presentation.locale,
|
|
10596
10655
|
style: { maxWidth: card.width, maxHeight: `${card.maxHeight}vh` },
|
|
10597
10656
|
className: `${CARD_SHELL} ${CARD_FRAME}`,
|
|
10598
10657
|
children: [
|
|
10599
|
-
/* @__PURE__ */
|
|
10658
|
+
/* @__PURE__ */ jsxs35("div", {
|
|
10600
10659
|
className: "skippr:flex skippr:shrink-0 skippr:items-start skippr:justify-between skippr:gap-3 skippr:border-b skippr:border-[rgba(45,45,63,0.06)] skippr:bg-[rgba(45,45,63,0.03)] skippr:px-[22px] skippr:pt-5 skippr:pb-4",
|
|
10601
10660
|
children: [
|
|
10602
|
-
/* @__PURE__ */
|
|
10661
|
+
/* @__PURE__ */ jsxs35("div", {
|
|
10603
10662
|
className: "skippr:flex skippr:min-w-0 skippr:flex-col skippr:gap-1",
|
|
10604
10663
|
children: [
|
|
10605
|
-
/* @__PURE__ */
|
|
10664
|
+
/* @__PURE__ */ jsxs35("span", {
|
|
10606
10665
|
className: "skippr:flex skippr:min-w-0 skippr:items-center skippr:gap-1.5 skippr:text-[#2D2D3F]",
|
|
10607
10666
|
children: [
|
|
10608
10667
|
headerIconUrl ? /* @__PURE__ */ jsx44("img", {
|
|
@@ -10620,7 +10679,7 @@ function SplashAlwaysOn({
|
|
|
10620
10679
|
})
|
|
10621
10680
|
]
|
|
10622
10681
|
}),
|
|
10623
|
-
attributionVisible && /* @__PURE__ */
|
|
10682
|
+
attributionVisible && /* @__PURE__ */ jsxs35("a", {
|
|
10624
10683
|
href: ATTRIBUTION_URL2,
|
|
10625
10684
|
target: "_blank",
|
|
10626
10685
|
rel: "noopener noreferrer",
|
|
@@ -10630,7 +10689,7 @@ function SplashAlwaysOn({
|
|
|
10630
10689
|
decorative: true,
|
|
10631
10690
|
className: "skippr:size-[13px]"
|
|
10632
10691
|
}),
|
|
10633
|
-
|
|
10692
|
+
copy.attributionPrefix,
|
|
10634
10693
|
" ",
|
|
10635
10694
|
/* @__PURE__ */ jsx44("span", {
|
|
10636
10695
|
className: "skippr:font-medium skippr:text-[#2D2D3F] skippr:underline skippr:underline-offset-2",
|
|
@@ -10643,7 +10702,7 @@ function SplashAlwaysOn({
|
|
|
10643
10702
|
/* @__PURE__ */ jsx44("button", {
|
|
10644
10703
|
type: "button",
|
|
10645
10704
|
onClick: dismiss,
|
|
10646
|
-
"aria-label":
|
|
10705
|
+
"aria-label": copy.closeLabel,
|
|
10647
10706
|
className: `${FOCUS_RING3} skippr:ml-auto skippr:flex skippr:size-6 skippr:shrink-0 skippr:cursor-pointer skippr:items-center skippr:justify-center skippr:rounded-full skippr:text-[#6b6875] skippr:transition-colors skippr:hover:bg-[#f2f0eb] skippr:hover:text-[#2D2D3F]`,
|
|
10648
10707
|
children: /* @__PURE__ */ jsx44(X, {
|
|
10649
10708
|
className: "skippr:size-4",
|
|
@@ -10653,11 +10712,11 @@ function SplashAlwaysOn({
|
|
|
10653
10712
|
})
|
|
10654
10713
|
]
|
|
10655
10714
|
}),
|
|
10656
|
-
/* @__PURE__ */
|
|
10715
|
+
/* @__PURE__ */ jsxs35("div", {
|
|
10657
10716
|
tabIndex: 0,
|
|
10658
10717
|
className: "skippr:flex skippr:min-h-0 skippr:flex-1 skippr:flex-col skippr:gap-[14px] skippr:overflow-y-auto skippr:px-[22px] skippr:pt-[18px]",
|
|
10659
10718
|
children: [
|
|
10660
|
-
/* @__PURE__ */
|
|
10719
|
+
/* @__PURE__ */ jsxs35("section", {
|
|
10661
10720
|
className: SECTION_BLOCK,
|
|
10662
10721
|
children: [
|
|
10663
10722
|
/* @__PURE__ */ jsx44("h3", {
|
|
@@ -10689,10 +10748,10 @@ function SplashAlwaysOn({
|
|
|
10689
10748
|
})
|
|
10690
10749
|
]
|
|
10691
10750
|
}),
|
|
10692
|
-
/* @__PURE__ */
|
|
10751
|
+
/* @__PURE__ */ jsxs35("div", {
|
|
10693
10752
|
className: "skippr:shrink-0 skippr:px-[22px] skippr:pt-[22px] skippr:pb-[22px]",
|
|
10694
10753
|
children: [
|
|
10695
|
-
/* @__PURE__ */
|
|
10754
|
+
/* @__PURE__ */ jsxs35("button", {
|
|
10696
10755
|
ref: ctaRef,
|
|
10697
10756
|
type: "button",
|
|
10698
10757
|
onClick: start,
|
|
@@ -10712,7 +10771,7 @@ function SplashAlwaysOn({
|
|
|
10712
10771
|
onToggle: toggleOptOut
|
|
10713
10772
|
}),
|
|
10714
10773
|
/* @__PURE__ */ jsx44(ConsentNotice, {
|
|
10715
|
-
|
|
10774
|
+
template: copy.consentNotice,
|
|
10716
10775
|
className: "skippr:mt-3"
|
|
10717
10776
|
})
|
|
10718
10777
|
]
|
|
@@ -10722,12 +10781,9 @@ function SplashAlwaysOn({
|
|
|
10722
10781
|
}
|
|
10723
10782
|
|
|
10724
10783
|
// src/components/SplashPrimary.tsx
|
|
10725
|
-
import { jsx as jsx45, jsxs as
|
|
10726
|
-
var ATTRIBUTION_PREFIX3 = "AI Agent Powered by";
|
|
10784
|
+
import { jsx as jsx45, jsxs as jsxs36, Fragment as Fragment6 } from "react/jsx-runtime";
|
|
10727
10785
|
var ATTRIBUTION_BRAND3 = "Skippr";
|
|
10728
10786
|
var ATTRIBUTION_URL3 = "https://www.skippr.ai/";
|
|
10729
|
-
var CLOSE_LABEL2 = "Close";
|
|
10730
|
-
var CONSENT_LEAD_IN2 = "By starting a session";
|
|
10731
10787
|
var GLYPH_COMPONENT = {
|
|
10732
10788
|
[SPLASH_SECTION_GLYPH.Route]: Route,
|
|
10733
10789
|
[SPLASH_SECTION_GLYPH.Messages]: MessagesSquare,
|
|
@@ -10735,7 +10791,7 @@ var GLYPH_COMPONENT = {
|
|
|
10735
10791
|
};
|
|
10736
10792
|
function SectionRow({ iconUrl, glyph, title, description }) {
|
|
10737
10793
|
const Glyph = glyph ? GLYPH_COMPONENT[glyph] : Sparkles;
|
|
10738
|
-
return /* @__PURE__ */
|
|
10794
|
+
return /* @__PURE__ */ jsxs36("li", {
|
|
10739
10795
|
className: "skippr:flex skippr:items-start skippr:gap-3",
|
|
10740
10796
|
children: [
|
|
10741
10797
|
/* @__PURE__ */ jsx45("span", {
|
|
@@ -10750,7 +10806,7 @@ function SectionRow({ iconUrl, glyph, title, description }) {
|
|
|
10750
10806
|
"aria-hidden": true
|
|
10751
10807
|
})
|
|
10752
10808
|
}),
|
|
10753
|
-
/* @__PURE__ */
|
|
10809
|
+
/* @__PURE__ */ jsxs36("span", {
|
|
10754
10810
|
className: ROW_TEXT,
|
|
10755
10811
|
children: [
|
|
10756
10812
|
/* @__PURE__ */ jsx45("span", {
|
|
@@ -10790,18 +10846,19 @@ function SplashPrimary({
|
|
|
10790
10846
|
ctaRef
|
|
10791
10847
|
}) {
|
|
10792
10848
|
const { copy, card } = presentation;
|
|
10793
|
-
return /* @__PURE__ */
|
|
10849
|
+
return /* @__PURE__ */ jsxs36("section", {
|
|
10794
10850
|
"aria-label": agentName,
|
|
10851
|
+
lang: presentation.locale,
|
|
10795
10852
|
style: { maxWidth: card.width, maxHeight: `${card.maxHeight}vh` },
|
|
10796
10853
|
className: `${CARD_SHELL} ${CARD_FRAME}`,
|
|
10797
10854
|
children: [
|
|
10798
|
-
/* @__PURE__ */
|
|
10855
|
+
/* @__PURE__ */ jsxs36("div", {
|
|
10799
10856
|
className: "skippr:flex skippr:shrink-0 skippr:items-start skippr:justify-between skippr:gap-3 skippr:border-b skippr:border-[rgba(45,45,63,0.06)] skippr:bg-[rgba(45,45,63,0.03)] skippr:px-[22px] skippr:pt-5 skippr:pb-4",
|
|
10800
10857
|
children: [
|
|
10801
|
-
/* @__PURE__ */
|
|
10858
|
+
/* @__PURE__ */ jsxs36("div", {
|
|
10802
10859
|
className: "skippr:flex skippr:min-w-0 skippr:flex-col skippr:gap-1",
|
|
10803
10860
|
children: [
|
|
10804
|
-
/* @__PURE__ */
|
|
10861
|
+
/* @__PURE__ */ jsxs36("span", {
|
|
10805
10862
|
className: "skippr:flex skippr:min-w-0 skippr:items-center skippr:gap-1.5 skippr:text-[#2D2D3F]",
|
|
10806
10863
|
children: [
|
|
10807
10864
|
headerIconUrl ? /* @__PURE__ */ jsx45("img", {
|
|
@@ -10819,7 +10876,7 @@ function SplashPrimary({
|
|
|
10819
10876
|
})
|
|
10820
10877
|
]
|
|
10821
10878
|
}),
|
|
10822
|
-
attributionVisible && /* @__PURE__ */
|
|
10879
|
+
attributionVisible && /* @__PURE__ */ jsxs36("a", {
|
|
10823
10880
|
href: ATTRIBUTION_URL3,
|
|
10824
10881
|
target: "_blank",
|
|
10825
10882
|
rel: "noopener noreferrer",
|
|
@@ -10829,7 +10886,7 @@ function SplashPrimary({
|
|
|
10829
10886
|
decorative: true,
|
|
10830
10887
|
className: "skippr:size-[13px]"
|
|
10831
10888
|
}),
|
|
10832
|
-
|
|
10889
|
+
copy.attributionPrefix,
|
|
10833
10890
|
" ",
|
|
10834
10891
|
/* @__PURE__ */ jsx45("span", {
|
|
10835
10892
|
className: "skippr:font-medium skippr:text-[#2D2D3F] skippr:underline skippr:underline-offset-2",
|
|
@@ -10842,7 +10899,7 @@ function SplashPrimary({
|
|
|
10842
10899
|
/* @__PURE__ */ jsx45("button", {
|
|
10843
10900
|
type: "button",
|
|
10844
10901
|
onClick: dismiss,
|
|
10845
|
-
"aria-label":
|
|
10902
|
+
"aria-label": copy.closeLabel,
|
|
10846
10903
|
className: `${FOCUS_RING3} skippr:ml-auto skippr:flex skippr:size-6 skippr:shrink-0 skippr:cursor-pointer skippr:items-center skippr:justify-center skippr:rounded-full skippr:text-[#6b6875] skippr:transition-colors skippr:hover:bg-[#f2f0eb] skippr:hover:text-[#2D2D3F]`,
|
|
10847
10904
|
children: /* @__PURE__ */ jsx45(X, {
|
|
10848
10905
|
className: "skippr:size-4",
|
|
@@ -10852,11 +10909,11 @@ function SplashPrimary({
|
|
|
10852
10909
|
})
|
|
10853
10910
|
]
|
|
10854
10911
|
}),
|
|
10855
|
-
/* @__PURE__ */
|
|
10912
|
+
/* @__PURE__ */ jsxs36("div", {
|
|
10856
10913
|
tabIndex: 0,
|
|
10857
10914
|
className: "skippr:flex skippr:min-h-0 skippr:flex-1 skippr:flex-col skippr:gap-[14px] skippr:overflow-y-auto skippr:px-[22px] skippr:pt-[18px]",
|
|
10858
10915
|
children: [
|
|
10859
|
-
intent === SPLASH_INTENT.Start ? sections.length > 0 && /* @__PURE__ */
|
|
10916
|
+
intent === SPLASH_INTENT.Start ? sections.length > 0 && /* @__PURE__ */ jsxs36("section", {
|
|
10860
10917
|
className: SECTION_BLOCK,
|
|
10861
10918
|
children: [
|
|
10862
10919
|
/* @__PURE__ */ jsx45("h3", {
|
|
@@ -10870,16 +10927,16 @@ function SplashPrimary({
|
|
|
10870
10927
|
}, section.id))
|
|
10871
10928
|
})
|
|
10872
10929
|
]
|
|
10873
|
-
}) : /* @__PURE__ */
|
|
10930
|
+
}) : /* @__PURE__ */ jsxs36(Fragment6, {
|
|
10874
10931
|
children: [
|
|
10875
|
-
lastCompletedPhase && /* @__PURE__ */
|
|
10932
|
+
lastCompletedPhase && /* @__PURE__ */ jsxs36("section", {
|
|
10876
10933
|
className: SECTION_BLOCK,
|
|
10877
10934
|
children: [
|
|
10878
10935
|
/* @__PURE__ */ jsx45("h3", {
|
|
10879
10936
|
className: SECTION_HEADING,
|
|
10880
10937
|
children: copy.lastAccomplishmentHeading
|
|
10881
10938
|
}),
|
|
10882
|
-
/* @__PURE__ */
|
|
10939
|
+
/* @__PURE__ */ jsxs36("div", {
|
|
10883
10940
|
className: "skippr:flex skippr:items-start skippr:gap-3",
|
|
10884
10941
|
children: [
|
|
10885
10942
|
/* @__PURE__ */ jsx45("span", {
|
|
@@ -10890,7 +10947,7 @@ function SplashPrimary({
|
|
|
10890
10947
|
"aria-hidden": true
|
|
10891
10948
|
})
|
|
10892
10949
|
}),
|
|
10893
|
-
/* @__PURE__ */
|
|
10950
|
+
/* @__PURE__ */ jsxs36("span", {
|
|
10894
10951
|
className: ROW_TEXT,
|
|
10895
10952
|
children: [
|
|
10896
10953
|
/* @__PURE__ */ jsx45("span", {
|
|
@@ -10907,7 +10964,7 @@ function SplashPrimary({
|
|
|
10907
10964
|
})
|
|
10908
10965
|
]
|
|
10909
10966
|
}),
|
|
10910
|
-
upcomingPhases.length > 0 && /* @__PURE__ */
|
|
10967
|
+
upcomingPhases.length > 0 && /* @__PURE__ */ jsxs36("section", {
|
|
10911
10968
|
className: SECTION_BLOCK,
|
|
10912
10969
|
children: [
|
|
10913
10970
|
/* @__PURE__ */ jsx45("h3", {
|
|
@@ -10916,14 +10973,14 @@ function SplashPrimary({
|
|
|
10916
10973
|
}),
|
|
10917
10974
|
/* @__PURE__ */ jsx45("ol", {
|
|
10918
10975
|
className: "skippr:flex skippr:flex-col skippr:gap-3",
|
|
10919
|
-
children: upcomingPhases.map((phase, index2) => /* @__PURE__ */
|
|
10976
|
+
children: upcomingPhases.map((phase, index2) => /* @__PURE__ */ jsxs36("li", {
|
|
10920
10977
|
className: "skippr:flex skippr:items-start skippr:gap-3",
|
|
10921
10978
|
children: [
|
|
10922
10979
|
/* @__PURE__ */ jsx45("span", {
|
|
10923
10980
|
className: "skippr:flex skippr:size-[26px] skippr:shrink-0 skippr:items-center skippr:justify-center skippr:rounded-full skippr:bg-[#f2f0eb] skippr:text-[12px] skippr:font-semibold skippr:text-[#6b6875]",
|
|
10924
10981
|
children: index2 + 1
|
|
10925
10982
|
}),
|
|
10926
|
-
/* @__PURE__ */
|
|
10983
|
+
/* @__PURE__ */ jsxs36("span", {
|
|
10927
10984
|
className: ROW_TEXT,
|
|
10928
10985
|
children: [
|
|
10929
10986
|
/* @__PURE__ */ jsx45("span", {
|
|
@@ -10954,10 +11011,10 @@ function SplashPrimary({
|
|
|
10954
11011
|
})
|
|
10955
11012
|
]
|
|
10956
11013
|
}),
|
|
10957
|
-
/* @__PURE__ */
|
|
11014
|
+
/* @__PURE__ */ jsxs36("div", {
|
|
10958
11015
|
className: "skippr:shrink-0 skippr:px-[22px] skippr:pt-[22px] skippr:pb-[22px]",
|
|
10959
11016
|
children: [
|
|
10960
|
-
/* @__PURE__ */
|
|
11017
|
+
/* @__PURE__ */ jsxs36("button", {
|
|
10961
11018
|
ref: ctaRef,
|
|
10962
11019
|
type: "button",
|
|
10963
11020
|
onClick: start,
|
|
@@ -10983,7 +11040,7 @@ function SplashPrimary({
|
|
|
10983
11040
|
onToggle: toggleOptOut
|
|
10984
11041
|
}),
|
|
10985
11042
|
/* @__PURE__ */ jsx45(ConsentNotice, {
|
|
10986
|
-
|
|
11043
|
+
template: copy.consentNotice,
|
|
10987
11044
|
className: "skippr:mt-3"
|
|
10988
11045
|
})
|
|
10989
11046
|
]
|
|
@@ -11351,7 +11408,7 @@ function useVoiceBarDrag(containerRef, onDrop, followRefs, reportDragging) {
|
|
|
11351
11408
|
clearDragOffset();
|
|
11352
11409
|
for (const follower of followers)
|
|
11353
11410
|
follower.style.transform = "";
|
|
11354
|
-
flushSync2(() => onDropRef.current(
|
|
11411
|
+
flushSync2(() => onDropRef.current({ x: rect.left, y: rect.top }));
|
|
11355
11412
|
}
|
|
11356
11413
|
endDrag();
|
|
11357
11414
|
};
|
|
@@ -11427,7 +11484,7 @@ function useVoiceBarDrag(containerRef, onDrop, followRefs, reportDragging) {
|
|
|
11427
11484
|
|
|
11428
11485
|
// src/components/VoiceBarChatLine.tsx
|
|
11429
11486
|
import { useCallback as useCallback32, useContext as useContext25, useEffect as useEffect42, useRef as useRef39, useState as useState33 } from "react";
|
|
11430
|
-
import { jsx as jsx48, jsxs as
|
|
11487
|
+
import { jsx as jsx48, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
11431
11488
|
var IDLE_HIDE_MS = 6000;
|
|
11432
11489
|
function VoiceBarChatLine({
|
|
11433
11490
|
popsDown,
|
|
@@ -11476,7 +11533,7 @@ function VoiceBarChatLine({
|
|
|
11476
11533
|
width: 255,
|
|
11477
11534
|
...popsDown ? { top: "calc(100% + 12px)" } : { bottom: "calc(100% + 12px)" }
|
|
11478
11535
|
};
|
|
11479
|
-
return /* @__PURE__ */
|
|
11536
|
+
return /* @__PURE__ */ jsxs37("div", {
|
|
11480
11537
|
style: embedded ? undefined : style,
|
|
11481
11538
|
onPointerDown: (event) => event.stopPropagation(),
|
|
11482
11539
|
className: cn("skippr:flex skippr:items-center skippr:gap-[7px] skippr:py-[4px] skippr:pl-[13px] skippr:pr-[5px]", !embedded && "skippr:z-[4] skippr:rounded-[12px] skippr:border skippr:border-[rgba(45,45,63,0.08)] skippr:bg-white skippr:shadow-[0_10px_26px_rgba(45,45,63,0.13),0_2px_6px_rgba(45,45,63,0.05)] skippr:[animation:skippr-fade-in_0.16s_ease]"),
|
|
@@ -11520,7 +11577,7 @@ function VoiceBarChatLine({
|
|
|
11520
11577
|
|
|
11521
11578
|
// src/components/VoiceBarLinkCard.tsx
|
|
11522
11579
|
import { useCallback as useCallback33, useEffect as useEffect43, useRef as useRef40, useState as useState34 } from "react";
|
|
11523
|
-
import { jsx as jsx49, jsxs as
|
|
11580
|
+
import { jsx as jsx49, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
11524
11581
|
var COPIED_RESET_MS2 = 2000;
|
|
11525
11582
|
var DISMISS_AFTER_COPY_MS2 = 3000;
|
|
11526
11583
|
function VoiceBarLinkCard({ card, onDismiss }) {
|
|
@@ -11545,7 +11602,7 @@ function VoiceBarLinkCard({ card, onDismiss }) {
|
|
|
11545
11602
|
setCopied(true);
|
|
11546
11603
|
dismissTimerRef.current = setTimeout(onDismiss, DISMISS_AFTER_COPY_MS2);
|
|
11547
11604
|
}, [card.url, onDismiss]);
|
|
11548
|
-
return /* @__PURE__ */
|
|
11605
|
+
return /* @__PURE__ */ jsxs38("div", {
|
|
11549
11606
|
className: "skippr:relative skippr:w-[225px] skippr:rounded-[14px] skippr:border skippr:border-[rgba(45,45,63,0.08)] skippr:bg-white skippr:shadow-[0_10px_28px_rgba(45,45,63,0.16)] skippr:[animation:skippr-tip-in_360ms_cubic-bezier(0.34,1.3,0.64,1)]",
|
|
11550
11607
|
children: [
|
|
11551
11608
|
/* @__PURE__ */ jsx49("button", {
|
|
@@ -11558,17 +11615,17 @@ function VoiceBarLinkCard({ card, onDismiss }) {
|
|
|
11558
11615
|
strokeWidth: 2.5
|
|
11559
11616
|
})
|
|
11560
11617
|
}),
|
|
11561
|
-
/* @__PURE__ */
|
|
11618
|
+
/* @__PURE__ */ jsxs38("div", {
|
|
11562
11619
|
className: "skippr:px-[12px] skippr:pb-[10px] skippr:pt-[10px]",
|
|
11563
11620
|
children: [
|
|
11564
11621
|
/* @__PURE__ */ jsx49("p", {
|
|
11565
11622
|
className: "skippr:mr-[22px] skippr:truncate skippr:text-[10px] skippr:text-[#8b877f]",
|
|
11566
11623
|
children: card.url
|
|
11567
11624
|
}),
|
|
11568
|
-
/* @__PURE__ */
|
|
11625
|
+
/* @__PURE__ */ jsxs38("div", {
|
|
11569
11626
|
className: "skippr:mt-[9px] skippr:flex skippr:gap-[8px]",
|
|
11570
11627
|
children: [
|
|
11571
|
-
/* @__PURE__ */
|
|
11628
|
+
/* @__PURE__ */ jsxs38("a", {
|
|
11572
11629
|
href: card.url,
|
|
11573
11630
|
target: "_blank",
|
|
11574
11631
|
rel: "noopener noreferrer",
|
|
@@ -11581,7 +11638,7 @@ function VoiceBarLinkCard({ card, onDismiss }) {
|
|
|
11581
11638
|
"open"
|
|
11582
11639
|
]
|
|
11583
11640
|
}),
|
|
11584
|
-
/* @__PURE__ */
|
|
11641
|
+
/* @__PURE__ */ jsxs38("button", {
|
|
11585
11642
|
type: "button",
|
|
11586
11643
|
onClick: handleCopy,
|
|
11587
11644
|
"aria-label": "Copy link",
|
|
@@ -11607,7 +11664,7 @@ function VoiceBarLinkCard({ card, onDismiss }) {
|
|
|
11607
11664
|
|
|
11608
11665
|
// src/components/VoiceBarNotification.tsx
|
|
11609
11666
|
import { useEffect as useEffect44, useRef as useRef41, useState as useState35 } from "react";
|
|
11610
|
-
import { jsx as jsx50, jsxs as
|
|
11667
|
+
import { jsx as jsx50, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
11611
11668
|
function VoiceBarNotification({ notifications, pos, onDismiss }) {
|
|
11612
11669
|
const [index2, setIndex] = useState35(0);
|
|
11613
11670
|
const [paused, setPaused] = useState35(false);
|
|
@@ -11655,7 +11712,7 @@ function VoiceBarNotification({ notifications, pos, onDismiss }) {
|
|
|
11655
11712
|
return /* @__PURE__ */ jsx50("div", {
|
|
11656
11713
|
style: wrapperStyle,
|
|
11657
11714
|
"data-skippr-no-drag": "",
|
|
11658
|
-
children: /* @__PURE__ */
|
|
11715
|
+
children: /* @__PURE__ */ jsxs39("div", {
|
|
11659
11716
|
ref: cardRef,
|
|
11660
11717
|
className: "skippr:flex skippr:w-[255px] skippr:items-center skippr:gap-[8px] skippr:rounded-[14px] skippr:border skippr:border-[rgba(45,45,63,0.08)] skippr:bg-white skippr:px-[11px] skippr:py-[3px] skippr:shadow-[0_10px_28px_rgba(45,45,63,0.16)] skippr:[animation:skippr-tip-in_360ms_cubic-bezier(0.34,1.3,0.64,1)]",
|
|
11661
11718
|
children: [
|
|
@@ -11675,7 +11732,7 @@ function VoiceBarNotification({ notifications, pos, onDismiss }) {
|
|
|
11675
11732
|
className: "skippr:shrink-0 skippr:cursor-pointer skippr:rounded-full skippr:bg-[#2D2D3F] skippr:px-[9px] skippr:py-[3px] skippr:text-[9.5px] skippr:font-semibold skippr:text-white skippr:transition-colors skippr:hover:bg-[#3d3d52]",
|
|
11676
11733
|
children: "start"
|
|
11677
11734
|
}),
|
|
11678
|
-
hasMultiple && /* @__PURE__ */
|
|
11735
|
+
hasMultiple && /* @__PURE__ */ jsxs39("button", {
|
|
11679
11736
|
type: "button",
|
|
11680
11737
|
onClick: () => setIndex((current) => (current + 1) % notifications.length),
|
|
11681
11738
|
"aria-label": "Next",
|
|
@@ -11698,7 +11755,7 @@ function VoiceBarNotification({ notifications, pos, onDismiss }) {
|
|
|
11698
11755
|
|
|
11699
11756
|
// src/components/VoiceBarPlanCard.tsx
|
|
11700
11757
|
import { useEffect as useEffect45, useState as useState36 } from "react";
|
|
11701
|
-
import { jsx as jsx51, jsxs as
|
|
11758
|
+
import { jsx as jsx51, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
11702
11759
|
var APPROVING_RESET_MS2 = 8000;
|
|
11703
11760
|
function StepIndicator({ step }) {
|
|
11704
11761
|
if (step.status === "done") {
|
|
@@ -11760,10 +11817,10 @@ function VoiceBarPlanCard({
|
|
|
11760
11817
|
const timer = setTimeout(onDismiss, COMPLETED_CARD_VISIBLE_MS);
|
|
11761
11818
|
return () => clearTimeout(timer);
|
|
11762
11819
|
}, [plan.state, onDismiss]);
|
|
11763
|
-
return /* @__PURE__ */
|
|
11820
|
+
return /* @__PURE__ */ jsxs40("div", {
|
|
11764
11821
|
className: cn(!embedded && "skippr:w-[255px] skippr:rounded-[14px] skippr:border skippr:border-[rgba(45,45,63,0.08)] skippr:bg-white skippr:shadow-[0_10px_28px_rgba(45,45,63,0.16)] skippr:[animation:skippr-tip-in_360ms_cubic-bezier(0.34,1.3,0.64,1)]"),
|
|
11765
11822
|
children: [
|
|
11766
|
-
/* @__PURE__ */
|
|
11823
|
+
/* @__PURE__ */ jsxs40("div", {
|
|
11767
11824
|
className: "skippr:flex skippr:items-center skippr:justify-between skippr:border-b skippr:border-[rgba(45,45,63,0.06)] skippr:px-[12px] skippr:py-[6px]",
|
|
11768
11825
|
children: [
|
|
11769
11826
|
/* @__PURE__ */ jsx51("span", {
|
|
@@ -11782,14 +11839,14 @@ function VoiceBarPlanCard({
|
|
|
11782
11839
|
})
|
|
11783
11840
|
]
|
|
11784
11841
|
}),
|
|
11785
|
-
/* @__PURE__ */
|
|
11842
|
+
/* @__PURE__ */ jsxs40("div", {
|
|
11786
11843
|
className: "skippr:px-[12px] skippr:pb-[10px] skippr:pt-[8px]",
|
|
11787
11844
|
children: [
|
|
11788
11845
|
/* @__PURE__ */ jsx51("p", {
|
|
11789
11846
|
className: "skippr:text-[11.5px] skippr:font-semibold skippr:tracking-[-0.01em] skippr:text-[#2D2D3F]",
|
|
11790
11847
|
children: "Here's my plan"
|
|
11791
11848
|
}),
|
|
11792
|
-
awaitingApproval && /* @__PURE__ */
|
|
11849
|
+
awaitingApproval && /* @__PURE__ */ jsxs40("p", {
|
|
11793
11850
|
className: "skippr:mt-[1px] skippr:text-[10px] skippr:text-[#8b877f]",
|
|
11794
11851
|
children: [
|
|
11795
11852
|
plan.steps.length,
|
|
@@ -11798,7 +11855,7 @@ function VoiceBarPlanCard({
|
|
|
11798
11855
|
}),
|
|
11799
11856
|
/* @__PURE__ */ jsx51("div", {
|
|
11800
11857
|
className: "skippr:mt-[8px] skippr:max-h-[132px] skippr:space-y-[6px] skippr:overflow-y-auto skippr:overscroll-contain",
|
|
11801
|
-
children: plan.steps.map((step) => /* @__PURE__ */
|
|
11858
|
+
children: plan.steps.map((step) => /* @__PURE__ */ jsxs40("div", {
|
|
11802
11859
|
className: "skippr:flex skippr:items-center skippr:gap-[7px]",
|
|
11803
11860
|
children: [
|
|
11804
11861
|
/* @__PURE__ */ jsx51(StepIndicator, {
|
|
@@ -11813,10 +11870,10 @@ function VoiceBarPlanCard({
|
|
|
11813
11870
|
}),
|
|
11814
11871
|
/* @__PURE__ */ jsx51("div", {
|
|
11815
11872
|
className: "skippr:mt-[9px]",
|
|
11816
|
-
children: awaitingApproval ? /* @__PURE__ */
|
|
11873
|
+
children: awaitingApproval ? /* @__PURE__ */ jsxs40("div", {
|
|
11817
11874
|
className: "skippr:flex skippr:gap-[8px]",
|
|
11818
11875
|
children: [
|
|
11819
|
-
/* @__PURE__ */
|
|
11876
|
+
/* @__PURE__ */ jsxs40("button", {
|
|
11820
11877
|
type: "button",
|
|
11821
11878
|
disabled: isApproving,
|
|
11822
11879
|
onClick: approve,
|
|
@@ -11836,7 +11893,7 @@ function VoiceBarPlanCard({
|
|
|
11836
11893
|
children: "cancel"
|
|
11837
11894
|
})
|
|
11838
11895
|
]
|
|
11839
|
-
}) : /* @__PURE__ */
|
|
11896
|
+
}) : /* @__PURE__ */ jsxs40("span", {
|
|
11840
11897
|
style: { color: "var(--skippr-brand-foreground, #2d2b3d)" },
|
|
11841
11898
|
className: "skippr:flex skippr:items-center skippr:justify-center skippr:gap-[5px] skippr:rounded-full skippr:bg-brand skippr:px-[10px] skippr:py-[6px] skippr:text-[11px] skippr:font-semibold",
|
|
11842
11899
|
children: [
|
|
@@ -11855,7 +11912,7 @@ function VoiceBarPlanCard({
|
|
|
11855
11912
|
}
|
|
11856
11913
|
|
|
11857
11914
|
// src/components/VoiceBarFrame.tsx
|
|
11858
|
-
import { jsx as jsx52, jsxs as
|
|
11915
|
+
import { jsx as jsx52, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
11859
11916
|
var AUTO_OFF_MOTES = [
|
|
11860
11917
|
{ left: "13%", delay: "0s", size: 4 },
|
|
11861
11918
|
{ left: "27%", delay: "0.4s", size: 3 },
|
|
@@ -11868,7 +11925,7 @@ var AUTO_OFF_MOTES = [
|
|
|
11868
11925
|
var EDGE_BUTTON = "skippr:flex skippr:shrink-0 skippr:items-center skippr:justify-center skippr:rounded-full skippr:bg-transparent skippr:text-[#2D2D3F] skippr:cursor-pointer skippr:transition-colors skippr:hover:bg-[#f2f0eb]";
|
|
11869
11926
|
var PILL = "skippr:relative skippr:flex skippr:h-[36px] skippr:min-w-[96px] skippr:flex-1 skippr:items-center skippr:justify-center skippr:gap-[8px] skippr:rounded-full skippr:text-[13px] skippr:font-semibold skippr:tracking-[-0.01em] skippr:text-white";
|
|
11870
11927
|
function LoadingAvatar({ logoUrl }) {
|
|
11871
|
-
return /* @__PURE__ */
|
|
11928
|
+
return /* @__PURE__ */ jsxs41("span", {
|
|
11872
11929
|
className: "skippr:relative skippr:size-[22px] skippr:shrink-0",
|
|
11873
11930
|
children: [
|
|
11874
11931
|
/* @__PURE__ */ jsx52("span", {
|
|
@@ -11893,7 +11950,7 @@ function BusyRing({ tone }) {
|
|
|
11893
11950
|
});
|
|
11894
11951
|
}
|
|
11895
11952
|
function AgentDots() {
|
|
11896
|
-
return /* @__PURE__ */
|
|
11953
|
+
return /* @__PURE__ */ jsxs41("span", {
|
|
11897
11954
|
className: "skippr:flex skippr:items-center skippr:gap-[4px]",
|
|
11898
11955
|
children: [
|
|
11899
11956
|
/* @__PURE__ */ jsx52("span", {
|
|
@@ -11991,14 +12048,14 @@ function ShortcutHint({
|
|
|
11991
12048
|
el.removeEventListener("mouseleave", leave);
|
|
11992
12049
|
};
|
|
11993
12050
|
}, [enabled, seenRef]);
|
|
11994
|
-
return /* @__PURE__ */
|
|
12051
|
+
return /* @__PURE__ */ jsxs41("div", {
|
|
11995
12052
|
ref,
|
|
11996
12053
|
className: "skippr:relative skippr:flex skippr:min-w-[96px] skippr:flex-1",
|
|
11997
12054
|
children: [
|
|
11998
|
-
enabled && visible && !suppressed && /* @__PURE__ */
|
|
12055
|
+
enabled && visible && !suppressed && /* @__PURE__ */ jsxs41("div", {
|
|
11999
12056
|
className: "skippr:pointer-events-none skippr:absolute skippr:bottom-[calc(100%+11px)] skippr:left-1/2 skippr:z-[8] skippr:flex skippr:-translate-x-1/2 skippr:items-center skippr:gap-[7px] skippr:whitespace-nowrap skippr:rounded-[11px] skippr:border skippr:border-[rgba(45,45,63,0.08)] skippr:bg-white skippr:px-[11px] skippr:py-[6px] skippr:shadow-[0_8px_22px_rgba(45,45,63,0.12),0_1px_3px_rgba(45,45,63,0.04)] skippr:[animation:skippr-fade-in_0.22s_ease]",
|
|
12000
12057
|
children: [
|
|
12001
|
-
/* @__PURE__ */
|
|
12058
|
+
/* @__PURE__ */ jsxs41("span", {
|
|
12002
12059
|
className: "skippr:flex skippr:items-center skippr:gap-[3px]",
|
|
12003
12060
|
children: [
|
|
12004
12061
|
/* @__PURE__ */ jsx52(ShortcutChip, {
|
|
@@ -12021,7 +12078,7 @@ function ShortcutHint({
|
|
|
12021
12078
|
className: "skippr:text-[10px] skippr:text-[#cbc7bf]",
|
|
12022
12079
|
children: "·"
|
|
12023
12080
|
}),
|
|
12024
|
-
/* @__PURE__ */
|
|
12081
|
+
/* @__PURE__ */ jsxs41("span", {
|
|
12025
12082
|
className: "skippr:flex skippr:items-center skippr:gap-[3px]",
|
|
12026
12083
|
children: [
|
|
12027
12084
|
/* @__PURE__ */ jsx52(ShortcutChip, {
|
|
@@ -12101,7 +12158,9 @@ function VoiceBarFrame({
|
|
|
12101
12158
|
voiceBarRef.current = node;
|
|
12102
12159
|
}, [voiceBarRef]);
|
|
12103
12160
|
const dragFollowers = isPanelOpen ? [panelRef] : null;
|
|
12104
|
-
const
|
|
12161
|
+
const barWidthRef = useRef42(VOICE_BAR_WIDTH_PX);
|
|
12162
|
+
const dropAtBarWidth = useCallback34((next) => onDrop(next, barWidthRef.current), [onDrop]);
|
|
12163
|
+
const { wasDraggedRef } = useVoiceBarDrag(containerRef, dropAtBarWidth, dragFollowers, setDragging);
|
|
12105
12164
|
const { isMuted, toggleMute } = useMediaControls();
|
|
12106
12165
|
const { localParticipant } = useLocalParticipant12();
|
|
12107
12166
|
const isUserSpeaking = useIsSpeaking(localParticipant);
|
|
@@ -12162,7 +12221,13 @@ function VoiceBarFrame({
|
|
|
12162
12221
|
const canStart = isAuthenticated && (!!defaultAgentId || !!pendingStart);
|
|
12163
12222
|
const showClose = canFold || sessionLive;
|
|
12164
12223
|
const showLivePill = !isLoading && isConnected && !textMode && !pushOrTap;
|
|
12165
|
-
const
|
|
12224
|
+
const barWidthPx = !showLivePill ? VOICE_BAR_WIDTH_PX : isHeld ? 120 : 156;
|
|
12225
|
+
barWidthRef.current = barWidthPx;
|
|
12226
|
+
useEffect46(() => {
|
|
12227
|
+
const inBounds = clampBarPos(pos, barWidthPx);
|
|
12228
|
+
if (inBounds.x !== pos.x)
|
|
12229
|
+
onDrop(inBounds, barWidthPx);
|
|
12230
|
+
}, [pos, barWidthPx, onDrop]);
|
|
12166
12231
|
const logoUrl = appearance?.logoUrl ?? null;
|
|
12167
12232
|
const ifNotDragged = (action) => () => {
|
|
12168
12233
|
if (wasDraggedRef.current)
|
|
@@ -12255,10 +12320,10 @@ function VoiceBarFrame({
|
|
|
12255
12320
|
...popsDown ? { top: "calc(100% + 12px)" } : { bottom: "calc(100% + 12px)" }
|
|
12256
12321
|
};
|
|
12257
12322
|
const pillEvaporate = autoOffClosing ? "skippr:[animation:skippr-evaporate_3.2s_ease-in_forwards] skippr:motion-reduce:animate-none" : "";
|
|
12258
|
-
return /* @__PURE__ */
|
|
12323
|
+
return /* @__PURE__ */ jsxs41("div", {
|
|
12259
12324
|
ref: setContainerRefs,
|
|
12260
|
-
style: barPosStyle(pos),
|
|
12261
|
-
className:
|
|
12325
|
+
style: { ...barPosStyle(pos), width: barWidthPx },
|
|
12326
|
+
className: "skippr:fixed skippr:z-[9999] skippr:flex skippr:touch-none skippr:cursor-grab skippr:items-center",
|
|
12262
12327
|
children: [
|
|
12263
12328
|
glow && /* @__PURE__ */ jsx52("span", {
|
|
12264
12329
|
"aria-hidden": true,
|
|
@@ -12289,7 +12354,7 @@ function VoiceBarFrame({
|
|
|
12289
12354
|
showLiveStrip && /* @__PURE__ */ jsx52("div", {
|
|
12290
12355
|
style: stripStyle,
|
|
12291
12356
|
className: "skippr:pointer-events-none skippr:z-[5]",
|
|
12292
|
-
children: /* @__PURE__ */
|
|
12357
|
+
children: /* @__PURE__ */ jsxs41("div", {
|
|
12293
12358
|
className: "skippr:flex skippr:items-center skippr:gap-[7px] skippr:rounded-full skippr:border skippr:border-[rgba(45,45,63,0.06)] skippr:bg-white/95 skippr:px-[12px] skippr:py-[5px] skippr:shadow-[0_4px_12px_rgba(45,45,63,0.1)] skippr:[animation:skippr-fade-in_0.25s_ease]",
|
|
12294
12359
|
children: [
|
|
12295
12360
|
/* @__PURE__ */ jsx52("span", {
|
|
@@ -12306,7 +12371,7 @@ function VoiceBarFrame({
|
|
|
12306
12371
|
showTimerStrip && sessionTimer && /* @__PURE__ */ jsx52("div", {
|
|
12307
12372
|
style: stripStyle,
|
|
12308
12373
|
className: "skippr:pointer-events-none skippr:z-[5]",
|
|
12309
|
-
children: /* @__PURE__ */
|
|
12374
|
+
children: /* @__PURE__ */ jsxs41("div", {
|
|
12310
12375
|
className: "skippr:flex skippr:items-center skippr:gap-[7px] skippr:rounded-full skippr:border skippr:border-[rgba(45,45,63,0.06)] skippr:bg-white/95 skippr:px-[12px] skippr:py-[5px] skippr:shadow-[0_4px_12px_rgba(45,45,63,0.1)] skippr:[animation:skippr-fade-in_0.25s_ease]",
|
|
12311
12376
|
children: [
|
|
12312
12377
|
/* @__PURE__ */ jsx52("span", {
|
|
@@ -12324,7 +12389,7 @@ function VoiceBarFrame({
|
|
|
12324
12389
|
role: "status",
|
|
12325
12390
|
style: stripStyle,
|
|
12326
12391
|
className: "skippr:pointer-events-none skippr:z-[6]",
|
|
12327
|
-
children: /* @__PURE__ */
|
|
12392
|
+
children: /* @__PURE__ */ jsxs41("div", {
|
|
12328
12393
|
className: "skippr:flex skippr:items-center skippr:gap-[7px] skippr:rounded-full skippr:border skippr:border-[rgba(45,45,63,0.06)] skippr:bg-white/95 skippr:px-[12px] skippr:py-[5px] skippr:shadow-[0_4px_12px_rgba(45,45,63,0.1)] skippr:[animation:skippr-fade-in_0.25s_ease]",
|
|
12329
12394
|
children: [
|
|
12330
12395
|
/* @__PURE__ */ jsx52("span", {
|
|
@@ -12375,7 +12440,7 @@ function VoiceBarFrame({
|
|
|
12375
12440
|
children: /* @__PURE__ */ jsx52("div", {
|
|
12376
12441
|
className: "skippr:w-[220px] skippr:rounded-[14px] skippr:border skippr:border-[rgba(45,45,63,0.08)] skippr:bg-white skippr:px-3 skippr:py-2 skippr:shadow-[0_10px_28px_rgba(45,45,63,0.16)] skippr:[animation:skippr-tip-in_360ms_cubic-bezier(0.34,1.3,0.64,1)]",
|
|
12377
12442
|
children: /* @__PURE__ */ jsx52(ConsentNotice, {
|
|
12378
|
-
|
|
12443
|
+
template: CONSENT_NOTICE_SESSION_START
|
|
12379
12444
|
})
|
|
12380
12445
|
})
|
|
12381
12446
|
}),
|
|
@@ -12394,10 +12459,10 @@ function VoiceBarFrame({
|
|
|
12394
12459
|
pos,
|
|
12395
12460
|
onDismiss: closeBanner
|
|
12396
12461
|
}),
|
|
12397
|
-
/* @__PURE__ */
|
|
12462
|
+
/* @__PURE__ */ jsxs41("div", {
|
|
12398
12463
|
className: cn("skippr:relative skippr:z-[1] skippr:flex skippr:w-full skippr:items-center skippr:gap-[7px] skippr:px-[7px] skippr:py-[5px]", pillEvaporate),
|
|
12399
12464
|
children: [
|
|
12400
|
-
showClose && /* @__PURE__ */
|
|
12465
|
+
showClose && /* @__PURE__ */ jsxs41("button", {
|
|
12401
12466
|
type: "button",
|
|
12402
12467
|
onClick: ifNotDragged(closeBar),
|
|
12403
12468
|
disabled: isPausing || isLoading,
|
|
@@ -12413,7 +12478,7 @@ function VoiceBarFrame({
|
|
|
12413
12478
|
})
|
|
12414
12479
|
]
|
|
12415
12480
|
}),
|
|
12416
|
-
isLoading && /* @__PURE__ */
|
|
12481
|
+
isLoading && /* @__PURE__ */ jsxs41("div", {
|
|
12417
12482
|
className: cn(PILL, "skippr:bg-[#F1EFEA] skippr:overflow-hidden", !isExchanging && "skippr:[animation:skippr-fade-in_0.25s_ease]"),
|
|
12418
12483
|
children: [
|
|
12419
12484
|
/* @__PURE__ */ jsx52(LoadingAvatar, {
|
|
@@ -12423,7 +12488,7 @@ function VoiceBarFrame({
|
|
|
12423
12488
|
className: "skippr:whitespace-nowrap skippr:text-[12.5px] skippr:font-semibold skippr:text-[#5a5650]",
|
|
12424
12489
|
children: "Agent is loading"
|
|
12425
12490
|
}),
|
|
12426
|
-
/* @__PURE__ */
|
|
12491
|
+
/* @__PURE__ */ jsxs41("span", {
|
|
12427
12492
|
className: "skippr:flex skippr:items-end skippr:gap-[3px]",
|
|
12428
12493
|
children: [
|
|
12429
12494
|
/* @__PURE__ */ jsx52("span", {
|
|
@@ -12443,7 +12508,7 @@ function VoiceBarFrame({
|
|
|
12443
12508
|
enabled: isPushToTalk,
|
|
12444
12509
|
seenRef: hintSeenRef,
|
|
12445
12510
|
suppressed: hintSuppressed,
|
|
12446
|
-
children: /* @__PURE__ */
|
|
12511
|
+
children: /* @__PURE__ */ jsxs41("button", {
|
|
12447
12512
|
type: "button",
|
|
12448
12513
|
"data-skippr-no-drag": "",
|
|
12449
12514
|
style: {
|
|
@@ -12470,7 +12535,7 @@ function VoiceBarFrame({
|
|
|
12470
12535
|
]
|
|
12471
12536
|
})
|
|
12472
12537
|
}),
|
|
12473
|
-
showLivePill && /* @__PURE__ */
|
|
12538
|
+
showLivePill && /* @__PURE__ */ jsxs41("div", {
|
|
12474
12539
|
style: { background: livePillBg, color: "var(--skippr-brand-foreground, #2d2b3d)" },
|
|
12475
12540
|
className: cn(PILL, "skippr:min-w-0 skippr:gap-[10px] skippr:px-[5px]"),
|
|
12476
12541
|
children: [
|
|
@@ -12500,7 +12565,7 @@ function VoiceBarFrame({
|
|
|
12500
12565
|
})
|
|
12501
12566
|
]
|
|
12502
12567
|
}),
|
|
12503
|
-
!isLoading && isConnected && textMode && /* @__PURE__ */
|
|
12568
|
+
!isLoading && isConnected && textMode && /* @__PURE__ */ jsxs41("div", {
|
|
12504
12569
|
className: cn(PILL, "skippr:gap-[7px] skippr:bg-[#F1EFEA] skippr:text-[#5a5650] skippr:[animation:skippr-fade-in_0.25s_ease]"),
|
|
12505
12570
|
children: [
|
|
12506
12571
|
/* @__PURE__ */ jsx52(MessageSquare, {
|
|
@@ -12510,7 +12575,7 @@ function VoiceBarFrame({
|
|
|
12510
12575
|
"Text mode"
|
|
12511
12576
|
]
|
|
12512
12577
|
}),
|
|
12513
|
-
!sessionLive && /* @__PURE__ */
|
|
12578
|
+
!sessionLive && /* @__PURE__ */ jsxs41("button", {
|
|
12514
12579
|
type: "button",
|
|
12515
12580
|
onClick: ifNotDragged(() => {
|
|
12516
12581
|
if (canStart) {
|
|
@@ -12551,7 +12616,7 @@ function VoiceBarFrame({
|
|
|
12551
12616
|
})
|
|
12552
12617
|
]
|
|
12553
12618
|
}),
|
|
12554
|
-
lineBlockOpen && /* @__PURE__ */
|
|
12619
|
+
lineBlockOpen && /* @__PURE__ */ jsxs41("div", {
|
|
12555
12620
|
style: chatBlockStyle,
|
|
12556
12621
|
"data-skippr-no-drag": "",
|
|
12557
12622
|
onPointerDown: (event) => event.stopPropagation(),
|
|
@@ -12583,7 +12648,7 @@ import { useCallback as useCallback35, useEffect as useEffect48, useRef as useRe
|
|
|
12583
12648
|
|
|
12584
12649
|
// src/components/LauncherNotification.tsx
|
|
12585
12650
|
import { useEffect as useEffect47, useRef as useRef43, useState as useState38 } from "react";
|
|
12586
|
-
import { jsx as jsx53, jsxs as
|
|
12651
|
+
import { jsx as jsx53, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
12587
12652
|
function LauncherNotification({
|
|
12588
12653
|
notifications,
|
|
12589
12654
|
dock,
|
|
@@ -12638,7 +12703,7 @@ function LauncherNotification({
|
|
|
12638
12703
|
return /* @__PURE__ */ jsx53("div", {
|
|
12639
12704
|
style: wrapperStyle,
|
|
12640
12705
|
"data-skippr-no-drag": "",
|
|
12641
|
-
children: /* @__PURE__ */
|
|
12706
|
+
children: /* @__PURE__ */ jsxs42("div", {
|
|
12642
12707
|
ref: cardRef,
|
|
12643
12708
|
className: "skippr:flex skippr:w-[148px] skippr:items-center skippr:gap-[4px] skippr:rounded-[14px] skippr:border skippr:border-[rgba(45,45,63,0.08)] skippr:bg-white skippr:pr-[6px] skippr:pl-[9px] skippr:py-[3px] skippr:shadow-[0_10px_28px_rgba(45,45,63,0.16)] skippr:[animation:skippr-tip-in_360ms_cubic-bezier(0.34,1.3,0.64,1)]",
|
|
12644
12709
|
children: [
|
|
@@ -12680,7 +12745,7 @@ function LauncherNotification({
|
|
|
12680
12745
|
}
|
|
12681
12746
|
|
|
12682
12747
|
// src/components/VoiceBarLauncher.tsx
|
|
12683
|
-
import { jsx as jsx54, jsxs as
|
|
12748
|
+
import { jsx as jsx54, jsxs as jsxs43, Fragment as Fragment7 } from "react/jsx-runtime";
|
|
12684
12749
|
function SkipprMark2() {
|
|
12685
12750
|
return /* @__PURE__ */ jsx54("svg", {
|
|
12686
12751
|
viewBox: "0 0 15.4044 18.4853",
|
|
@@ -12766,7 +12831,7 @@ function LauncherChat({
|
|
|
12766
12831
|
onClick
|
|
12767
12832
|
}) {
|
|
12768
12833
|
const vertical = isHorizontalEdge(edge);
|
|
12769
|
-
return /* @__PURE__ */
|
|
12834
|
+
return /* @__PURE__ */ jsxs43("div", {
|
|
12770
12835
|
className: cn("skippr:flex skippr:shrink-0 skippr:items-center skippr:justify-center skippr:gap-[5px] skippr:overflow-hidden skippr:transition-all skippr:duration-[400ms] skippr:ease-[cubic-bezier(0.22,1,0.36,1)]", AVATAR_FLEX[edge]),
|
|
12771
12836
|
style: {
|
|
12772
12837
|
width: vertical ? 46 : revealed ? 52 : 0,
|
|
@@ -12909,7 +12974,7 @@ function VoiceBarLauncher({
|
|
|
12909
12974
|
const expanded = hovered && !!onChat;
|
|
12910
12975
|
const length = expanded ? 84 : 40;
|
|
12911
12976
|
const thickness = expanded ? 36 : 10;
|
|
12912
|
-
return /* @__PURE__ */
|
|
12977
|
+
return /* @__PURE__ */ jsxs43("div", {
|
|
12913
12978
|
ref: containerRef,
|
|
12914
12979
|
style: dockStyleFlush(dock),
|
|
12915
12980
|
className: "skippr:fixed skippr:z-[9999] skippr:touch-none skippr:cursor-grab",
|
|
@@ -12917,7 +12982,7 @@ function VoiceBarLauncher({
|
|
|
12917
12982
|
/* @__PURE__ */ jsx54("div", {
|
|
12918
12983
|
style: horizontal ? { width: length, height: thickness } : { width: thickness, height: length },
|
|
12919
12984
|
className: cn("skippr:relative skippr:flex skippr:items-center skippr:justify-center skippr:gap-[6px] skippr:border-2 skippr:transition-[width,height,background-color,border-color] skippr:duration-200 skippr:ease-out", !horizontal && "skippr:flex-col", expanded ? "skippr:border-brand skippr:bg-white" : "skippr:border-transparent skippr:bg-brand", expanded ? STRIP_ROUNDING_EXPANDED[dock.edge] : STRIP_ROUNDING[dock.edge], expanded ? AVATAR_SHADOW[dock.edge] : STRIP_SHADOW[dock.edge]),
|
|
12920
|
-
children: expanded ? /* @__PURE__ */
|
|
12985
|
+
children: expanded ? /* @__PURE__ */ jsxs43(Fragment7, {
|
|
12921
12986
|
children: [
|
|
12922
12987
|
/* @__PURE__ */ jsx54("button", {
|
|
12923
12988
|
type: "button",
|
|
@@ -12979,12 +13044,12 @@ function VoiceBarLauncher({
|
|
|
12979
13044
|
]
|
|
12980
13045
|
});
|
|
12981
13046
|
}
|
|
12982
|
-
return /* @__PURE__ */
|
|
13047
|
+
return /* @__PURE__ */ jsxs43("div", {
|
|
12983
13048
|
ref: containerRef,
|
|
12984
13049
|
style: dockStyleFlush(dock),
|
|
12985
13050
|
className: "skippr:fixed skippr:z-[9999] skippr:touch-none skippr:cursor-grab",
|
|
12986
13051
|
children: [
|
|
12987
|
-
/* @__PURE__ */
|
|
13052
|
+
/* @__PURE__ */ jsxs43("div", {
|
|
12988
13053
|
style: { gap: onChat && hovered ? 2 : 0 },
|
|
12989
13054
|
className: cn("skippr:flex skippr:items-center skippr:border-2 skippr:border-brand skippr:bg-white skippr:p-[3px] skippr:transition-[gap] skippr:duration-[400ms] skippr:ease-[cubic-bezier(0.22,1,0.36,1)]", "skippr:[animation:skippr-pop_0.2s_ease]", AVATAR_FLEX[dock.edge], VIEWPORT_ROUNDING[dock.edge], AVATAR_SHADOW[dock.edge]),
|
|
12990
13055
|
children: [
|
|
@@ -13099,7 +13164,7 @@ function VoiceBar({ revealed }) {
|
|
|
13099
13164
|
}
|
|
13100
13165
|
|
|
13101
13166
|
// src/components/LiveAgent.tsx
|
|
13102
|
-
import { jsx as jsx56, jsxs as
|
|
13167
|
+
import { jsx as jsx56, jsxs as jsxs44, Fragment as Fragment9 } from "react/jsx-runtime";
|
|
13103
13168
|
function readSavedPosition() {
|
|
13104
13169
|
try {
|
|
13105
13170
|
const saved = localStorage.getItem("skippr_widget_position");
|
|
@@ -13142,6 +13207,7 @@ function LiveAgent(props) {
|
|
|
13142
13207
|
getUserToken,
|
|
13143
13208
|
userToken,
|
|
13144
13209
|
userContext,
|
|
13210
|
+
locale: hostLocale,
|
|
13145
13211
|
verticalAlign: hostVerticalAlign,
|
|
13146
13212
|
variant = "floating",
|
|
13147
13213
|
minimizable = true,
|
|
@@ -13258,6 +13324,7 @@ function LiveAgent(props) {
|
|
|
13258
13324
|
if (!isConnected)
|
|
13259
13325
|
setTextModeState(false);
|
|
13260
13326
|
}, [isConnected, setTextModeState]);
|
|
13327
|
+
const locale = useDetectedLocale(hostLocale);
|
|
13261
13328
|
const {
|
|
13262
13329
|
modules: availableModules,
|
|
13263
13330
|
defaultSelection,
|
|
@@ -13271,7 +13338,8 @@ function LiveAgent(props) {
|
|
|
13271
13338
|
enabled: !isSessionLive,
|
|
13272
13339
|
bearerToken,
|
|
13273
13340
|
authedFetch,
|
|
13274
|
-
agentId: hostAgentId ?? undefined
|
|
13341
|
+
agentId: hostAgentId ?? undefined,
|
|
13342
|
+
locale
|
|
13275
13343
|
});
|
|
13276
13344
|
const isAuthenticated = bearerToken !== null || auth.isAuthenticated;
|
|
13277
13345
|
const noModulesAvailable = hasResolvedModules && !modulesError && availableModules.length === 0 && !isSessionLive;
|
|
@@ -13418,26 +13486,12 @@ function LiveAgent(props) {
|
|
|
13418
13486
|
setLauncherBottomPx(bottomPx);
|
|
13419
13487
|
}, [setPositionWithPersist, setLauncherBottomPx]);
|
|
13420
13488
|
const [barPos, setBarPosState] = useState40(() => readSavedBarPos());
|
|
13421
|
-
const barPosRatioRef = useRef45(null);
|
|
13422
|
-
|
|
13423
|
-
|
|
13424
|
-
|
|
13425
|
-
|
|
13426
|
-
|
|
13427
|
-
} else if (barPosRatioRef.current === null) {
|
|
13428
|
-
const def = defaultBarPos();
|
|
13429
|
-
barPosRatioRef.current = {
|
|
13430
|
-
xRatio: def.x / window.innerWidth,
|
|
13431
|
-
yRatio: def.y / window.innerHeight
|
|
13432
|
-
};
|
|
13433
|
-
}
|
|
13434
|
-
const setBarPos = useCallback36((next) => {
|
|
13435
|
-
setBarPosState(next);
|
|
13436
|
-
persistBarPos(next);
|
|
13437
|
-
barPosRatioRef.current = {
|
|
13438
|
-
xRatio: next.x / window.innerWidth,
|
|
13439
|
-
yRatio: next.y / window.innerHeight
|
|
13440
|
-
};
|
|
13489
|
+
const barPosRatioRef = useRef45(barPos === null ? null : barPosRatio(barPos));
|
|
13490
|
+
const setBarPos = useCallback36((next, widthPx) => {
|
|
13491
|
+
const placed = clampBarPos(next, widthPx);
|
|
13492
|
+
setBarPosState(placed);
|
|
13493
|
+
persistBarPos(placed);
|
|
13494
|
+
barPosRatioRef.current = barPosRatio(placed);
|
|
13441
13495
|
}, []);
|
|
13442
13496
|
const [savedLauncherDock, setSavedLauncherDock] = useState40(() => readSavedDock("launcher"));
|
|
13443
13497
|
const setLauncherDock = useCallback36((next) => {
|
|
@@ -13462,12 +13516,11 @@ function LiveAgent(props) {
|
|
|
13462
13516
|
useEffect49(() => {
|
|
13463
13517
|
const syncBarToViewport = () => {
|
|
13464
13518
|
const ratios = barPosRatioRef.current;
|
|
13465
|
-
|
|
13466
|
-
|
|
13467
|
-
setBarPosState(clampBarPos({
|
|
13519
|
+
const measured = voiceBarRef.current?.getBoundingClientRect().width;
|
|
13520
|
+
setBarPosState(ratios === null ? defaultBarPos() : clampBarPos({
|
|
13468
13521
|
x: ratios.xRatio * window.innerWidth,
|
|
13469
13522
|
y: ratios.yRatio * window.innerHeight
|
|
13470
|
-
}));
|
|
13523
|
+
}, measured || VOICE_BAR_WIDTH_PX));
|
|
13471
13524
|
};
|
|
13472
13525
|
window.addEventListener("resize", syncBarToViewport);
|
|
13473
13526
|
return () => window.removeEventListener("resize", syncBarToViewport);
|
|
@@ -13833,17 +13886,17 @@ function LiveAgent(props) {
|
|
|
13833
13886
|
}
|
|
13834
13887
|
return /* @__PURE__ */ jsx56(LiveAgentContext.Provider, {
|
|
13835
13888
|
value: ctx,
|
|
13836
|
-
children: /* @__PURE__ */
|
|
13889
|
+
children: /* @__PURE__ */ jsxs44(LiveKitRoom, {
|
|
13837
13890
|
serverUrl: connection?.livekitUrl,
|
|
13838
13891
|
token: connection?.token,
|
|
13839
13892
|
connect: shouldConnect,
|
|
13840
13893
|
audio: !startMuted,
|
|
13841
13894
|
onDisconnected: handleRoomDisconnected,
|
|
13842
13895
|
children: [
|
|
13843
|
-
/* @__PURE__ */
|
|
13896
|
+
/* @__PURE__ */ jsxs44(Fragment8, {
|
|
13844
13897
|
children: [
|
|
13845
13898
|
connection && !textMode && /* @__PURE__ */ jsx56(RoomAudioRenderer, {}),
|
|
13846
|
-
/* @__PURE__ */
|
|
13899
|
+
/* @__PURE__ */ jsxs44(SessionHoldProvider, {
|
|
13847
13900
|
children: [
|
|
13848
13901
|
connection && captureMode === CAPTURE_MODE.Screenshare && /* @__PURE__ */ jsx56(AutoStartMedia, {
|
|
13849
13902
|
pendingScreenStream,
|
|
@@ -13854,7 +13907,7 @@ function LiveAgent(props) {
|
|
|
13854
13907
|
pushOrTapMicMode: isRequestResponseMicMode(agentControls?.micMode),
|
|
13855
13908
|
startMuted
|
|
13856
13909
|
}),
|
|
13857
|
-
/* @__PURE__ */
|
|
13910
|
+
/* @__PURE__ */ jsxs44(ShadowHost, {
|
|
13858
13911
|
accentColor: appearance?.accentColor ?? null,
|
|
13859
13912
|
children: [
|
|
13860
13913
|
connection && captureMode === CAPTURE_MODE.Auto && agentControls?.highlight && /* @__PURE__ */ jsx56(HighlightOverlay, {}),
|
|
@@ -13867,7 +13920,7 @@ function LiveAgent(props) {
|
|
|
13867
13920
|
children: /* @__PURE__ */ jsx56(TranscriptionsProvider, {
|
|
13868
13921
|
children: /* @__PURE__ */ jsx56("div", {
|
|
13869
13922
|
id: WIDGET_ROOT_ID,
|
|
13870
|
-
children: variant === "sidebar" ? /* @__PURE__ */
|
|
13923
|
+
children: variant === "sidebar" ? /* @__PURE__ */ jsxs44(Fragment9, {
|
|
13871
13924
|
children: [
|
|
13872
13925
|
isMinimized && !showControlBar && isLauncherRevealed && /* @__PURE__ */ jsx56(MinimizedBubble, {
|
|
13873
13926
|
welcomeMessage,
|
|
@@ -13884,12 +13937,12 @@ function LiveAgent(props) {
|
|
|
13884
13937
|
]
|
|
13885
13938
|
}) : !isLauncherRevealed ? null : buddyActive ? /* @__PURE__ */ jsx56(BuddyVoiceBar, {
|
|
13886
13939
|
revealed: isLauncherRevealed
|
|
13887
|
-
}) : /* @__PURE__ */
|
|
13940
|
+
}) : /* @__PURE__ */ jsxs44(Fragment9, {
|
|
13888
13941
|
children: [
|
|
13889
13942
|
/* @__PURE__ */ jsx56(VoiceBar, {
|
|
13890
13943
|
revealed: isLauncherRevealed
|
|
13891
13944
|
}),
|
|
13892
|
-
(agentControls?.chat ?? DEFAULT_CHAT_SURFACE) === CHAT_SURFACE.Room && /* @__PURE__ */
|
|
13945
|
+
(agentControls?.chat ?? DEFAULT_CHAT_SURFACE) === CHAT_SURFACE.Room && /* @__PURE__ */ jsxs44(Fragment9, {
|
|
13893
13946
|
children: [
|
|
13894
13947
|
/* @__PURE__ */ jsx56(SplashPanel, {}),
|
|
13895
13948
|
/* @__PURE__ */ jsx56(Sidebar, {
|