@snapcall/stream-ui 1.32.0 → 1.32.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/stream-ui.esm.js +217 -383
- package/dist/stream-ui.js +215 -381
- package/dist/types.d.ts +1 -1
- package/package.json +1 -1
package/dist/stream-ui.esm.js
CHANGED
|
@@ -6,11 +6,11 @@ import $3Sbms$reacthottoast, {toast as $3Sbms$toast, Toaster as $3Sbms$Toaster1,
|
|
|
6
6
|
import $3Sbms$styledcomponents, {keyframes as $3Sbms$keyframes, ThemeProvider as $3Sbms$ThemeProvider, ThemeContext as $3Sbms$ThemeContext, css as $3Sbms$css, createGlobalStyle as $3Sbms$createGlobalStyle} from "styled-components";
|
|
7
7
|
import {useState as $3Sbms$useState, useRef as $3Sbms$useRef, useCallback as $3Sbms$useCallback, useEffect as $3Sbms$useEffect, useContext as $3Sbms$useContext, useMemo as $3Sbms$useMemo, createContext as $3Sbms$createContext, useReducer as $3Sbms$useReducer, useLayoutEffect as $3Sbms$useLayoutEffect, cloneElement as $3Sbms$cloneElement, forwardRef as $3Sbms$forwardRef} from "react";
|
|
8
8
|
import $3Sbms$classnames from "classnames";
|
|
9
|
-
import {TooltipProvider as $3Sbms$TooltipProvider, Toaster as $3Sbms$Toaster, useToast as $3Sbms$useToast, Select as $3Sbms$Select, SelectTrigger as $3Sbms$SelectTrigger, SelectValue as $3Sbms$SelectValue, SelectContent as $3Sbms$SelectContent, SelectGroup as $3Sbms$SelectGroup, SelectItem as $3Sbms$SelectItem, Dialog as $3Sbms$Dialog, DialogContent as $3Sbms$DialogContent, DialogHeader as $3Sbms$DialogHeader, DialogTitle as $3Sbms$DialogTitle, Tabs as $3Sbms$Tabs, TabsList as $3Sbms$TabsList, TabsTrigger as $3Sbms$TabsTrigger, TabsContent as $3Sbms$TabsContent, Separator as $3Sbms$Separator, Input as $3Sbms$Input, Button as $3Sbms$Button, CreatableSelect as $3Sbms$CreatableSelect, Textarea as $3Sbms$Textarea, ToastAction as $3Sbms$ToastAction, Avatar as $3Sbms$Avatar, Tooltip as $3Sbms$Tooltip, TooltipContent as $3Sbms$TooltipContent, TooltipTrigger as $3Sbms$TooltipTrigger, AlertDialog as $3Sbms$AlertDialog, AlertDialogContent as $3Sbms$AlertDialogContent, AlertDialogFooter as $3Sbms$AlertDialogFooter, AlertDialogCancel as $3Sbms$AlertDialogCancel, AlertDialogAction as $3Sbms$AlertDialogAction, RawToast as $3Sbms$RawToast, ToastContent as $3Sbms$ToastContent, Sheet as $3Sbms$Sheet, DialogTrigger as $3Sbms$DialogTrigger, SheetTrigger as $3Sbms$SheetTrigger, SheetHeader as $3Sbms$SheetHeader, SheetClose as $3Sbms$SheetClose, SheetContent as $3Sbms$SheetContent, SheetTitle as $3Sbms$SheetTitle,
|
|
9
|
+
import {TooltipProvider as $3Sbms$TooltipProvider, Toaster as $3Sbms$Toaster, useToast as $3Sbms$useToast, Select as $3Sbms$Select, SelectTrigger as $3Sbms$SelectTrigger, SelectValue as $3Sbms$SelectValue, SelectContent as $3Sbms$SelectContent, SelectGroup as $3Sbms$SelectGroup, SelectItem as $3Sbms$SelectItem, Dialog as $3Sbms$Dialog, DialogContent as $3Sbms$DialogContent, DialogHeader as $3Sbms$DialogHeader, DialogTitle as $3Sbms$DialogTitle, Tabs as $3Sbms$Tabs, TabsList as $3Sbms$TabsList, TabsTrigger as $3Sbms$TabsTrigger, TabsContent as $3Sbms$TabsContent, Separator as $3Sbms$Separator, Input as $3Sbms$Input, Button as $3Sbms$Button, CreatableSelect as $3Sbms$CreatableSelect, Textarea as $3Sbms$Textarea, ToastAction as $3Sbms$ToastAction, Avatar as $3Sbms$Avatar, Tooltip as $3Sbms$Tooltip, TooltipContent as $3Sbms$TooltipContent, TooltipTrigger as $3Sbms$TooltipTrigger, AlertDialog as $3Sbms$AlertDialog, AlertDialogContent as $3Sbms$AlertDialogContent, AlertDialogFooter as $3Sbms$AlertDialogFooter, AlertDialogCancel as $3Sbms$AlertDialogCancel, AlertDialogAction as $3Sbms$AlertDialogAction, DialogDescription as $3Sbms$DialogDescription, DialogFooter as $3Sbms$DialogFooter, RawToast as $3Sbms$RawToast, ToastContent as $3Sbms$ToastContent, Sheet as $3Sbms$Sheet, DialogTrigger as $3Sbms$DialogTrigger, SheetTrigger as $3Sbms$SheetTrigger, SheetHeader as $3Sbms$SheetHeader, SheetClose as $3Sbms$SheetClose, SheetContent as $3Sbms$SheetContent, SheetTitle as $3Sbms$SheetTitle, SheetDescription as $3Sbms$SheetDescription, Popover as $3Sbms$Popover, PopoverTrigger as $3Sbms$PopoverTrigger, PopoverContent as $3Sbms$PopoverContent, MediaCard as $3Sbms$MediaCard, AlertDialogHeader as $3Sbms$AlertDialogHeader, AlertDialogTitle as $3Sbms$AlertDialogTitle, AlertDialogDescription as $3Sbms$AlertDialogDescription} from "@snapcall/design-system";
|
|
10
10
|
import "inobounce";
|
|
11
11
|
import {useTranslation as $3Sbms$useTranslation, initReactI18next as $3Sbms$initReactI18next, Trans as $3Sbms$Trans} from "react-i18next";
|
|
12
12
|
import $3Sbms$i18next from "i18next";
|
|
13
|
-
import {WifiOffIcon as $3Sbms$WifiOffIcon, UserPlus1Icon as $3Sbms$UserPlus1Icon, PhoneCall1Icon as $3Sbms$PhoneCall1Icon, VideoRecorderIcon as $3Sbms$VideoRecorderIcon, Recording2Icon as $3Sbms$Recording2Icon, Monitor2Icon as $3Sbms$Monitor2Icon, Camera2Icon as $3Sbms$Camera2Icon, Copy5Icon as $3Sbms$Copy5Icon, CheckIcon as $3Sbms$CheckIcon, XCircleIcon as $3Sbms$XCircleIcon, Send3Icon as $3Sbms$Send3Icon, AlertTriangleIcon as $3Sbms$AlertTriangleIcon, CopyIcon as $3Sbms$CopyIcon, InfoCircleIcon as $3Sbms$InfoCircleIcon, VideoRecorderOffIcon as $3Sbms$VideoRecorderOffIcon, Microphone1Icon as $3Sbms$Microphone1Icon, MicrophoneOff1Icon as $3Sbms$MicrophoneOff1Icon, CameraPlusIcon as $3Sbms$CameraPlusIcon, Minimize1Icon as $3Sbms$Minimize1Icon, Maximize1Icon as $3Sbms$Maximize1Icon, XCloseIcon as $3Sbms$XCloseIcon, Download1Icon as $3Sbms$Download1Icon, SpinnerIcon as $3Sbms$SpinnerIcon, CheckCircleIcon as $3Sbms$CheckCircleIcon,
|
|
13
|
+
import {WifiOffIcon as $3Sbms$WifiOffIcon, UserPlus1Icon as $3Sbms$UserPlus1Icon, PhoneCall1Icon as $3Sbms$PhoneCall1Icon, VideoRecorderIcon as $3Sbms$VideoRecorderIcon, Recording2Icon as $3Sbms$Recording2Icon, Monitor2Icon as $3Sbms$Monitor2Icon, Camera2Icon as $3Sbms$Camera2Icon, Copy5Icon as $3Sbms$Copy5Icon, CheckIcon as $3Sbms$CheckIcon, XCircleIcon as $3Sbms$XCircleIcon, Send3Icon as $3Sbms$Send3Icon, AlertTriangleIcon as $3Sbms$AlertTriangleIcon, CopyIcon as $3Sbms$CopyIcon, InfoCircleIcon as $3Sbms$InfoCircleIcon, VideoRecorderOffIcon as $3Sbms$VideoRecorderOffIcon, Microphone1Icon as $3Sbms$Microphone1Icon, MicrophoneOff1Icon as $3Sbms$MicrophoneOff1Icon, CameraPlusIcon as $3Sbms$CameraPlusIcon, Minimize1Icon as $3Sbms$Minimize1Icon, Maximize1Icon as $3Sbms$Maximize1Icon, XCloseIcon as $3Sbms$XCloseIcon, Download1Icon as $3Sbms$Download1Icon, SpinnerIcon as $3Sbms$SpinnerIcon, CheckCircleIcon as $3Sbms$CheckCircleIcon, QrCode1Icon as $3Sbms$QrCode1Icon, Link1Icon as $3Sbms$Link1Icon, FlipBackwardIcon as $3Sbms$FlipBackwardIcon, ArrowUpRightIcon as $3Sbms$ArrowUpRightIcon, PlusCircleIcon as $3Sbms$PlusCircleIcon, Settings1Icon as $3Sbms$Settings1Icon, Upload1Icon as $3Sbms$Upload1Icon, VolumeMaxIcon as $3Sbms$VolumeMaxIcon, Settings3Icon as $3Sbms$Settings3Icon, ArrowLeftIcon as $3Sbms$ArrowLeftIcon, HelpCircleIcon as $3Sbms$HelpCircleIcon, Trash3Icon as $3Sbms$Trash3Icon, TrashIcon as $3Sbms$TrashIcon, Image1Icon as $3Sbms$Image1Icon, RefreshCw3Icon as $3Sbms$RefreshCw3Icon, Camera1Icon as $3Sbms$Camera1Icon, PlayIcon as $3Sbms$PlayIcon, QrCodeIcon as $3Sbms$QrCodeIcon, Hourglass3Icon as $3Sbms$Hourglass3Icon, MicrophoneOffIcon as $3Sbms$MicrophoneOffIcon, SlashCircle1Icon as $3Sbms$SlashCircle1Icon, CalendarIcon as $3Sbms$CalendarIcon, AlertCircleIcon as $3Sbms$AlertCircleIcon, Lock1Icon as $3Sbms$Lock1Icon, Lock3Icon as $3Sbms$Lock3Icon, VoicemailIcon as $3Sbms$VoicemailIcon} from "@snapcall/design-system/icons";
|
|
14
14
|
import {useOverlayTriggerState as $3Sbms$useOverlayTriggerState} from "react-stately";
|
|
15
15
|
import {v4 as $3Sbms$v4} from "uuid";
|
|
16
16
|
import {WebSocketTransport as $3Sbms$WebSocketTransport, Peer as $3Sbms$Peer} from "protoo-client";
|
|
@@ -360,7 +360,7 @@ const $a3e657fb86ae23f3$export$604ba5624273df44 = ()=>{
|
|
|
360
360
|
|
|
361
361
|
|
|
362
362
|
var $cdb0576f0fea19f0$exports = {};
|
|
363
|
-
$cdb0576f0fea19f0$exports = JSON.parse('{"header":{"free":"Free version"},"loader":{"connection":"Connecting..."},"common":{"new":"new"},"notifications":{"error":"Error","screensharingError":"An error occured when trying to toggle screensharing","microphoneError":"An error occured when trying to toggle the microphone","cameraError":"An error occured when trying to toggle the camera","cameraRotateError":"An error occured when trying to rotate the camera","noCamera":"No camera available","blockedMicrophonePopupTitle":"Camera and microphone are blocked","blockedMicrophonePopup":"SnapCall requires access to your camera and microphone. Click the camera blocked icon in your browser\'s address bar.","reload":"Reload","criticalError":"A critical error has occurred (error {{code}}).","agentJoinError":"An error occured while trying to join the room as an agent","close":"Close","connectedTo":"Connected to {{name}}","recording":"Recording in progress","invitationSentToFailed":"Sent to {{ name }} failed.","errorOccuredCode":"An error occured (error {{code}})."},"recordingPopup":{"recordingStartTitle":"Recording about to start.","recordingStartText":"This call will be recorded shortly. If you\u2019d rather not be recorded, you\u2019re welcome to leave the call at this time.","dismiss":"Dismiss"},"requestAccess":{"wantToJoin":"<bold>{{name}}</bold> wants to join!","deny":"Deny","admit":"Admit","defaultName":"An user"},"endView":{"goBack":"Go back to call","callEnded":"The call has ended","callNoLongerActive":"This call is no longer active. Thank you for participating.","callLeft":"You have left the call","ifMistakeRejoin":"If this was a mistake, you can rejoin using the button below.","full":"You can\'t join this call","fullDescription":"The room is full. Please try to join the call later.","invalidLink":"Invalid link","invalidOrExpired":"This link is invalid or expired.","openDashboard":"Open dashboard","howWasYourExperience":"How was your experience?","pleaseRateYourExperienceBelow":"Please rate your experience below","thankYouForYourFeedback":"Thank you for your feedback.","yourFeedbackHelpsUs":"Your feedback helps us improve. See you soon!","addAdditionalMedia":"Add additional media","allowsYouToShareMoreMedia":"This option allows you to share one or more media to add more context."},"menu":{"title":"Menu","new":"NEW","openNewTab":"Open new tab","quickConnect":"Quick Connect","pictureInPicture":"Picture-in-Picture","screenSharing":"Screen sharing","stopRecord":"Stop record","startRecord":"Record call"},"blockedFeature":{"titleConnected":"Upgrade to Pro","titleGuest":"Feature not available","descriptionConnected":"On a free plan, you can\'t use this feature. Upgrade your plan to enjoy all in-call features.","descriptionGuest":"You are participating in a call created with a free version of SnapCall. This feature is only available with a Pro version.","dismissGuest":"Okay","dismissConnected":"Upgrade to Pro"},"copyLink":{"title":"Copy link","description":"Copy link into clipboard","error":"An error occured when trying to copy to clipboard","copied":"Link copied to clipboard","copy":"Copy"},"quickConnect":{"title":"Quick Connect","scanTitle":"Scan QR Code","scan":"Scan this QR code with your phone camera to open the call."},"settings":{"title":"Settings","preferences":"Preferences","language":"Language","devices":"Devices","help":"Help","helpCenter":"Go to help center","selectYourMicrophone":"Select your preferred microphone","selectYourCamera":"Select your preferred camera","selectYourLanguage":"Select your preferred language"},"audioMenu":{"title":"Audio","blockedMicrophone":"Microphone is blocked.","microphonePermissions":"Please accept microphone sharing before accessing these options."},"videoMenu":{"title":"Video","lowDef":"Low definition (240p)","standardDef":"Standard definition (480p)","highDef":"High definition (720p)","blockedCamera":"Camera is blocked.","cameraPermissions":"Please accept camera sharing before accessing these options.","sendResolution":"Send Resolution (maximum)"},"shareLink":{"title":"Share link","title2":"Share a link","invalid":"Invalid link","sentToUsers":"Link sent to users","sentToUser":"Link sent to {{user}}","failed":"Failed to send link","poweredBy":"Powered by","invoice":"{{user}} sent you an invoice.","pay":"Pay"},"invitePeople":{"PublicLink":"Public link","invitePeople":"Invite people","joinTheCall":"Join the call","inviteRecordClip":"Invite to record clip","inviteRecordVideo":"Record a video","inviteRecordAudio":"Record an audio","inviteRecordScreen":"Record a screen","inviteRecordPhoto":"Take a photo","inviteCall":"Invite to join call","sharePublicLink":"Share public link","inviteByEmail":"Invite by email","inviteByEmailOrNumber":"Invite by email or sms","emailsOrNumberPlaceholder":"Eg. john@acme.com or +33612345678","addEmailToInvite":"Add an email to invite.","email":"Email","emailPlaceholder":"Eg. john@acme.com","invite":"Invite","linkToJoinCall":"Link to join the call","linkToRecordAClip":"Link to record a clip","invalidEmail":"Invalid email format.","invalidEmailOrNumber":"Invalid email or number format.","addEmails":"Add emails...","invitationSentTo_one":"Sent to {{ name }}","invitationSentTo_other":"Sent to {{ name }} and {{ otherEmailsCount }}+","error":"Failed to send, please try again later.","inviteCallDefaultMessage":"Hey! You\'re invited to join our video call. Click the link to connect instantly.","inviteClipDefaultMessage":"Hey! Please record your video now and provide us with more context to assist you better.","inviteClipVideoDefaultMessage":"Hey! Please record your video now and provide us with more context to assist you better.","inviteClipAudioDefaultMessage":"Hey! Please record an audio message now and provide us with more context to assist you better.","inviteClipScreenDefaultMessage":"Hey! Please record your screen now and provide us with more context to assist you better.","inviteClipPhotoDefaultMessage":"Hey! Please take a photo and provide us with more context to assist you better.","message":"Message"},"youtube":{"title":"Watch Together","url":"YOUTUBE URL","invalid":"Invalid YouTube URL","share":"Watch now"},"sharedHistory":{"shared":"Shared with you"},"snapshot":{"title":"Snapshot","shared":"Snapshot shared.","sentToUsers":"Snapshot sent to users.","sentToUser":"Snapshot sent to {{user}}","save":"Save photo","error":"An error occured when trying to send the snapshot","aSnapshotHasBeenShared":"A snapshot has been shared."},"gdpr":{"recordedWarning":"To improve the quality of our service, this call will be recorded."},"requestDevice":{"requestInput":"Request input devices","request":"{{user}} would like you to share your {{device}}","timedOut":"Your request has timed out.","declined":"Your request has been declined.","userDeclined":"{{user}} has declined your request.","askForDevice":"Ask for {{device}}","waitingForDevice":"Waiting for {{name}}\'s {{device}}","deviceActivated":"{{device}} activated","deviceActivationDeclined":"{{device}} activation declined","userWouldLikeYouToActivateYourDevice":"{{name}} would like you to activate your {{device}}."},"leave":{"title":"Leave","leaveCall":"Leave call","endCall":"End call for all"},"virtualBackground":{"title":"Virtual Background","setBackground":"Set Background"},"misc":{"someone":"Someone","camera":"Camera","microphone":"Microphone","photo":"Photo","video":"Video","screen":"Screen","screenshot":"Screenshot","speaker":"Speaker","user":"User","open":"Open","from":"From","accept":"Accept","decline":"Decline","you":"You","cancel":"Cancel","confirm":"Confirm","remove":"Remove","proceed":"Proceed","audio":"Audio","download":"Download","add":"Add"},"greeting":{"mainTitle":"Welcome to SnapCall","sideTitle":"Hold tight, you\'re next!","sideDescription":"Please enter your name and adjust your camera and microphone","namePlaceholder":"Eg. Lucy or Peter","nameSubmit":"Join Conversation","footerTitle":"Powered by SnapCall","footerDescription":"Meet SnapCall, the easiest way to add real-time video to platform, product or service.","cameraDisabled":"Camera is Off","microphoneDisabled":"Microphone is Off","cameraEnabled":"Camera is On","microphoneEnabled":"Microphone is On","scheduleACall":"Schedule a call","requestACall":"Request a call","name":"Name","nameDescription":"This name will be displayed to all participants in the call.","setting":"Settings","askToJoin":"Ask to join","youWillJoinWhenSomeoneLetsYou":"You will join the call when someone from {{ companyName }} lets you in.","cantJoinCall":"You can\u2019t join this call","someoneDenied":"Someone in the call denied your request to join.","askingLetIn":"Asking to be let in...","takeFewMinute":"This may take a few minutes depending on the availability of the participants.","cantWait":"Can\'t wait?","whatYouCanDo":"Here\u2019s what you can do","leaveMessage":"Leave a message","cantWaitLeaveMessage":"Can\u2019t wait? You can leave a message and you will be contacted as soon as possible.","recordVideo":"Record video","recordVoice":"Record voice","canceledCallRequest":"The call request will be canceled and you will be redirected to the call scheduling page.","mediaDenied":"Microphone and camera access denied","clickOnLock":"Click on the <1></1> lock icon in your browser\'s bar."},"networkIssue":{"title":"Network issue","description":"The clip information may be damaged."},"recorder":{"addMore":"Add more","addNewClip":"Add new clip","limit":"Video recording limited to 5 min.","replyAttached":"Your reply has been attached","elementRecordedAndAttached":"Your clip has been sent and attached to the thread.","goBackToTicket":"Go back to ticket","openThread":"Open thread","clipSubmissionTitle_one":"Your clip has been sent","clipSubmissionTitle_other":"Your clips have been sent","clipSubmissionDescription":"Thank you for using SnapCall.","submissionTitle":"Thank you for your submission!","submissionDescription":"Your photo/video has been successfully submitted. We will review it and get back to you shortly.","confirmRemovalTitle":"Confirm deletion","confirmRemovalDescription":"Are you sure you want to delete this photo/video? This action cannot be undone.","elementBeingProcessed":"Please wait while your {{ type }} is being processed...","waitVideo":"A video may take up to 15 seconds to be ready.","elementCaptureSuccess":"{{ type }} captured successfully","takeNewElement":"Capture a new {{ type }}","send":"Send","sendElements_one":"Send {{ type }}","sendElements_other":"Send {{ count }} elements","clipCount_one":"{{ count }} clip","clipCount_other":"{{ count }} clips","attachElements_one":"Attach {{ type }} to ticket","attachElements_other":"Attach {{ count }} elements","allowAccess":"Allow access","okay":"Okay","allowCamMicAccess":"Allow access to cam/mic","allowScreenShareAccess":"Allow access to screen sharing","permissionDeniedTitle":"Something went wrong!","permissionDeniedDescription":"Without access to the camera and microphone, you won\'t be able to capture photos or videos to share with the support team. Please grant access in your browser settings.","photoInstructionsTitle":"Ready to snap a photo?","videoInstructionsTitle":"Ready to record a video?","screenShareInstructionsTitle":"Ready to share your screen?","audioInstructionsTitle":"Ready to record a voice message?","instructions":{"selectScreenshare":"Tap Record my screen and select the screen or window you want to record.","speakDuringRecord":"You can speak while recording to add details.","stopScreenOnFinish":"Press the Stop button when finished. The video will be sent to us automatically.","allowAccessOnPrompt":"When prompted, <bold>allow access</bold> to camera and microphone.","multiplePhotos":"Take a <bold>photo or multiple</bold> for detail, then review.","reviewAndSendPhotos":"<bold>Validate your photos</bold>, and they will be sent to us automatically.","tapVideoButton":"<bold>Tap the record button</bold> to begin and feel free to provide commentary.","videoSpeech":"You can <bold>talk during</bold> the recording to provide additional information.","tapStopVideoButton":"<bold>Tap stop</bold> when you are done.","reviewAndSendVideos":"<bold>Review your videos</bold>, and they will be sent to us automatically.","screenShareInstruction":"Select the screen or window you wish to record.","privacyPolicy":"By proceeding, you agree to our <bold>Privacy Policy</bold>.","tapAudioButton":"<bold>Tap the record button</bold> to start recording your audio message.","speakClearly":"<bold>Speak clearly</bold> and say what you need to convey.","reviewAndSendAudios":"<bold>Review your audios</bold>, and they will be sent to us automatically."},"switchToMobileTitle":"Switch to your mobile device","switchToMobileDescription":"Experience greater convenience by using your phone to take photos and record videos.","useDesktopVersion":"Use the desktop version","scanQRCode":"Scan this QR code with a compatible device.","startScreenShareButton":"Record my screen","stopScreenShareButton":"Stop recording","screenTitle":"Ready to capture your screen?","loggedAs":"Logged as","logIn":"Log in","audioLevelNotification":{"shortVideo":{"title":"Short video.","description":"This video is too short to get context."},"noSound":{"title":"No sound detected.","description":"Make sure your microphone is activated."},"spokenWordsQuestion":{"title":"Spoken words.","description":"Does your video include enough spoken details?"},"spokenWordsWarning":{"title":"No spoken words.","description":"The clip includes barely any spoken words."}},"audioLevelToast":{"continueSpeaking":"Continue speaking for clearer context.","rememberSpeaking":"Remember to speak to provide context.","noSound":"No sound detected."},"chooseWhatYouWantToShare":"Choose what you want to share","startScreenRecording":"Start screen recording","noCameraAndMicrophoneAccess":"No camera & microphone access","noCameraAccess":"No camera access","noMicrophoneAccess":"No microphone access","chooseWhatYouWantToShareDescription":"Select the screen or tab you want to share and start recording.","noCameraAndMicrophoneAccessDescription":"No camera & microphone access Allow microphone and camera access in your browser.","noMicrophoneAccessDescription":"No microphone access Allow microphone access in your browser.","noCameraAccessDescription":"No camera access Allow camera access in your browser.","mediaCount_one":"{{ count }} media","mediaCount_other":"{{ count }} media","mediaSent_one":"Your media has been sent","mediaSent_other":"Your media has been sent","showQrCode":"Show QR code","upload":"Upload","startByClickingOnTheButton":"Start by clicking on the round button below! \uD83D\uDC47","feelFreeToTalkGiveMoreContext":"\uD83D\uDDE3\uFE0F Feel free to talk to give me more context.","yourMedia":"Your media","thanksForYourMedia":"Thanks for your media!","videoBotThinking":"Thinking...","videoBotError":"Sorry, an error has occured.","mySuggestion":"My suggestion","recordNewMedia":"Record new media"}}');
|
|
363
|
+
$cdb0576f0fea19f0$exports = JSON.parse('{"header":{"free":"Free version"},"loader":{"connection":"Connecting..."},"common":{"new":"new"},"notifications":{"error":"Error","screensharingError":"An error occured when trying to toggle screensharing","microphoneError":"An error occured when trying to toggle the microphone","cameraError":"An error occured when trying to toggle the camera","cameraRotateError":"An error occured when trying to rotate the camera","noCamera":"No camera available","blockedMicrophonePopupTitle":"Camera and microphone are blocked","blockedMicrophonePopup":"SnapCall requires access to your camera and microphone. Click the camera blocked icon in your browser\'s address bar.","reload":"Reload","criticalError":"A critical error has occurred (error {{code}}).","agentJoinError":"An error occured while trying to join the room as an agent","close":"Close","connectedTo":"Connected to {{name}}","recording":"Recording in progress","invitationSentToFailed":"Sent to {{ name }} failed.","errorOccuredCode":"An error occured (error {{code}})."},"recordingPopup":{"recordingStartTitle":"Recording about to start.","recordingStartText":"This call will be recorded shortly. If you\u2019d rather not be recorded, you\u2019re welcome to leave the call at this time.","dismiss":"Dismiss"},"requestAccess":{"wantToJoin":"<bold>{{name}}</bold> wants to join!","deny":"Deny","admit":"Admit","defaultName":"An user"},"endView":{"goBack":"Go back to call","callEnded":"The call has ended","callNoLongerActive":"This call is no longer active. Thank you for participating.","callLeft":"You have left the call","ifMistakeRejoin":"If this was a mistake, you can rejoin using the button below.","full":"You can\'t join this call","fullDescription":"The room is full. Please try to join the call later.","invalidLink":"Invalid link","invalidOrExpired":"This link is invalid or expired.","openDashboard":"Open dashboard","howWasYourExperience":"How was your experience?","pleaseRateYourExperienceBelow":"Please rate your experience below","thankYouForYourFeedback":"Thank you for your feedback.","yourFeedbackHelpsUs":"Your feedback helps us improve. See you soon!","addAdditionalMedia":"Add additional media","allowsYouToShareMoreMedia":"This option allows you to share one or more media to add more context."},"menu":{"title":"Menu","new":"NEW","openNewTab":"Open new tab","quickConnect":"Quick Connect","pictureInPicture":"Picture-in-Picture","screenSharing":"Screen sharing","stopRecord":"Stop record","startRecord":"Record call"},"blockedFeature":{"titleConnected":"Upgrade to Pro","titleGuest":"Feature not available","descriptionConnected":"On a free plan, you can\'t use this feature. Upgrade your plan to enjoy all in-call features.","descriptionGuest":"You are participating in a call created with a free version of SnapCall. This feature is only available with a Pro version.","dismissGuest":"Okay","dismissConnected":"Upgrade to Pro"},"copyLink":{"title":"Copy link","description":"Copy link to clipboard","error":"An error occured when trying to copy to clipboard","copied":"Link copied to clipboard","copy":"Copy"},"quickConnect":{"title":"Quick Connect","scanTitle":"Scan QR Code","scan":"Scan this QR code with your phone to open the call."},"settings":{"title":"Settings","preferences":"Preferences","language":"Language","devices":"Devices","help":"Help","helpCenter":"Go to help center","selectYourMicrophone":"Select your preferred microphone","selectYourCamera":"Select your preferred camera","selectYourLanguage":"Select your preferred language"},"audioMenu":{"title":"Audio","blockedMicrophone":"Microphone is blocked.","microphonePermissions":"Please accept microphone sharing before accessing these options."},"videoMenu":{"title":"Video","lowDef":"Low definition (240p)","standardDef":"Standard definition (480p)","highDef":"High definition (720p)","blockedCamera":"Camera is blocked.","cameraPermissions":"Please accept camera sharing before accessing these options.","sendResolution":"Send Resolution (maximum)"},"shareLink":{"title":"Share link","title2":"Share a link","invalid":"Invalid link","sentToUsers":"Link sent to users","sentToUser":"Link sent to {{user}}","failed":"Failed to send link","poweredBy":"Powered by","invoice":"{{user}} sent you an invoice.","pay":"Pay"},"invitePeople":{"PublicLink":"Public link","invitePeople":"Invite people","joinTheCall":"Join the call","inviteRecordClip":"Invite to record clip","inviteRecordVideo":"Record a video","inviteRecordAudio":"Record an audio","inviteRecordScreen":"Record a screen","inviteRecordPhoto":"Take a photo","inviteCall":"Invite to join call","sharePublicLink":"Share public link","inviteByEmail":"Invite by email","inviteByEmailOrNumber":"Invite by email or sms","emailsOrNumberPlaceholder":"Eg. john@acme.com or +33612345678","addEmailToInvite":"Add an email to invite.","email":"Email","emailPlaceholder":"Eg. john@acme.com","invite":"Invite","linkToJoinCall":"Link to join the call","linkToRecordAClip":"Link to record a clip","invalidEmail":"Invalid email format.","invalidEmailOrNumber":"Invalid email or number format.","addEmails":"Add emails...","invitationSentTo_one":"Sent to {{ name }}","invitationSentTo_other":"Sent to {{ name }} and {{ otherEmailsCount }}+","error":"Failed to send, please try again later.","inviteCallDefaultMessage":"Hey! You\'re invited to join our video call. Click the link to connect instantly.","inviteClipDefaultMessage":"Hey! Please record your video now and provide us with more context to assist you better.","inviteClipVideoDefaultMessage":"Hey! Please record your video now and provide us with more context to assist you better.","inviteClipAudioDefaultMessage":"Hey! Please record an audio message now and provide us with more context to assist you better.","inviteClipScreenDefaultMessage":"Hey! Please record your screen now and provide us with more context to assist you better.","inviteClipPhotoDefaultMessage":"Hey! Please take a photo and provide us with more context to assist you better.","message":"Message"},"youtube":{"title":"Watch Together","url":"YOUTUBE URL","invalid":"Invalid YouTube URL","share":"Watch now"},"sharedHistory":{"shared":"Shared with you"},"snapshot":{"title":"Snapshot","shared":"Snapshot shared.","sentToUsers":"Snapshot sent to users.","sentToUser":"Snapshot sent to {{user}}","save":"Save photo","error":"An error occured when trying to send the snapshot","aSnapshotHasBeenShared":"A snapshot has been shared."},"gdpr":{"recordedWarning":"To improve the quality of our service, this call will be recorded."},"requestDevice":{"requestInput":"Request input devices","request":"{{user}} would like you to share your {{device}}","timedOut":"Your request has timed out.","declined":"Your request has been declined.","userDeclined":"{{user}} has declined your request.","askForDevice":"Ask for {{device}}","waitingForDevice":"Waiting for {{name}}\'s {{device}}","deviceActivated":"{{device}} activated","deviceActivationDeclined":"{{device}} activation declined","userWouldLikeYouToActivateYourDevice":"{{name}} would like you to activate your {{device}}."},"leave":{"title":"Leave","leaveCall":"Leave call","endCall":"End call for all"},"virtualBackground":{"title":"Virtual Background","setBackground":"Set Background"},"misc":{"someone":"Someone","camera":"Camera","microphone":"Microphone","photo":"Photo","video":"Video","screen":"Screen","screenshot":"Screenshot","speaker":"Speaker","user":"User","open":"Open","from":"From","accept":"Accept","decline":"Decline","you":"You","cancel":"Cancel","confirm":"Confirm","remove":"Remove","proceed":"Proceed","audio":"Audio","download":"Download","add":"Add"},"greeting":{"mainTitle":"Welcome to SnapCall","sideTitle":"Hold tight, you\'re next!","sideDescription":"Please enter your name and adjust your camera and microphone","namePlaceholder":"Eg. Lucy or Peter","nameSubmit":"Join Conversation","footerTitle":"Powered by SnapCall","footerDescription":"Meet SnapCall, the easiest way to add real-time video to platform, product or service.","cameraDisabled":"Camera is Off","microphoneDisabled":"Microphone is Off","cameraEnabled":"Camera is On","microphoneEnabled":"Microphone is On","scheduleACall":"Schedule a call","requestACall":"Request a call","name":"Name","nameDescription":"This name will be displayed to all participants in the call.","setting":"Settings","askToJoin":"Ask to join","youWillJoinWhenSomeoneLetsYou":"You will join the call when someone from {{ companyName }} lets you in.","cantJoinCall":"You can\u2019t join this call","someoneDenied":"Someone in the call denied your request to join.","askingLetIn":"Asking to be let in...","takeFewMinute":"This may take a few minutes depending on the availability of the participants.","cantWait":"Can\'t wait?","whatYouCanDo":"Here\u2019s what you can do","leaveMessage":"Leave a message","cantWaitLeaveMessage":"Can\u2019t wait? You can leave a message and you will be contacted as soon as possible.","recordVideo":"Record video","recordVoice":"Record voice","canceledCallRequest":"The call request will be canceled and you will be redirected to the call scheduling page.","mediaDenied":"Microphone and camera access denied","clickOnLock":"Click on the <1></1> lock icon in your browser\'s bar."},"networkIssue":{"title":"Network issue","description":"The clip information may be damaged."},"recorder":{"addMore":"Add more","addNewClip":"Add new clip","limit":"Video recording limited to 5 min.","replyAttached":"Your reply has been attached","elementRecordedAndAttached":"Your clip has been sent and attached to the thread.","goBackToTicket":"Go back to ticket","openThread":"Open thread","clipSubmissionTitle_one":"Your clip has been sent","clipSubmissionTitle_other":"Your clips have been sent","clipSubmissionDescription":"Thank you for using SnapCall.","submissionTitle":"Thank you for your submission!","submissionDescription":"Your photo/video has been successfully submitted. We will review it and get back to you shortly.","confirmRemovalTitle":"Confirm deletion","confirmRemovalDescription":"Are you sure you want to delete this photo/video? This action cannot be undone.","elementBeingProcessed":"Please wait while your {{ type }} is being processed...","waitVideo":"A video may take up to 15 seconds to be ready.","elementCaptureSuccess":"{{ type }} captured successfully","takeNewElement":"Capture a new {{ type }}","send":"Send","sendElements_one":"Send {{ type }}","sendElements_other":"Send {{ count }} elements","clipCount_one":"{{ count }} clip","clipCount_other":"{{ count }} clips","attachElements_one":"Attach {{ type }} to ticket","attachElements_other":"Attach {{ count }} elements","allowAccess":"Allow access","okay":"Okay","allowCamMicAccess":"Allow access to cam/mic","allowScreenShareAccess":"Allow access to screen sharing","permissionDeniedTitle":"Something went wrong!","permissionDeniedDescription":"Without access to the camera and microphone, you won\'t be able to capture photos or videos to share with the support team. Please grant access in your browser settings.","photoInstructionsTitle":"Ready to snap a photo?","videoInstructionsTitle":"Ready to record a video?","screenShareInstructionsTitle":"Ready to share your screen?","audioInstructionsTitle":"Ready to record a voice message?","instructions":{"selectScreenshare":"Tap Record my screen and select the screen or window you want to record.","speakDuringRecord":"You can speak while recording to add details.","stopScreenOnFinish":"Press the Stop button when finished. The video will be sent to us automatically.","allowAccessOnPrompt":"When prompted, <bold>allow access</bold> to camera and microphone.","multiplePhotos":"Take a <bold>photo or multiple</bold> for detail, then review.","reviewAndSendPhotos":"<bold>Validate your photos</bold>, and they will be sent to us automatically.","tapVideoButton":"<bold>Tap the record button</bold> to begin and feel free to provide commentary.","videoSpeech":"You can <bold>talk during</bold> the recording to provide additional information.","tapStopVideoButton":"<bold>Tap stop</bold> when you are done.","reviewAndSendVideos":"<bold>Review your videos</bold>, and they will be sent to us automatically.","screenShareInstruction":"Select the screen or window you wish to record.","privacyPolicy":"By proceeding, you agree to our <bold>Privacy Policy</bold>.","tapAudioButton":"<bold>Tap the record button</bold> to start recording your audio message.","speakClearly":"<bold>Speak clearly</bold> and say what you need to convey.","reviewAndSendAudios":"<bold>Review your audios</bold>, and they will be sent to us automatically."},"switchToMobileTitle":"Switch to your mobile device","switchToMobileDescription":"Experience greater convenience by using your phone to take photos and record videos.","useDesktopVersion":"Use the desktop version","scanQRCode":"Scan this QR code with a compatible device.","startScreenShareButton":"Record my screen","stopScreenShareButton":"Stop recording","screenTitle":"Ready to capture your screen?","loggedAs":"Logged as","logIn":"Log in","audioLevelNotification":{"shortVideo":{"title":"Short video.","description":"This video is too short to get context."},"noSound":{"title":"No sound detected.","description":"Make sure your microphone is activated."},"spokenWordsQuestion":{"title":"Spoken words.","description":"Does your video include enough spoken details?"},"spokenWordsWarning":{"title":"No spoken words.","description":"The clip includes barely any spoken words."}},"audioLevelToast":{"continueSpeaking":"Continue speaking for clearer context.","rememberSpeaking":"Remember to speak to provide context.","noSound":"No sound detected."},"chooseWhatYouWantToShare":"Choose what you want to share","startScreenRecording":"Start screen recording","noCameraAndMicrophoneAccess":"No camera & microphone access","noCameraAccess":"No camera access","noMicrophoneAccess":"No microphone access","chooseWhatYouWantToShareDescription":"Select the screen or tab you want to share and start recording.","noCameraAndMicrophoneAccessDescription":"No camera & microphone access Allow microphone and camera access in your browser.","noMicrophoneAccessDescription":"No microphone access Allow microphone access in your browser.","noCameraAccessDescription":"No camera access Allow camera access in your browser.","mediaCount_one":"{{ count }} media","mediaCount_other":"{{ count }} media","mediaSent_one":"Your media has been sent","mediaSent_other":"Your media has been sent","showQrCode":"Show QR code","upload":"Upload","startByClickingOnTheButton":"Start by clicking on the round button below! \uD83D\uDC47","feelFreeToTalkGiveMoreContext":"\uD83D\uDDE3\uFE0F Feel free to talk to give me more context.","yourMedia":"Your media","thanksForYourMedia":"Thanks for your media!","videoBotThinking":"Thinking...","videoBotError":"Sorry, an error has occured.","mySuggestion":"My suggestion","recordNewMedia":"Record new media"}}');
|
|
364
364
|
|
|
365
365
|
|
|
366
366
|
var $d94166210f763d5e$exports = {};
|
|
@@ -1427,7 +1427,7 @@ const $47936294be4c1914$var$debugLevel = {
|
|
|
1427
1427
|
};
|
|
1428
1428
|
const $47936294be4c1914$var$DURATION_MS = 3000;
|
|
1429
1429
|
const $47936294be4c1914$var$MONITOR_INTERVAL_DURATION_MS = 200;
|
|
1430
|
-
const $47936294be4c1914$var$
|
|
1430
|
+
const $47936294be4c1914$var$TICK_MAX = $47936294be4c1914$var$DURATION_MS / $47936294be4c1914$var$MONITOR_INTERVAL_DURATION_MS;
|
|
1431
1431
|
const $47936294be4c1914$var$RTX_PERCENT_THRESHOLD = 5;
|
|
1432
1432
|
const $47936294be4c1914$var$RTT_MS_THRESHOLD = 400;
|
|
1433
1433
|
const $47936294be4c1914$var$transportStatTypes = [
|
|
@@ -1438,14 +1438,14 @@ const $47936294be4c1914$var$transportStatTypes = [
|
|
|
1438
1438
|
];
|
|
1439
1439
|
class $47936294be4c1914$export$2e2bcd8739ae039 {
|
|
1440
1440
|
constructor(transport, listener, description){
|
|
1441
|
-
this.
|
|
1442
|
-
this.
|
|
1441
|
+
this.tick = 0;
|
|
1442
|
+
this.activeMonitors = {
|
|
1443
1443
|
audio: false,
|
|
1444
1444
|
video: false,
|
|
1445
1445
|
'ice-network': false,
|
|
1446
1446
|
'outbound-rtp': false
|
|
1447
1447
|
};
|
|
1448
|
-
this.
|
|
1448
|
+
this.activeMonitorsCount = 0;
|
|
1449
1449
|
this.monitorFuncs = {
|
|
1450
1450
|
audio: this.monitorAudio.bind(this),
|
|
1451
1451
|
video: this.monitorVideo.bind(this),
|
|
@@ -1460,15 +1460,13 @@ class $47936294be4c1914$export$2e2bcd8739ae039 {
|
|
|
1460
1460
|
// RTT
|
|
1461
1461
|
this.allTimeAverageRTT = 0;
|
|
1462
1462
|
this.lastStateRttOk = true;
|
|
1463
|
-
this.rttCollects = 0;
|
|
1464
1463
|
// RTX for all media sources
|
|
1465
1464
|
this.mediaSourceStats = {};
|
|
1466
|
-
this.outboundRtpCollects = 0;
|
|
1467
1465
|
this.transport = transport;
|
|
1468
1466
|
this.description = description;
|
|
1469
1467
|
this.listener = listener;
|
|
1470
1468
|
this.transport.on('connectionstatechange', this.onConnectionStateChange.bind(this));
|
|
1471
|
-
this.recentRTTs = new Array($47936294be4c1914$var$
|
|
1469
|
+
this.recentRTTs = new Array($47936294be4c1914$var$TICK_MAX).fill(0);
|
|
1472
1470
|
}
|
|
1473
1471
|
isTransportConnected() {
|
|
1474
1472
|
return this.isConnected;
|
|
@@ -1488,11 +1486,9 @@ class $47936294be4c1914$export$2e2bcd8739ae039 {
|
|
|
1488
1486
|
resetStats() {
|
|
1489
1487
|
this.issues = 0;
|
|
1490
1488
|
this.disconnectsCount = 0;
|
|
1491
|
-
this.recentRTTs = new Array($47936294be4c1914$var$
|
|
1492
|
-
this.rttCollects = 0;
|
|
1489
|
+
this.recentRTTs = new Array($47936294be4c1914$var$TICK_MAX).fill(0);
|
|
1493
1490
|
this.lastStateRttOk = true;
|
|
1494
1491
|
this.mediaSourceStats = {};
|
|
1495
|
-
this.outboundRtpCollects = 0;
|
|
1496
1492
|
}
|
|
1497
1493
|
async onConnectionStateChange(state) {
|
|
1498
1494
|
$47936294be4c1914$var$log.log('onConnectionStateChange', `\nTransport ${this.transport.id} connection state changed to:`, state);
|
|
@@ -1502,7 +1498,6 @@ class $47936294be4c1914$export$2e2bcd8739ae039 {
|
|
|
1502
1498
|
this.updateTransportState({
|
|
1503
1499
|
isConnected: true
|
|
1504
1500
|
});
|
|
1505
|
-
this.startAllEnabledMonitorings();
|
|
1506
1501
|
break;
|
|
1507
1502
|
case 'disconnected':
|
|
1508
1503
|
this.isConnected = false;
|
|
@@ -1510,7 +1505,6 @@ class $47936294be4c1914$export$2e2bcd8739ae039 {
|
|
|
1510
1505
|
this.updateTransportState({
|
|
1511
1506
|
isConnected: false
|
|
1512
1507
|
});
|
|
1513
|
-
this.stopAllMonitorings();
|
|
1514
1508
|
if (this.disconnectsCount === this.disconnectsThreshold) this.listener?.onTransportManyDisconnections(this.transport);
|
|
1515
1509
|
break;
|
|
1516
1510
|
case 'failed':
|
|
@@ -1538,7 +1532,11 @@ class $47936294be4c1914$export$2e2bcd8739ae039 {
|
|
|
1538
1532
|
async startGetStats() {
|
|
1539
1533
|
if (this.statsInterval) return;
|
|
1540
1534
|
this.statsInterval = setInterval(async ()=>{
|
|
1541
|
-
if (!this.transport.closed)
|
|
1535
|
+
if (!this.transport.closed) {
|
|
1536
|
+
this.rtcStatsReports = await this.transport.getStats();
|
|
1537
|
+
this.tick = (this.tick + 1) % $47936294be4c1914$var$TICK_MAX;
|
|
1538
|
+
for (const type of $47936294be4c1914$var$transportStatTypes)if (this.activeMonitors[type]) this.monitorFuncs[type]();
|
|
1539
|
+
}
|
|
1542
1540
|
}, $47936294be4c1914$var$MONITOR_INTERVAL_DURATION_MS);
|
|
1543
1541
|
}
|
|
1544
1542
|
stopGetStats() {
|
|
@@ -1546,64 +1544,26 @@ class $47936294be4c1914$export$2e2bcd8739ae039 {
|
|
|
1546
1544
|
this.statsInterval = undefined;
|
|
1547
1545
|
this.rtcStatsReports = undefined;
|
|
1548
1546
|
}
|
|
1549
|
-
async setMonitoringEnabled(type, enabled) {
|
|
1550
|
-
this.enabledMonitors[type] = enabled;
|
|
1551
|
-
if (enabled && this.transport.connectionState === 'connected') this.startMonitoring(type);
|
|
1552
|
-
else this.stopMonitoring(type);
|
|
1553
|
-
}
|
|
1554
|
-
startAllEnabledMonitorings() {
|
|
1555
|
-
$47936294be4c1914$var$transportStatTypes.forEach((type)=>{
|
|
1556
|
-
if (this.enabledMonitors[type]) this.startMonitoring(type);
|
|
1557
|
-
});
|
|
1558
|
-
}
|
|
1559
|
-
disableAllMonitorings() {
|
|
1560
|
-
$47936294be4c1914$var$transportStatTypes.forEach((type)=>{
|
|
1561
|
-
this.enabledMonitors[type] = false;
|
|
1562
|
-
});
|
|
1563
|
-
this.stopAllMonitorings();
|
|
1564
|
-
}
|
|
1565
1547
|
stopMonitoring(type) {
|
|
1566
|
-
if (
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1548
|
+
for (const t of type)if (this.activeMonitors[t]) {
|
|
1549
|
+
this.activeMonitors[t] = false;
|
|
1550
|
+
this.activeMonitorsCount--;
|
|
1551
|
+
if (this.activeMonitorsCount === 0) this.stopGetStats();
|
|
1552
|
+
}
|
|
1571
1553
|
}
|
|
1572
1554
|
stopAllMonitorings() {
|
|
1573
1555
|
this.stopGetStats();
|
|
1574
1556
|
$47936294be4c1914$var$transportStatTypes.forEach((type)=>{
|
|
1575
|
-
|
|
1576
|
-
delete this.monitoringIntervals[type];
|
|
1577
|
-
});
|
|
1578
|
-
this.activeMonitors = 0;
|
|
1579
|
-
}
|
|
1580
|
-
async startMonitoring(type) {
|
|
1581
|
-
if (this.monitoringIntervals[type]) return true;
|
|
1582
|
-
const stats = await this.transport.getStats();
|
|
1583
|
-
let canMonitor = false;
|
|
1584
|
-
stats.forEach((stat)=>{
|
|
1585
|
-
switch(stat.type){
|
|
1586
|
-
case 'media-source':
|
|
1587
|
-
if (type === stat.kind) canMonitor = true;
|
|
1588
|
-
break;
|
|
1589
|
-
case 'candidate-pair':
|
|
1590
|
-
if (type === 'ice-network') canMonitor = true;
|
|
1591
|
-
break;
|
|
1592
|
-
case 'outbound-rtp':
|
|
1593
|
-
if (type === 'outbound-rtp') canMonitor = true;
|
|
1594
|
-
break;
|
|
1595
|
-
}
|
|
1557
|
+
this.activeMonitors[type] = false;
|
|
1596
1558
|
});
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
this.activeMonitors
|
|
1602
|
-
this.
|
|
1603
|
-
|
|
1604
|
-
}, $47936294be4c1914$var$MONITOR_INTERVAL_DURATION_MS);
|
|
1559
|
+
this.activeMonitorsCount = 0;
|
|
1560
|
+
}
|
|
1561
|
+
async startMonitoring(types) {
|
|
1562
|
+
for (const t of types)if (!this.activeMonitors[t]) {
|
|
1563
|
+
this.activeMonitors[t] = true;
|
|
1564
|
+
if (this.activeMonitorsCount === 0 || !this.statsInterval) this.startGetStats();
|
|
1565
|
+
this.activeMonitorsCount++;
|
|
1605
1566
|
}
|
|
1606
|
-
return canMonitor;
|
|
1607
1567
|
}
|
|
1608
1568
|
async monitorAudio() {
|
|
1609
1569
|
if (!this.rtcStatsReports) return;
|
|
@@ -1631,34 +1591,38 @@ class $47936294be4c1914$export$2e2bcd8739ae039 {
|
|
|
1631
1591
|
}
|
|
1632
1592
|
async monitorIceNetwork() {
|
|
1633
1593
|
if (!this.rtcStatsReports) return;
|
|
1594
|
+
let monitorCancelled = false;
|
|
1634
1595
|
let succeeded = 0;
|
|
1635
1596
|
this.rtcStatsReports.forEach((stat)=>{
|
|
1636
1597
|
if (stat.type === 'candidate-pair' && stat.state === 'succeeded') {
|
|
1637
1598
|
if (succeeded === 0) {
|
|
1599
|
+
if (stat.currentRoundTripTime === undefined) {
|
|
1600
|
+
$47936294be4c1914$var$log.error('monitorIceNetwork', `No RTT found in the stats report for transport ${this.transport.id}.\nStoppping monitoring. If you're running on Firefox, this is a known issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1542938.`);
|
|
1601
|
+
this.stopMonitoring([
|
|
1602
|
+
'ice-network'
|
|
1603
|
+
]);
|
|
1604
|
+
monitorCancelled = true;
|
|
1605
|
+
return;
|
|
1606
|
+
}
|
|
1638
1607
|
if ($47936294be4c1914$var$debugLevel['ice-network'] >= 2) console.log(`Network stats for transport (description: ${this.description}):
|
|
1639
1608
|
- RTT (ms): ${stat.currentRoundTripTime * 1000}
|
|
1640
1609
|
- Packets sent: ${stat.packetsSent}
|
|
1641
1610
|
- Packets discarded on send: ${stat.packetsDiscardedOnSend}`);
|
|
1642
|
-
this.recentRTTs.
|
|
1643
|
-
this.recentRTTs.push(stat.currentRoundTripTime);
|
|
1611
|
+
this.recentRTTs[this.tick] = stat.currentRoundTripTime;
|
|
1644
1612
|
this.allTimeAverageRTT = stat.totalRoundTripTime * 1000 / stat.responsesReceived;
|
|
1645
1613
|
succeeded++;
|
|
1646
|
-
} else
|
|
1614
|
+
} else $47936294be4c1914$var$log.warn('monitorIceNetwork', `Multiple candidate pairs succeeded for transport: ${this.transport.id}\nIgnoring.`); // this should not happen
|
|
1647
1615
|
}
|
|
1648
1616
|
});
|
|
1649
|
-
if (succeeded === 0) {
|
|
1650
|
-
if ($47936294be4c1914$var$debugLevel['ice-network'] >= 2) console.warn('monitorIceNetwork', `No candidate-pair found (yet) for transport
|
|
1617
|
+
if (!monitorCancelled && succeeded === 0) {
|
|
1618
|
+
if ($47936294be4c1914$var$debugLevel['ice-network'] >= 2) console.warn('monitorIceNetwork', `No candidate-pair found (yet) for transport: ${this.transport.id}`);
|
|
1651
1619
|
return;
|
|
1652
1620
|
}
|
|
1653
|
-
this.
|
|
1654
|
-
if (this.rttCollects % $47936294be4c1914$var$RECENT_STATS_ARRAY_SIZE === 0) {
|
|
1655
|
-
this.checkIceNetwork();
|
|
1656
|
-
this.rttCollects = 0;
|
|
1657
|
-
}
|
|
1621
|
+
if (this.tick === 0) this.checkIceNetwork();
|
|
1658
1622
|
}
|
|
1659
1623
|
checkIceNetwork() {
|
|
1660
1624
|
const rttSum = this.recentRTTs.reduce((a, b)=>a + b, 0);
|
|
1661
|
-
const rttAverageMs = Math.round(1000 * rttSum / $47936294be4c1914$var$
|
|
1625
|
+
const rttAverageMs = Math.round(1000 * rttSum / $47936294be4c1914$var$TICK_MAX);
|
|
1662
1626
|
const isRttOk = Boolean(rttAverageMs <= $47936294be4c1914$var$RTT_MS_THRESHOLD);
|
|
1663
1627
|
if (isRttOk !== this.lastStateRttOk) {
|
|
1664
1628
|
console.warn(`Transport: ${this.transport.id}\nRTT state changed to:`, isRttOk);
|
|
@@ -1679,6 +1643,13 @@ class $47936294be4c1914$export$2e2bcd8739ae039 {
|
|
|
1679
1643
|
if (!this.rtcStatsReports) return;
|
|
1680
1644
|
this.rtcStatsReports.forEach((stat)=>{
|
|
1681
1645
|
if (stat.type === 'outbound-rtp') {
|
|
1646
|
+
if (!stat.ssrc || !stat.kind || stat.packetsSent === undefined || stat.retransmittedPacketsSent === undefined) {
|
|
1647
|
+
$47936294be4c1914$var$log.error('monitorOutboundRtp', `Missing data in the stats report for transport ${this.transport.id}.\nStoppping monitoring.`);
|
|
1648
|
+
this.stopMonitoring([
|
|
1649
|
+
'outbound-rtp'
|
|
1650
|
+
]);
|
|
1651
|
+
return;
|
|
1652
|
+
}
|
|
1682
1653
|
if ($47936294be4c1914$var$debugLevel['outbound-rtp'] >= 2) console.log(`Outbound RTP stats for transport (description: ${this.description}):
|
|
1683
1654
|
- ssrc: ${stat.ssrc}
|
|
1684
1655
|
- kind: ${stat.kind}
|
|
@@ -1691,30 +1662,25 @@ class $47936294be4c1914$export$2e2bcd8739ae039 {
|
|
|
1691
1662
|
ssrc: stat.ssrc,
|
|
1692
1663
|
kind: stat.kind,
|
|
1693
1664
|
averagesRtxPercent: [],
|
|
1694
|
-
recentPacketsSent: new Array($47936294be4c1914$var$
|
|
1695
|
-
recentPacketsRtx: new Array($47936294be4c1914$var$
|
|
1665
|
+
recentPacketsSent: new Array($47936294be4c1914$var$TICK_MAX).fill(0),
|
|
1666
|
+
recentPacketsRtx: new Array($47936294be4c1914$var$TICK_MAX).fill(0),
|
|
1696
1667
|
lastStateRtxOK: true
|
|
1697
1668
|
};
|
|
1698
1669
|
const mss = this.mediaSourceStats[stat.ssrc];
|
|
1699
|
-
mss.recentPacketsSent.
|
|
1700
|
-
mss.recentPacketsRtx.
|
|
1701
|
-
mss.recentPacketsSent.push(stat.packetsSent);
|
|
1702
|
-
mss.recentPacketsRtx.push(stat.retransmittedPacketsSent);
|
|
1670
|
+
mss.recentPacketsSent[this.tick] = stat.packetsSent;
|
|
1671
|
+
mss.recentPacketsRtx[this.tick] = stat.retransmittedPacketsSent;
|
|
1703
1672
|
}
|
|
1704
1673
|
});
|
|
1705
|
-
this.
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
this.checkOutboundRtp(mss);
|
|
1709
|
-
});
|
|
1710
|
-
this.outboundRtpCollects = 0;
|
|
1711
|
-
}
|
|
1674
|
+
if (this.tick === 0) Object.values(this.mediaSourceStats).forEach((mss)=>{
|
|
1675
|
+
this.checkOutboundRtp(mss);
|
|
1676
|
+
});
|
|
1712
1677
|
}
|
|
1713
1678
|
checkOutboundRtp(mss) {
|
|
1714
|
-
const
|
|
1715
|
-
const
|
|
1679
|
+
const oldestTick = (this.tick + 1) % $47936294be4c1914$var$TICK_MAX;
|
|
1680
|
+
const packetsSentSum = mss.recentPacketsSent[this.tick] - mss.recentPacketsSent[oldestTick];
|
|
1681
|
+
const packetsRtxSum = mss.recentPacketsRtx[this.tick] - mss.recentPacketsRtx[oldestTick];
|
|
1716
1682
|
const rtxPercent = packetsSentSum === 0 ? 0 : 100 * packetsRtxSum / packetsSentSum;
|
|
1717
|
-
const rtxPercentAllTime = 100 * mss.recentPacketsRtx[
|
|
1683
|
+
const rtxPercentAllTime = 100 * mss.recentPacketsRtx[this.tick] / mss.recentPacketsSent[this.tick];
|
|
1718
1684
|
mss.averagesRtxPercent.push(rtxPercent);
|
|
1719
1685
|
const isRtxOk = Boolean(rtxPercent <= $47936294be4c1914$var$RTX_PERCENT_THRESHOLD);
|
|
1720
1686
|
if (isRtxOk !== mss.lastStateRtxOK) {
|
|
@@ -1988,7 +1954,8 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
1988
1954
|
const urlParams = new URLSearchParams();
|
|
1989
1955
|
if (options.flowToken) urlParams.append('flowToken', options.flowToken);
|
|
1990
1956
|
if (options.languageCode) urlParams.append('languageCode', options.languageCode);
|
|
1991
|
-
|
|
1957
|
+
if (options.recorder) urlParams.append('isRecorder', 'true');
|
|
1958
|
+
const { streamer_instance: instanceId, plan: { permissions: permissions, name: name }, flow: flow, flow_v0: flow_v0, company_id: company_id, company: company, defaultPublicPage: defaultPublicPage } = await fetch(`${this.config.apiUrl}/streams/${room}/info?${urlParams}`, {
|
|
1992
1959
|
method: 'get',
|
|
1993
1960
|
headers: {
|
|
1994
1961
|
'Content-Type': 'application/json'
|
|
@@ -1997,7 +1964,6 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
1997
1964
|
if (response.ok) return response.json();
|
|
1998
1965
|
throw new Error('Invalid room ID');
|
|
1999
1966
|
});
|
|
2000
|
-
initResult.videoUpload = video_upload;
|
|
2001
1967
|
initResult.hideStreamInvite = company.hide_stream_invite;
|
|
2002
1968
|
if (flow_v0) initResult.flowV0 = flow_v0;
|
|
2003
1969
|
if (flow && flow.steps.length > 0) {
|
|
@@ -2267,7 +2233,7 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
2267
2233
|
const transport = this.mediasoupTransport[key];
|
|
2268
2234
|
if (transport) {
|
|
2269
2235
|
transport.transport?.close();
|
|
2270
|
-
transport.transportMonitor?.
|
|
2236
|
+
transport.transportMonitor?.stopAllMonitorings(); // FIX: somehow, the 'closed' event is not triggered, manually shutting down the monitor.
|
|
2271
2237
|
clearTimeout(transport.disconnectTimeout);
|
|
2272
2238
|
delete this.mediasoupTransport[key];
|
|
2273
2239
|
}
|
|
@@ -2289,10 +2255,10 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
2289
2255
|
if (transport.transport) {
|
|
2290
2256
|
this.listenWebRTCTransportStates(transport);
|
|
2291
2257
|
transport.transportMonitor = new (0, $47936294be4c1914$export$2e2bcd8739ae039)(transport.transport, this, transportKey);
|
|
2292
|
-
if (direction === 'send')
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2258
|
+
if (direction === 'send') transport.transportMonitor?.startMonitoring([
|
|
2259
|
+
'ice-network',
|
|
2260
|
+
'outbound-rtp'
|
|
2261
|
+
]);
|
|
2296
2262
|
}
|
|
2297
2263
|
} catch (err) {
|
|
2298
2264
|
this.onCriticalError($c31e3fb4360572af$export$103bedf43ba882db.CREATE_TRANSPORT_FAILED);
|
|
@@ -2934,6 +2900,29 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
2934
2900
|
min: capabilities?.zoom?.min || 0,
|
|
2935
2901
|
max: capabilities?.zoom?.max || 0
|
|
2936
2902
|
};
|
|
2903
|
+
if (this.webcamZoom.available) try {
|
|
2904
|
+
await track.applyConstraints({
|
|
2905
|
+
advanced: [
|
|
2906
|
+
{
|
|
2907
|
+
zoom: this.webcamZoom.min
|
|
2908
|
+
}
|
|
2909
|
+
]
|
|
2910
|
+
});
|
|
2911
|
+
} catch (error) {
|
|
2912
|
+
console.error('Failed to set default zoom', error);
|
|
2913
|
+
}
|
|
2914
|
+
if (capabilities.focusMode) // https://github.com/w3c/mediacapture-image/blob/main/implementation-status.md
|
|
2915
|
+
try {
|
|
2916
|
+
await track.applyConstraints({
|
|
2917
|
+
advanced: [
|
|
2918
|
+
{
|
|
2919
|
+
focusMode: 'continuous'
|
|
2920
|
+
}
|
|
2921
|
+
]
|
|
2922
|
+
});
|
|
2923
|
+
} catch (error) {
|
|
2924
|
+
console.error('Failed to set focus mode', error);
|
|
2925
|
+
}
|
|
2937
2926
|
const event = new $c31e3fb4360572af$var$SnapcallEvent('localVideoChange', {
|
|
2938
2927
|
detail: {
|
|
2939
2928
|
camera: this.getCurrentWebcam()
|
|
@@ -2995,10 +2984,12 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
2995
2984
|
await this.updateWebcams();
|
|
2996
2985
|
const track = stream.getVideoTracks()[0];
|
|
2997
2986
|
track.enabled = true;
|
|
2998
|
-
track.applyConstraints({
|
|
2987
|
+
await track.applyConstraints({
|
|
2999
2988
|
frameRate: config?.frameRate,
|
|
3000
2989
|
...optionalParam,
|
|
3001
2990
|
...usedResolution
|
|
2991
|
+
}).catch((error)=>{
|
|
2992
|
+
$c31e3fb4360572af$var$log.error('enableVideo', 'applyConstraints failed', error);
|
|
3002
2993
|
});
|
|
3003
2994
|
this.tracksHandler.video.track.enabled = true;
|
|
3004
2995
|
this.webcamTrack = track;
|
|
@@ -3008,6 +2999,17 @@ class $c31e3fb4360572af$export$2e2bcd8739ae039 extends $c31e3fb4360572af$var$Str
|
|
|
3008
2999
|
min: capabilities?.zoom?.min || 0,
|
|
3009
3000
|
max: capabilities?.zoom?.max || 0
|
|
3010
3001
|
};
|
|
3002
|
+
if (this.webcamZoom.available) try {
|
|
3003
|
+
await track.applyConstraints({
|
|
3004
|
+
advanced: [
|
|
3005
|
+
{
|
|
3006
|
+
zoom: this.webcamZoom.min
|
|
3007
|
+
}
|
|
3008
|
+
]
|
|
3009
|
+
});
|
|
3010
|
+
} catch (error) {
|
|
3011
|
+
console.error('Failed to set default zoom', error);
|
|
3012
|
+
}
|
|
3011
3013
|
if (capabilities.focusMode) // https://github.com/w3c/mediacapture-image/blob/main/implementation-status.md
|
|
3012
3014
|
try {
|
|
3013
3015
|
await track.applyConstraints({
|
|
@@ -8498,182 +8500,14 @@ var $69a9c49ece80e773$export$2e2bcd8739ae039 = $69a9c49ece80e773$var$ControlBar;
|
|
|
8498
8500
|
|
|
8499
8501
|
|
|
8500
8502
|
|
|
8501
|
-
const $93a0377c243d965e$var$ThemedPath = (0, $3Sbms$styledcomponents).path`
|
|
8502
|
-
fill: ${({ theme: theme })=>theme.primaryColor};
|
|
8503
|
-
`;
|
|
8504
|
-
const $93a0377c243d965e$export$c4868e4a24d48fad = /*#__PURE__*/ (0, $3Sbms$jsx)("svg", {
|
|
8505
|
-
width: "14",
|
|
8506
|
-
height: "14",
|
|
8507
|
-
viewBox: "0 0 14 14",
|
|
8508
|
-
fill: "none",
|
|
8509
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
8510
|
-
children: /*#__PURE__*/ (0, $3Sbms$jsx)("path", {
|
|
8511
|
-
d: "M7 6.333A.667.667 0 0 0 6.333 7v2.667a.667.667 0 1 0 1.334 0V7A.667.667 0 0 0 7 6.333Zm.253-2.613a.667.667 0 0 0-.506 0 .667.667 0 0 0-.22.14.767.767 0 0 0-.14.22.667.667 0 0 0 .14.727c.064.059.139.106.22.14a.667.667 0 0 0 .92-.614.7.7 0 0 0-.194-.473.667.667 0 0 0-.22-.14ZM7 .333a6.667 6.667 0 1 0 0 13.334A6.667 6.667 0 0 0 7 .333Zm0 12A5.334 5.334 0 1 1 7 1.666a5.334 5.334 0 0 1 0 10.667Z",
|
|
8512
|
-
fill: "#fff"
|
|
8513
|
-
})
|
|
8514
|
-
});
|
|
8515
|
-
const $93a0377c243d965e$export$edf27be85e5f6da0 = /*#__PURE__*/ (0, $3Sbms$jsxs)("svg", {
|
|
8516
|
-
width: "24",
|
|
8517
|
-
height: "24",
|
|
8518
|
-
viewBox: "0 0 24 24",
|
|
8519
|
-
fill: "none",
|
|
8520
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
8521
|
-
children: [
|
|
8522
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)($93a0377c243d965e$var$ThemedPath, {
|
|
8523
|
-
d: "M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z"
|
|
8524
|
-
}),
|
|
8525
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)("path", {
|
|
8526
|
-
d: "M12 17a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM12 13a1 1 0 0 1-1-1V8a1 1 0 0 1 2 0v4a1 1 0 0 1-1 1Z",
|
|
8527
|
-
fill: "#fff"
|
|
8528
|
-
})
|
|
8529
|
-
]
|
|
8530
|
-
});
|
|
8531
|
-
const $93a0377c243d965e$export$c7df1b15b59b1df2 = /*#__PURE__*/ (0, $3Sbms$jsxs)("svg", {
|
|
8532
|
-
width: "24",
|
|
8533
|
-
height: "24",
|
|
8534
|
-
viewBox: "0 0 24 24",
|
|
8535
|
-
fill: "none",
|
|
8536
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
8537
|
-
children: [
|
|
8538
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)($93a0377c243d965e$var$ThemedPath, {
|
|
8539
|
-
d: "M20.058 22H3.943a3.023 3.023 0 0 1-2.617-4.534L9.383 3.511a3.023 3.023 0 0 1 5.235 0l8.057 13.955A3.023 3.023 0 0 1 20.058 22Z"
|
|
8540
|
-
}),
|
|
8541
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)("path", {
|
|
8542
|
-
d: "M12 18a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM12 14a1 1 0 0 1-1-1V9a1 1 0 0 1 2 0v4a1 1 0 0 1-1 1Z",
|
|
8543
|
-
fill: "#fff"
|
|
8544
|
-
})
|
|
8545
|
-
]
|
|
8546
|
-
});
|
|
8547
|
-
|
|
8548
|
-
|
|
8549
|
-
|
|
8550
|
-
|
|
8551
|
-
|
|
8552
|
-
|
|
8553
|
-
|
|
8554
|
-
|
|
8555
|
-
|
|
8556
|
-
const $8d3d0e80c56cde5c$export$9d03e7b857083c37 = (0, $3Sbms$styledcomponents).div`
|
|
8557
|
-
position: absolute;
|
|
8558
|
-
width: 100%;
|
|
8559
|
-
bottom: ${(props)=>props.open ? 0 : '-500px'};
|
|
8560
|
-
transition: all 0.4s;
|
|
8561
|
-
|
|
8562
|
-
${(props)=>{
|
|
8563
|
-
if (props.desktop) return (0, $3Sbms$css)`
|
|
8564
|
-
bottom: ${props.open ? 0 : 'calc(-500px - (100vh / 2))'};
|
|
8565
|
-
height: 100%;
|
|
8566
|
-
display: flex;
|
|
8567
|
-
justify-content: center;
|
|
8568
|
-
align-items: center;
|
|
8569
|
-
`;
|
|
8570
|
-
}}
|
|
8571
|
-
`;
|
|
8572
|
-
const $8d3d0e80c56cde5c$export$6bc4d6c63b7f8b75 = (0, $3Sbms$styledcomponents).div`
|
|
8573
|
-
display: flex;
|
|
8574
|
-
flex-direction: column;
|
|
8575
|
-
height: 500px;
|
|
8576
|
-
max-height: 100vh;
|
|
8577
|
-
background-color: ${(props)=>!props.open ? 'transparent' : props.theme.popupBackgroundPrimaryColor};
|
|
8578
|
-
color: ${(props)=>props.theme.popupTitleColor};
|
|
8579
|
-
border-radius: ${(props)=>props.desktop ? '20px' : '20px 20px 0 0'};
|
|
8580
|
-
padding-bottom: ${({ desktop: desktop })=>desktop ? 0 : '12px'};
|
|
8581
|
-
`;
|
|
8582
|
-
const $8d3d0e80c56cde5c$export$f8e80e2c9abbb7eb = (0, $3Sbms$styledcomponents).div`
|
|
8583
|
-
display: flex;
|
|
8584
|
-
justify-content: space-between;
|
|
8585
|
-
align-items: center;
|
|
8586
|
-
padding: 12px 14px;
|
|
8587
|
-
|
|
8588
|
-
h4 {
|
|
8589
|
-
margin: 0;
|
|
8590
|
-
font-weight: 600;
|
|
8591
|
-
}
|
|
8592
|
-
`;
|
|
8593
|
-
const $8d3d0e80c56cde5c$export$2bd9c7c3b36c82cd = (0, $3Sbms$styledcomponents).div`
|
|
8594
|
-
display: flex;
|
|
8595
|
-
align-items: center;
|
|
8596
|
-
|
|
8597
|
-
h4 {
|
|
8598
|
-
margin: 0 0 0 8px;
|
|
8599
|
-
font-weight: 600;
|
|
8600
|
-
line-height: 19px;
|
|
8601
|
-
}
|
|
8602
|
-
|
|
8603
|
-
svg {
|
|
8604
|
-
width: 20px;
|
|
8605
|
-
height: 20px;
|
|
8606
|
-
}
|
|
8607
|
-
`;
|
|
8608
|
-
const $8d3d0e80c56cde5c$export$b421c25a8e0ea22e = (0, $3Sbms$styledcomponents).button`
|
|
8609
|
-
display: flex;
|
|
8610
|
-
justify-content: center;
|
|
8611
|
-
align-items: center;
|
|
8612
|
-
border: none;
|
|
8613
|
-
background-color: ${(props)=>props.theme.popupBackgroundSecondaryColor};
|
|
8614
|
-
border-radius: 50%;
|
|
8615
|
-
height: 30px;
|
|
8616
|
-
width: 30px;
|
|
8617
|
-
padding: 0;
|
|
8618
|
-
|
|
8619
|
-
svg {
|
|
8620
|
-
height: 15px;
|
|
8621
|
-
width: 15px;
|
|
8622
|
-
|
|
8623
|
-
path {
|
|
8624
|
-
fill: #000;
|
|
8625
|
-
}
|
|
8626
|
-
}
|
|
8627
|
-
`;
|
|
8628
|
-
const $8d3d0e80c56cde5c$export$dc1a3f6996a97083 = (0, $3Sbms$styledcomponents).div`
|
|
8629
|
-
display: flex;
|
|
8630
|
-
justify-content: center;
|
|
8631
|
-
align-items: center;
|
|
8632
|
-
flex: 1;
|
|
8633
|
-
height: 0;
|
|
8634
|
-
|
|
8635
|
-
canvas {
|
|
8636
|
-
border-radius: 10px;
|
|
8637
|
-
height: 100% !important;
|
|
8638
|
-
width: auto !important;
|
|
8639
|
-
}
|
|
8640
|
-
`;
|
|
8641
|
-
const $8d3d0e80c56cde5c$export$51760c3b0f5567d2 = (0, $3Sbms$styledcomponents).p`
|
|
8642
|
-
display: flex;
|
|
8643
|
-
justify-content: center;
|
|
8644
|
-
text-align: center;
|
|
8645
|
-
margin: 0px 16% 20px;
|
|
8646
|
-
font-size: 14px;
|
|
8647
|
-
`;
|
|
8648
|
-
const $8d3d0e80c56cde5c$export$6a789d1ce3bcb863 = (0, $3Sbms$styledcomponents).button`
|
|
8649
|
-
font-size: 100%;
|
|
8650
|
-
font-family: inherit;
|
|
8651
|
-
font-weight: 700;
|
|
8652
|
-
background-color: inherit;
|
|
8653
|
-
border: 0;
|
|
8654
|
-
padding: 0;
|
|
8655
|
-
margin: 20px 0;
|
|
8656
|
-
display: flex;
|
|
8657
|
-
flex-direction: row;
|
|
8658
|
-
gap: 5px;
|
|
8659
|
-
align-items: center;
|
|
8660
|
-
justify-content: center;
|
|
8661
|
-
color: ${({ theme: theme })=>theme.popupTitleColor};
|
|
8662
|
-
`;
|
|
8663
|
-
const $8d3d0e80c56cde5c$export$c58a46cd2027881e = (0, $3Sbms$styledcomponents).div`
|
|
8664
|
-
position: absolute;
|
|
8665
|
-
width: 70px;
|
|
8666
|
-
height: 70px;
|
|
8667
|
-
`;
|
|
8668
|
-
|
|
8669
|
-
|
|
8670
8503
|
|
|
8671
|
-
const $16d11fc0880587fd$var$QuickConnectLogo = ()=>/*#__PURE__*/ (0, $3Sbms$jsxs)("svg", {
|
|
8504
|
+
const $16d11fc0880587fd$var$QuickConnectLogo = (props)=>/*#__PURE__*/ (0, $3Sbms$jsxs)("svg", {
|
|
8672
8505
|
width: "71",
|
|
8673
8506
|
height: "70",
|
|
8674
8507
|
viewBox: "0 0 71 70",
|
|
8675
8508
|
fill: "none",
|
|
8676
8509
|
xmlns: "http://www.w3.org/2000/svg",
|
|
8510
|
+
...props,
|
|
8677
8511
|
children: [
|
|
8678
8512
|
/*#__PURE__*/ (0, $3Sbms$jsx)("path", {
|
|
8679
8513
|
d: "M2 35c0-7.171.386-12.832 1.38-17.303.99-4.454 2.562-7.635 4.872-9.945 2.31-2.31 5.491-3.882 9.945-4.872C22.668 1.886 28.33 1.5 35.5 1.5c7.171 0 12.832.386 17.303 1.38 4.454.99 7.635 2.562 9.945 4.872 2.31 2.31 3.882 5.491 4.872 9.945C68.614 22.168 69 27.83 69 35c0 7.171-.386 12.832-1.38 17.303-.99 4.454-2.562 7.635-4.872 9.945-2.31 2.31-5.491 3.882-9.945 4.872-4.471.994-10.132 1.38-17.303 1.38-7.171 0-12.832-.386-17.303-1.38-4.454-.99-7.635-2.562-9.945-4.872-2.31-2.31-3.882-5.491-4.872-9.945C2.386 47.832 2 42.17 2 35Z",
|
|
@@ -8690,140 +8524,93 @@ const $16d11fc0880587fd$var$QuickConnectLogo = ()=>/*#__PURE__*/ (0, $3Sbms$jsxs
|
|
|
8690
8524
|
var $16d11fc0880587fd$export$2e2bcd8739ae039 = $16d11fc0880587fd$var$QuickConnectLogo;
|
|
8691
8525
|
|
|
8692
8526
|
|
|
8527
|
+
|
|
8693
8528
|
const $5b80b81d7b095f89$var$QuickConnect = ()=>{
|
|
8694
|
-
const { t: t
|
|
8695
|
-
const
|
|
8529
|
+
const { t: t } = (0, $3Sbms$useTranslation)();
|
|
8530
|
+
const { toast: toast } = (0, $3Sbms$useToast)();
|
|
8696
8531
|
const QuickConnectContainerRef = (0, $3Sbms$useRef)(null);
|
|
8697
|
-
const
|
|
8698
|
-
const { selfPeerId: selfPeerId, profile: profile, isQuickConnectPopupVisible: isQuickConnectPopupVisible, setIsQuickConnectPopupVisible: setIsQuickConnectPopupVisible, options: options, orientation: orientation } = (0, $3Sbms$useContext)((0, $5f30d8bf4f04621e$export$2e2bcd8739ae039));
|
|
8532
|
+
const { isQuickConnectPopupVisible: isQuickConnectPopupVisible, setIsQuickConnectPopupVisible: setIsQuickConnectPopupVisible, options: options } = (0, $3Sbms$useContext)((0, $5f30d8bf4f04621e$export$2e2bcd8739ae039));
|
|
8699
8533
|
(0, $e1413aacdaa5a03e$export$71b2224f1ce5e08e)(QuickConnectContainerRef, ()=>{
|
|
8700
8534
|
if (isQuickConnectPopupVisible) setIsQuickConnectPopupVisible(false);
|
|
8701
8535
|
});
|
|
8702
|
-
const desktop = orientation === 'landscape';
|
|
8703
8536
|
const qrCodeURL = (0, $3Sbms$useMemo)(()=>{
|
|
8704
8537
|
let url = new URL(window.location.href);
|
|
8705
|
-
if (
|
|
8706
|
-
|
|
8707
|
-
|
|
8708
|
-
|
|
8709
|
-
console.warn(`Shared URL is invalid (${options.sharedURL})`);
|
|
8710
|
-
}
|
|
8711
|
-
url.searchParams.set('microphone-enabled', '0');
|
|
8712
|
-
url.searchParams.set('camera-enabled', '1');
|
|
8713
|
-
url.searchParams.set('quick-connect', selfPeerId);
|
|
8714
|
-
url.searchParams.set('language', i18n.language);
|
|
8715
|
-
if (profile.name) url.searchParams.set('name', profile.name);
|
|
8538
|
+
if (options.sharedURL) try {
|
|
8539
|
+
url = new URL(options.sharedURL);
|
|
8540
|
+
} catch (urlError) {
|
|
8541
|
+
console.warn(`Shared URL is invalid (${options.sharedURL})`);
|
|
8716
8542
|
}
|
|
8717
8543
|
return url.href;
|
|
8718
8544
|
}, [
|
|
8719
|
-
options.sharedURL
|
|
8720
|
-
selfPeerId,
|
|
8721
|
-
profile.name,
|
|
8722
|
-
i18n.language
|
|
8545
|
+
options.sharedURL
|
|
8723
8546
|
]);
|
|
8724
|
-
const onCopyCallLinkClick =
|
|
8547
|
+
const onCopyCallLinkClick = async ()=>{
|
|
8725
8548
|
try {
|
|
8726
8549
|
await (0, $57162bcada7d6f66$export$2e2bcd8739ae039)(qrCodeURL || window.location.href);
|
|
8727
|
-
(
|
|
8728
|
-
|
|
8550
|
+
toast({
|
|
8551
|
+
title: t('copyLink.copied')
|
|
8729
8552
|
});
|
|
8730
8553
|
} catch (copyError) {
|
|
8731
8554
|
console.warn(copyError);
|
|
8732
|
-
(
|
|
8733
|
-
|
|
8555
|
+
toast({
|
|
8556
|
+
title: t('copyLink.error'),
|
|
8557
|
+
variant: 'destructive'
|
|
8734
8558
|
});
|
|
8735
8559
|
}
|
|
8736
|
-
}
|
|
8737
|
-
|
|
8738
|
-
qrCodeURL
|
|
8739
|
-
]);
|
|
8740
|
-
const onQuickConnectPopupCloseClick = ()=>setIsQuickConnectPopupVisible(false);
|
|
8741
|
-
(0, $3Sbms$useEffect)(()=>{
|
|
8742
|
-
const onCustomMessage = (event)=>{
|
|
8743
|
-
const { type: type } = event.detail.event;
|
|
8744
|
-
if (type === 'quick_connect_close') setIsQuickConnectPopupVisible(false);
|
|
8745
|
-
};
|
|
8746
|
-
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).addEventListener('customMessage', onCustomMessage);
|
|
8747
|
-
return ()=>{
|
|
8748
|
-
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).removeEventListener('customMessage', onCustomMessage);
|
|
8749
|
-
};
|
|
8750
|
-
}, [
|
|
8751
|
-
setIsQuickConnectPopupVisible
|
|
8752
|
-
]);
|
|
8753
|
-
(0, $3Sbms$useEffect)(()=>{
|
|
8754
|
-
$3Sbms$toCanvas(QuickConnectRef.current, qrCodeURL, {
|
|
8755
|
-
errorCorrectionLevel: 'M'
|
|
8756
|
-
});
|
|
8757
|
-
}, [
|
|
8758
|
-
qrCodeURL
|
|
8759
|
-
]);
|
|
8760
|
-
(0, $3Sbms$useEffect)(()=>{
|
|
8761
|
-
if (selfPeerId) {
|
|
8762
|
-
const urlParams = new URLSearchParams(window.location.href);
|
|
8763
|
-
const quickConnectParam = urlParams.get('quick-connect');
|
|
8764
|
-
const quickConnectNameParam = urlParams.get('name');
|
|
8765
|
-
if (quickConnectParam) {
|
|
8766
|
-
(0, $c9e496369b59be7a$export$2f377c2162fd02b2).sendCustomMessage(quickConnectParam, {
|
|
8767
|
-
type: 'quick_connect_close'
|
|
8768
|
-
});
|
|
8769
|
-
if (quickConnectNameParam) (0, $c9e496369b59be7a$export$2f377c2162fd02b2).setProfile({
|
|
8770
|
-
name: `${quickConnectNameParam} (mobile)`
|
|
8771
|
-
});
|
|
8772
|
-
else (0, $c9e496369b59be7a$export$2f377c2162fd02b2).setProfile({
|
|
8773
|
-
name: 'Mobile'
|
|
8774
|
-
});
|
|
8775
|
-
}
|
|
8776
|
-
}
|
|
8777
|
-
}, [
|
|
8778
|
-
selfPeerId
|
|
8779
|
-
]);
|
|
8780
|
-
return /*#__PURE__*/ (0, $3Sbms$jsx)((0, $8d3d0e80c56cde5c$export$9d03e7b857083c37), {
|
|
8560
|
+
};
|
|
8561
|
+
return /*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Dialog), {
|
|
8781
8562
|
open: isQuickConnectPopupVisible,
|
|
8782
|
-
|
|
8783
|
-
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $
|
|
8784
|
-
ref: QuickConnectContainerRef,
|
|
8785
|
-
desktop: desktop,
|
|
8786
|
-
open: isQuickConnectPopupVisible,
|
|
8563
|
+
onOpenChange: setIsQuickConnectPopupVisible,
|
|
8564
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$DialogContent), {
|
|
8787
8565
|
children: [
|
|
8788
|
-
/*#__PURE__*/ (0, $3Sbms$jsxs)((0, $
|
|
8566
|
+
/*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$DialogHeader), {
|
|
8789
8567
|
children: [
|
|
8790
|
-
/*#__PURE__*/ (0, $3Sbms$jsxs)((0, $
|
|
8568
|
+
/*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$DialogTitle), {
|
|
8569
|
+
className: "flex gap-2 items-center",
|
|
8791
8570
|
children: [
|
|
8792
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $
|
|
8793
|
-
|
|
8571
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$QrCode1Icon), {
|
|
8572
|
+
size: 18,
|
|
8573
|
+
className: "text-blue-700",
|
|
8574
|
+
duotone: true
|
|
8794
8575
|
}),
|
|
8795
|
-
|
|
8796
|
-
children: t('quickConnect.scanTitle')
|
|
8797
|
-
})
|
|
8576
|
+
t('quickConnect.scanTitle')
|
|
8798
8577
|
]
|
|
8799
8578
|
}),
|
|
8800
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $
|
|
8801
|
-
|
|
8802
|
-
children:
|
|
8579
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$DialogDescription), {
|
|
8580
|
+
className: "pt-2",
|
|
8581
|
+
children: t('quickConnect.scan')
|
|
8803
8582
|
})
|
|
8804
8583
|
]
|
|
8805
8584
|
}),
|
|
8806
|
-
/*#__PURE__*/ (0, $3Sbms$jsxs)(
|
|
8585
|
+
/*#__PURE__*/ (0, $3Sbms$jsxs)("div", {
|
|
8586
|
+
className: "w-full p-6 bg-gray-25 border border-gray-200 rounded-lg aspect-square relative",
|
|
8807
8587
|
children: [
|
|
8808
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $8d3d0e80c56cde5c$export$c58a46cd2027881e), {
|
|
8809
|
-
children: /*#__PURE__*/ (0, $3Sbms$jsx)((0, $16d11fc0880587fd$export$2e2bcd8739ae039), {})
|
|
8810
|
-
}),
|
|
8811
8588
|
/*#__PURE__*/ (0, $3Sbms$jsx)("canvas", {
|
|
8812
|
-
|
|
8589
|
+
className: "max-w-full max-h-full",
|
|
8590
|
+
ref: (node)=>{
|
|
8591
|
+
if (node && isQuickConnectPopupVisible) $3Sbms$toCanvas(node, qrCodeURL, {
|
|
8592
|
+
errorCorrectionLevel: 'M',
|
|
8593
|
+
scale: 15,
|
|
8594
|
+
margin: 0
|
|
8595
|
+
});
|
|
8596
|
+
}
|
|
8597
|
+
}),
|
|
8598
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $16d11fc0880587fd$export$2e2bcd8739ae039), {
|
|
8599
|
+
className: "absolute inset-0 m-auto"
|
|
8813
8600
|
})
|
|
8814
8601
|
]
|
|
8815
8602
|
}),
|
|
8816
|
-
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $
|
|
8817
|
-
children:
|
|
8818
|
-
|
|
8819
|
-
|
|
8820
|
-
|
|
8821
|
-
|
|
8822
|
-
|
|
8823
|
-
|
|
8824
|
-
|
|
8825
|
-
|
|
8826
|
-
|
|
8603
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$DialogFooter), {
|
|
8604
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $3Sbms$Button), {
|
|
8605
|
+
className: "w-full",
|
|
8606
|
+
onClick: onCopyCallLinkClick,
|
|
8607
|
+
children: [
|
|
8608
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)((0, $3Sbms$Link1Icon), {
|
|
8609
|
+
size: 18
|
|
8610
|
+
}),
|
|
8611
|
+
t('copyLink.description')
|
|
8612
|
+
]
|
|
8613
|
+
})
|
|
8827
8614
|
})
|
|
8828
8615
|
]
|
|
8829
8616
|
})
|
|
@@ -10500,8 +10287,8 @@ var $b27977531846fb9f$export$2e2bcd8739ae039 = $b27977531846fb9f$var$VideoRecord
|
|
|
10500
10287
|
|
|
10501
10288
|
|
|
10502
10289
|
const $01986a58bfba8001$var$Settings = ()=>{
|
|
10503
|
-
const {
|
|
10504
|
-
const open =
|
|
10290
|
+
const { isSettingsMenuVisible: isSettingsMenuVisible, isYoutubePopupVisible: isYoutubePopupVisible, isLinksharePopupVisible: isLinksharePopupVisible, isVirtualBackgroundPopupVisible: isVirtualBackgroundPopupVisible, isBlockedFeaturePopupOpen: isBlockedFeaturePopupOpen, isRecordingStartPopupOpen: isRecordingStartPopupOpen } = (0, $3Sbms$useContext)((0, $5f30d8bf4f04621e$export$2e2bcd8739ae039));
|
|
10291
|
+
const open = isSettingsMenuVisible || isYoutubePopupVisible || isBlockedFeaturePopupOpen || isLinksharePopupVisible || isRecordingStartPopupOpen || isVirtualBackgroundPopupVisible;
|
|
10505
10292
|
return /*#__PURE__*/ (0, $3Sbms$jsxs)((0, $e1c48a389d8ac959$export$8376625f8bb18347), {
|
|
10506
10293
|
open: open,
|
|
10507
10294
|
children: [
|
|
@@ -10770,6 +10557,55 @@ var $df41bfe6da05853a$export$2e2bcd8739ae039 = $df41bfe6da05853a$var$EndView;
|
|
|
10770
10557
|
|
|
10771
10558
|
|
|
10772
10559
|
|
|
10560
|
+
|
|
10561
|
+
const $93a0377c243d965e$var$ThemedPath = (0, $3Sbms$styledcomponents).path`
|
|
10562
|
+
fill: ${({ theme: theme })=>theme.primaryColor};
|
|
10563
|
+
`;
|
|
10564
|
+
const $93a0377c243d965e$export$c4868e4a24d48fad = /*#__PURE__*/ (0, $3Sbms$jsx)("svg", {
|
|
10565
|
+
width: "14",
|
|
10566
|
+
height: "14",
|
|
10567
|
+
viewBox: "0 0 14 14",
|
|
10568
|
+
fill: "none",
|
|
10569
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10570
|
+
children: /*#__PURE__*/ (0, $3Sbms$jsx)("path", {
|
|
10571
|
+
d: "M7 6.333A.667.667 0 0 0 6.333 7v2.667a.667.667 0 1 0 1.334 0V7A.667.667 0 0 0 7 6.333Zm.253-2.613a.667.667 0 0 0-.506 0 .667.667 0 0 0-.22.14.767.767 0 0 0-.14.22.667.667 0 0 0 .14.727c.064.059.139.106.22.14a.667.667 0 0 0 .92-.614.7.7 0 0 0-.194-.473.667.667 0 0 0-.22-.14ZM7 .333a6.667 6.667 0 1 0 0 13.334A6.667 6.667 0 0 0 7 .333Zm0 12A5.334 5.334 0 1 1 7 1.666a5.334 5.334 0 0 1 0 10.667Z",
|
|
10572
|
+
fill: "#fff"
|
|
10573
|
+
})
|
|
10574
|
+
});
|
|
10575
|
+
const $93a0377c243d965e$export$edf27be85e5f6da0 = /*#__PURE__*/ (0, $3Sbms$jsxs)("svg", {
|
|
10576
|
+
width: "24",
|
|
10577
|
+
height: "24",
|
|
10578
|
+
viewBox: "0 0 24 24",
|
|
10579
|
+
fill: "none",
|
|
10580
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10581
|
+
children: [
|
|
10582
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($93a0377c243d965e$var$ThemedPath, {
|
|
10583
|
+
d: "M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z"
|
|
10584
|
+
}),
|
|
10585
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("path", {
|
|
10586
|
+
d: "M12 17a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM12 13a1 1 0 0 1-1-1V8a1 1 0 0 1 2 0v4a1 1 0 0 1-1 1Z",
|
|
10587
|
+
fill: "#fff"
|
|
10588
|
+
})
|
|
10589
|
+
]
|
|
10590
|
+
});
|
|
10591
|
+
const $93a0377c243d965e$export$c7df1b15b59b1df2 = /*#__PURE__*/ (0, $3Sbms$jsxs)("svg", {
|
|
10592
|
+
width: "24",
|
|
10593
|
+
height: "24",
|
|
10594
|
+
viewBox: "0 0 24 24",
|
|
10595
|
+
fill: "none",
|
|
10596
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10597
|
+
children: [
|
|
10598
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)($93a0377c243d965e$var$ThemedPath, {
|
|
10599
|
+
d: "M20.058 22H3.943a3.023 3.023 0 0 1-2.617-4.534L9.383 3.511a3.023 3.023 0 0 1 5.235 0l8.057 13.955A3.023 3.023 0 0 1 20.058 22Z"
|
|
10600
|
+
}),
|
|
10601
|
+
/*#__PURE__*/ (0, $3Sbms$jsx)("path", {
|
|
10602
|
+
d: "M12 18a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM12 14a1 1 0 0 1-1-1V9a1 1 0 0 1 2 0v4a1 1 0 0 1-1 1Z",
|
|
10603
|
+
fill: "#fff"
|
|
10604
|
+
})
|
|
10605
|
+
]
|
|
10606
|
+
});
|
|
10607
|
+
|
|
10608
|
+
|
|
10773
10609
|
const $3a42b2ef7646d035$var$iconsMap = {
|
|
10774
10610
|
error: (0, $93a0377c243d965e$export$edf27be85e5f6da0),
|
|
10775
10611
|
critical: (0, $93a0377c243d965e$export$c7df1b15b59b1df2)
|
|
@@ -11541,14 +11377,13 @@ const $20431dc869bb21e0$var$generateVideoThumbnail = (file)=>{
|
|
|
11541
11377
|
});
|
|
11542
11378
|
};
|
|
11543
11379
|
const $20431dc869bb21e0$export$b3fd96a52c80b3af = ()=>{
|
|
11544
|
-
const {
|
|
11380
|
+
const { clientInitResult: clientInitResult } = (0, $3Sbms$useContext)((0, $5f30d8bf4f04621e$export$2e2bcd8739ae039));
|
|
11545
11381
|
const { t: t } = (0, $3Sbms$useTranslation)();
|
|
11546
11382
|
const { videoBotState: videoBotState, addAsset: addAsset, setIncomingAsset: setIncomingAsset, isRecording: isRecording } = (0, $75812785bb101fee$export$2174f25d572f9f31)();
|
|
11547
11383
|
const reportError = (0, $946223bbb2c552ef$export$5a5695b638d078e7)();
|
|
11548
11384
|
const fileInputRef = (0, $3Sbms$useRef)(null);
|
|
11549
11385
|
const isMedium = window.matchMedia('(min-width: 768px)').matches;
|
|
11550
|
-
const
|
|
11551
|
-
const isAvailable = enabledModes.includes('photo') || enabledModes.includes('video') && clientInitResult.videoUpload;
|
|
11386
|
+
const isAvailable = Boolean(clientInitResult.flow?.steps?.[0]?.config?.upload);
|
|
11552
11387
|
const onUploadClick = async (event)=>{
|
|
11553
11388
|
const file = event.target.files?.[0];
|
|
11554
11389
|
if (file && !isRecording) {
|
|
@@ -11591,7 +11426,7 @@ const $20431dc869bb21e0$export$b3fd96a52c80b3af = ()=>{
|
|
|
11591
11426
|
/*#__PURE__*/ (0, $3Sbms$jsx)("input", {
|
|
11592
11427
|
ref: fileInputRef,
|
|
11593
11428
|
type: "file",
|
|
11594
|
-
accept:
|
|
11429
|
+
accept: "image/*,video/*,audio/*",
|
|
11595
11430
|
className: "hidden",
|
|
11596
11431
|
onChange: onUploadClick
|
|
11597
11432
|
}),
|
|
@@ -14398,8 +14233,7 @@ const $2e0820b96c3c65d5$export$d70ec5859ea7c9bc = ({ asset: asset, canRemove: ca
|
|
|
14398
14233
|
}, asset.filename),
|
|
14399
14234
|
asset.mode !== 'photo' && /*#__PURE__*/ (0, $3Sbms$jsx)((0, $64dee502cbd6331e$export$1ea93f9eface5983), {
|
|
14400
14235
|
duration: asset.duration,
|
|
14401
|
-
averageAudioLevel: asset.averageAudioLevel
|
|
14402
|
-
networkIssue: asset.networkIssue
|
|
14236
|
+
averageAudioLevel: asset.averageAudioLevel
|
|
14403
14237
|
})
|
|
14404
14238
|
]
|
|
14405
14239
|
});
|
|
@@ -15153,7 +14987,7 @@ const $8f7af36c0532a6c4$var$GreetingView = ()=>{
|
|
|
15153
14987
|
className: "w-[400px] max-lg:w-full h-[400px] max-lg:h-[250px] bg-gray-1000 rounded-lg overflow-hidden relative",
|
|
15154
14988
|
children: [
|
|
15155
14989
|
/*#__PURE__*/ (0, $3Sbms$jsx)("video", {
|
|
15156
|
-
className: "-scale-x-
|
|
14990
|
+
className: "-scale-x-100 w-full h-full object-cover",
|
|
15157
14991
|
ref: videoRef,
|
|
15158
14992
|
autoPlay: true,
|
|
15159
14993
|
playsInline: true,
|
|
@@ -16016,7 +15850,7 @@ var $26ed036cbc17809a$export$2e2bcd8739ae039 = $26ed036cbc17809a$var$StreamUI;
|
|
|
16016
15850
|
|
|
16017
15851
|
|
|
16018
15852
|
var $1e2747ca72d0ab49$exports = {};
|
|
16019
|
-
$1e2747ca72d0ab49$exports = "/*! tailwindcss v4.1.3 | MIT License | https://tailwindcss.com */\n@layer properties {\n @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {\n *, :before, :after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: rotateX(0);\n --tw-rotate-y: rotateY(0);\n --tw-rotate-z: rotateZ(0);\n --tw-skew-x: skewX(0);\n --tw-skew-y: skewY(0);\n --tw-space-y-reverse: 0;\n --tw-space-x-reverse: 0;\n --tw-divide-x-reverse: 0;\n --tw-border-style: solid;\n --tw-divide-y-reverse: 0;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-backdrop-blur: initial;\n --tw-backdrop-brightness: initial;\n --tw-backdrop-contrast: initial;\n --tw-backdrop-grayscale: initial;\n --tw-backdrop-hue-rotate: initial;\n --tw-backdrop-invert: initial;\n --tw-backdrop-opacity: initial;\n --tw-backdrop-saturate: initial;\n --tw-backdrop-sepia: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --spacing: .25rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --radius-sm: .25rem;\n --radius-md: .375rem;\n --radius-lg: .5rem;\n --radius-xl: .75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --ease-in-out: cubic-bezier(.4, 0, .2, 1);\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;\n --blur-xs: 4px;\n --blur-md: 12px;\n --blur-lg: 16px;\n --default-transition-duration: .15s;\n --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --text-xs: 12px;\n --text-xs--line-height: 16px;\n --text-xs--letter-spacing: -.02em;\n --text-sm: 14px;\n --text-sm--line-height: 20px;\n --text-sm--letter-spacing: -.02em;\n --text-md: 16px;\n --text-md--line-height: 20px;\n --text-md--letter-spacing: -.02em;\n --text-lg: 18px;\n --text-lg--line-height: 22px;\n --text-lg--letter-spacing: -.02em;\n --text-xl: 20px;\n --text-xl--line-height: 24px;\n --text-xl--letter-spacing: -.02em;\n --text-2xl: 24px;\n --text-2xl--line-height: 32px;\n --text-2xl--letter-spacing: -.02em;\n --text-3xl: 30px;\n --text-3xl--line-height: 38px;\n --text-3xl--letter-spacing: -.02em;\n --text-4xl: 36px;\n --text-4xl--line-height: 44px;\n --text-4xl--letter-spacing: -.02em;\n --text-5xl: 48px;\n --text-5xl--line-height: 60px;\n --text-5xl--letter-spacing: -.02em;\n --text-6xl: 60px;\n --text-6xl--line-height: 72px;\n --text-6xl--letter-spacing: -.02em;\n --text-7xl: 72px;\n --text-7xl--line-height: 90px;\n --text-7xl--letter-spacing: -.02em;\n --animate-accordion-down: accordion-down .2s ease-out;\n --animate-accordion-up: accordion-up .2s ease-out;\n --color-black: var(--color-black);\n --color-white: var(--color-white);\n --color-gray-25: var(--color-gray-25);\n --color-gray-50: var(--color-gray-50);\n --color-gray-100: var(--color-gray-100);\n --color-gray-200: var(--color-gray-200);\n --color-gray-300: var(--color-gray-300);\n --color-gray-400: var(--color-gray-400);\n --color-gray-500: var(--color-gray-500);\n --color-gray-600: var(--color-gray-600);\n --color-gray-700: var(--color-gray-700);\n --color-gray-800: var(--color-gray-800);\n --color-gray-900: var(--color-gray-900);\n --color-gray-1000: var(--color-gray-1000);\n --color-blue-25: var(--color-blue-25);\n --color-blue-50: var(--color-blue-50);\n --color-blue-100: var(--color-blue-100);\n --color-blue-200: var(--color-blue-200);\n --color-blue-300: var(--color-blue-300);\n --color-blue-400: var(--color-blue-400);\n --color-blue-500: var(--color-blue-500);\n --color-blue-600: var(--color-blue-600);\n --color-blue-700: var(--color-blue-700);\n --color-blue-800: var(--color-blue-800);\n --color-blue-900: var(--color-blue-900);\n --color-blue-1000: var(--color-blue-1000);\n --color-red-25: var(--color-red-25);\n --color-red-50: var(--color-red-50);\n --color-red-100: var(--color-red-100);\n --color-red-200: var(--color-red-200);\n --color-red-300: var(--color-red-300);\n --color-red-400: var(--color-red-400);\n --color-red-500: var(--color-red-500);\n --color-red-600: var(--color-red-600);\n --color-red-700: var(--color-red-700);\n --color-red-800: var(--color-red-800);\n --color-red-900: var(--color-red-900);\n --color-red-1000: var(--color-red-1000);\n --color-amber-25: var(--color-amber-25);\n --color-amber-50: var(--color-amber-50);\n --color-amber-100: var(--color-amber-100);\n --color-amber-200: var(--color-amber-200);\n --color-amber-300: var(--color-amber-300);\n --color-amber-400: var(--color-amber-400);\n --color-amber-500: var(--color-amber-500);\n --color-amber-600: var(--color-amber-600);\n --color-amber-700: var(--color-amber-700);\n --color-amber-800: var(--color-amber-800);\n --color-amber-900: var(--color-amber-900);\n --color-amber-1000: var(--color-amber-1000);\n --color-green-25: var(--color-green-25);\n --color-green-50: var(--color-green-50);\n --color-green-100: var(--color-green-100);\n --color-green-200: var(--color-green-200);\n --color-green-300: var(--color-green-300);\n --color-green-400: var(--color-green-400);\n --color-green-500: var(--color-green-500);\n --color-green-600: var(--color-green-600);\n --color-green-700: var(--color-green-700);\n --color-green-800: var(--color-green-800);\n --color-green-900: var(--color-green-900);\n --color-green-1000: var(--color-green-1000);\n --color-tomato-25: var(--color-tomato-25);\n --color-tomato-50: var(--color-tomato-50);\n --color-tomato-100: var(--color-tomato-100);\n --color-tomato-200: var(--color-tomato-200);\n --color-tomato-300: var(--color-tomato-300);\n --color-tomato-400: var(--color-tomato-400);\n --color-tomato-500: var(--color-tomato-500);\n --color-tomato-600: var(--color-tomato-600);\n --color-tomato-700: var(--color-tomato-700);\n --color-tomato-800: var(--color-tomato-800);\n --color-tomato-900: var(--color-tomato-900);\n --color-tomato-1000: var(--color-tomato-1000);\n --color-crimson-25: var(--color-crimson-25);\n --color-crimson-50: var(--color-crimson-50);\n --color-crimson-100: var(--color-crimson-100);\n --color-crimson-200: var(--color-crimson-200);\n --color-crimson-300: var(--color-crimson-300);\n --color-crimson-400: var(--color-crimson-400);\n --color-crimson-500: var(--color-crimson-500);\n --color-crimson-600: var(--color-crimson-600);\n --color-crimson-700: var(--color-crimson-700);\n --color-crimson-800: var(--color-crimson-800);\n --color-crimson-900: var(--color-crimson-900);\n --color-crimson-1000: var(--color-crimson-1000);\n --color-pink-25: var(--color-pink-25);\n --color-pink-50: var(--color-pink-50);\n --color-pink-100: var(--color-pink-100);\n --color-pink-200: var(--color-pink-200);\n --color-pink-300: var(--color-pink-300);\n --color-pink-400: var(--color-pink-400);\n --color-pink-500: var(--color-pink-500);\n --color-pink-600: var(--color-pink-600);\n --color-pink-700: var(--color-pink-700);\n --color-pink-800: var(--color-pink-800);\n --color-pink-900: var(--color-pink-900);\n --color-pink-1000: var(--color-pink-1000);\n --color-plum-25: var(--color-plum-25);\n --color-plum-50: var(--color-plum-50);\n --color-plum-100: var(--color-plum-100);\n --color-plum-200: var(--color-plum-200);\n --color-plum-300: var(--color-plum-300);\n --color-plum-400: var(--color-plum-400);\n --color-plum-500: var(--color-plum-500);\n --color-plum-600: var(--color-plum-600);\n --color-plum-700: var(--color-plum-700);\n --color-plum-800: var(--color-plum-800);\n --color-plum-900: var(--color-plum-900);\n --color-plum-1000: var(--color-plum-1000);\n --color-purple-25: var(--color-purple-25);\n --color-purple-50: var(--color-purple-50);\n --color-purple-100: var(--color-purple-100);\n --color-purple-200: var(--color-purple-200);\n --color-purple-300: var(--color-purple-300);\n --color-purple-400: var(--color-purple-400);\n --color-purple-500: var(--color-purple-500);\n --color-purple-600: var(--color-purple-600);\n --color-purple-700: var(--color-purple-700);\n --color-purple-800: var(--color-purple-800);\n --color-purple-900: var(--color-purple-900);\n --color-purple-1000: var(--color-purple-1000);\n --color-violet-25: var(--color-violet-25);\n --color-violet-50: var(--color-violet-50);\n --color-violet-100: var(--color-violet-100);\n --color-violet-200: var(--color-violet-200);\n --color-violet-300: var(--color-violet-300);\n --color-violet-400: var(--color-violet-400);\n --color-violet-500: var(--color-violet-500);\n --color-violet-600: var(--color-violet-600);\n --color-violet-700: var(--color-violet-700);\n --color-violet-800: var(--color-violet-800);\n --color-violet-900: var(--color-violet-900);\n --color-violet-1000: var(--color-violet-1000);\n --color-indigo-25: var(--color-indigo-25);\n --color-indigo-50: var(--color-indigo-50);\n --color-indigo-100: var(--color-indigo-100);\n --color-indigo-200: var(--color-indigo-200);\n --color-indigo-300: var(--color-indigo-300);\n --color-indigo-400: var(--color-indigo-400);\n --color-indigo-500: var(--color-indigo-500);\n --color-indigo-600: var(--color-indigo-600);\n --color-indigo-700: var(--color-indigo-700);\n --color-indigo-800: var(--color-indigo-800);\n --color-indigo-900: var(--color-indigo-900);\n --color-indigo-1000: var(--color-indigo-1000);\n --color-cyan-25: var(--color-cyan-25);\n --color-cyan-50: var(--color-cyan-50);\n --color-cyan-100: var(--color-cyan-100);\n --color-cyan-200: var(--color-cyan-200);\n --color-cyan-300: var(--color-cyan-300);\n --color-cyan-400: var(--color-cyan-400);\n --color-cyan-500: var(--color-cyan-500);\n --color-cyan-600: var(--color-cyan-600);\n --color-cyan-700: var(--color-cyan-700);\n --color-cyan-800: var(--color-cyan-800);\n --color-cyan-900: var(--color-cyan-900);\n --color-cyan-1000: var(--color-cyan-1000);\n --color-teal-25: var(--color-teal-25);\n --color-teal-50: var(--color-teal-50);\n --color-teal-100: var(--color-teal-100);\n --color-teal-200: var(--color-teal-200);\n --color-teal-300: var(--color-teal-300);\n --color-teal-400: var(--color-teal-400);\n --color-teal-500: var(--color-teal-500);\n --color-teal-600: var(--color-teal-600);\n --color-teal-700: var(--color-teal-700);\n --color-teal-800: var(--color-teal-800);\n --color-teal-900: var(--color-teal-900);\n --color-teal-1000: var(--color-teal-1000);\n --color-grass-25: var(--color-grass-25);\n --color-grass-50: var(--color-grass-50);\n --color-grass-100: var(--color-grass-100);\n --color-grass-200: var(--color-grass-200);\n --color-grass-300: var(--color-grass-300);\n --color-grass-400: var(--color-grass-400);\n --color-grass-500: var(--color-grass-500);\n --color-grass-600: var(--color-grass-600);\n --color-grass-700: var(--color-grass-700);\n --color-grass-800: var(--color-grass-800);\n --color-grass-900: var(--color-grass-900);\n --color-grass-1000: var(--color-grass-1000);\n --color-brown-25: var(--color-brown-25);\n --color-brown-50: var(--color-brown-50);\n --color-brown-100: var(--color-brown-100);\n --color-brown-200: var(--color-brown-200);\n --color-brown-300: var(--color-brown-300);\n --color-brown-400: var(--color-brown-400);\n --color-brown-500: var(--color-brown-500);\n --color-brown-600: var(--color-brown-600);\n --color-brown-700: var(--color-brown-700);\n --color-brown-800: var(--color-brown-800);\n --color-brown-900: var(--color-brown-900);\n --color-brown-1000: var(--color-brown-1000);\n --color-orange-25: var(--color-orange-25);\n --color-orange-50: var(--color-orange-50);\n --color-orange-100: var(--color-orange-100);\n --color-orange-200: var(--color-orange-200);\n --color-orange-300: var(--color-orange-300);\n --color-orange-400: var(--color-orange-400);\n --color-orange-500: var(--color-orange-500);\n --color-orange-600: var(--color-orange-600);\n --color-orange-700: var(--color-orange-700);\n --color-orange-800: var(--color-orange-800);\n --color-orange-900: var(--color-orange-900);\n --color-orange-1000: var(--color-orange-1000);\n --color-sky-25: var(--color-sky-25);\n --color-sky-50: var(--color-sky-50);\n --color-sky-100: var(--color-sky-100);\n --color-sky-200: var(--color-sky-200);\n --color-sky-300: var(--color-sky-300);\n --color-sky-400: var(--color-sky-400);\n --color-sky-500: var(--color-sky-500);\n --color-sky-600: var(--color-sky-600);\n --color-sky-700: var(--color-sky-700);\n --color-sky-800: var(--color-sky-800);\n --color-sky-900: var(--color-sky-900);\n --color-sky-1000: var(--color-sky-1000);\n --color-mint-25: var(--color-mint-25);\n --color-mint-50: var(--color-mint-50);\n --color-mint-100: var(--color-mint-100);\n --color-mint-200: var(--color-mint-200);\n --color-mint-300: var(--color-mint-300);\n --color-mint-400: var(--color-mint-400);\n --color-mint-500: var(--color-mint-500);\n --color-mint-600: var(--color-mint-600);\n --color-mint-700: var(--color-mint-700);\n --color-mint-800: var(--color-mint-800);\n --color-mint-900: var(--color-mint-900);\n --color-mint-1000: var(--color-mint-1000);\n --color-lime-25: var(--color-lime-25);\n --color-lime-50: var(--color-lime-50);\n --color-lime-100: var(--color-lime-100);\n --color-lime-200: var(--color-lime-200);\n --color-lime-300: var(--color-lime-300);\n --color-lime-400: var(--color-lime-400);\n --color-lime-500: var(--color-lime-500);\n --color-lime-600: var(--color-lime-600);\n --color-lime-700: var(--color-lime-700);\n --color-lime-800: var(--color-lime-800);\n --color-lime-900: var(--color-lime-900);\n --color-lime-1000: var(--color-lime-1000);\n --color-yellow-25: var(--color-yellow-25);\n --color-yellow-50: var(--color-yellow-50);\n --color-yellow-100: var(--color-yellow-100);\n --color-yellow-200: var(--color-yellow-200);\n --color-yellow-300: var(--color-yellow-300);\n --color-yellow-400: var(--color-yellow-400);\n --color-yellow-500: var(--color-yellow-500);\n --color-yellow-600: var(--color-yellow-600);\n --color-yellow-700: var(--color-yellow-700);\n --color-yellow-800: var(--color-yellow-800);\n --color-yellow-900: var(--color-yellow-900);\n --color-yellow-1000: var(--color-yellow-1000);\n --color-gold-25: var(--color-gold-25);\n --color-gold-50: var(--color-gold-50);\n --color-gold-100: var(--color-gold-100);\n --color-gold-200: var(--color-gold-200);\n --color-gold-300: var(--color-gold-300);\n --color-gold-400: var(--color-gold-400);\n --color-gold-500: var(--color-gold-500);\n --color-gold-600: var(--color-gold-600);\n --color-gold-700: var(--color-gold-700);\n --color-gold-800: var(--color-gold-800);\n --color-gold-900: var(--color-gold-900);\n --color-gold-1000: var(--color-gold-1000);\n --color-bronze-25: var(--color-bronze-25);\n --color-bronze-50: var(--color-bronze-50);\n --color-bronze-100: var(--color-bronze-100);\n --color-bronze-200: var(--color-bronze-200);\n --color-bronze-300: var(--color-bronze-300);\n --color-bronze-400: var(--color-bronze-400);\n --color-bronze-500: var(--color-bronze-500);\n --color-bronze-600: var(--color-bronze-600);\n --color-bronze-700: var(--color-bronze-700);\n --color-bronze-800: var(--color-bronze-800);\n --color-bronze-900: var(--color-bronze-900);\n --color-bronze-1000: var(--color-bronze-1000);\n --animate-flash: flash .8s forwards;\n --background-image-pattern: radial-gradient(50% 50% at 50% 50%, #006aff33 0%, #006aff00 100%), linear-gradient(180deg, transparent 0%, #fff 100%), linear-gradient(0deg, transparent 0%, #ffffffbf 100%), url(\"data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 40V41H41V40H40ZM39 0V40H41V0H39ZM40 39H0V41H40V39Z' fill='%23E8E8E8' mask='url(%23path-1-inside-1_124_242)'/%3E%3C/svg%3E\");\n }\n}\n\n@layer base {\n *, :after, :before, ::backdrop {\n box-sizing: border-box;\n border: 0 solid;\n margin: 0;\n padding: 0;\n }\n\n ::file-selector-button {\n box-sizing: border-box;\n border: 0 solid;\n margin: 0;\n padding: 0;\n }\n\n html, :host {\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n line-height: 1.5;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n\n abbr:where([title]) {\n text-decoration: underline dotted;\n }\n\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n\n b, strong {\n font-weight: bolder;\n }\n\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n\n small {\n font-size: 80%;\n }\n\n sub, sup {\n vertical-align: baseline;\n font-size: 75%;\n line-height: 0;\n position: relative;\n }\n\n sub {\n bottom: -.25em;\n }\n\n sup {\n top: -.5em;\n }\n\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n\n :-moz-focusring {\n outline: auto;\n }\n\n progress {\n vertical-align: baseline;\n }\n\n summary {\n display: list-item;\n }\n\n ol, ul, menu {\n list-style: none;\n }\n\n img, svg, video, canvas, audio, iframe, embed, object {\n vertical-align: middle;\n display: block;\n }\n\n img, video {\n max-width: 100%;\n height: auto;\n }\n\n button, input, select, optgroup, textarea {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n }\n\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n }\n\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n\n ::placeholder {\n opacity: 1;\n }\n\n @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentColor;\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n\n textarea {\n resize: vertical;\n }\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n\n ::-webkit-datetime-edit {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-year-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-month-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-day-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-hour-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-minute-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-second-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-millisecond-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n\n :-moz-ui-invalid {\n box-shadow: none;\n }\n\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]) {\n appearance: button;\n }\n\n ::file-selector-button {\n appearance: button;\n }\n\n ::-webkit-inner-spin-button {\n height: auto;\n }\n\n ::-webkit-outer-spin-button {\n height: auto;\n }\n\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n\n button:not(:disabled), [role=\"button\"]:not(:disabled) {\n cursor: pointer;\n }\n}\n\n@layer components;\n\n@layer utilities {\n .pointer-events-auto {\n pointer-events: auto;\n }\n\n .pointer-events-none {\n pointer-events: none;\n }\n\n .invisible {\n visibility: hidden;\n }\n\n .visible {\n visibility: visible;\n }\n\n .sr-only {\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n position: absolute;\n overflow: hidden;\n }\n\n .absolute {\n position: absolute;\n }\n\n .fixed {\n position: fixed;\n }\n\n .relative {\n position: relative;\n }\n\n .static {\n position: static;\n }\n\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n\n .inset-x-0 {\n inset-inline: calc(var(--spacing) * 0);\n }\n\n .inset-y-0 {\n inset-block: calc(var(--spacing) * 0);\n }\n\n .-top-12 {\n top: calc(var(--spacing) * -12);\n }\n\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n\n .top-1\\/2 {\n top: 50%;\n }\n\n .top-2 {\n top: calc(var(--spacing) * 2);\n }\n\n .top-6 {\n top: calc(var(--spacing) * 6);\n }\n\n .top-8 {\n top: calc(var(--spacing) * 8);\n }\n\n .top-\\[50\\%\\] {\n top: 50%;\n }\n\n .top-auto {\n top: auto;\n }\n\n .-right-12 {\n right: calc(var(--spacing) * -12);\n }\n\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n\n .right-1 {\n right: calc(var(--spacing) * 1);\n }\n\n .right-2 {\n right: calc(var(--spacing) * 2);\n }\n\n .right-6 {\n right: calc(var(--spacing) * 6);\n }\n\n .-bottom-12 {\n bottom: calc(var(--spacing) * -12);\n }\n\n .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n\n .bottom-2 {\n bottom: calc(var(--spacing) * 2);\n }\n\n .-left-12 {\n left: calc(var(--spacing) * -12);\n }\n\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n\n .left-1 {\n left: calc(var(--spacing) * 1);\n }\n\n .left-1\\/2 {\n left: 50%;\n }\n\n .left-2 {\n left: calc(var(--spacing) * 2);\n }\n\n .left-\\[50\\%\\] {\n left: 50%;\n }\n\n .z-20 {\n z-index: 20;\n }\n\n .z-30 {\n z-index: 30;\n }\n\n .z-35 {\n z-index: 35;\n }\n\n .z-40 {\n z-index: 40;\n }\n\n .z-50 {\n z-index: 50;\n }\n\n .z-100 {\n z-index: 100;\n }\n\n .z-150 {\n z-index: 150;\n }\n\n .container {\n width: 100%;\n }\n\n @media (width >= 40rem) {\n .container {\n max-width: 40rem;\n }\n }\n\n @media (width >= 48rem) {\n .container {\n max-width: 48rem;\n }\n }\n\n @media (width >= 64rem) {\n .container {\n max-width: 64rem;\n }\n }\n\n @media (width >= 80rem) {\n .container {\n max-width: 80rem;\n }\n }\n\n @media (width >= 96rem) {\n .container {\n max-width: 96rem;\n }\n }\n\n .-mx-1 {\n margin-inline: calc(var(--spacing) * -1);\n }\n\n .mx-1 {\n margin-inline: calc(var(--spacing) * 1);\n }\n\n .mx-auto {\n margin-inline: auto;\n }\n\n .my-1 {\n margin-block: calc(var(--spacing) * 1);\n }\n\n .-mt-4 {\n margin-top: calc(var(--spacing) * -4);\n }\n\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n\n .-mr-2 {\n margin-right: calc(var(--spacing) * -2);\n }\n\n .mr-2\\.5 {\n margin-right: calc(var(--spacing) * 2.5);\n }\n\n .mr-9 {\n margin-right: calc(var(--spacing) * 9);\n }\n\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n\n .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n\n .mb-\\[9px\\] {\n margin-bottom: 9px;\n }\n\n .-ml-4 {\n margin-left: calc(var(--spacing) * -4);\n }\n\n .ml-1 {\n margin-left: calc(var(--spacing) * 1);\n }\n\n .box-border {\n box-sizing: border-box;\n }\n\n .line-clamp-2 {\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n }\n\n .block {\n display: block;\n }\n\n .flex {\n display: flex;\n }\n\n .grid {\n display: grid;\n }\n\n .hidden {\n display: none;\n }\n\n .inline {\n display: inline;\n }\n\n .inline-block {\n display: inline-block;\n }\n\n .inline-flex {\n display: inline-flex;\n }\n\n .table {\n display: table;\n }\n\n .aspect-square {\n aspect-ratio: 1;\n }\n\n .h-1\\/3 {\n height: 33.3333%;\n }\n\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n\n .h-3 {\n height: calc(var(--spacing) * 3);\n }\n\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n\n .h-6 {\n height: calc(var(--spacing) * 6);\n }\n\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n\n .h-9 {\n height: calc(var(--spacing) * 9);\n }\n\n .h-10 {\n height: calc(var(--spacing) * 10);\n }\n\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n\n .h-14 {\n height: calc(var(--spacing) * 14);\n }\n\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n\n .h-\\[1px\\] {\n height: 1px;\n }\n\n .h-\\[8px\\] {\n height: 8px;\n }\n\n .h-\\[16px\\] {\n height: 16px;\n }\n\n .h-\\[24px\\] {\n height: 24px;\n }\n\n .h-\\[36px\\] {\n height: 36px;\n }\n\n .h-\\[45px\\] {\n height: 45px;\n }\n\n .h-\\[52px\\] {\n height: 52px;\n }\n\n .h-\\[54px\\] {\n height: 54px;\n }\n\n .h-\\[70px\\] {\n height: 70px;\n }\n\n .h-\\[72px\\] {\n height: 72px;\n }\n\n .h-\\[100px\\] {\n height: 100px;\n }\n\n .h-\\[150px\\] {\n height: 150px;\n }\n\n .h-\\[184px\\] {\n height: 184px;\n }\n\n .h-\\[200px\\] {\n height: 200px;\n }\n\n .h-\\[226px\\] {\n height: 226px;\n }\n\n .h-\\[400px\\] {\n height: 400px;\n }\n\n .h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n }\n\n .h-full {\n height: 100%;\n }\n\n .h-px {\n height: 1px;\n }\n\n .h-screen {\n height: 100vh;\n }\n\n .max-h-\\[70px\\] {\n max-height: 70px;\n }\n\n .max-h-\\[75vh\\] {\n max-height: 75vh;\n }\n\n .max-h-\\[80vh\\] {\n max-height: 80vh;\n }\n\n .max-h-\\[90\\%\\] {\n max-height: 90%;\n }\n\n .max-h-\\[90vh\\] {\n max-height: 90vh;\n }\n\n .max-h-\\[180px\\] {\n max-height: 180px;\n }\n\n .max-h-\\[300px\\] {\n max-height: 300px;\n }\n\n .max-h-full {\n max-height: 100%;\n }\n\n .max-h-screen {\n max-height: 100vh;\n }\n\n .min-h-0 {\n min-height: calc(var(--spacing) * 0);\n }\n\n .min-h-9 {\n min-height: calc(var(--spacing) * 9);\n }\n\n .min-h-\\[20px\\] {\n min-height: 20px;\n }\n\n .min-h-\\[80px\\] {\n min-height: 80px;\n }\n\n .w-1\\/3 {\n width: 33.3333%;\n }\n\n .w-2 {\n width: calc(var(--spacing) * 2);\n }\n\n .w-3 {\n width: calc(var(--spacing) * 3);\n }\n\n .w-3\\/4 {\n width: 75%;\n }\n\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n\n .w-6 {\n width: calc(var(--spacing) * 6);\n }\n\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n\n .w-10 {\n width: calc(var(--spacing) * 10);\n }\n\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n\n .w-72 {\n width: calc(var(--spacing) * 72);\n }\n\n .w-\\[1px\\] {\n width: 1px;\n }\n\n .w-\\[8px\\] {\n width: 8px;\n }\n\n .w-\\[16px\\] {\n width: 16px;\n }\n\n .w-\\[24px\\] {\n width: 24px;\n }\n\n .w-\\[36px\\] {\n width: 36px;\n }\n\n .w-\\[42px\\] {\n width: 42px;\n }\n\n .w-\\[45px\\] {\n width: 45px;\n }\n\n .w-\\[54px\\] {\n width: 54px;\n }\n\n .w-\\[70px\\] {\n width: 70px;\n }\n\n .w-\\[72px\\] {\n width: 72px;\n }\n\n .w-\\[100px\\] {\n width: 100px;\n }\n\n .w-\\[232px\\] {\n width: 232px;\n }\n\n .w-\\[240px\\] {\n width: 240px;\n }\n\n .w-\\[326px\\] {\n width: 326px;\n }\n\n .w-\\[334px\\] {\n width: 334px;\n }\n\n .w-\\[360px\\] {\n width: 360px;\n }\n\n .w-\\[400px\\] {\n width: 400px;\n }\n\n .w-auto {\n width: auto;\n }\n\n .w-fit {\n width: fit-content;\n }\n\n .w-full {\n width: 100%;\n }\n\n .w-max {\n width: max-content;\n }\n\n .max-w-\\[70px\\] {\n max-width: 70px;\n }\n\n .max-w-\\[90\\%\\] {\n max-width: 90%;\n }\n\n .max-w-\\[90vw\\] {\n max-width: 90vw;\n }\n\n .max-w-\\[315px\\] {\n max-width: 315px;\n }\n\n .max-w-\\[400px\\] {\n max-width: 400px;\n }\n\n .max-w-\\[500px\\] {\n max-width: 500px;\n }\n\n .max-w-\\[800px\\] {\n max-width: 800px;\n }\n\n .max-w-full {\n max-width: 100%;\n }\n\n .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n\n .min-w-\\[144px\\] {\n min-width: 144px;\n }\n\n .min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n }\n\n .min-w-full {\n min-width: 100%;\n }\n\n .flex-1 {\n flex: 1;\n }\n\n .shrink-0 {\n flex-shrink: 0;\n }\n\n .flex-grow, .grow {\n flex-grow: 1;\n }\n\n .grow-0 {\n flex-grow: 0;\n }\n\n .basis-full {\n flex-basis: 100%;\n }\n\n .caption-bottom {\n caption-side: bottom;\n }\n\n .border-collapse {\n border-collapse: collapse;\n }\n\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .translate-x-0\\.5 {\n --tw-translate-x: calc(var(--spacing) * .5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .translate-y-0 {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .-scale-x-1 {\n --tw-scale-x: calc(1% * -1);\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n\n .scale-x-\\[-1\\] {\n --tw-scale-x: -1;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n\n .rotate-180 {\n rotate: 180deg;\n }\n\n .transform {\n transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y);\n }\n\n .animate-flash {\n animation: var(--animate-flash);\n }\n\n .animate-pulse {\n animation: var(--animate-pulse);\n }\n\n .animate-spin {\n animation: var(--animate-spin);\n }\n\n .cursor-default {\n cursor: default;\n }\n\n .cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .cursor-pointer {\n cursor: pointer;\n }\n\n .list-outside {\n list-style-position: outside;\n }\n\n .list-disc {\n list-style-type: disc;\n }\n\n .appearance-none {\n appearance: none;\n }\n\n .grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n .grid-rows-\\[1fr_min-content\\] {\n grid-template-rows: 1fr min-content;\n }\n\n .flex-col {\n flex-direction: column;\n }\n\n .flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .flex-row {\n flex-direction: row;\n }\n\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .flex-wrap {\n flex-wrap: wrap;\n }\n\n .items-center {\n align-items: center;\n }\n\n .items-end {\n align-items: flex-end;\n }\n\n .items-start {\n align-items: flex-start;\n }\n\n .items-stretch {\n align-items: stretch;\n }\n\n .justify-between {\n justify-content: space-between;\n }\n\n .justify-center {\n justify-content: center;\n }\n\n .justify-end {\n justify-content: flex-end;\n }\n\n .justify-start {\n justify-content: flex-start;\n }\n\n .gap-0\\.5 {\n gap: calc(var(--spacing) * .5);\n }\n\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n\n .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n\n .gap-2\\.5 {\n gap: calc(var(--spacing) * 2.5);\n }\n\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n\n .gap-6 {\n gap: calc(var(--spacing) * 6);\n }\n\n .gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n\n .gap-12 {\n gap: calc(var(--spacing) * 12);\n }\n\n .gap-\\[inherit\\] {\n gap: inherit;\n }\n\n :where(.space-y-1 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));\n }\n\n :where(.space-y-1\\.5 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));\n }\n\n :where(.space-y-4 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n\n :where(.space-y-5 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));\n }\n\n :where(.space-y-6 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n\n :where(.space-x-1 > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)));\n }\n\n :where(.divide-x > :not(:last-child)) {\n --tw-divide-x-reverse: 0;\n border-inline-style: var(--tw-border-style);\n border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));\n border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));\n }\n\n :where(.divide-y > :not(:last-child)) {\n --tw-divide-y-reverse: 0;\n border-bottom-style: var(--tw-border-style);\n border-top-style: var(--tw-border-style);\n border-top-width: calc(1px * var(--tw-divide-y-reverse));\n border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n }\n\n :where(.divide-gray-200 > :not(:last-child)) {\n border-color: var(--color-gray-200);\n }\n\n .self-center {\n align-self: center;\n }\n\n .self-end {\n align-self: flex-end;\n }\n\n .self-start {\n align-self: flex-start;\n }\n\n .truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n\n .overflow-auto {\n overflow: auto;\n }\n\n .overflow-hidden {\n overflow: hidden;\n }\n\n .overflow-visible {\n overflow: visible;\n }\n\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n\n .overflow-y-auto {\n overflow-y: auto;\n }\n\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n\n .rounded-2xl {\n border-radius: var(--radius-2xl);\n }\n\n .rounded-3xl {\n border-radius: var(--radius-3xl);\n }\n\n .rounded-\\[3px\\] {\n border-radius: 3px;\n }\n\n .rounded-\\[4px\\] {\n border-radius: 4px;\n }\n\n .rounded-\\[6px\\] {\n border-radius: 6px;\n }\n\n .rounded-\\[8px\\] {\n border-radius: 8px;\n }\n\n .rounded-\\[10px\\] {\n border-radius: 10px;\n }\n\n .rounded-\\[inherit\\] {\n border-radius: inherit;\n }\n\n .rounded-full {\n border-radius: 3.40282e38px;\n }\n\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n\n .rounded-md {\n border-radius: var(--radius-md);\n }\n\n .rounded-sm {\n border-radius: var(--radius-sm);\n }\n\n .rounded-xl {\n border-radius: var(--radius-xl);\n }\n\n .rounded-t-3xl {\n border-top-left-radius: var(--radius-3xl);\n border-top-right-radius: var(--radius-3xl);\n }\n\n .rounded-b-3xl {\n border-bottom-right-radius: var(--radius-3xl);\n border-bottom-left-radius: var(--radius-3xl);\n }\n\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n\n .border-0 {\n border-style: var(--tw-border-style);\n border-width: 0;\n }\n\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n\n .border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n\n .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n\n .border-amber-700 {\n border-color: var(--color-amber-700);\n }\n\n .border-black\\/10 {\n border-color: color-mix(in srgb, var(--color-black) 10%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .border-black\\/10 {\n border-color: color-mix(in oklab, var(--color-black) 10%, transparent);\n }\n }\n\n .border-blue-700 {\n border-color: var(--color-blue-700);\n }\n\n .border-gray-100 {\n border-color: var(--color-gray-100);\n }\n\n .border-gray-200 {\n border-color: var(--color-gray-200);\n }\n\n .border-gray-400 {\n border-color: var(--color-gray-400);\n }\n\n .border-gray-600 {\n border-color: var(--color-gray-600);\n }\n\n .border-gray-1000 {\n border-color: var(--color-gray-1000);\n }\n\n .border-red-700 {\n border-color: var(--color-red-700);\n }\n\n .border-white\\/10 {\n border-color: color-mix(in srgb, var(--color-white) 10%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .border-white\\/10 {\n border-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n\n .bg-\\[\\#292929\\] {\n background-color: #292929;\n }\n\n .bg-amber-100 {\n background-color: var(--color-amber-100);\n }\n\n .bg-amber-200 {\n background-color: var(--color-amber-200);\n }\n\n .bg-amber-700 {\n background-color: var(--color-amber-700);\n }\n\n .bg-black {\n background-color: var(--color-black);\n }\n\n .bg-black\\/25 {\n background-color: color-mix(in srgb, var(--color-black) 25%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-black\\/25 {\n background-color: color-mix(in oklab, var(--color-black) 25%, transparent);\n }\n }\n\n .bg-black\\/50 {\n background-color: color-mix(in srgb, var(--color-black) 50%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-black\\/50 {\n background-color: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n }\n\n .bg-black\\/80 {\n background-color: color-mix(in srgb, var(--color-black) 80%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-black\\/80 {\n background-color: color-mix(in oklab, var(--color-black) 80%, transparent);\n }\n }\n\n .bg-blue-100 {\n background-color: var(--color-blue-100);\n }\n\n .bg-blue-300 {\n background-color: var(--color-blue-300);\n }\n\n .bg-blue-700 {\n background-color: var(--color-blue-700);\n }\n\n .bg-bronze-300 {\n background-color: var(--color-bronze-300);\n }\n\n .bg-brown-100 {\n background-color: var(--color-brown-100);\n }\n\n .bg-brown-300 {\n background-color: var(--color-brown-300);\n }\n\n .bg-brown-700 {\n background-color: var(--color-brown-700);\n }\n\n .bg-crimson-100 {\n background-color: var(--color-crimson-100);\n }\n\n .bg-crimson-300 {\n background-color: var(--color-crimson-300);\n }\n\n .bg-crimson-700 {\n background-color: var(--color-crimson-700);\n }\n\n .bg-cyan-100 {\n background-color: var(--color-cyan-100);\n }\n\n .bg-cyan-300 {\n background-color: var(--color-cyan-300);\n }\n\n .bg-cyan-700 {\n background-color: var(--color-cyan-700);\n }\n\n .bg-gold-300 {\n background-color: var(--color-gold-300);\n }\n\n .bg-grass-300 {\n background-color: var(--color-grass-300);\n }\n\n .bg-gray-25 {\n background-color: var(--color-gray-25);\n }\n\n .bg-gray-25\\/50 {\n background-color: color-mix(in srgb, var(--color-gray-25) 50%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-gray-25\\/50 {\n background-color: color-mix(in oklab, var(--color-gray-25) 50%, transparent);\n }\n }\n\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n\n .bg-gray-100 {\n background-color: var(--color-gray-100);\n }\n\n .bg-gray-100\\/50 {\n background-color: color-mix(in srgb, var(--color-gray-100) 50%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-gray-100\\/50 {\n background-color: color-mix(in oklab, var(--color-gray-100) 50%, transparent);\n }\n }\n\n .bg-gray-200 {\n background-color: var(--color-gray-200);\n }\n\n .bg-gray-300 {\n background-color: var(--color-gray-300);\n }\n\n .bg-gray-600 {\n background-color: var(--color-gray-600);\n }\n\n .bg-gray-800\\/60 {\n background-color: color-mix(in srgb, var(--color-gray-800) 60%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-gray-800\\/60 {\n background-color: color-mix(in oklab, var(--color-gray-800) 60%, transparent);\n }\n }\n\n .bg-gray-900 {\n background-color: var(--color-gray-900);\n }\n\n .bg-gray-1000 {\n background-color: var(--color-gray-1000);\n }\n\n .bg-green-100 {\n background-color: var(--color-green-100);\n }\n\n .bg-green-300 {\n background-color: var(--color-green-300);\n }\n\n .bg-green-700 {\n background-color: var(--color-green-700);\n }\n\n .bg-indigo-300 {\n background-color: var(--color-indigo-300);\n }\n\n .bg-lime-300 {\n background-color: var(--color-lime-300);\n }\n\n .bg-orange-100 {\n background-color: var(--color-orange-100);\n }\n\n .bg-orange-700 {\n background-color: var(--color-orange-700);\n }\n\n .bg-plum-300 {\n background-color: var(--color-plum-300);\n }\n\n .bg-purple-300 {\n background-color: var(--color-purple-300);\n }\n\n .bg-red-100 {\n background-color: var(--color-red-100);\n }\n\n .bg-red-300 {\n background-color: var(--color-red-300);\n }\n\n .bg-red-700 {\n background-color: var(--color-red-700);\n }\n\n .bg-red-700\\/60 {\n background-color: color-mix(in srgb, var(--color-red-700) 60%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-red-700\\/60 {\n background-color: color-mix(in oklab, var(--color-red-700) 60%, transparent);\n }\n }\n\n .bg-teal-100 {\n background-color: var(--color-teal-100);\n }\n\n .bg-teal-300 {\n background-color: var(--color-teal-300);\n }\n\n .bg-teal-700 {\n background-color: var(--color-teal-700);\n }\n\n .bg-transparent {\n background-color: #0000;\n }\n\n .bg-violet-100 {\n background-color: var(--color-violet-100);\n }\n\n .bg-violet-300 {\n background-color: var(--color-violet-300);\n }\n\n .bg-violet-700 {\n background-color: var(--color-violet-700);\n }\n\n .bg-white {\n background-color: var(--color-white);\n }\n\n .bg-white\\/60 {\n background-color: color-mix(in srgb, var(--color-white) 60%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-white\\/60 {\n background-color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n\n .bg-yellow-300 {\n background-color: var(--color-yellow-300);\n }\n\n .bg-cover {\n background-size: cover;\n }\n\n .bg-center {\n background-position: 50%;\n }\n\n .fill-white {\n fill: var(--color-white);\n }\n\n .object-contain {\n object-fit: contain;\n }\n\n .object-cover {\n object-fit: cover;\n }\n\n .p-0 {\n padding: calc(var(--spacing) * 0);\n }\n\n .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n\n .p-1\\.5 {\n padding: calc(var(--spacing) * 1.5);\n }\n\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n\n .p-2\\.5 {\n padding: calc(var(--spacing) * 2.5);\n }\n\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n\n .p-5 {\n padding: calc(var(--spacing) * 5);\n }\n\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n\n .p-8 {\n padding: calc(var(--spacing) * 8);\n }\n\n .p-\\[11px\\] {\n padding: 11px;\n }\n\n .px-1 {\n padding-inline: calc(var(--spacing) * 1);\n }\n\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n\n .px-2\\.5 {\n padding-inline: calc(var(--spacing) * 2.5);\n }\n\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n\n .px-3\\.5 {\n padding-inline: calc(var(--spacing) * 3.5);\n }\n\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n\n .px-8 {\n padding-inline: calc(var(--spacing) * 8);\n }\n\n .py-0\\.5 {\n padding-block: calc(var(--spacing) * .5);\n }\n\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n\n .py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n }\n\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n\n .py-2\\.5 {\n padding-block: calc(var(--spacing) * 2.5);\n }\n\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n\n .py-12 {\n padding-block: calc(var(--spacing) * 12);\n }\n\n .pt-1 {\n padding-top: calc(var(--spacing) * 1);\n }\n\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n\n .pt-10 {\n padding-top: calc(var(--spacing) * 10);\n }\n\n .pr-1 {\n padding-right: calc(var(--spacing) * 1);\n }\n\n .pr-2 {\n padding-right: calc(var(--spacing) * 2);\n }\n\n .pr-3\\.5 {\n padding-right: calc(var(--spacing) * 3.5);\n }\n\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n\n .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n\n .pb-\\[9px\\] {\n padding-bottom: 9px;\n }\n\n .pl-2 {\n padding-left: calc(var(--spacing) * 2);\n }\n\n .pl-3 {\n padding-left: calc(var(--spacing) * 3);\n }\n\n .pl-4 {\n padding-left: calc(var(--spacing) * 4);\n }\n\n .pl-6 {\n padding-left: calc(var(--spacing) * 6);\n }\n\n .text-center {\n text-align: center;\n }\n\n .text-left {\n text-align: left;\n }\n\n .align-middle {\n vertical-align: middle;\n }\n\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n letter-spacing: var(--tw-tracking, var(--text-2xl--letter-spacing));\n }\n\n .text-3xl {\n font-size: var(--text-3xl);\n line-height: var(--tw-leading, var(--text-3xl--line-height));\n letter-spacing: var(--tw-tracking, var(--text-3xl--letter-spacing));\n }\n\n .text-4xl {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n letter-spacing: var(--tw-tracking, var(--text-4xl--letter-spacing));\n }\n\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n letter-spacing: var(--tw-tracking, var(--text-lg--letter-spacing));\n }\n\n .text-md {\n font-size: var(--text-md);\n line-height: var(--tw-leading, var(--text-md--line-height));\n letter-spacing: var(--tw-tracking, var(--text-md--letter-spacing));\n }\n\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n letter-spacing: var(--tw-tracking, var(--text-sm--letter-spacing));\n }\n\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n letter-spacing: var(--tw-tracking, var(--text-xs--letter-spacing));\n }\n\n .text-\\[10px\\] {\n font-size: 10px;\n }\n\n .text-\\[30px\\] {\n font-size: 30px;\n }\n\n .text-\\[96px\\] {\n font-size: 96px;\n }\n\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n\n .font-normal {\n --tw-font-weight: var(--font-weight-normal);\n font-weight: var(--font-weight-normal);\n }\n\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n\n .whitespace-normal {\n white-space: normal;\n }\n\n .whitespace-nowrap {\n white-space: nowrap;\n }\n\n .whitespace-pre-line {\n white-space: pre-line;\n }\n\n .whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n\n .text-\\[\\#707070\\] {\n color: #707070;\n }\n\n .text-amber-700 {\n color: var(--color-amber-700);\n }\n\n .text-black {\n color: var(--color-black);\n }\n\n .text-blue-700 {\n color: var(--color-blue-700);\n }\n\n .text-bronze-700 {\n color: var(--color-bronze-700);\n }\n\n .text-brown-700 {\n color: var(--color-brown-700);\n }\n\n .text-crimson-700 {\n color: var(--color-crimson-700);\n }\n\n .text-current {\n color: currentColor;\n }\n\n .text-cyan-700 {\n color: var(--color-cyan-700);\n }\n\n .text-gold-700 {\n color: var(--color-gold-700);\n }\n\n .text-grass-700 {\n color: var(--color-grass-700);\n }\n\n .text-gray-200 {\n color: var(--color-gray-200);\n }\n\n .text-gray-400 {\n color: var(--color-gray-400);\n }\n\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n\n .text-gray-900 {\n color: var(--color-gray-900);\n }\n\n .text-gray-1000 {\n color: var(--color-gray-1000);\n }\n\n .text-green-700 {\n color: var(--color-green-700);\n }\n\n .text-indigo-700 {\n color: var(--color-indigo-700);\n }\n\n .text-inherit {\n color: inherit;\n }\n\n .text-lime-700 {\n color: var(--color-lime-700);\n }\n\n .text-orange-700 {\n color: var(--color-orange-700);\n }\n\n .text-plum-700 {\n color: var(--color-plum-700);\n }\n\n .text-purple-700 {\n color: var(--color-purple-700);\n }\n\n .text-red-700 {\n color: var(--color-red-700);\n }\n\n .text-teal-700 {\n color: var(--color-teal-700);\n }\n\n .text-violet-700 {\n color: var(--color-violet-700);\n }\n\n .text-white {\n color: var(--color-white);\n }\n\n .text-yellow-700 {\n color: var(--color-yellow-700);\n }\n\n .underline {\n text-decoration-line: underline;\n }\n\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n .opacity-40 {\n opacity: .4;\n }\n\n .opacity-50 {\n opacity: .5;\n }\n\n .opacity-60 {\n opacity: .6;\n }\n\n .shadow-dropdown-sm {\n --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280f), 0px 1px 3px 0px var(--tw-shadow-color, #1018281a);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .shadow-xs {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .ring-1 {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .ring-2 {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .ring-4 {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .ring-\\[3px\\] {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .ring-amber-300 {\n --tw-ring-color: var(--color-amber-300);\n }\n\n .ring-amber-700 {\n --tw-ring-color: var(--color-amber-700);\n }\n\n .ring-black {\n --tw-ring-color: var(--color-black);\n }\n\n .ring-blue-300 {\n --tw-ring-color: var(--color-blue-300);\n }\n\n .ring-blue-700 {\n --tw-ring-color: var(--color-blue-700);\n }\n\n .ring-brown-300 {\n --tw-ring-color: var(--color-brown-300);\n }\n\n .ring-crimson-300 {\n --tw-ring-color: var(--color-crimson-300);\n }\n\n .ring-cyan-300 {\n --tw-ring-color: var(--color-cyan-300);\n }\n\n .ring-gray-100 {\n --tw-ring-color: var(--color-gray-100);\n }\n\n .ring-gray-200 {\n --tw-ring-color: var(--color-gray-200);\n }\n\n .ring-gray-400 {\n --tw-ring-color: var(--color-gray-400);\n }\n\n .ring-green-300 {\n --tw-ring-color: var(--color-green-300);\n }\n\n .ring-green-700 {\n --tw-ring-color: var(--color-green-700);\n }\n\n .ring-orange-300 {\n --tw-ring-color: var(--color-orange-300);\n }\n\n .ring-red-300 {\n --tw-ring-color: var(--color-red-300);\n }\n\n .ring-red-700 {\n --tw-ring-color: var(--color-red-700);\n }\n\n .ring-teal-300 {\n --tw-ring-color: var(--color-teal-300);\n }\n\n .ring-violet-300 {\n --tw-ring-color: var(--color-violet-300);\n }\n\n .ring-white\\/20 {\n --tw-ring-color: color-mix(in srgb, var(--color-white) 20%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .ring-white\\/20 {\n --tw-ring-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n\n .ring-offset-0 {\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n\n .ring-offset-white {\n --tw-ring-offset-color: var(--color-white);\n }\n\n .outline-hidden {\n --tw-outline-style: none;\n outline-style: none;\n }\n\n @media (forced-colors: active) {\n .outline-hidden {\n outline-offset: 2px;\n outline: 2px solid #0000;\n }\n }\n\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n\n .blur {\n --tw-blur: blur(8px);\n 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, );\n }\n\n .filter {\n 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, );\n }\n\n .backdrop-blur-\\[20px\\] {\n --tw-backdrop-blur: blur(20px);\n 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, );\n }\n\n .backdrop-blur-\\[30px\\] {\n --tw-backdrop-blur: blur(30px);\n 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, );\n }\n\n .backdrop-blur-lg {\n --tw-backdrop-blur: blur(var(--blur-lg));\n 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, );\n }\n\n .backdrop-blur-md {\n --tw-backdrop-blur: blur(var(--blur-md));\n 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, );\n }\n\n .backdrop-blur-xs {\n --tw-backdrop-blur: blur(var(--blur-xs));\n 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, );\n }\n\n .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n\n .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n\n .transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n\n .duration-200 {\n --tw-duration: .2s;\n transition-duration: .2s;\n }\n\n .duration-500 {\n --tw-duration: .5s;\n transition-duration: .5s;\n }\n\n .duration-700 {\n --tw-duration: .7s;\n transition-duration: .7s;\n }\n\n .ease-\\[cubic-bezier\\(0\\.075\\,0\\.82\\,0\\.165\\,1\\)\\] {\n --tw-ease: cubic-bezier(.075, .82, .165, 1);\n transition-timing-function: cubic-bezier(.075, .82, .165, 1);\n }\n\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n\n .ease-linear {\n --tw-ease: linear;\n transition-timing-function: linear;\n }\n\n .will-change-transform {\n will-change: transform;\n }\n\n .animate-in {\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n }\n\n .select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n\n .duration-200 {\n animation-duration: .2s;\n }\n\n .duration-500 {\n animation-duration: .5s;\n }\n\n .duration-700 {\n animation-duration: .7s;\n }\n\n .ease-\\[cubic-bezier\\(0\\.075\\,0\\.82\\,0\\.165\\,1\\)\\] {\n animation-timing-function: cubic-bezier(.075, .82, .165, 1);\n }\n\n .ease-in-out {\n animation-timing-function: cubic-bezier(.4, 0, .2, 1);\n }\n\n .ease-linear {\n animation-timing-function: linear;\n }\n\n .fade-in-0 {\n --tw-enter-opacity: 0;\n }\n\n .paused {\n animation-play-state: paused;\n }\n\n .ring-inset {\n --tw-ring-inset: inset;\n }\n\n .zoom-in-95 {\n --tw-enter-scale: .95;\n }\n\n :is(.\\*\\:h-12 > *) {\n height: calc(var(--spacing) * 12);\n }\n\n :is(.\\*\\:w-12 > *) {\n width: calc(var(--spacing) * 12);\n }\n\n :is(.\\*\\:rounded-\\[14px\\] > *) {\n border-radius: 14px;\n }\n\n :is(.\\*\\:rounded-sm > *) {\n border-radius: var(--radius-sm);\n }\n\n :is(.\\*\\:bg-blue-700 > *) {\n background-color: var(--color-blue-700);\n }\n\n :is(.\\*\\:fill-black > *) {\n fill: var(--color-black);\n }\n\n :is(.\\*\\:text-white > *) {\n color: var(--color-white);\n }\n\n :is(.\\*\\:opacity-100 > *) {\n opacity: 1;\n }\n\n .group-focus-within\\:bg-gray-100:is(:where(.group):focus-within *) {\n background-color: var(--color-gray-100);\n }\n\n .group-focus-within\\/mediacard\\:visible:is(:where(.group\\/mediacard):focus-within *) {\n visibility: visible;\n }\n\n @media (hover: hover) {\n .group-hover\\:visible:is(:where(.group):hover *) {\n visibility: visible;\n }\n\n .group-hover\\:flex:is(:where(.group):hover *) {\n display: flex;\n }\n\n .group-hover\\:bg-gray-50:is(:where(.group):hover *) {\n background-color: var(--color-gray-50);\n }\n\n .group-hover\\/mediacard\\:visible:is(:where(.group\\/mediacard):hover *) {\n visibility: visible;\n }\n }\n\n .group-active\\:bg-gray-100:is(:where(.group):active *) {\n background-color: var(--color-gray-100);\n }\n\n .group-data-disabled\\:cursor-not-allowed:is(:where(.group)[data-disabled] *) {\n cursor: not-allowed;\n }\n\n .group-data-disabled\\:opacity-50:is(:where(.group)[data-disabled] *) {\n opacity: .5;\n }\n\n .group-data-\\[state\\=checked\\]\\:bg-gray-50:is(:where(.group)[data-state=\"checked\"] *) {\n background-color: var(--color-gray-50);\n }\n\n .group-data-\\[state\\=off\\]\\:bg-transparent:is(:where(.group)[data-state=\"off\"] *) {\n background-color: #0000;\n }\n\n .group-data-\\[state\\=off\\]\\:text-transparent:is(:where(.group)[data-state=\"off\"] *) {\n color: #0000;\n }\n\n .group-data-\\[state\\=on\\]\\:border-blue-700:is(:where(.group)[data-state=\"on\"] *) {\n border-color: var(--color-blue-700);\n }\n\n .group-data-\\[state\\=open\\]\\:rotate-180:is(:where(.group)[data-state=\"open\"] *) {\n rotate: 180deg;\n }\n\n @media (hover: hover) {\n .peer-hover\\:text-amber-700:is(:where(.peer):hover ~ *) {\n color: var(--color-amber-700);\n }\n }\n\n .peer-disabled\\:cursor-not-allowed:is(:where(.peer):disabled ~ *) {\n cursor: not-allowed;\n }\n\n .peer-disabled\\:opacity-70:is(:where(.peer):disabled ~ *) {\n opacity: .7;\n }\n\n .placeholder\\:text-gray-700::placeholder {\n color: var(--color-gray-700);\n }\n\n .placeholder\\:text-gray-900::placeholder {\n color: var(--color-gray-900);\n }\n\n .last\\:pb-0:last-child {\n padding-bottom: calc(var(--spacing) * 0);\n }\n\n .focus-within\\:relative:focus-within {\n position: relative;\n }\n\n .focus-within\\:z-20:focus-within {\n z-index: 20;\n }\n\n .focus-within\\:border-gray-200:focus-within {\n border-color: var(--color-gray-200);\n }\n\n .focus-within\\:bg-gray-100:focus-within {\n background-color: var(--color-gray-100);\n }\n\n .focus-within\\:outline:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n\n .focus-within\\:outline-\\[2px\\]:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 2px;\n }\n\n .focus-within\\:outline-offset-\\[2px\\]:focus-within {\n outline-offset: 2px;\n }\n\n .focus-within\\:outline-blue-300:focus-within {\n outline-color: var(--color-blue-300);\n }\n\n .focus-within\\:outline-red-700:focus-within {\n outline-color: var(--color-red-700);\n }\n\n @media (hover: hover) {\n .hover\\:border-gray-600:hover {\n border-color: var(--color-gray-600);\n }\n\n .hover\\:bg-black\\/5:hover {\n background-color: color-mix(in srgb, var(--color-black) 5%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .hover\\:bg-black\\/5:hover {\n background-color: color-mix(in oklab, var(--color-black) 5%, transparent);\n }\n }\n\n .hover\\:bg-blue-50:hover {\n background-color: var(--color-blue-50);\n }\n\n .hover\\:bg-blue-100:hover {\n background-color: var(--color-blue-100);\n }\n\n .hover\\:bg-blue-800:hover {\n background-color: var(--color-blue-800);\n }\n\n .hover\\:bg-gray-25:hover {\n background-color: var(--color-gray-25);\n }\n\n .hover\\:bg-gray-50:hover {\n background-color: var(--color-gray-50);\n }\n\n .hover\\:bg-gray-100:hover {\n background-color: var(--color-gray-100);\n }\n\n .hover\\:bg-gray-100\\/75:hover {\n background-color: color-mix(in srgb, var(--color-gray-100) 75%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .hover\\:bg-gray-100\\/75:hover {\n background-color: color-mix(in oklab, var(--color-gray-100) 75%, transparent);\n }\n }\n\n .hover\\:bg-gray-200:hover {\n background-color: var(--color-gray-200);\n }\n\n .hover\\:bg-red-100:hover {\n background-color: var(--color-red-100);\n }\n\n .hover\\:bg-red-800:hover {\n background-color: var(--color-red-800);\n }\n\n .hover\\:text-amber-700:hover {\n color: var(--color-amber-700);\n }\n\n .hover\\:underline:hover {\n text-decoration-line: underline;\n }\n\n .hover\\:opacity-100:hover {\n opacity: 1;\n }\n\n :is(.hover\\:\\*\\:bg-blue-700:hover > *) {\n background-color: var(--color-blue-700);\n }\n\n :is(.hover\\:\\*\\:text-white:hover > *) {\n color: var(--color-white);\n }\n }\n\n .focus\\:bg-gray-100:focus {\n background-color: var(--color-gray-100);\n }\n\n .focus\\:ring-1:focus {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .focus\\:ring-2:focus {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .focus\\:ring-offset-2:focus {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n\n .focus\\:outline-hidden:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n\n @media (forced-colors: active) {\n .focus\\:outline-hidden:focus {\n outline-offset: 2px;\n outline: 2px solid #0000;\n }\n }\n\n :is(.focus\\:\\*\\:bg-blue-700:focus > *) {\n background-color: var(--color-blue-700);\n }\n\n :is(.focus\\:\\*\\:text-white:focus > *) {\n color: var(--color-white);\n }\n\n .focus-visible\\:ring-2:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .focus-visible\\:ring-black:focus-visible {\n --tw-ring-color: var(--color-black);\n }\n\n .focus-visible\\:ring-blue-300:focus-visible {\n --tw-ring-color: var(--color-blue-300);\n }\n\n .focus-visible\\:ring-blue-700:focus-visible {\n --tw-ring-color: var(--color-blue-700);\n }\n\n .focus-visible\\:ring-blue-1000:focus-visible {\n --tw-ring-color: var(--color-blue-1000);\n }\n\n .focus-visible\\:ring-red-700:focus-visible {\n --tw-ring-color: var(--color-red-700);\n }\n\n .focus-visible\\:ring-red-1000:focus-visible {\n --tw-ring-color: var(--color-red-1000);\n }\n\n .focus-visible\\:ring-offset-2:focus-visible {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n\n .focus-visible\\:outline-hidden:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n\n @media (forced-colors: active) {\n .focus-visible\\:outline-hidden:focus-visible {\n outline-offset: 2px;\n outline: 2px solid #0000;\n }\n }\n\n .active\\:bg-blue-200:active {\n background-color: var(--color-blue-200);\n }\n\n .active\\:bg-blue-900:active {\n background-color: var(--color-blue-900);\n }\n\n .active\\:bg-gray-50:active {\n background-color: var(--color-gray-50);\n }\n\n .active\\:bg-gray-100:active {\n background-color: var(--color-gray-100);\n }\n\n .active\\:bg-gray-200:active {\n background-color: var(--color-gray-200);\n }\n\n .active\\:bg-gray-300:active {\n background-color: var(--color-gray-300);\n }\n\n .active\\:bg-gray-500:active {\n background-color: var(--color-gray-500);\n }\n\n .active\\:bg-red-200:active {\n background-color: var(--color-red-200);\n }\n\n .active\\:bg-red-900:active {\n background-color: var(--color-red-900);\n }\n\n .active\\:text-blue-900:active {\n color: var(--color-blue-900);\n }\n\n .disabled\\:pointer-events-none:disabled {\n pointer-events: none;\n }\n\n .disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n }\n\n .disabled\\:opacity-40:disabled {\n opacity: .4;\n }\n\n .disabled\\:opacity-50:disabled {\n opacity: .5;\n }\n\n .disabled\\:select-none:disabled {\n -webkit-user-select: none;\n user-select: none;\n }\n\n :where(.dark-theme) .in-\\[\\.dark-theme\\]\\:bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n\n .aria-selected\\:rounded-md[aria-selected=\"true\"] {\n border-radius: var(--radius-md);\n }\n\n .aria-selected\\:bg-blue-100[aria-selected=\"true\"], :is(.aria-selected\\:\\*\\:bg-blue-100[aria-selected=\"true\"] > *) {\n background-color: var(--color-blue-100);\n }\n\n :is(.aria-selected\\:\\*\\:text-blue-700[aria-selected=\"true\"] > *) {\n color: var(--color-blue-700);\n }\n\n .first\\:aria-selected\\:rounded-l-md:first-child[aria-selected=\"true\"] {\n border-top-left-radius: var(--radius-md);\n border-bottom-left-radius: var(--radius-md);\n }\n\n .last\\:aria-selected\\:rounded-r-md:last-child[aria-selected=\"true\"] {\n border-top-right-radius: var(--radius-md);\n border-bottom-right-radius: var(--radius-md);\n }\n\n .data-disabled\\:pointer-events-none[data-disabled] {\n pointer-events: none;\n }\n\n .data-disabled\\:cursor-not-allowed[data-disabled] {\n cursor: not-allowed;\n }\n\n .data-disabled\\:opacity-40[data-disabled] {\n opacity: .4;\n }\n\n .data-disabled\\:opacity-50[data-disabled] {\n opacity: .5;\n }\n\n .data-\\[disabled\\=true\\]\\:cursor-not-allowed[data-disabled=\"true\"] {\n cursor: not-allowed;\n }\n\n .data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=\"true\"] {\n opacity: .5;\n }\n\n .data-\\[selected\\=true\\]\\:bg-gray-50[data-selected=\"true\"] {\n background-color: var(--color-gray-50);\n }\n\n .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=\"bottom\"] {\n --tw-enter-translate-y: -.5rem;\n }\n\n .data-\\[side\\=left\\]\\:-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=\"left\"] {\n --tw-enter-translate-x: .5rem;\n }\n\n .data-\\[side\\=right\\]\\:translate-x-1[data-side=\"right\"] {\n --tw-translate-x: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=\"right\"] {\n --tw-enter-translate-x: -.5rem;\n }\n\n .data-\\[side\\=top\\]\\:-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=\"top\"] {\n --tw-enter-translate-y: .5rem;\n }\n\n .data-\\[size\\=xxs\\]\\:bg-amber-700[data-size=\"xxs\"] {\n background-color: var(--color-amber-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-blue-700[data-size=\"xxs\"] {\n background-color: var(--color-blue-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-bronze-700[data-size=\"xxs\"] {\n background-color: var(--color-bronze-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-brown-700[data-size=\"xxs\"] {\n background-color: var(--color-brown-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-crimson-700[data-size=\"xxs\"] {\n background-color: var(--color-crimson-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-cyan-700[data-size=\"xxs\"] {\n background-color: var(--color-cyan-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-gold-700[data-size=\"xxs\"] {\n background-color: var(--color-gold-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-grass-700[data-size=\"xxs\"] {\n background-color: var(--color-grass-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-gray-700[data-size=\"xxs\"] {\n background-color: var(--color-gray-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-green-700[data-size=\"xxs\"] {\n background-color: var(--color-green-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-indigo-700[data-size=\"xxs\"] {\n background-color: var(--color-indigo-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-lime-700[data-size=\"xxs\"] {\n background-color: var(--color-lime-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-plum-700[data-size=\"xxs\"] {\n background-color: var(--color-plum-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-purple-700[data-size=\"xxs\"] {\n background-color: var(--color-purple-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-red-700[data-size=\"xxs\"] {\n background-color: var(--color-red-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-teal-700[data-size=\"xxs\"] {\n background-color: var(--color-teal-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-violet-700[data-size=\"xxs\"] {\n background-color: var(--color-violet-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-yellow-700[data-size=\"xxs\"] {\n background-color: var(--color-yellow-700);\n }\n\n .data-\\[state\\=active\\]\\:bg-black[data-state=\"active\"] {\n background-color: var(--color-black);\n }\n\n .data-\\[state\\=active\\]\\:bg-white[data-state=\"active\"] {\n background-color: var(--color-white);\n }\n\n .data-\\[state\\=active\\]\\:text-blue-700[data-state=\"active\"] {\n color: var(--color-blue-700);\n }\n\n .data-\\[state\\=active\\]\\:shadow-xs[data-state=\"active\"] {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .data-\\[state\\=checked\\]\\:translate-x-5[data-state=\"checked\"] {\n --tw-translate-x: calc(var(--spacing) * 5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[state\\=checked\\]\\:border-blue-700[data-state=\"checked\"] {\n border-color: var(--color-blue-700);\n }\n\n .data-\\[state\\=checked\\]\\:bg-blue-700[data-state=\"checked\"] {\n background-color: var(--color-blue-700);\n }\n\n .data-\\[state\\=checked\\]\\:bg-gray-50[data-state=\"checked\"] {\n background-color: var(--color-gray-50);\n }\n\n .data-\\[state\\=checked\\]\\:bg-white[data-state=\"checked\"] {\n background-color: var(--color-white);\n }\n\n .data-\\[state\\=closed\\]\\:animate-accordion-up[data-state=\"closed\"] {\n animation: var(--animate-accordion-up);\n }\n\n .data-\\[state\\=closed\\]\\:duration-300[data-state=\"closed\"] {\n --tw-duration: .3s;\n transition-duration: .3s;\n }\n\n .data-\\[state\\=closed\\]\\:animate-out[data-state=\"closed\"] {\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n animation-name: exit;\n animation-duration: .15s;\n }\n\n .data-\\[state\\=closed\\]\\:duration-300[data-state=\"closed\"] {\n animation-duration: .3s;\n }\n\n .data-\\[state\\=closed\\]\\:fade-out[data-state=\"closed\"], .data-\\[state\\=closed\\]\\:fade-out-0[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n }\n\n .data-\\[state\\=closed\\]\\:fade-out-80[data-state=\"closed\"] {\n --tw-exit-opacity: .8;\n }\n\n .data-\\[state\\=closed\\]\\:slide-out-to-bottom[data-state=\"closed\"], .data-\\[state\\=closed\\]\\:slide-out-to-bottom-\\[100\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-y: 100%;\n }\n\n .data-\\[state\\=closed\\]\\:slide-out-to-left[data-state=\"closed\"] {\n --tw-exit-translate-x: -100%;\n }\n\n .data-\\[state\\=closed\\]\\:slide-out-to-right[data-state=\"closed\"] {\n --tw-exit-translate-x: 100%;\n }\n\n .data-\\[state\\=closed\\]\\:slide-out-to-top[data-state=\"closed\"] {\n --tw-exit-translate-y: -100%;\n }\n\n .data-\\[state\\=closed\\]\\:zoom-out-95[data-state=\"closed\"] {\n --tw-exit-scale: .95;\n }\n\n .data-\\[state\\=on\\]\\:border-blue-700[data-state=\"on\"] {\n border-color: var(--color-blue-700);\n }\n\n .data-\\[state\\=open\\]\\:animate-accordion-down[data-state=\"open\"] {\n animation: var(--animate-accordion-down);\n }\n\n .data-\\[state\\=open\\]\\:duration-500[data-state=\"open\"] {\n --tw-duration: .5s;\n transition-duration: .5s;\n }\n\n .data-\\[state\\=open\\]\\:animate-in[data-state=\"open\"] {\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n }\n\n .data-\\[state\\=open\\]\\:duration-500[data-state=\"open\"] {\n animation-duration: .5s;\n }\n\n .data-\\[state\\=open\\]\\:fade-in-0[data-state=\"open\"] {\n --tw-enter-opacity: 0;\n }\n\n .data-\\[state\\=open\\]\\:slide-in-from-bottom[data-state=\"open\"], .data-\\[state\\=open\\]\\:slide-in-from-bottom-\\[100\\%\\][data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n }\n\n .data-\\[state\\=open\\]\\:slide-in-from-left[data-state=\"open\"] {\n --tw-enter-translate-x: -100%;\n }\n\n .data-\\[state\\=open\\]\\:slide-in-from-right[data-state=\"open\"] {\n --tw-enter-translate-x: 100%;\n }\n\n .data-\\[state\\=open\\]\\:slide-in-from-top[data-state=\"open\"], .data-\\[state\\=open\\]\\:slide-in-from-top-full[data-state=\"open\"] {\n --tw-enter-translate-y: -100%;\n }\n\n .data-\\[state\\=open\\]\\:zoom-in-95[data-state=\"open\"] {\n --tw-enter-scale: .95;\n }\n\n .data-\\[state\\=selected\\]\\:bg-gray-50[data-state=\"selected\"] {\n background-color: var(--color-gray-50);\n }\n\n .data-disabled\\:data-\\[state\\=unchecked\\]\\:bg-gray-300[data-disabled][data-state=\"unchecked\"] {\n background-color: var(--color-gray-300);\n }\n\n .data-\\[swipe\\=cancel\\]\\:translate-x-0[data-swipe=\"cancel\"] {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[swipe\\=end\\]\\:translate-x-\\[var\\(--radix-toast-swipe-end-x\\)\\][data-swipe=\"end\"] {\n --tw-translate-x: var(--radix-toast-swipe-end-x);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[swipe\\=end\\]\\:animate-out[data-swipe=\"end\"] {\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n animation-name: exit;\n animation-duration: .15s;\n }\n\n .data-\\[swipe\\=move\\]\\:translate-x-\\[var\\(--radix-toast-swipe-move-x\\)\\][data-swipe=\"move\"] {\n --tw-translate-x: var(--radix-toast-swipe-move-x);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[swipe\\=move\\]\\:transition-none[data-swipe=\"move\"] {\n transition-property: none;\n }\n\n @media not all and (width >= 64rem) {\n .max-lg\\:mt-8 {\n margin-top: calc(var(--spacing) * 8);\n }\n\n .max-lg\\:hidden {\n display: none;\n }\n\n .max-lg\\:h-\\[250px\\] {\n height: 250px;\n }\n\n .max-lg\\:w-full {\n width: 100%;\n }\n\n .max-lg\\:flex-col {\n flex-direction: column;\n }\n }\n\n @media not all and (width >= 40rem) {\n .max-sm\\:gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n\n .max-sm\\:p-4 {\n padding: calc(var(--spacing) * 4);\n }\n }\n\n @media (width >= 40rem) {\n .sm\\:mt-0 {\n margin-top: calc(var(--spacing) * 0);\n }\n\n .sm\\:w-1\\/2 {\n width: 50%;\n }\n\n .sm\\:max-w-sm {\n max-width: var(--container-sm);\n }\n\n .sm\\:flex-col {\n flex-direction: column;\n }\n\n .sm\\:flex-row {\n flex-direction: row;\n }\n\n .sm\\:justify-center {\n justify-content: center;\n }\n\n .sm\\:justify-end {\n justify-content: flex-end;\n }\n\n :where(.sm\\:space-x-2 > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:data-\\[state\\=open\\]\\:slide-in-from-bottom-full[data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n }\n }\n\n @media (width >= 48rem) {\n .md\\:block {\n display: block;\n }\n\n .md\\:h-\\[550px\\] {\n height: 550px;\n }\n\n .md\\:w-\\[300px\\] {\n width: 300px;\n }\n\n .md\\:w-\\[334px\\] {\n width: 334px;\n }\n\n .md\\:w-\\[1000px\\] {\n width: 1000px;\n }\n\n .md\\:w-auto {\n width: auto;\n }\n\n .md\\:w-full {\n width: 100%;\n }\n\n .md\\:w-screen {\n width: 100vw;\n }\n\n .md\\:max-w-\\[90vw\\] {\n max-width: 90vw;\n }\n\n .md\\:max-w-\\[420px\\] {\n max-width: 420px;\n }\n\n .md\\:min-w-\\[500px\\] {\n min-width: 500px;\n }\n\n .md\\:flex-row {\n flex-direction: row;\n }\n\n .md\\:items-center {\n align-items: center;\n }\n\n .md\\:justify-start {\n justify-content: flex-start;\n }\n\n .md\\:gap-0 {\n gap: calc(var(--spacing) * 0);\n }\n\n .md\\:gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n\n .md\\:gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n\n :where(.md\\:divide-y > :not(:last-child)) {\n --tw-divide-y-reverse: 0;\n border-bottom-style: var(--tw-border-style);\n border-top-style: var(--tw-border-style);\n border-top-width: calc(1px * var(--tw-divide-y-reverse));\n border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n }\n\n .md\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0;\n }\n\n .md\\:bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n\n .md\\:bg-transparent {\n background-color: #0000;\n }\n\n .md\\:p-0 {\n padding: calc(var(--spacing) * 0);\n }\n\n .md\\:p-4 {\n padding: calc(var(--spacing) * 4);\n }\n\n .md\\:p-6 {\n padding: calc(var(--spacing) * 6);\n }\n\n .md\\:p-8 {\n padding: calc(var(--spacing) * 8);\n }\n\n .md\\:pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n }\n\n @media (width >= 64rem) {\n .lg\\:flex-col {\n flex-direction: column;\n }\n\n .lg\\:items-center {\n align-items: center;\n }\n\n .lg\\:gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n\n .lg\\:gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n\n .lg\\:rounded-lg {\n border-radius: var(--radius-lg);\n }\n\n .lg\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n\n .lg\\:border-gray-200 {\n border-color: var(--color-gray-200);\n }\n\n .lg\\:bg-pattern {\n background-image: var(--background-image-pattern);\n }\n\n .lg\\:p-6 {\n padding: calc(var(--spacing) * 6);\n }\n\n .lg\\:text-center {\n text-align: center;\n }\n\n .lg\\:text-4xl {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n letter-spacing: var(--tw-tracking, var(--text-4xl--letter-spacing));\n }\n }\n\n @media (width >= 80rem) {\n .xl\\:rounded-none {\n border-radius: 0;\n }\n }\n\n .dark\\:bg-white\\/50:where(.dark-theme, .dark-theme *) {\n background-color: color-mix(in srgb, var(--color-white) 50%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .dark\\:bg-white\\/50:where(.dark-theme, .dark-theme *) {\n background-color: color-mix(in oklab, var(--color-white) 50%, transparent);\n }\n }\n\n .dark\\:fill-black:where(.dark-theme, .dark-theme *) {\n fill: var(--color-black);\n }\n\n .dark\\:text-black:where(.dark-theme, .dark-theme *), :is(.dark\\:\\*\\:text-black:where(.dark-theme, .dark-theme *) > *) {\n color: var(--color-black);\n }\n\n @media (hover: hover) {\n :is(.dark\\:hover\\:\\*\\:text-black:where(.dark-theme, .dark-theme *):hover > *) {\n color: var(--color-black);\n }\n }\n\n :is(.dark\\:focus\\:\\*\\:text-black:where(.dark-theme, .dark-theme *):focus > *), .dark\\:data-\\[state\\=active\\]\\:text-black:where(.dark-theme, .dark-theme *)[data-state=\"active\"] {\n color: var(--color-black);\n }\n\n .dark\\:data-\\[state\\=active\\]\\:text-white:where(.dark-theme, .dark-theme *)[data-state=\"active\"] {\n color: var(--color-white);\n }\n\n .dark\\:data-\\[state\\=checked\\]\\:bg-black:where(.dark-theme, .dark-theme *)[data-state=\"checked\"] {\n background-color: var(--color-black);\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 [cmdk-group-heading] {\n padding-inline: calc(var(--spacing) * 2);\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 [cmdk-group-heading] {\n padding-block: calc(var(--spacing) * 1.5);\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-sm [cmdk-group-heading] {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n letter-spacing: var(--tw-tracking, var(--text-sm--letter-spacing));\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium [cmdk-group-heading] {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-black [cmdk-group-heading] {\n color: var(--color-black);\n }\n\n .\\[\\&_tr\\]\\:border-b tr {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n\n .\\[\\&_tr\\:active\\]\\:bg-gray-50 tr:active {\n background-color: var(--color-gray-50);\n }\n\n .\\[\\&_tr\\:hover\\]\\:bg-gray-25 tr:hover {\n background-color: var(--color-gray-25);\n }\n\n .\\[\\&_tr\\:hover\\:active\\]\\:bg-gray-50 tr:hover:active {\n background-color: var(--color-gray-50);\n }\n\n .\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child {\n border-style: var(--tw-border-style);\n border-width: 0;\n }\n\n .aria-selected\\:\\[\\&\\.day-outside\\]\\:bg-blue-100\\/50[aria-selected=\"true\"].day-outside {\n background-color: color-mix(in srgb, var(--color-blue-100) 50%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .aria-selected\\:\\[\\&\\.day-outside\\]\\:bg-blue-100\\/50[aria-selected=\"true\"].day-outside {\n background-color: color-mix(in oklab, var(--color-blue-100) 50%, transparent);\n }\n }\n\n .\\[\\&\\.day-range-end\\]\\:rounded-r-md.day-range-end, .aria-selected\\:\\[\\&\\.day-range-end\\]\\:rounded-r-md[aria-selected=\"true\"].day-range-end {\n border-top-right-radius: var(--radius-md);\n border-bottom-right-radius: var(--radius-md);\n }\n\n .\\[\\&\\.day-range-start\\]\\:rounded-l-md.day-range-start {\n border-top-left-radius: var(--radius-md);\n border-bottom-left-radius: var(--radius-md);\n }\n\n .\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0:has([role=\"checkbox\"]) {\n padding-right: calc(var(--spacing) * 0);\n }\n\n .\\[\\&\\>\\[role\\=checkbox\\]\\]\\:translate-y-\\[2px\\] > [role=\"checkbox\"] {\n --tw-translate-y: 2px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .\\[\\&\\>button\\]\\:w-full > button {\n width: 100%;\n }\n\n .\\[\\&\\>svg\\]\\:h-4 > svg {\n height: calc(var(--spacing) * 4);\n }\n\n .\\[\\&\\>svg\\]\\:w-auto > svg {\n width: auto;\n }\n\n .\\[\\&\\>svg\\]\\:text-black > svg {\n color: var(--color-black);\n }\n\n .\\[\\&\\>svg\\]\\:text-blue-700 > svg {\n color: var(--color-blue-700);\n }\n\n .\\[\\&\\>svg\\]\\:text-red-700 > svg {\n color: var(--color-red-700);\n }\n\n .\\[\\&\\>svg\\]\\:text-white > svg {\n color: var(--color-white);\n }\n\n .dark\\:\\[\\&\\>svg\\]\\:text-black:where(.dark-theme, .dark-theme *) > svg {\n color: var(--color-black);\n }\n}\n\n* {\n box-sizing: border-box;\n -webkit-font-smoothing: antialiased;\n}\n\n:root, .light-theme {\n --color-white: #fff;\n --color-black: #121212;\n --color-gray-25: #fcfcfc;\n --color-gray-50: #f7f7f7;\n --color-gray-100: #f2f2f2;\n --color-gray-200: #ededed;\n --color-gray-300: #e8e8e8;\n --color-gray-400: #e3e3e3;\n --color-gray-500: #dbdbdb;\n --color-gray-600: #c7c7c7;\n --color-gray-700: #8f8f8f;\n --color-gray-800: #858585;\n --color-gray-900: #707070;\n --color-gray-1000: #171717;\n --color-blue-25: #fafcff;\n --color-blue-50: #f5f9ff;\n --color-blue-100: #f0f6ff;\n --color-blue-200: #d7e7fe;\n --color-blue-300: #c7deff;\n --color-blue-400: #b8d5ff;\n --color-blue-500: #85b8ff;\n --color-blue-600: #579dff;\n --color-blue-700: #006aff;\n --color-blue-800: #005bdb;\n --color-blue-900: #004db8;\n --color-blue-1000: #002252;\n --color-red-25: snow;\n --color-red-50: snow;\n --color-red-100: #fff0f0;\n --color-red-200: #ffe5e5;\n --color-red-300: #fdd8d8;\n --color-red-400: #f9c8c8;\n --color-red-500: #f3afb0;\n --color-red-600: #ea8f90;\n --color-red-700: #e5484d;\n --color-red-800: #db3d42;\n --color-red-900: #ce2c31;\n --color-red-1000: #391417;\n --color-amber-25: #fffcf6;\n --color-amber-50: #fffaf2;\n --color-amber-100: #fff9ed;\n --color-amber-200: #fff3de;\n --color-amber-300: #ffefd1;\n --color-amber-400: #ffe8bd;\n --color-amber-500: #ffdd9f;\n --color-amber-600: #ffcf77;\n --color-amber-700: #ffb224;\n --color-amber-800: #f9a710;\n --color-amber-900: #e4980c;\n --color-amber-1000: #4e2009;\n --color-green-25: #fbfefc;\n --color-green-50: #f3fcf5;\n --color-green-100: #ebfaf0;\n --color-green-200: #ddf3e4;\n --color-green-300: #ccebd7;\n --color-green-400: #b4dfc4;\n --color-green-500: #92ceac;\n --color-green-600: #5bb98b;\n --color-green-700: #30a66d;\n --color-green-800: #2a9865;\n --color-green-900: #18774c;\n --color-green-1000: #153226;\n --color-tomato-25: snow;\n --color-tomato-50: #fff6f5;\n --color-tomato-100: #fff1f0;\n --color-tomato-200: #ffe4e0;\n --color-tomato-300: #fdd8d3;\n --color-tomato-400: #fac6bd;\n --color-tomato-500: #f3aea0;\n --color-tomato-600: #ea9280;\n --color-tomato-700: #e54d2e;\n --color-tomato-800: #db4224;\n --color-tomato-900: #cc3314;\n --color-tomato-1000: #361811;\n --color-crimson-25: #fffafc;\n --color-crimson-50: #fff5fa;\n --color-crimson-100: #fef1f7;\n --color-crimson-200: #fce4ef;\n --color-crimson-300: #f9d7e6;\n --color-crimson-400: #f4c7dc;\n --color-crimson-500: #edabc7;\n --color-crimson-600: #e58fb2;\n --color-crimson-700: #ea3e83;\n --color-crimson-800: #e13378;\n --color-crimson-900: #d21e66;\n --color-crimson-1000: #3f0d1e;\n --color-pink-25: #fffafd;\n --color-pink-50: #fff5fb;\n --color-pink-100: #feecf7;\n --color-pink-200: #fce4f3;\n --color-pink-300: #f9d7eb;\n --color-pink-400: #f3c4e1;\n --color-pink-500: #ecacd3;\n --color-pink-600: #e28dc2;\n --color-pink-700: #d742a0;\n --color-pink-800: #d23297;\n --color-pink-900: #cd1d8d;\n --color-pink-1000: #3d0a2b;\n --color-plum-25: #fdfaff;\n --color-plum-50: #fffaff;\n --color-plum-100: #fceefc;\n --color-plum-200: #f9e6f9;\n --color-plum-300: #f3d7f4;\n --color-plum-400: #ecc9ee;\n --color-plum-500: #dfb0e3;\n --color-plum-600: #cf92d9;\n --color-plum-700: #ab4aba;\n --color-plum-800: #a43cb4;\n --color-plum-900: #9a2bab;\n --color-plum-1000: #340c3b;\n --color-purple-25: #fefbfe;\n --color-purple-50: #fdfaff;\n --color-purple-100: #f9f1fe;\n --color-purple-200: #f4e8fc;\n --color-purple-300: #eddcf9;\n --color-purple-400: #e4cdf4;\n --color-purple-500: #d4b5ed;\n --color-purple-600: #bf95e4;\n --color-purple-700: #8e4ec6;\n --color-purple-800: #8344bb;\n --color-purple-900: #793bb0;\n --color-purple-1000: #2b0e44;\n --color-violet-25: #fcfbfe;\n --color-violet-50: #fbfaff;\n --color-violet-100: #f3f0ff;\n --color-violet-200: #ebe7fe;\n --color-violet-300: #e4defc;\n --color-violet-400: #d5cdf9;\n --color-violet-500: #c5b9f3;\n --color-violet-600: #a898ec;\n --color-violet-700: #6d54cf;\n --color-violet-800: #634ec1;\n --color-violet-900: #5746af;\n --color-violet-1000: #1f1249;\n --color-indigo-25: #fcfcfd;\n --color-indigo-50: #fafbff;\n --color-indigo-100: #f0f4ff;\n --color-indigo-200: #e7edfe;\n --color-indigo-300: #d9e2fc;\n --color-indigo-400: #c8d5f9;\n --color-indigo-500: #adbff5;\n --color-indigo-600: #8fa6ef;\n --color-indigo-700: #3c61dd;\n --color-indigo-800: #385bcc;\n --color-indigo-900: #3451b2;\n --color-indigo-1000: #101d47;\n --color-cyan-25: #fbfdfe;\n --color-cyan-50: #f2fcfd;\n --color-cyan-100: #e9f9fb;\n --color-cyan-200: #daf4f7;\n --color-cyan-300: #c3e9ef;\n --color-cyan-400: #a8dee6;\n --color-cyan-500: #85cedb;\n --color-cyan-600: #3fb9cf;\n --color-cyan-700: #05a2c2;\n --color-cyan-800: #0895b4;\n --color-cyan-900: #0c7792;\n --color-cyan-1000: #04323e;\n --color-teal-25: #fbfefd;\n --color-teal-50: #f2fcfa;\n --color-teal-100: #e7f9f5;\n --color-teal-200: #d8f3ed;\n --color-teal-300: #c7ebe5;\n --color-teal-400: #afdfd7;\n --color-teal-500: #8dcec3;\n --color-teal-600: #55b9ac;\n --color-teal-700: #12a594;\n --color-teal-800: #0e9a8a;\n --color-teal-900: #067a6e;\n --color-teal-1000: #11322d;\n --color-grass-25: #fbfefb;\n --color-grass-50: #f3fcf3;\n --color-grass-100: #ebf9eb;\n --color-grass-200: #def2de;\n --color-grass-300: #cceacd;\n --color-grass-400: #b9dfbc;\n --color-grass-500: #96cf9b;\n --color-grass-600: #64b974;\n --color-grass-700: #45a557;\n --color-grass-800: #3d994f;\n --color-grass-900: #297a3a;\n --color-grass-1000: #1b311e;\n --color-brown-25: #fefcfb;\n --color-brown-50: #fcfaf7;\n --color-brown-100: #f9f2ec;\n --color-brown-200: #f4e8dc;\n --color-brown-300: #efddcd;\n --color-brown-400: #e8cdb5;\n --color-brown-500: #ddb997;\n --color-brown-600: #d09e71;\n --color-brown-700: #ad7f58;\n --color-brown-800: #a27653;\n --color-brown-900: #886349;\n --color-brown-1000: #3f2c22;\n --color-orange-25: #fefcfb;\n --color-orange-50: #fef9f6;\n --color-orange-100: #fff0e5;\n --color-orange-200: #ffe8d6;\n --color-orange-300: #ffdbc2;\n --color-orange-400: #ffcca8;\n --color-orange-500: #ffb280;\n --color-orange-600: #fa924c;\n --color-orange-700: #f76808;\n --color-orange-800: #eb5e00;\n --color-orange-900: #bd4b00;\n --color-orange-1000: #451e11;\n --color-sky-25: #fafeff;\n --color-sky-50: #f0fcff;\n --color-sky-100: #e5f9ff;\n --color-sky-200: #d3f3fd;\n --color-sky-300: #c3ecf9;\n --color-sky-400: #a2def1;\n --color-sky-500: #7bd0ea;\n --color-sky-600: #2ebee5;\n --color-sky-700: #68ddfd;\n --color-sky-800: #5dd3f4;\n --color-sky-900: #007aa3;\n --color-sky-1000: #003242;\n --color-mint-25: #fbfefe;\n --color-mint-50: #f1fefa;\n --color-mint-100: #e0fbf3;\n --color-mint-200: #d4f7ee;\n --color-mint-300: #c2efe4;\n --color-mint-400: #a5e4d4;\n --color-mint-500: #7dd4bf;\n --color-mint-600: #40c4aa;\n --color-mint-700: #70e1c8;\n --color-mint-800: #68d9c1;\n --color-mint-900: #147b6d;\n --color-mint-1000: #09342e;\n --color-lime-25: #fdfefb;\n --color-lime-50: #f6fcee;\n --color-lime-100: #eefadb;\n --color-lime-200: #e3f7c5;\n --color-lime-300: #d7f2b0;\n --color-lime-400: #cae996;\n --color-lime-500: #b1d16b;\n --color-lime-600: #94ba2c;\n --color-lime-700: #99d52a;\n --color-lime-800: #93c926;\n --color-lime-900: #5d770d;\n --color-lime-1000: #273409;\n --color-yellow-25: #fcfcf7;\n --color-yellow-50: #fffce5;\n --color-yellow-100: #fffbd1;\n --color-yellow-200: #fff8bd;\n --color-yellow-300: #fef2a4;\n --color-yellow-400: #f9e78b;\n --color-yellow-500: #efd26c;\n --color-yellow-600: #f5d90a;\n --color-yellow-700: #ebbc00;\n --color-yellow-800: #f5cc00;\n --color-yellow-900: #946800;\n --color-yellow-1000: #34280f;\n --color-gold-25: #fdfdfc;\n --color-gold-50: #fbfaf3;\n --color-gold-100: #f6f3ea;\n --color-gold-200: #eeeadd;\n --color-gold-300: #e6e0d1;\n --color-gold-400: #dad1be;\n --color-gold-500: #cbbda4;\n --color-gold-600: #b8a384;\n --color-gold-700: #968264;\n --color-gold-800: #8d7a5e;\n --color-gold-900: #776750;\n --color-gold-1000: #3b352b;\n --color-bronze-25: #fdfcfc;\n --color-bronze-50: #fdf8f7;\n --color-bronze-100: #f8f0ed;\n --color-bronze-200: #f2e8e3;\n --color-bronze-300: #eaddd7;\n --color-bronze-400: #e0cec7;\n --color-bronze-500: #d0b8af;\n --color-bronze-600: #be9f93;\n --color-bronze-700: #a18072;\n --color-bronze-800: #967669;\n --color-bronze-900: #846358;\n --color-bronze-1000: #44312c;\n}\n\n.dark-theme {\n --color-white: #121212;\n --color-black: #fff;\n --color-gray-25: #171717;\n --color-gray-50: #1c1c1c;\n --color-gray-100: #242424;\n --color-gray-200: #292929;\n --color-gray-300: #2e2e2e;\n --color-gray-400: #333;\n --color-gray-500: #3d3d3d;\n --color-gray-600: #4f4f4f;\n --color-gray-700: #707070;\n --color-gray-800: #7d7d7d;\n --color-gray-900: #a1a1a1;\n --color-gray-1000: #ededed;\n --color-blue-25: #0f161f;\n --color-blue-50: #0f1c2e;\n --color-blue-100: #10233d;\n --color-blue-200: #102a4c;\n --color-blue-300: #0f2f57;\n --color-blue-400: #0d3868;\n --color-blue-500: #0a4380;\n --color-blue-600: #0954a5;\n --color-blue-700: #0091ff;\n --color-blue-800: #389fff;\n --color-blue-900: #52a8ff;\n --color-blue-1000: #ebf6ff;\n --color-red-25: #201315;\n --color-red-50: #291415;\n --color-red-100: #3a1719;\n --color-red-200: #471a1d;\n --color-red-300: #551b1f;\n --color-red-400: #671e21;\n --color-red-500: #832126;\n --color-red-600: #a82428;\n --color-red-700: #e5484d;\n --color-red-800: #f2545a;\n --color-red-900: #ff6166;\n --color-red-1000: #feecee;\n --color-amber-25: #1f1300;\n --color-amber-50: #291800;\n --color-amber-100: #331b00;\n --color-amber-200: #3d2100;\n --color-amber-300: #4d2a00;\n --color-amber-400: #573300;\n --color-amber-500: #6b4105;\n --color-amber-600: #804d00;\n --color-amber-700: #ffb224;\n --color-amber-800: #ffbb3d;\n --color-amber-900: #ffc457;\n --color-amber-1000: #fef3dc;\n --color-green-25: #0c1811;\n --color-green-50: #0b1d16;\n --color-green-100: #0f291e;\n --color-green-200: #113123;\n --color-green-300: #133929;\n --color-green-400: #164531;\n --color-green-500: #1b553b;\n --color-green-600: #226d49;\n --color-green-700: #30a66d;\n --color-green-800: #3caf77;\n --color-green-900: #4bc389;\n --color-green-1000: #e5fbea;\n --color-tomato-25: #1c1412;\n --color-tomato-50: #29130f;\n --color-tomato-100: #3a1713;\n --color-tomato-200: #481a14;\n --color-tomato-300: #561d15;\n --color-tomato-400: #642016;\n --color-tomato-500: #7f2315;\n --color-tomato-600: #a52b12;\n --color-tomato-700: #e54d2e;\n --color-tomato-800: #ec5d41;\n --color-tomato-900: #f16b50;\n --color-tomato-1000: #feefec;\n --color-crimson-25: #1e1519;\n --color-crimson-50: #28151d;\n --color-crimson-100: #3a1726;\n --color-crimson-200: #471a2d;\n --color-crimson-300: #551b33;\n --color-crimson-400: #631d3a;\n --color-crimson-500: #811d45;\n --color-crimson-600: #ae1955;\n --color-crimson-700: #ea3e83;\n --color-crimson-800: #f05189;\n --color-crimson-900: #f75f8f;\n --color-crimson-1000: #feecf4;\n --color-pink-25: #20131c;\n --color-pink-50: #281522;\n --color-pink-100: #3a182f;\n --color-pink-200: #461b38;\n --color-pink-300: #501b3f;\n --color-pink-400: #621d4a;\n --color-pink-500: #7c1d5b;\n --color-pink-600: #a51871;\n --color-pink-700: #d742a0;\n --color-pink-800: #e34aa8;\n --color-pink-900: #f65ab5;\n --color-pink-1000: #feecf7;\n --color-plum-25: #1c121c;\n --color-plum-50: #241424;\n --color-plum-100: #331a33;\n --color-plum-200: #3e1c3f;\n --color-plum-300: #48214a;\n --color-plum-400: #552659;\n --color-plum-500: #6b2e70;\n --color-plum-600: #883894;\n --color-plum-700: #ab4aba;\n --color-plum-800: #bc53c6;\n --color-plum-900: #d864d8;\n --color-plum-1000: #fbedfc;\n --color-purple-25: #1c151e;\n --color-purple-50: #231528;\n --color-purple-100: #2e1938;\n --color-purple-200: #3a1e48;\n --color-purple-300: #422154;\n --color-purple-400: #4f2768;\n --color-purple-500: #5f2e85;\n --color-purple-600: #7938b2;\n --color-purple-700: #8e4ec6;\n --color-purple-800: #9c5bd2;\n --color-purple-900: #bf7af0;\n --color-purple-1000: #f8edfc;\n --color-violet-25: #17151e;\n --color-violet-50: #1c172b;\n --color-violet-100: #241d3e;\n --color-violet-200: #2b224f;\n --color-violet-300: #32265e;\n --color-violet-400: #392c72;\n --color-violet-500: #443592;\n --color-violet-600: #5741c3;\n --color-violet-700: #6d54cf;\n --color-violet-800: #7b65dc;\n --color-violet-900: #9f8dfc;\n --color-violet-1000: #efecfe;\n --color-indigo-25: #131620;\n --color-indigo-50: #15192d;\n --color-indigo-100: #18203e;\n --color-indigo-200: #1c274f;\n --color-indigo-300: #1f2c5c;\n --color-indigo-400: #22336d;\n --color-indigo-500: #273f8b;\n --color-indigo-600: #2f4db1;\n --color-indigo-700: #3c61dd;\n --color-indigo-800: #5474e8;\n --color-indigo-900: #859dff;\n --color-indigo-1000: #edf0fd;\n --color-cyan-25: #07191d;\n --color-cyan-50: #061d23;\n --color-cyan-100: #072931;\n --color-cyan-200: #07303b;\n --color-cyan-300: #073945;\n --color-cyan-400: #064251;\n --color-cyan-500: #044f62;\n --color-cyan-600: #006680;\n --color-cyan-700: #05a2c2;\n --color-cyan-800: #00b1cc;\n --color-cyan-900: #00c1d6;\n --color-cyan-1000: #e0f8fa;\n --color-teal-25: #091a16;\n --color-teal-50: #04201b;\n --color-teal-100: #062822;\n --color-teal-200: #07312b;\n --color-teal-300: #083a33;\n --color-teal-400: #09443c;\n --color-teal-500: #0b564c;\n --color-teal-600: #0c6e63;\n --color-teal-700: #12a594;\n --color-teal-800: #10b2a2;\n --color-teal-900: #0ac7b4;\n --color-teal-1000: #e0faf4;\n --color-grass-25: #0c1811;\n --color-grass-50: #0f1f13;\n --color-grass-100: #142a1a;\n --color-grass-200: #16311e;\n --color-grass-300: #193921;\n --color-grass-400: #1d4427;\n --color-grass-500: #255631;\n --color-grass-600: #2f6f3b;\n --color-grass-700: #45a557;\n --color-grass-800: #55b466;\n --color-grass-900: #62c073;\n --color-grass-1000: #e5fbea;\n --color-brown-25: #1a1614;\n --color-brown-50: #211712;\n --color-brown-100: #2e201a;\n --color-brown-200: #35251d;\n --color-brown-300: #3f2c22;\n --color-brown-400: #483528;\n --color-brown-500: #5d4332;\n --color-brown-600: #775940;\n --color-brown-700: #ad7f58;\n --color-brown-800: #bd8c61;\n --color-brown-900: #dba270;\n --color-brown-1000: #faf0e5;\n --color-orange-25: #1e1106;\n --color-orange-50: #291300;\n --color-orange-100: #3a1b03;\n --color-orange-200: #431e04;\n --color-orange-300: #4d2205;\n --color-orange-400: #602a06;\n --color-orange-500: #763205;\n --color-orange-600: #943e00;\n --color-orange-700: #f76808;\n --color-orange-800: #ff7e29;\n --color-orange-900: #ff8b3d;\n --color-orange-1000: #feeadc;\n --color-sky-25: #0d1921;\n --color-sky-50: #071e2c;\n --color-sky-100: #082535;\n --color-sky-200: #082c40;\n --color-sky-300: #08344a;\n --color-sky-400: #083e59;\n --color-sky-500: #064a6a;\n --color-sky-600: #005d85;\n --color-sky-700: #68ddfd;\n --color-sky-800: #8ae8ff;\n --color-sky-900: #2fc8ee;\n --color-sky-1000: #ebf8ff;\n --color-mint-25: #071715;\n --color-mint-50: #051f1d;\n --color-mint-100: #052926;\n --color-mint-200: #042f2a;\n --color-mint-300: #033a34;\n --color-mint-400: #01463e;\n --color-mint-500: #00574b;\n --color-mint-600: #006b59;\n --color-mint-700: #70e1c8;\n --color-mint-800: #95f3d9;\n --color-mint-900: #25d0ab;\n --color-mint-1000: #e8fcf8;\n --color-lime-25: #141807;\n --color-lime-50: #171c08;\n --color-lime-100: #1e260d;\n --color-lime-200: #252e0f;\n --color-lime-300: #2b3711;\n --color-lime-400: #354314;\n --color-lime-500: #405115;\n --color-lime-600: #546916;\n --color-lime-700: #99d52a;\n --color-lime-800: #c4f042;\n --color-lime-900: #88bf22;\n --color-lime-1000: #f0fbdf;\n --color-yellow-25: #1a1300;\n --color-yellow-50: #241b00;\n --color-yellow-100: #2e2200;\n --color-yellow-200: #332600;\n --color-yellow-300: #3d2f00;\n --color-yellow-400: #473a00;\n --color-yellow-500: #574805;\n --color-yellow-600: #705e00;\n --color-yellow-700: #f5d90a;\n --color-yellow-800: #ffef5c;\n --color-yellow-900: #f0c000;\n --color-yellow-1000: #fffad1;\n --color-gold-25: #161512;\n --color-gold-50: #1d1b16;\n --color-gold-100: #26231c;\n --color-gold-200: #2c2920;\n --color-gold-300: #353027;\n --color-gold-400: #3f392c;\n --color-gold-500: #4f4636;\n --color-gold-600: #6b5d47;\n --color-gold-700: #968264;\n --color-gold-800: #a59173;\n --color-gold-900: #bfa888;\n --color-gold-1000: #f7f5e8;\n --color-bronze-25: #191514;\n --color-bronze-50: #201a18;\n --color-bronze-100: #29201e;\n --color-bronze-200: #332824;\n --color-bronze-300: #3c2f2a;\n --color-bronze-400: #453530;\n --color-bronze-500: #57443d;\n --color-bronze-600: #74594e;\n --color-bronze-700: #a18072;\n --color-bronze-800: #b08c7d;\n --color-bronze-900: #cca494;\n --color-bronze-1000: #f9ede7;\n}\n\n.inter {\n font-family: Inter, sans-serif;\n}\n\n@supports (font-variation-settings: normal) {\n .inter {\n font-family: Inter var, sans-serif;\n }\n}\n\n.pulse-red-700 {\n animation: 2s infinite pulse-red-700;\n transform: scale(1);\n box-shadow: 0 0 #e5484d;\n}\n\n@keyframes pulse-red-700 {\n 0% {\n transform: scale(.95);\n box-shadow: 0 0 #e5484db3;\n }\n\n 70% {\n transform: scale(1);\n box-shadow: 0 0 0 6px #e5484d00;\n }\n\n to {\n transform: scale(.95);\n box-shadow: 0 0 #e5484d00;\n }\n}\n\n@keyframes enter {\n 0% {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n\n@keyframes exit {\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateX(0);\n}\n\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateY(0);\n}\n\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateZ(0);\n}\n\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n initial-value: skewX(0);\n}\n\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n initial-value: skewY(0);\n}\n\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-divide-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n\n@property --tw-divide-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-leading {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n\n@property --tw-blur {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-invert {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-duration {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-ease {\n syntax: \"*\";\n inherits: false\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n\n@keyframes accordion-down {\n 0% {\n height: 0;\n }\n\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n\n@keyframes accordion-up {\n 0% {\n height: var(--radix-accordion-content-height);\n }\n\n to {\n height: 0;\n }\n}\n\n@keyframes flash {\n 0% {\n opacity: .9;\n }\n\n to {\n opacity: 0;\n }\n}\n";
|
|
15853
|
+
$1e2747ca72d0ab49$exports = "/*! tailwindcss v4.1.3 | MIT License | https://tailwindcss.com */\n@layer properties {\n @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {\n *, :before, :after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: rotateX(0);\n --tw-rotate-y: rotateY(0);\n --tw-rotate-z: rotateZ(0);\n --tw-skew-x: skewX(0);\n --tw-skew-y: skewY(0);\n --tw-space-y-reverse: 0;\n --tw-space-x-reverse: 0;\n --tw-divide-x-reverse: 0;\n --tw-border-style: solid;\n --tw-divide-y-reverse: 0;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-backdrop-blur: initial;\n --tw-backdrop-brightness: initial;\n --tw-backdrop-contrast: initial;\n --tw-backdrop-grayscale: initial;\n --tw-backdrop-hue-rotate: initial;\n --tw-backdrop-invert: initial;\n --tw-backdrop-opacity: initial;\n --tw-backdrop-saturate: initial;\n --tw-backdrop-sepia: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --spacing: .25rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --radius-sm: .25rem;\n --radius-md: .375rem;\n --radius-lg: .5rem;\n --radius-xl: .75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --ease-in-out: cubic-bezier(.4, 0, .2, 1);\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;\n --blur-xs: 4px;\n --blur-md: 12px;\n --blur-lg: 16px;\n --default-transition-duration: .15s;\n --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --text-xs: 12px;\n --text-xs--line-height: 16px;\n --text-xs--letter-spacing: -.02em;\n --text-sm: 14px;\n --text-sm--line-height: 20px;\n --text-sm--letter-spacing: -.02em;\n --text-md: 16px;\n --text-md--line-height: 20px;\n --text-md--letter-spacing: -.02em;\n --text-lg: 18px;\n --text-lg--line-height: 22px;\n --text-lg--letter-spacing: -.02em;\n --text-xl: 20px;\n --text-xl--line-height: 24px;\n --text-xl--letter-spacing: -.02em;\n --text-2xl: 24px;\n --text-2xl--line-height: 32px;\n --text-2xl--letter-spacing: -.02em;\n --text-3xl: 30px;\n --text-3xl--line-height: 38px;\n --text-3xl--letter-spacing: -.02em;\n --text-4xl: 36px;\n --text-4xl--line-height: 44px;\n --text-4xl--letter-spacing: -.02em;\n --text-5xl: 48px;\n --text-5xl--line-height: 60px;\n --text-5xl--letter-spacing: -.02em;\n --text-6xl: 60px;\n --text-6xl--line-height: 72px;\n --text-6xl--letter-spacing: -.02em;\n --text-7xl: 72px;\n --text-7xl--line-height: 90px;\n --text-7xl--letter-spacing: -.02em;\n --animate-accordion-down: accordion-down .2s ease-out;\n --animate-accordion-up: accordion-up .2s ease-out;\n --color-black: var(--color-black);\n --color-white: var(--color-white);\n --color-gray-25: var(--color-gray-25);\n --color-gray-50: var(--color-gray-50);\n --color-gray-100: var(--color-gray-100);\n --color-gray-200: var(--color-gray-200);\n --color-gray-300: var(--color-gray-300);\n --color-gray-400: var(--color-gray-400);\n --color-gray-500: var(--color-gray-500);\n --color-gray-600: var(--color-gray-600);\n --color-gray-700: var(--color-gray-700);\n --color-gray-800: var(--color-gray-800);\n --color-gray-900: var(--color-gray-900);\n --color-gray-1000: var(--color-gray-1000);\n --color-blue-25: var(--color-blue-25);\n --color-blue-50: var(--color-blue-50);\n --color-blue-100: var(--color-blue-100);\n --color-blue-200: var(--color-blue-200);\n --color-blue-300: var(--color-blue-300);\n --color-blue-400: var(--color-blue-400);\n --color-blue-500: var(--color-blue-500);\n --color-blue-600: var(--color-blue-600);\n --color-blue-700: var(--color-blue-700);\n --color-blue-800: var(--color-blue-800);\n --color-blue-900: var(--color-blue-900);\n --color-blue-1000: var(--color-blue-1000);\n --color-red-25: var(--color-red-25);\n --color-red-50: var(--color-red-50);\n --color-red-100: var(--color-red-100);\n --color-red-200: var(--color-red-200);\n --color-red-300: var(--color-red-300);\n --color-red-400: var(--color-red-400);\n --color-red-500: var(--color-red-500);\n --color-red-600: var(--color-red-600);\n --color-red-700: var(--color-red-700);\n --color-red-800: var(--color-red-800);\n --color-red-900: var(--color-red-900);\n --color-red-1000: var(--color-red-1000);\n --color-amber-25: var(--color-amber-25);\n --color-amber-50: var(--color-amber-50);\n --color-amber-100: var(--color-amber-100);\n --color-amber-200: var(--color-amber-200);\n --color-amber-300: var(--color-amber-300);\n --color-amber-400: var(--color-amber-400);\n --color-amber-500: var(--color-amber-500);\n --color-amber-600: var(--color-amber-600);\n --color-amber-700: var(--color-amber-700);\n --color-amber-800: var(--color-amber-800);\n --color-amber-900: var(--color-amber-900);\n --color-amber-1000: var(--color-amber-1000);\n --color-green-25: var(--color-green-25);\n --color-green-50: var(--color-green-50);\n --color-green-100: var(--color-green-100);\n --color-green-200: var(--color-green-200);\n --color-green-300: var(--color-green-300);\n --color-green-400: var(--color-green-400);\n --color-green-500: var(--color-green-500);\n --color-green-600: var(--color-green-600);\n --color-green-700: var(--color-green-700);\n --color-green-800: var(--color-green-800);\n --color-green-900: var(--color-green-900);\n --color-green-1000: var(--color-green-1000);\n --color-tomato-25: var(--color-tomato-25);\n --color-tomato-50: var(--color-tomato-50);\n --color-tomato-100: var(--color-tomato-100);\n --color-tomato-200: var(--color-tomato-200);\n --color-tomato-300: var(--color-tomato-300);\n --color-tomato-400: var(--color-tomato-400);\n --color-tomato-500: var(--color-tomato-500);\n --color-tomato-600: var(--color-tomato-600);\n --color-tomato-700: var(--color-tomato-700);\n --color-tomato-800: var(--color-tomato-800);\n --color-tomato-900: var(--color-tomato-900);\n --color-tomato-1000: var(--color-tomato-1000);\n --color-crimson-25: var(--color-crimson-25);\n --color-crimson-50: var(--color-crimson-50);\n --color-crimson-100: var(--color-crimson-100);\n --color-crimson-200: var(--color-crimson-200);\n --color-crimson-300: var(--color-crimson-300);\n --color-crimson-400: var(--color-crimson-400);\n --color-crimson-500: var(--color-crimson-500);\n --color-crimson-600: var(--color-crimson-600);\n --color-crimson-700: var(--color-crimson-700);\n --color-crimson-800: var(--color-crimson-800);\n --color-crimson-900: var(--color-crimson-900);\n --color-crimson-1000: var(--color-crimson-1000);\n --color-pink-25: var(--color-pink-25);\n --color-pink-50: var(--color-pink-50);\n --color-pink-100: var(--color-pink-100);\n --color-pink-200: var(--color-pink-200);\n --color-pink-300: var(--color-pink-300);\n --color-pink-400: var(--color-pink-400);\n --color-pink-500: var(--color-pink-500);\n --color-pink-600: var(--color-pink-600);\n --color-pink-700: var(--color-pink-700);\n --color-pink-800: var(--color-pink-800);\n --color-pink-900: var(--color-pink-900);\n --color-pink-1000: var(--color-pink-1000);\n --color-plum-25: var(--color-plum-25);\n --color-plum-50: var(--color-plum-50);\n --color-plum-100: var(--color-plum-100);\n --color-plum-200: var(--color-plum-200);\n --color-plum-300: var(--color-plum-300);\n --color-plum-400: var(--color-plum-400);\n --color-plum-500: var(--color-plum-500);\n --color-plum-600: var(--color-plum-600);\n --color-plum-700: var(--color-plum-700);\n --color-plum-800: var(--color-plum-800);\n --color-plum-900: var(--color-plum-900);\n --color-plum-1000: var(--color-plum-1000);\n --color-purple-25: var(--color-purple-25);\n --color-purple-50: var(--color-purple-50);\n --color-purple-100: var(--color-purple-100);\n --color-purple-200: var(--color-purple-200);\n --color-purple-300: var(--color-purple-300);\n --color-purple-400: var(--color-purple-400);\n --color-purple-500: var(--color-purple-500);\n --color-purple-600: var(--color-purple-600);\n --color-purple-700: var(--color-purple-700);\n --color-purple-800: var(--color-purple-800);\n --color-purple-900: var(--color-purple-900);\n --color-purple-1000: var(--color-purple-1000);\n --color-violet-25: var(--color-violet-25);\n --color-violet-50: var(--color-violet-50);\n --color-violet-100: var(--color-violet-100);\n --color-violet-200: var(--color-violet-200);\n --color-violet-300: var(--color-violet-300);\n --color-violet-400: var(--color-violet-400);\n --color-violet-500: var(--color-violet-500);\n --color-violet-600: var(--color-violet-600);\n --color-violet-700: var(--color-violet-700);\n --color-violet-800: var(--color-violet-800);\n --color-violet-900: var(--color-violet-900);\n --color-violet-1000: var(--color-violet-1000);\n --color-indigo-25: var(--color-indigo-25);\n --color-indigo-50: var(--color-indigo-50);\n --color-indigo-100: var(--color-indigo-100);\n --color-indigo-200: var(--color-indigo-200);\n --color-indigo-300: var(--color-indigo-300);\n --color-indigo-400: var(--color-indigo-400);\n --color-indigo-500: var(--color-indigo-500);\n --color-indigo-600: var(--color-indigo-600);\n --color-indigo-700: var(--color-indigo-700);\n --color-indigo-800: var(--color-indigo-800);\n --color-indigo-900: var(--color-indigo-900);\n --color-indigo-1000: var(--color-indigo-1000);\n --color-cyan-25: var(--color-cyan-25);\n --color-cyan-50: var(--color-cyan-50);\n --color-cyan-100: var(--color-cyan-100);\n --color-cyan-200: var(--color-cyan-200);\n --color-cyan-300: var(--color-cyan-300);\n --color-cyan-400: var(--color-cyan-400);\n --color-cyan-500: var(--color-cyan-500);\n --color-cyan-600: var(--color-cyan-600);\n --color-cyan-700: var(--color-cyan-700);\n --color-cyan-800: var(--color-cyan-800);\n --color-cyan-900: var(--color-cyan-900);\n --color-cyan-1000: var(--color-cyan-1000);\n --color-teal-25: var(--color-teal-25);\n --color-teal-50: var(--color-teal-50);\n --color-teal-100: var(--color-teal-100);\n --color-teal-200: var(--color-teal-200);\n --color-teal-300: var(--color-teal-300);\n --color-teal-400: var(--color-teal-400);\n --color-teal-500: var(--color-teal-500);\n --color-teal-600: var(--color-teal-600);\n --color-teal-700: var(--color-teal-700);\n --color-teal-800: var(--color-teal-800);\n --color-teal-900: var(--color-teal-900);\n --color-teal-1000: var(--color-teal-1000);\n --color-grass-25: var(--color-grass-25);\n --color-grass-50: var(--color-grass-50);\n --color-grass-100: var(--color-grass-100);\n --color-grass-200: var(--color-grass-200);\n --color-grass-300: var(--color-grass-300);\n --color-grass-400: var(--color-grass-400);\n --color-grass-500: var(--color-grass-500);\n --color-grass-600: var(--color-grass-600);\n --color-grass-700: var(--color-grass-700);\n --color-grass-800: var(--color-grass-800);\n --color-grass-900: var(--color-grass-900);\n --color-grass-1000: var(--color-grass-1000);\n --color-brown-25: var(--color-brown-25);\n --color-brown-50: var(--color-brown-50);\n --color-brown-100: var(--color-brown-100);\n --color-brown-200: var(--color-brown-200);\n --color-brown-300: var(--color-brown-300);\n --color-brown-400: var(--color-brown-400);\n --color-brown-500: var(--color-brown-500);\n --color-brown-600: var(--color-brown-600);\n --color-brown-700: var(--color-brown-700);\n --color-brown-800: var(--color-brown-800);\n --color-brown-900: var(--color-brown-900);\n --color-brown-1000: var(--color-brown-1000);\n --color-orange-25: var(--color-orange-25);\n --color-orange-50: var(--color-orange-50);\n --color-orange-100: var(--color-orange-100);\n --color-orange-200: var(--color-orange-200);\n --color-orange-300: var(--color-orange-300);\n --color-orange-400: var(--color-orange-400);\n --color-orange-500: var(--color-orange-500);\n --color-orange-600: var(--color-orange-600);\n --color-orange-700: var(--color-orange-700);\n --color-orange-800: var(--color-orange-800);\n --color-orange-900: var(--color-orange-900);\n --color-orange-1000: var(--color-orange-1000);\n --color-sky-25: var(--color-sky-25);\n --color-sky-50: var(--color-sky-50);\n --color-sky-100: var(--color-sky-100);\n --color-sky-200: var(--color-sky-200);\n --color-sky-300: var(--color-sky-300);\n --color-sky-400: var(--color-sky-400);\n --color-sky-500: var(--color-sky-500);\n --color-sky-600: var(--color-sky-600);\n --color-sky-700: var(--color-sky-700);\n --color-sky-800: var(--color-sky-800);\n --color-sky-900: var(--color-sky-900);\n --color-sky-1000: var(--color-sky-1000);\n --color-mint-25: var(--color-mint-25);\n --color-mint-50: var(--color-mint-50);\n --color-mint-100: var(--color-mint-100);\n --color-mint-200: var(--color-mint-200);\n --color-mint-300: var(--color-mint-300);\n --color-mint-400: var(--color-mint-400);\n --color-mint-500: var(--color-mint-500);\n --color-mint-600: var(--color-mint-600);\n --color-mint-700: var(--color-mint-700);\n --color-mint-800: var(--color-mint-800);\n --color-mint-900: var(--color-mint-900);\n --color-mint-1000: var(--color-mint-1000);\n --color-lime-25: var(--color-lime-25);\n --color-lime-50: var(--color-lime-50);\n --color-lime-100: var(--color-lime-100);\n --color-lime-200: var(--color-lime-200);\n --color-lime-300: var(--color-lime-300);\n --color-lime-400: var(--color-lime-400);\n --color-lime-500: var(--color-lime-500);\n --color-lime-600: var(--color-lime-600);\n --color-lime-700: var(--color-lime-700);\n --color-lime-800: var(--color-lime-800);\n --color-lime-900: var(--color-lime-900);\n --color-lime-1000: var(--color-lime-1000);\n --color-yellow-25: var(--color-yellow-25);\n --color-yellow-50: var(--color-yellow-50);\n --color-yellow-100: var(--color-yellow-100);\n --color-yellow-200: var(--color-yellow-200);\n --color-yellow-300: var(--color-yellow-300);\n --color-yellow-400: var(--color-yellow-400);\n --color-yellow-500: var(--color-yellow-500);\n --color-yellow-600: var(--color-yellow-600);\n --color-yellow-700: var(--color-yellow-700);\n --color-yellow-800: var(--color-yellow-800);\n --color-yellow-900: var(--color-yellow-900);\n --color-yellow-1000: var(--color-yellow-1000);\n --color-gold-25: var(--color-gold-25);\n --color-gold-50: var(--color-gold-50);\n --color-gold-100: var(--color-gold-100);\n --color-gold-200: var(--color-gold-200);\n --color-gold-300: var(--color-gold-300);\n --color-gold-400: var(--color-gold-400);\n --color-gold-500: var(--color-gold-500);\n --color-gold-600: var(--color-gold-600);\n --color-gold-700: var(--color-gold-700);\n --color-gold-800: var(--color-gold-800);\n --color-gold-900: var(--color-gold-900);\n --color-gold-1000: var(--color-gold-1000);\n --color-bronze-25: var(--color-bronze-25);\n --color-bronze-50: var(--color-bronze-50);\n --color-bronze-100: var(--color-bronze-100);\n --color-bronze-200: var(--color-bronze-200);\n --color-bronze-300: var(--color-bronze-300);\n --color-bronze-400: var(--color-bronze-400);\n --color-bronze-500: var(--color-bronze-500);\n --color-bronze-600: var(--color-bronze-600);\n --color-bronze-700: var(--color-bronze-700);\n --color-bronze-800: var(--color-bronze-800);\n --color-bronze-900: var(--color-bronze-900);\n --color-bronze-1000: var(--color-bronze-1000);\n --animate-flash: flash .8s forwards;\n --background-image-pattern: radial-gradient(50% 50% at 50% 50%, #006aff33 0%, #006aff00 100%), linear-gradient(180deg, transparent 0%, #fff 100%), linear-gradient(0deg, transparent 0%, #ffffffbf 100%), url(\"data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40 40V41H41V40H40ZM39 0V40H41V0H39ZM40 39H0V41H40V39Z' fill='%23E8E8E8' mask='url(%23path-1-inside-1_124_242)'/%3E%3C/svg%3E\");\n }\n}\n\n@layer base {\n *, :after, :before, ::backdrop {\n box-sizing: border-box;\n border: 0 solid;\n margin: 0;\n padding: 0;\n }\n\n ::file-selector-button {\n box-sizing: border-box;\n border: 0 solid;\n margin: 0;\n padding: 0;\n }\n\n html, :host {\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n line-height: 1.5;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n\n abbr:where([title]) {\n text-decoration: underline dotted;\n }\n\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n\n b, strong {\n font-weight: bolder;\n }\n\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n\n small {\n font-size: 80%;\n }\n\n sub, sup {\n vertical-align: baseline;\n font-size: 75%;\n line-height: 0;\n position: relative;\n }\n\n sub {\n bottom: -.25em;\n }\n\n sup {\n top: -.5em;\n }\n\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n\n :-moz-focusring {\n outline: auto;\n }\n\n progress {\n vertical-align: baseline;\n }\n\n summary {\n display: list-item;\n }\n\n ol, ul, menu {\n list-style: none;\n }\n\n img, svg, video, canvas, audio, iframe, embed, object {\n vertical-align: middle;\n display: block;\n }\n\n img, video {\n max-width: 100%;\n height: auto;\n }\n\n button, input, select, optgroup, textarea {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n }\n\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n opacity: 1;\n background-color: #0000;\n border-radius: 0;\n }\n\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n\n ::placeholder {\n opacity: 1;\n }\n\n @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentColor;\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n\n textarea {\n resize: vertical;\n }\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n\n ::-webkit-datetime-edit {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-year-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-month-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-day-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-hour-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-minute-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-second-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-millisecond-field {\n padding-block: 0;\n }\n\n ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n\n :-moz-ui-invalid {\n box-shadow: none;\n }\n\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]) {\n appearance: button;\n }\n\n ::file-selector-button {\n appearance: button;\n }\n\n ::-webkit-inner-spin-button {\n height: auto;\n }\n\n ::-webkit-outer-spin-button {\n height: auto;\n }\n\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n\n button:not(:disabled), [role=\"button\"]:not(:disabled) {\n cursor: pointer;\n }\n}\n\n@layer components;\n\n@layer utilities {\n .pointer-events-auto {\n pointer-events: auto;\n }\n\n .pointer-events-none {\n pointer-events: none;\n }\n\n .invisible {\n visibility: hidden;\n }\n\n .visible {\n visibility: visible;\n }\n\n .sr-only {\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n position: absolute;\n overflow: hidden;\n }\n\n .absolute {\n position: absolute;\n }\n\n .fixed {\n position: fixed;\n }\n\n .relative {\n position: relative;\n }\n\n .static {\n position: static;\n }\n\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n\n .inset-x-0 {\n inset-inline: calc(var(--spacing) * 0);\n }\n\n .inset-y-0 {\n inset-block: calc(var(--spacing) * 0);\n }\n\n .-top-12 {\n top: calc(var(--spacing) * -12);\n }\n\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n\n .top-1\\/2 {\n top: 50%;\n }\n\n .top-2 {\n top: calc(var(--spacing) * 2);\n }\n\n .top-6 {\n top: calc(var(--spacing) * 6);\n }\n\n .top-8 {\n top: calc(var(--spacing) * 8);\n }\n\n .top-\\[50\\%\\] {\n top: 50%;\n }\n\n .top-auto {\n top: auto;\n }\n\n .-right-12 {\n right: calc(var(--spacing) * -12);\n }\n\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n\n .right-1 {\n right: calc(var(--spacing) * 1);\n }\n\n .right-2 {\n right: calc(var(--spacing) * 2);\n }\n\n .right-6 {\n right: calc(var(--spacing) * 6);\n }\n\n .-bottom-12 {\n bottom: calc(var(--spacing) * -12);\n }\n\n .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n\n .bottom-2 {\n bottom: calc(var(--spacing) * 2);\n }\n\n .-left-12 {\n left: calc(var(--spacing) * -12);\n }\n\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n\n .left-1 {\n left: calc(var(--spacing) * 1);\n }\n\n .left-1\\/2 {\n left: 50%;\n }\n\n .left-2 {\n left: calc(var(--spacing) * 2);\n }\n\n .left-\\[50\\%\\] {\n left: 50%;\n }\n\n .z-20 {\n z-index: 20;\n }\n\n .z-30 {\n z-index: 30;\n }\n\n .z-35 {\n z-index: 35;\n }\n\n .z-40 {\n z-index: 40;\n }\n\n .z-50 {\n z-index: 50;\n }\n\n .z-100 {\n z-index: 100;\n }\n\n .z-150 {\n z-index: 150;\n }\n\n .container {\n width: 100%;\n }\n\n @media (width >= 40rem) {\n .container {\n max-width: 40rem;\n }\n }\n\n @media (width >= 48rem) {\n .container {\n max-width: 48rem;\n }\n }\n\n @media (width >= 64rem) {\n .container {\n max-width: 64rem;\n }\n }\n\n @media (width >= 80rem) {\n .container {\n max-width: 80rem;\n }\n }\n\n @media (width >= 96rem) {\n .container {\n max-width: 96rem;\n }\n }\n\n .m-auto {\n margin: auto;\n }\n\n .-mx-1 {\n margin-inline: calc(var(--spacing) * -1);\n }\n\n .mx-1 {\n margin-inline: calc(var(--spacing) * 1);\n }\n\n .mx-auto {\n margin-inline: auto;\n }\n\n .my-1 {\n margin-block: calc(var(--spacing) * 1);\n }\n\n .-mt-4 {\n margin-top: calc(var(--spacing) * -4);\n }\n\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n\n .-mr-2 {\n margin-right: calc(var(--spacing) * -2);\n }\n\n .mr-2\\.5 {\n margin-right: calc(var(--spacing) * 2.5);\n }\n\n .mr-9 {\n margin-right: calc(var(--spacing) * 9);\n }\n\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n\n .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n\n .mb-\\[9px\\] {\n margin-bottom: 9px;\n }\n\n .-ml-4 {\n margin-left: calc(var(--spacing) * -4);\n }\n\n .ml-1 {\n margin-left: calc(var(--spacing) * 1);\n }\n\n .box-border {\n box-sizing: border-box;\n }\n\n .line-clamp-2 {\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n overflow: hidden;\n }\n\n .block {\n display: block;\n }\n\n .flex {\n display: flex;\n }\n\n .grid {\n display: grid;\n }\n\n .hidden {\n display: none;\n }\n\n .inline {\n display: inline;\n }\n\n .inline-block {\n display: inline-block;\n }\n\n .inline-flex {\n display: inline-flex;\n }\n\n .table {\n display: table;\n }\n\n .aspect-square {\n aspect-ratio: 1;\n }\n\n .h-1\\/3 {\n height: 33.3333%;\n }\n\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n\n .h-3 {\n height: calc(var(--spacing) * 3);\n }\n\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n\n .h-6 {\n height: calc(var(--spacing) * 6);\n }\n\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n\n .h-9 {\n height: calc(var(--spacing) * 9);\n }\n\n .h-10 {\n height: calc(var(--spacing) * 10);\n }\n\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n\n .h-14 {\n height: calc(var(--spacing) * 14);\n }\n\n .h-16 {\n height: calc(var(--spacing) * 16);\n }\n\n .h-\\[1px\\] {\n height: 1px;\n }\n\n .h-\\[8px\\] {\n height: 8px;\n }\n\n .h-\\[16px\\] {\n height: 16px;\n }\n\n .h-\\[24px\\] {\n height: 24px;\n }\n\n .h-\\[36px\\] {\n height: 36px;\n }\n\n .h-\\[45px\\] {\n height: 45px;\n }\n\n .h-\\[52px\\] {\n height: 52px;\n }\n\n .h-\\[54px\\] {\n height: 54px;\n }\n\n .h-\\[70px\\] {\n height: 70px;\n }\n\n .h-\\[72px\\] {\n height: 72px;\n }\n\n .h-\\[100px\\] {\n height: 100px;\n }\n\n .h-\\[150px\\] {\n height: 150px;\n }\n\n .h-\\[184px\\] {\n height: 184px;\n }\n\n .h-\\[200px\\] {\n height: 200px;\n }\n\n .h-\\[226px\\] {\n height: 226px;\n }\n\n .h-\\[400px\\] {\n height: 400px;\n }\n\n .h-\\[var\\(--radix-select-trigger-height\\)\\] {\n height: var(--radix-select-trigger-height);\n }\n\n .h-full {\n height: 100%;\n }\n\n .h-px {\n height: 1px;\n }\n\n .h-screen {\n height: 100vh;\n }\n\n .max-h-\\[70px\\] {\n max-height: 70px;\n }\n\n .max-h-\\[75vh\\] {\n max-height: 75vh;\n }\n\n .max-h-\\[80vh\\] {\n max-height: 80vh;\n }\n\n .max-h-\\[90\\%\\] {\n max-height: 90%;\n }\n\n .max-h-\\[90vh\\] {\n max-height: 90vh;\n }\n\n .max-h-\\[180px\\] {\n max-height: 180px;\n }\n\n .max-h-\\[300px\\] {\n max-height: 300px;\n }\n\n .max-h-full {\n max-height: 100%;\n }\n\n .max-h-screen {\n max-height: 100vh;\n }\n\n .min-h-0 {\n min-height: calc(var(--spacing) * 0);\n }\n\n .min-h-9 {\n min-height: calc(var(--spacing) * 9);\n }\n\n .min-h-\\[20px\\] {\n min-height: 20px;\n }\n\n .min-h-\\[80px\\] {\n min-height: 80px;\n }\n\n .w-1\\/3 {\n width: 33.3333%;\n }\n\n .w-2 {\n width: calc(var(--spacing) * 2);\n }\n\n .w-3 {\n width: calc(var(--spacing) * 3);\n }\n\n .w-3\\/4 {\n width: 75%;\n }\n\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n\n .w-6 {\n width: calc(var(--spacing) * 6);\n }\n\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n\n .w-10 {\n width: calc(var(--spacing) * 10);\n }\n\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n\n .w-16 {\n width: calc(var(--spacing) * 16);\n }\n\n .w-72 {\n width: calc(var(--spacing) * 72);\n }\n\n .w-\\[1px\\] {\n width: 1px;\n }\n\n .w-\\[8px\\] {\n width: 8px;\n }\n\n .w-\\[16px\\] {\n width: 16px;\n }\n\n .w-\\[24px\\] {\n width: 24px;\n }\n\n .w-\\[36px\\] {\n width: 36px;\n }\n\n .w-\\[42px\\] {\n width: 42px;\n }\n\n .w-\\[45px\\] {\n width: 45px;\n }\n\n .w-\\[54px\\] {\n width: 54px;\n }\n\n .w-\\[70px\\] {\n width: 70px;\n }\n\n .w-\\[72px\\] {\n width: 72px;\n }\n\n .w-\\[100px\\] {\n width: 100px;\n }\n\n .w-\\[232px\\] {\n width: 232px;\n }\n\n .w-\\[240px\\] {\n width: 240px;\n }\n\n .w-\\[326px\\] {\n width: 326px;\n }\n\n .w-\\[334px\\] {\n width: 334px;\n }\n\n .w-\\[360px\\] {\n width: 360px;\n }\n\n .w-\\[400px\\] {\n width: 400px;\n }\n\n .w-auto {\n width: auto;\n }\n\n .w-fit {\n width: fit-content;\n }\n\n .w-full {\n width: 100%;\n }\n\n .w-max {\n width: max-content;\n }\n\n .max-w-\\[70px\\] {\n max-width: 70px;\n }\n\n .max-w-\\[90\\%\\] {\n max-width: 90%;\n }\n\n .max-w-\\[90vw\\] {\n max-width: 90vw;\n }\n\n .max-w-\\[315px\\] {\n max-width: 315px;\n }\n\n .max-w-\\[400px\\] {\n max-width: 400px;\n }\n\n .max-w-\\[500px\\] {\n max-width: 500px;\n }\n\n .max-w-\\[800px\\] {\n max-width: 800px;\n }\n\n .max-w-full {\n max-width: 100%;\n }\n\n .min-w-0 {\n min-width: calc(var(--spacing) * 0);\n }\n\n .min-w-\\[144px\\] {\n min-width: 144px;\n }\n\n .min-w-\\[var\\(--radix-select-trigger-width\\)\\] {\n min-width: var(--radix-select-trigger-width);\n }\n\n .min-w-full {\n min-width: 100%;\n }\n\n .flex-1 {\n flex: 1;\n }\n\n .shrink-0 {\n flex-shrink: 0;\n }\n\n .flex-grow, .grow {\n flex-grow: 1;\n }\n\n .grow-0 {\n flex-grow: 0;\n }\n\n .basis-full {\n flex-basis: 100%;\n }\n\n .caption-bottom {\n caption-side: bottom;\n }\n\n .border-collapse {\n border-collapse: collapse;\n }\n\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .translate-x-0\\.5 {\n --tw-translate-x: calc(var(--spacing) * .5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .translate-y-0 {\n --tw-translate-y: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .-scale-x-100 {\n --tw-scale-x: calc(100% * -1);\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n\n .scale-x-\\[-1\\] {\n --tw-scale-x: -1;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n\n .rotate-180 {\n rotate: 180deg;\n }\n\n .transform {\n transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y);\n }\n\n .animate-flash {\n animation: var(--animate-flash);\n }\n\n .animate-pulse {\n animation: var(--animate-pulse);\n }\n\n .animate-spin {\n animation: var(--animate-spin);\n }\n\n .cursor-default {\n cursor: default;\n }\n\n .cursor-not-allowed {\n cursor: not-allowed;\n }\n\n .cursor-pointer {\n cursor: pointer;\n }\n\n .list-outside {\n list-style-position: outside;\n }\n\n .list-disc {\n list-style-type: disc;\n }\n\n .appearance-none {\n appearance: none;\n }\n\n .grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n .grid-rows-\\[1fr_min-content\\] {\n grid-template-rows: 1fr min-content;\n }\n\n .flex-col {\n flex-direction: column;\n }\n\n .flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .flex-row {\n flex-direction: row;\n }\n\n .flex-row-reverse {\n flex-direction: row-reverse;\n }\n\n .flex-wrap {\n flex-wrap: wrap;\n }\n\n .items-center {\n align-items: center;\n }\n\n .items-end {\n align-items: flex-end;\n }\n\n .items-start {\n align-items: flex-start;\n }\n\n .items-stretch {\n align-items: stretch;\n }\n\n .justify-between {\n justify-content: space-between;\n }\n\n .justify-center {\n justify-content: center;\n }\n\n .justify-end {\n justify-content: flex-end;\n }\n\n .justify-start {\n justify-content: flex-start;\n }\n\n .gap-0\\.5 {\n gap: calc(var(--spacing) * .5);\n }\n\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n\n .gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n }\n\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n\n .gap-2\\.5 {\n gap: calc(var(--spacing) * 2.5);\n }\n\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n\n .gap-6 {\n gap: calc(var(--spacing) * 6);\n }\n\n .gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n\n .gap-12 {\n gap: calc(var(--spacing) * 12);\n }\n\n .gap-\\[inherit\\] {\n gap: inherit;\n }\n\n :where(.space-y-1 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));\n }\n\n :where(.space-y-1\\.5 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));\n }\n\n :where(.space-y-4 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n\n :where(.space-y-5 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));\n }\n\n :where(.space-y-6 > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n\n :where(.space-x-1 > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-x-reverse)));\n }\n\n :where(.divide-x > :not(:last-child)) {\n --tw-divide-x-reverse: 0;\n border-inline-style: var(--tw-border-style);\n border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));\n border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));\n }\n\n :where(.divide-y > :not(:last-child)) {\n --tw-divide-y-reverse: 0;\n border-bottom-style: var(--tw-border-style);\n border-top-style: var(--tw-border-style);\n border-top-width: calc(1px * var(--tw-divide-y-reverse));\n border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n }\n\n :where(.divide-gray-200 > :not(:last-child)) {\n border-color: var(--color-gray-200);\n }\n\n .self-center {\n align-self: center;\n }\n\n .self-end {\n align-self: flex-end;\n }\n\n .self-start {\n align-self: flex-start;\n }\n\n .truncate {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n\n .overflow-auto {\n overflow: auto;\n }\n\n .overflow-hidden {\n overflow: hidden;\n }\n\n .overflow-visible {\n overflow: visible;\n }\n\n .overflow-x-hidden {\n overflow-x: hidden;\n }\n\n .overflow-y-auto {\n overflow-y: auto;\n }\n\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n\n .rounded-2xl {\n border-radius: var(--radius-2xl);\n }\n\n .rounded-3xl {\n border-radius: var(--radius-3xl);\n }\n\n .rounded-\\[3px\\] {\n border-radius: 3px;\n }\n\n .rounded-\\[4px\\] {\n border-radius: 4px;\n }\n\n .rounded-\\[6px\\] {\n border-radius: 6px;\n }\n\n .rounded-\\[8px\\] {\n border-radius: 8px;\n }\n\n .rounded-\\[10px\\] {\n border-radius: 10px;\n }\n\n .rounded-\\[inherit\\] {\n border-radius: inherit;\n }\n\n .rounded-full {\n border-radius: 3.40282e38px;\n }\n\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n\n .rounded-md {\n border-radius: var(--radius-md);\n }\n\n .rounded-sm {\n border-radius: var(--radius-sm);\n }\n\n .rounded-xl {\n border-radius: var(--radius-xl);\n }\n\n .rounded-t-3xl {\n border-top-left-radius: var(--radius-3xl);\n border-top-right-radius: var(--radius-3xl);\n }\n\n .rounded-b-3xl {\n border-bottom-right-radius: var(--radius-3xl);\n border-bottom-left-radius: var(--radius-3xl);\n }\n\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n\n .border-0 {\n border-style: var(--tw-border-style);\n border-width: 0;\n }\n\n .border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n }\n\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n\n .border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n\n .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n\n .border-amber-700 {\n border-color: var(--color-amber-700);\n }\n\n .border-black\\/10 {\n border-color: color-mix(in srgb, var(--color-black) 10%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .border-black\\/10 {\n border-color: color-mix(in oklab, var(--color-black) 10%, transparent);\n }\n }\n\n .border-blue-700 {\n border-color: var(--color-blue-700);\n }\n\n .border-gray-100 {\n border-color: var(--color-gray-100);\n }\n\n .border-gray-200 {\n border-color: var(--color-gray-200);\n }\n\n .border-gray-400 {\n border-color: var(--color-gray-400);\n }\n\n .border-gray-600 {\n border-color: var(--color-gray-600);\n }\n\n .border-gray-1000 {\n border-color: var(--color-gray-1000);\n }\n\n .border-red-700 {\n border-color: var(--color-red-700);\n }\n\n .border-white\\/10 {\n border-color: color-mix(in srgb, var(--color-white) 10%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .border-white\\/10 {\n border-color: color-mix(in oklab, var(--color-white) 10%, transparent);\n }\n }\n\n .bg-\\[\\#292929\\] {\n background-color: #292929;\n }\n\n .bg-amber-100 {\n background-color: var(--color-amber-100);\n }\n\n .bg-amber-200 {\n background-color: var(--color-amber-200);\n }\n\n .bg-amber-700 {\n background-color: var(--color-amber-700);\n }\n\n .bg-black {\n background-color: var(--color-black);\n }\n\n .bg-black\\/25 {\n background-color: color-mix(in srgb, var(--color-black) 25%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-black\\/25 {\n background-color: color-mix(in oklab, var(--color-black) 25%, transparent);\n }\n }\n\n .bg-black\\/50 {\n background-color: color-mix(in srgb, var(--color-black) 50%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-black\\/50 {\n background-color: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n }\n\n .bg-black\\/80 {\n background-color: color-mix(in srgb, var(--color-black) 80%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-black\\/80 {\n background-color: color-mix(in oklab, var(--color-black) 80%, transparent);\n }\n }\n\n .bg-blue-100 {\n background-color: var(--color-blue-100);\n }\n\n .bg-blue-300 {\n background-color: var(--color-blue-300);\n }\n\n .bg-blue-700 {\n background-color: var(--color-blue-700);\n }\n\n .bg-bronze-300 {\n background-color: var(--color-bronze-300);\n }\n\n .bg-brown-100 {\n background-color: var(--color-brown-100);\n }\n\n .bg-brown-300 {\n background-color: var(--color-brown-300);\n }\n\n .bg-brown-700 {\n background-color: var(--color-brown-700);\n }\n\n .bg-crimson-100 {\n background-color: var(--color-crimson-100);\n }\n\n .bg-crimson-300 {\n background-color: var(--color-crimson-300);\n }\n\n .bg-crimson-700 {\n background-color: var(--color-crimson-700);\n }\n\n .bg-cyan-100 {\n background-color: var(--color-cyan-100);\n }\n\n .bg-cyan-300 {\n background-color: var(--color-cyan-300);\n }\n\n .bg-cyan-700 {\n background-color: var(--color-cyan-700);\n }\n\n .bg-gold-300 {\n background-color: var(--color-gold-300);\n }\n\n .bg-grass-300 {\n background-color: var(--color-grass-300);\n }\n\n .bg-gray-25 {\n background-color: var(--color-gray-25);\n }\n\n .bg-gray-25\\/50 {\n background-color: color-mix(in srgb, var(--color-gray-25) 50%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-gray-25\\/50 {\n background-color: color-mix(in oklab, var(--color-gray-25) 50%, transparent);\n }\n }\n\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n\n .bg-gray-100 {\n background-color: var(--color-gray-100);\n }\n\n .bg-gray-100\\/50 {\n background-color: color-mix(in srgb, var(--color-gray-100) 50%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-gray-100\\/50 {\n background-color: color-mix(in oklab, var(--color-gray-100) 50%, transparent);\n }\n }\n\n .bg-gray-200 {\n background-color: var(--color-gray-200);\n }\n\n .bg-gray-300 {\n background-color: var(--color-gray-300);\n }\n\n .bg-gray-600 {\n background-color: var(--color-gray-600);\n }\n\n .bg-gray-800\\/60 {\n background-color: color-mix(in srgb, var(--color-gray-800) 60%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-gray-800\\/60 {\n background-color: color-mix(in oklab, var(--color-gray-800) 60%, transparent);\n }\n }\n\n .bg-gray-900 {\n background-color: var(--color-gray-900);\n }\n\n .bg-gray-1000 {\n background-color: var(--color-gray-1000);\n }\n\n .bg-green-100 {\n background-color: var(--color-green-100);\n }\n\n .bg-green-300 {\n background-color: var(--color-green-300);\n }\n\n .bg-green-700 {\n background-color: var(--color-green-700);\n }\n\n .bg-indigo-300 {\n background-color: var(--color-indigo-300);\n }\n\n .bg-lime-300 {\n background-color: var(--color-lime-300);\n }\n\n .bg-orange-100 {\n background-color: var(--color-orange-100);\n }\n\n .bg-orange-700 {\n background-color: var(--color-orange-700);\n }\n\n .bg-plum-300 {\n background-color: var(--color-plum-300);\n }\n\n .bg-purple-300 {\n background-color: var(--color-purple-300);\n }\n\n .bg-red-100 {\n background-color: var(--color-red-100);\n }\n\n .bg-red-300 {\n background-color: var(--color-red-300);\n }\n\n .bg-red-700 {\n background-color: var(--color-red-700);\n }\n\n .bg-red-700\\/60 {\n background-color: color-mix(in srgb, var(--color-red-700) 60%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-red-700\\/60 {\n background-color: color-mix(in oklab, var(--color-red-700) 60%, transparent);\n }\n }\n\n .bg-teal-100 {\n background-color: var(--color-teal-100);\n }\n\n .bg-teal-300 {\n background-color: var(--color-teal-300);\n }\n\n .bg-teal-700 {\n background-color: var(--color-teal-700);\n }\n\n .bg-transparent {\n background-color: #0000;\n }\n\n .bg-violet-100 {\n background-color: var(--color-violet-100);\n }\n\n .bg-violet-300 {\n background-color: var(--color-violet-300);\n }\n\n .bg-violet-700 {\n background-color: var(--color-violet-700);\n }\n\n .bg-white {\n background-color: var(--color-white);\n }\n\n .bg-white\\/60 {\n background-color: color-mix(in srgb, var(--color-white) 60%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .bg-white\\/60 {\n background-color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n\n .bg-yellow-300 {\n background-color: var(--color-yellow-300);\n }\n\n .bg-cover {\n background-size: cover;\n }\n\n .bg-center {\n background-position: 50%;\n }\n\n .fill-white {\n fill: var(--color-white);\n }\n\n .object-contain {\n object-fit: contain;\n }\n\n .object-cover {\n object-fit: cover;\n }\n\n .p-0 {\n padding: calc(var(--spacing) * 0);\n }\n\n .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n\n .p-1\\.5 {\n padding: calc(var(--spacing) * 1.5);\n }\n\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n\n .p-2\\.5 {\n padding: calc(var(--spacing) * 2.5);\n }\n\n .p-3 {\n padding: calc(var(--spacing) * 3);\n }\n\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n\n .p-5 {\n padding: calc(var(--spacing) * 5);\n }\n\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n\n .p-8 {\n padding: calc(var(--spacing) * 8);\n }\n\n .p-\\[11px\\] {\n padding: 11px;\n }\n\n .px-1 {\n padding-inline: calc(var(--spacing) * 1);\n }\n\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n\n .px-2\\.5 {\n padding-inline: calc(var(--spacing) * 2.5);\n }\n\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n\n .px-3\\.5 {\n padding-inline: calc(var(--spacing) * 3.5);\n }\n\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n\n .px-8 {\n padding-inline: calc(var(--spacing) * 8);\n }\n\n .py-0\\.5 {\n padding-block: calc(var(--spacing) * .5);\n }\n\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n\n .py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n }\n\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n\n .py-2\\.5 {\n padding-block: calc(var(--spacing) * 2.5);\n }\n\n .py-3 {\n padding-block: calc(var(--spacing) * 3);\n }\n\n .py-12 {\n padding-block: calc(var(--spacing) * 12);\n }\n\n .pt-1 {\n padding-top: calc(var(--spacing) * 1);\n }\n\n .pt-2 {\n padding-top: calc(var(--spacing) * 2);\n }\n\n .pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n\n .pt-10 {\n padding-top: calc(var(--spacing) * 10);\n }\n\n .pr-1 {\n padding-right: calc(var(--spacing) * 1);\n }\n\n .pr-2 {\n padding-right: calc(var(--spacing) * 2);\n }\n\n .pr-3\\.5 {\n padding-right: calc(var(--spacing) * 3.5);\n }\n\n .pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n }\n\n .pb-3 {\n padding-bottom: calc(var(--spacing) * 3);\n }\n\n .pb-\\[9px\\] {\n padding-bottom: 9px;\n }\n\n .pl-2 {\n padding-left: calc(var(--spacing) * 2);\n }\n\n .pl-3 {\n padding-left: calc(var(--spacing) * 3);\n }\n\n .pl-4 {\n padding-left: calc(var(--spacing) * 4);\n }\n\n .pl-6 {\n padding-left: calc(var(--spacing) * 6);\n }\n\n .text-center {\n text-align: center;\n }\n\n .text-left {\n text-align: left;\n }\n\n .align-middle {\n vertical-align: middle;\n }\n\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n letter-spacing: var(--tw-tracking, var(--text-2xl--letter-spacing));\n }\n\n .text-3xl {\n font-size: var(--text-3xl);\n line-height: var(--tw-leading, var(--text-3xl--line-height));\n letter-spacing: var(--tw-tracking, var(--text-3xl--letter-spacing));\n }\n\n .text-4xl {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n letter-spacing: var(--tw-tracking, var(--text-4xl--letter-spacing));\n }\n\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n letter-spacing: var(--tw-tracking, var(--text-lg--letter-spacing));\n }\n\n .text-md {\n font-size: var(--text-md);\n line-height: var(--tw-leading, var(--text-md--line-height));\n letter-spacing: var(--tw-tracking, var(--text-md--letter-spacing));\n }\n\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n letter-spacing: var(--tw-tracking, var(--text-sm--letter-spacing));\n }\n\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n letter-spacing: var(--tw-tracking, var(--text-xs--letter-spacing));\n }\n\n .text-\\[10px\\] {\n font-size: 10px;\n }\n\n .text-\\[30px\\] {\n font-size: 30px;\n }\n\n .text-\\[96px\\] {\n font-size: 96px;\n }\n\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n\n .font-normal {\n --tw-font-weight: var(--font-weight-normal);\n font-weight: var(--font-weight-normal);\n }\n\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n\n .whitespace-normal {\n white-space: normal;\n }\n\n .whitespace-nowrap {\n white-space: nowrap;\n }\n\n .whitespace-pre-line {\n white-space: pre-line;\n }\n\n .whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n\n .text-\\[\\#707070\\] {\n color: #707070;\n }\n\n .text-amber-700 {\n color: var(--color-amber-700);\n }\n\n .text-black {\n color: var(--color-black);\n }\n\n .text-blue-700 {\n color: var(--color-blue-700);\n }\n\n .text-bronze-700 {\n color: var(--color-bronze-700);\n }\n\n .text-brown-700 {\n color: var(--color-brown-700);\n }\n\n .text-crimson-700 {\n color: var(--color-crimson-700);\n }\n\n .text-current {\n color: currentColor;\n }\n\n .text-cyan-700 {\n color: var(--color-cyan-700);\n }\n\n .text-gold-700 {\n color: var(--color-gold-700);\n }\n\n .text-grass-700 {\n color: var(--color-grass-700);\n }\n\n .text-gray-200 {\n color: var(--color-gray-200);\n }\n\n .text-gray-400 {\n color: var(--color-gray-400);\n }\n\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n\n .text-gray-900 {\n color: var(--color-gray-900);\n }\n\n .text-gray-1000 {\n color: var(--color-gray-1000);\n }\n\n .text-green-700 {\n color: var(--color-green-700);\n }\n\n .text-indigo-700 {\n color: var(--color-indigo-700);\n }\n\n .text-inherit {\n color: inherit;\n }\n\n .text-lime-700 {\n color: var(--color-lime-700);\n }\n\n .text-orange-700 {\n color: var(--color-orange-700);\n }\n\n .text-plum-700 {\n color: var(--color-plum-700);\n }\n\n .text-purple-700 {\n color: var(--color-purple-700);\n }\n\n .text-red-700 {\n color: var(--color-red-700);\n }\n\n .text-teal-700 {\n color: var(--color-teal-700);\n }\n\n .text-violet-700 {\n color: var(--color-violet-700);\n }\n\n .text-white {\n color: var(--color-white);\n }\n\n .text-yellow-700 {\n color: var(--color-yellow-700);\n }\n\n .underline {\n text-decoration-line: underline;\n }\n\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n .opacity-40 {\n opacity: .4;\n }\n\n .opacity-50 {\n opacity: .5;\n }\n\n .opacity-60 {\n opacity: .6;\n }\n\n .shadow-dropdown-sm {\n --tw-shadow: 0px 1px 2px 0px var(--tw-shadow-color, #1018280f), 0px 1px 3px 0px var(--tw-shadow-color, #1018281a);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .shadow-xs {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .ring-1 {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .ring-2 {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .ring-4 {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .ring-\\[3px\\] {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .ring-amber-300 {\n --tw-ring-color: var(--color-amber-300);\n }\n\n .ring-amber-700 {\n --tw-ring-color: var(--color-amber-700);\n }\n\n .ring-black {\n --tw-ring-color: var(--color-black);\n }\n\n .ring-blue-300 {\n --tw-ring-color: var(--color-blue-300);\n }\n\n .ring-blue-700 {\n --tw-ring-color: var(--color-blue-700);\n }\n\n .ring-brown-300 {\n --tw-ring-color: var(--color-brown-300);\n }\n\n .ring-crimson-300 {\n --tw-ring-color: var(--color-crimson-300);\n }\n\n .ring-cyan-300 {\n --tw-ring-color: var(--color-cyan-300);\n }\n\n .ring-gray-100 {\n --tw-ring-color: var(--color-gray-100);\n }\n\n .ring-gray-200 {\n --tw-ring-color: var(--color-gray-200);\n }\n\n .ring-gray-400 {\n --tw-ring-color: var(--color-gray-400);\n }\n\n .ring-green-300 {\n --tw-ring-color: var(--color-green-300);\n }\n\n .ring-green-700 {\n --tw-ring-color: var(--color-green-700);\n }\n\n .ring-orange-300 {\n --tw-ring-color: var(--color-orange-300);\n }\n\n .ring-red-300 {\n --tw-ring-color: var(--color-red-300);\n }\n\n .ring-red-700 {\n --tw-ring-color: var(--color-red-700);\n }\n\n .ring-teal-300 {\n --tw-ring-color: var(--color-teal-300);\n }\n\n .ring-violet-300 {\n --tw-ring-color: var(--color-violet-300);\n }\n\n .ring-white\\/20 {\n --tw-ring-color: color-mix(in srgb, var(--color-white) 20%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .ring-white\\/20 {\n --tw-ring-color: color-mix(in oklab, var(--color-white) 20%, transparent);\n }\n }\n\n .ring-offset-0 {\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n\n .ring-offset-white {\n --tw-ring-offset-color: var(--color-white);\n }\n\n .outline-hidden {\n --tw-outline-style: none;\n outline-style: none;\n }\n\n @media (forced-colors: active) {\n .outline-hidden {\n outline-offset: 2px;\n outline: 2px solid #0000;\n }\n }\n\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n\n .blur {\n --tw-blur: blur(8px);\n 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, );\n }\n\n .filter {\n 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, );\n }\n\n .backdrop-blur-\\[20px\\] {\n --tw-backdrop-blur: blur(20px);\n 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, );\n }\n\n .backdrop-blur-\\[30px\\] {\n --tw-backdrop-blur: blur(30px);\n 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, );\n }\n\n .backdrop-blur-lg {\n --tw-backdrop-blur: blur(var(--blur-lg));\n 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, );\n }\n\n .backdrop-blur-md {\n --tw-backdrop-blur: blur(var(--blur-md));\n 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, );\n }\n\n .backdrop-blur-xs {\n --tw-backdrop-blur: blur(var(--blur-xs));\n 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, );\n }\n\n .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n\n .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n\n .transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n\n .duration-200 {\n --tw-duration: .2s;\n transition-duration: .2s;\n }\n\n .duration-500 {\n --tw-duration: .5s;\n transition-duration: .5s;\n }\n\n .duration-700 {\n --tw-duration: .7s;\n transition-duration: .7s;\n }\n\n .ease-\\[cubic-bezier\\(0\\.075\\,0\\.82\\,0\\.165\\,1\\)\\] {\n --tw-ease: cubic-bezier(.075, .82, .165, 1);\n transition-timing-function: cubic-bezier(.075, .82, .165, 1);\n }\n\n .ease-in-out {\n --tw-ease: var(--ease-in-out);\n transition-timing-function: var(--ease-in-out);\n }\n\n .ease-linear {\n --tw-ease: linear;\n transition-timing-function: linear;\n }\n\n .will-change-transform {\n will-change: transform;\n }\n\n .animate-in {\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n }\n\n .select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n\n .duration-200 {\n animation-duration: .2s;\n }\n\n .duration-500 {\n animation-duration: .5s;\n }\n\n .duration-700 {\n animation-duration: .7s;\n }\n\n .ease-\\[cubic-bezier\\(0\\.075\\,0\\.82\\,0\\.165\\,1\\)\\] {\n animation-timing-function: cubic-bezier(.075, .82, .165, 1);\n }\n\n .ease-in-out {\n animation-timing-function: cubic-bezier(.4, 0, .2, 1);\n }\n\n .ease-linear {\n animation-timing-function: linear;\n }\n\n .fade-in-0 {\n --tw-enter-opacity: 0;\n }\n\n .paused {\n animation-play-state: paused;\n }\n\n .ring-inset {\n --tw-ring-inset: inset;\n }\n\n .running {\n animation-play-state: running;\n }\n\n .zoom-in-95 {\n --tw-enter-scale: .95;\n }\n\n :is(.\\*\\:h-12 > *) {\n height: calc(var(--spacing) * 12);\n }\n\n :is(.\\*\\:w-12 > *) {\n width: calc(var(--spacing) * 12);\n }\n\n :is(.\\*\\:rounded-\\[14px\\] > *) {\n border-radius: 14px;\n }\n\n :is(.\\*\\:rounded-sm > *) {\n border-radius: var(--radius-sm);\n }\n\n :is(.\\*\\:bg-blue-700 > *) {\n background-color: var(--color-blue-700);\n }\n\n :is(.\\*\\:fill-black > *) {\n fill: var(--color-black);\n }\n\n :is(.\\*\\:text-white > *) {\n color: var(--color-white);\n }\n\n :is(.\\*\\:opacity-100 > *) {\n opacity: 1;\n }\n\n .group-focus-within\\:bg-gray-100:is(:where(.group):focus-within *) {\n background-color: var(--color-gray-100);\n }\n\n .group-focus-within\\/mediacard\\:visible:is(:where(.group\\/mediacard):focus-within *) {\n visibility: visible;\n }\n\n @media (hover: hover) {\n .group-hover\\:visible:is(:where(.group):hover *) {\n visibility: visible;\n }\n\n .group-hover\\:flex:is(:where(.group):hover *) {\n display: flex;\n }\n\n .group-hover\\:bg-gray-50:is(:where(.group):hover *) {\n background-color: var(--color-gray-50);\n }\n\n .group-hover\\/mediacard\\:visible:is(:where(.group\\/mediacard):hover *) {\n visibility: visible;\n }\n }\n\n .group-active\\:bg-gray-100:is(:where(.group):active *) {\n background-color: var(--color-gray-100);\n }\n\n .group-data-disabled\\:cursor-not-allowed:is(:where(.group)[data-disabled] *) {\n cursor: not-allowed;\n }\n\n .group-data-disabled\\:opacity-50:is(:where(.group)[data-disabled] *) {\n opacity: .5;\n }\n\n .group-data-\\[state\\=checked\\]\\:bg-gray-50:is(:where(.group)[data-state=\"checked\"] *) {\n background-color: var(--color-gray-50);\n }\n\n .group-data-\\[state\\=off\\]\\:bg-transparent:is(:where(.group)[data-state=\"off\"] *) {\n background-color: #0000;\n }\n\n .group-data-\\[state\\=off\\]\\:text-transparent:is(:where(.group)[data-state=\"off\"] *) {\n color: #0000;\n }\n\n .group-data-\\[state\\=on\\]\\:border-blue-700:is(:where(.group)[data-state=\"on\"] *) {\n border-color: var(--color-blue-700);\n }\n\n .group-data-\\[state\\=open\\]\\:rotate-180:is(:where(.group)[data-state=\"open\"] *) {\n rotate: 180deg;\n }\n\n @media (hover: hover) {\n .peer-hover\\:text-amber-700:is(:where(.peer):hover ~ *) {\n color: var(--color-amber-700);\n }\n }\n\n .peer-disabled\\:cursor-not-allowed:is(:where(.peer):disabled ~ *) {\n cursor: not-allowed;\n }\n\n .peer-disabled\\:opacity-70:is(:where(.peer):disabled ~ *) {\n opacity: .7;\n }\n\n .placeholder\\:text-gray-700::placeholder {\n color: var(--color-gray-700);\n }\n\n .placeholder\\:text-gray-900::placeholder {\n color: var(--color-gray-900);\n }\n\n .last\\:pb-0:last-child {\n padding-bottom: calc(var(--spacing) * 0);\n }\n\n .focus-within\\:relative:focus-within {\n position: relative;\n }\n\n .focus-within\\:z-20:focus-within {\n z-index: 20;\n }\n\n .focus-within\\:border-gray-200:focus-within {\n border-color: var(--color-gray-200);\n }\n\n .focus-within\\:bg-gray-100:focus-within {\n background-color: var(--color-gray-100);\n }\n\n .focus-within\\:outline:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n\n .focus-within\\:outline-\\[2px\\]:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 2px;\n }\n\n .focus-within\\:outline-offset-\\[2px\\]:focus-within {\n outline-offset: 2px;\n }\n\n .focus-within\\:outline-blue-300:focus-within {\n outline-color: var(--color-blue-300);\n }\n\n .focus-within\\:outline-red-700:focus-within {\n outline-color: var(--color-red-700);\n }\n\n @media (hover: hover) {\n .hover\\:border-gray-600:hover {\n border-color: var(--color-gray-600);\n }\n\n .hover\\:bg-black\\/5:hover {\n background-color: color-mix(in srgb, var(--color-black) 5%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .hover\\:bg-black\\/5:hover {\n background-color: color-mix(in oklab, var(--color-black) 5%, transparent);\n }\n }\n\n .hover\\:bg-blue-50:hover {\n background-color: var(--color-blue-50);\n }\n\n .hover\\:bg-blue-100:hover {\n background-color: var(--color-blue-100);\n }\n\n .hover\\:bg-blue-800:hover {\n background-color: var(--color-blue-800);\n }\n\n .hover\\:bg-gray-25:hover {\n background-color: var(--color-gray-25);\n }\n\n .hover\\:bg-gray-50:hover {\n background-color: var(--color-gray-50);\n }\n\n .hover\\:bg-gray-100:hover {\n background-color: var(--color-gray-100);\n }\n\n .hover\\:bg-gray-100\\/75:hover {\n background-color: color-mix(in srgb, var(--color-gray-100) 75%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .hover\\:bg-gray-100\\/75:hover {\n background-color: color-mix(in oklab, var(--color-gray-100) 75%, transparent);\n }\n }\n\n .hover\\:bg-gray-200:hover {\n background-color: var(--color-gray-200);\n }\n\n .hover\\:bg-red-100:hover {\n background-color: var(--color-red-100);\n }\n\n .hover\\:bg-red-800:hover {\n background-color: var(--color-red-800);\n }\n\n .hover\\:text-amber-700:hover {\n color: var(--color-amber-700);\n }\n\n .hover\\:underline:hover {\n text-decoration-line: underline;\n }\n\n .hover\\:opacity-100:hover {\n opacity: 1;\n }\n\n :is(.hover\\:\\*\\:bg-blue-700:hover > *) {\n background-color: var(--color-blue-700);\n }\n\n :is(.hover\\:\\*\\:text-white:hover > *) {\n color: var(--color-white);\n }\n }\n\n .focus\\:bg-gray-100:focus {\n background-color: var(--color-gray-100);\n }\n\n .focus\\:ring-1:focus {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .focus\\:ring-2:focus {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .focus\\:ring-offset-2:focus {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n\n .focus\\:outline-hidden:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n\n @media (forced-colors: active) {\n .focus\\:outline-hidden:focus {\n outline-offset: 2px;\n outline: 2px solid #0000;\n }\n }\n\n :is(.focus\\:\\*\\:bg-blue-700:focus > *) {\n background-color: var(--color-blue-700);\n }\n\n :is(.focus\\:\\*\\:text-white:focus > *) {\n color: var(--color-white);\n }\n\n .focus-visible\\:ring-2:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .focus-visible\\:ring-black:focus-visible {\n --tw-ring-color: var(--color-black);\n }\n\n .focus-visible\\:ring-blue-300:focus-visible {\n --tw-ring-color: var(--color-blue-300);\n }\n\n .focus-visible\\:ring-blue-700:focus-visible {\n --tw-ring-color: var(--color-blue-700);\n }\n\n .focus-visible\\:ring-blue-1000:focus-visible {\n --tw-ring-color: var(--color-blue-1000);\n }\n\n .focus-visible\\:ring-red-700:focus-visible {\n --tw-ring-color: var(--color-red-700);\n }\n\n .focus-visible\\:ring-red-1000:focus-visible {\n --tw-ring-color: var(--color-red-1000);\n }\n\n .focus-visible\\:ring-offset-2:focus-visible {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset, ) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n\n .focus-visible\\:outline-hidden:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n\n @media (forced-colors: active) {\n .focus-visible\\:outline-hidden:focus-visible {\n outline-offset: 2px;\n outline: 2px solid #0000;\n }\n }\n\n .active\\:bg-blue-200:active {\n background-color: var(--color-blue-200);\n }\n\n .active\\:bg-blue-900:active {\n background-color: var(--color-blue-900);\n }\n\n .active\\:bg-gray-50:active {\n background-color: var(--color-gray-50);\n }\n\n .active\\:bg-gray-100:active {\n background-color: var(--color-gray-100);\n }\n\n .active\\:bg-gray-200:active {\n background-color: var(--color-gray-200);\n }\n\n .active\\:bg-gray-300:active {\n background-color: var(--color-gray-300);\n }\n\n .active\\:bg-gray-500:active {\n background-color: var(--color-gray-500);\n }\n\n .active\\:bg-red-200:active {\n background-color: var(--color-red-200);\n }\n\n .active\\:bg-red-900:active {\n background-color: var(--color-red-900);\n }\n\n .active\\:text-blue-900:active {\n color: var(--color-blue-900);\n }\n\n .disabled\\:pointer-events-none:disabled {\n pointer-events: none;\n }\n\n .disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n }\n\n .disabled\\:opacity-40:disabled {\n opacity: .4;\n }\n\n .disabled\\:opacity-50:disabled {\n opacity: .5;\n }\n\n .disabled\\:select-none:disabled {\n -webkit-user-select: none;\n user-select: none;\n }\n\n :where(.dark-theme) .in-\\[\\.dark-theme\\]\\:bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n\n .aria-selected\\:rounded-md[aria-selected=\"true\"] {\n border-radius: var(--radius-md);\n }\n\n .aria-selected\\:bg-blue-100[aria-selected=\"true\"], :is(.aria-selected\\:\\*\\:bg-blue-100[aria-selected=\"true\"] > *) {\n background-color: var(--color-blue-100);\n }\n\n :is(.aria-selected\\:\\*\\:text-blue-700[aria-selected=\"true\"] > *) {\n color: var(--color-blue-700);\n }\n\n .first\\:aria-selected\\:rounded-l-md:first-child[aria-selected=\"true\"] {\n border-top-left-radius: var(--radius-md);\n border-bottom-left-radius: var(--radius-md);\n }\n\n .last\\:aria-selected\\:rounded-r-md:last-child[aria-selected=\"true\"] {\n border-top-right-radius: var(--radius-md);\n border-bottom-right-radius: var(--radius-md);\n }\n\n .data-disabled\\:pointer-events-none[data-disabled] {\n pointer-events: none;\n }\n\n .data-disabled\\:cursor-not-allowed[data-disabled] {\n cursor: not-allowed;\n }\n\n .data-disabled\\:opacity-40[data-disabled] {\n opacity: .4;\n }\n\n .data-disabled\\:opacity-50[data-disabled] {\n opacity: .5;\n }\n\n .data-\\[disabled\\=true\\]\\:cursor-not-allowed[data-disabled=\"true\"] {\n cursor: not-allowed;\n }\n\n .data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=\"true\"] {\n opacity: .5;\n }\n\n .data-\\[selected\\=true\\]\\:bg-gray-50[data-selected=\"true\"] {\n background-color: var(--color-gray-50);\n }\n\n .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=\"bottom\"] {\n --tw-translate-y: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=\"bottom\"] {\n --tw-enter-translate-y: -.5rem;\n }\n\n .data-\\[side\\=left\\]\\:-translate-x-1[data-side=\"left\"] {\n --tw-translate-x: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=\"left\"] {\n --tw-enter-translate-x: .5rem;\n }\n\n .data-\\[side\\=right\\]\\:translate-x-1[data-side=\"right\"] {\n --tw-translate-x: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=\"right\"] {\n --tw-enter-translate-x: -.5rem;\n }\n\n .data-\\[side\\=top\\]\\:-translate-y-1[data-side=\"top\"] {\n --tw-translate-y: calc(var(--spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=\"top\"] {\n --tw-enter-translate-y: .5rem;\n }\n\n .data-\\[size\\=xxs\\]\\:bg-amber-700[data-size=\"xxs\"] {\n background-color: var(--color-amber-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-blue-700[data-size=\"xxs\"] {\n background-color: var(--color-blue-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-bronze-700[data-size=\"xxs\"] {\n background-color: var(--color-bronze-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-brown-700[data-size=\"xxs\"] {\n background-color: var(--color-brown-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-crimson-700[data-size=\"xxs\"] {\n background-color: var(--color-crimson-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-cyan-700[data-size=\"xxs\"] {\n background-color: var(--color-cyan-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-gold-700[data-size=\"xxs\"] {\n background-color: var(--color-gold-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-grass-700[data-size=\"xxs\"] {\n background-color: var(--color-grass-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-gray-700[data-size=\"xxs\"] {\n background-color: var(--color-gray-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-green-700[data-size=\"xxs\"] {\n background-color: var(--color-green-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-indigo-700[data-size=\"xxs\"] {\n background-color: var(--color-indigo-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-lime-700[data-size=\"xxs\"] {\n background-color: var(--color-lime-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-plum-700[data-size=\"xxs\"] {\n background-color: var(--color-plum-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-purple-700[data-size=\"xxs\"] {\n background-color: var(--color-purple-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-red-700[data-size=\"xxs\"] {\n background-color: var(--color-red-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-teal-700[data-size=\"xxs\"] {\n background-color: var(--color-teal-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-violet-700[data-size=\"xxs\"] {\n background-color: var(--color-violet-700);\n }\n\n .data-\\[size\\=xxs\\]\\:bg-yellow-700[data-size=\"xxs\"] {\n background-color: var(--color-yellow-700);\n }\n\n .data-\\[state\\=active\\]\\:bg-black[data-state=\"active\"] {\n background-color: var(--color-black);\n }\n\n .data-\\[state\\=active\\]\\:bg-white[data-state=\"active\"] {\n background-color: var(--color-white);\n }\n\n .data-\\[state\\=active\\]\\:text-blue-700[data-state=\"active\"] {\n color: var(--color-blue-700);\n }\n\n .data-\\[state\\=active\\]\\:shadow-xs[data-state=\"active\"] {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n\n .data-\\[state\\=checked\\]\\:translate-x-5[data-state=\"checked\"] {\n --tw-translate-x: calc(var(--spacing) * 5);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[state\\=checked\\]\\:border-blue-700[data-state=\"checked\"] {\n border-color: var(--color-blue-700);\n }\n\n .data-\\[state\\=checked\\]\\:bg-blue-700[data-state=\"checked\"] {\n background-color: var(--color-blue-700);\n }\n\n .data-\\[state\\=checked\\]\\:bg-gray-50[data-state=\"checked\"] {\n background-color: var(--color-gray-50);\n }\n\n .data-\\[state\\=checked\\]\\:bg-white[data-state=\"checked\"] {\n background-color: var(--color-white);\n }\n\n .data-\\[state\\=closed\\]\\:animate-accordion-up[data-state=\"closed\"] {\n animation: var(--animate-accordion-up);\n }\n\n .data-\\[state\\=closed\\]\\:duration-300[data-state=\"closed\"] {\n --tw-duration: .3s;\n transition-duration: .3s;\n }\n\n .data-\\[state\\=closed\\]\\:animate-out[data-state=\"closed\"] {\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n animation-name: exit;\n animation-duration: .15s;\n }\n\n .data-\\[state\\=closed\\]\\:duration-300[data-state=\"closed\"] {\n animation-duration: .3s;\n }\n\n .data-\\[state\\=closed\\]\\:fade-out[data-state=\"closed\"], .data-\\[state\\=closed\\]\\:fade-out-0[data-state=\"closed\"] {\n --tw-exit-opacity: 0;\n }\n\n .data-\\[state\\=closed\\]\\:fade-out-80[data-state=\"closed\"] {\n --tw-exit-opacity: .8;\n }\n\n .data-\\[state\\=closed\\]\\:slide-out-to-bottom[data-state=\"closed\"], .data-\\[state\\=closed\\]\\:slide-out-to-bottom-\\[100\\%\\][data-state=\"closed\"] {\n --tw-exit-translate-y: 100%;\n }\n\n .data-\\[state\\=closed\\]\\:slide-out-to-left[data-state=\"closed\"] {\n --tw-exit-translate-x: -100%;\n }\n\n .data-\\[state\\=closed\\]\\:slide-out-to-right[data-state=\"closed\"] {\n --tw-exit-translate-x: 100%;\n }\n\n .data-\\[state\\=closed\\]\\:slide-out-to-top[data-state=\"closed\"] {\n --tw-exit-translate-y: -100%;\n }\n\n .data-\\[state\\=closed\\]\\:zoom-out-95[data-state=\"closed\"] {\n --tw-exit-scale: .95;\n }\n\n .data-\\[state\\=on\\]\\:border-blue-700[data-state=\"on\"] {\n border-color: var(--color-blue-700);\n }\n\n .data-\\[state\\=open\\]\\:animate-accordion-down[data-state=\"open\"] {\n animation: var(--animate-accordion-down);\n }\n\n .data-\\[state\\=open\\]\\:duration-500[data-state=\"open\"] {\n --tw-duration: .5s;\n transition-duration: .5s;\n }\n\n .data-\\[state\\=open\\]\\:animate-in[data-state=\"open\"] {\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n animation-name: enter;\n animation-duration: .15s;\n }\n\n .data-\\[state\\=open\\]\\:duration-500[data-state=\"open\"] {\n animation-duration: .5s;\n }\n\n .data-\\[state\\=open\\]\\:fade-in-0[data-state=\"open\"] {\n --tw-enter-opacity: 0;\n }\n\n .data-\\[state\\=open\\]\\:slide-in-from-bottom[data-state=\"open\"], .data-\\[state\\=open\\]\\:slide-in-from-bottom-\\[100\\%\\][data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n }\n\n .data-\\[state\\=open\\]\\:slide-in-from-left[data-state=\"open\"] {\n --tw-enter-translate-x: -100%;\n }\n\n .data-\\[state\\=open\\]\\:slide-in-from-right[data-state=\"open\"] {\n --tw-enter-translate-x: 100%;\n }\n\n .data-\\[state\\=open\\]\\:slide-in-from-top[data-state=\"open\"], .data-\\[state\\=open\\]\\:slide-in-from-top-full[data-state=\"open\"] {\n --tw-enter-translate-y: -100%;\n }\n\n .data-\\[state\\=open\\]\\:zoom-in-95[data-state=\"open\"] {\n --tw-enter-scale: .95;\n }\n\n .data-\\[state\\=selected\\]\\:bg-gray-50[data-state=\"selected\"] {\n background-color: var(--color-gray-50);\n }\n\n .data-disabled\\:data-\\[state\\=unchecked\\]\\:bg-gray-300[data-disabled][data-state=\"unchecked\"] {\n background-color: var(--color-gray-300);\n }\n\n .data-\\[swipe\\=cancel\\]\\:translate-x-0[data-swipe=\"cancel\"] {\n --tw-translate-x: calc(var(--spacing) * 0);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[swipe\\=end\\]\\:translate-x-\\[var\\(--radix-toast-swipe-end-x\\)\\][data-swipe=\"end\"] {\n --tw-translate-x: var(--radix-toast-swipe-end-x);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[swipe\\=end\\]\\:animate-out[data-swipe=\"end\"] {\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n animation-name: exit;\n animation-duration: .15s;\n }\n\n .data-\\[swipe\\=move\\]\\:translate-x-\\[var\\(--radix-toast-swipe-move-x\\)\\][data-swipe=\"move\"] {\n --tw-translate-x: var(--radix-toast-swipe-move-x);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .data-\\[swipe\\=move\\]\\:transition-none[data-swipe=\"move\"] {\n transition-property: none;\n }\n\n @media not all and (width >= 64rem) {\n .max-lg\\:mt-8 {\n margin-top: calc(var(--spacing) * 8);\n }\n\n .max-lg\\:hidden {\n display: none;\n }\n\n .max-lg\\:h-\\[250px\\] {\n height: 250px;\n }\n\n .max-lg\\:w-full {\n width: 100%;\n }\n\n .max-lg\\:flex-col {\n flex-direction: column;\n }\n }\n\n @media not all and (width >= 40rem) {\n .max-sm\\:gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n\n .max-sm\\:p-4 {\n padding: calc(var(--spacing) * 4);\n }\n }\n\n @media (width >= 40rem) {\n .sm\\:mt-0 {\n margin-top: calc(var(--spacing) * 0);\n }\n\n .sm\\:w-1\\/2 {\n width: 50%;\n }\n\n .sm\\:max-w-sm {\n max-width: var(--container-sm);\n }\n\n .sm\\:flex-col {\n flex-direction: column;\n }\n\n .sm\\:flex-row {\n flex-direction: row;\n }\n\n .sm\\:justify-center {\n justify-content: center;\n }\n\n .sm\\:justify-end {\n justify-content: flex-end;\n }\n\n :where(.sm\\:space-x-2 > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .sm\\:data-\\[state\\=open\\]\\:slide-in-from-bottom-full[data-state=\"open\"] {\n --tw-enter-translate-y: 100%;\n }\n }\n\n @media (width >= 48rem) {\n .md\\:block {\n display: block;\n }\n\n .md\\:h-\\[550px\\] {\n height: 550px;\n }\n\n .md\\:w-\\[300px\\] {\n width: 300px;\n }\n\n .md\\:w-\\[334px\\] {\n width: 334px;\n }\n\n .md\\:w-\\[1000px\\] {\n width: 1000px;\n }\n\n .md\\:w-auto {\n width: auto;\n }\n\n .md\\:w-full {\n width: 100%;\n }\n\n .md\\:w-screen {\n width: 100vw;\n }\n\n .md\\:max-w-\\[90vw\\] {\n max-width: 90vw;\n }\n\n .md\\:max-w-\\[420px\\] {\n max-width: 420px;\n }\n\n .md\\:min-w-\\[500px\\] {\n min-width: 500px;\n }\n\n .md\\:flex-row {\n flex-direction: row;\n }\n\n .md\\:items-center {\n align-items: center;\n }\n\n .md\\:justify-start {\n justify-content: flex-start;\n }\n\n .md\\:gap-0 {\n gap: calc(var(--spacing) * 0);\n }\n\n .md\\:gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n\n .md\\:gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n\n :where(.md\\:divide-y > :not(:last-child)) {\n --tw-divide-y-reverse: 0;\n border-bottom-style: var(--tw-border-style);\n border-top-style: var(--tw-border-style);\n border-top-width: calc(1px * var(--tw-divide-y-reverse));\n border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n }\n\n .md\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0;\n }\n\n .md\\:bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n\n .md\\:bg-transparent {\n background-color: #0000;\n }\n\n .md\\:p-0 {\n padding: calc(var(--spacing) * 0);\n }\n\n .md\\:p-4 {\n padding: calc(var(--spacing) * 4);\n }\n\n .md\\:p-6 {\n padding: calc(var(--spacing) * 6);\n }\n\n .md\\:p-8 {\n padding: calc(var(--spacing) * 8);\n }\n\n .md\\:pt-4 {\n padding-top: calc(var(--spacing) * 4);\n }\n }\n\n @media (width >= 64rem) {\n .lg\\:flex-col {\n flex-direction: column;\n }\n\n .lg\\:items-center {\n align-items: center;\n }\n\n .lg\\:gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n\n .lg\\:gap-8 {\n gap: calc(var(--spacing) * 8);\n }\n\n .lg\\:rounded-lg {\n border-radius: var(--radius-lg);\n }\n\n .lg\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n\n .lg\\:border-gray-200 {\n border-color: var(--color-gray-200);\n }\n\n .lg\\:bg-pattern {\n background-image: var(--background-image-pattern);\n }\n\n .lg\\:p-6 {\n padding: calc(var(--spacing) * 6);\n }\n\n .lg\\:text-center {\n text-align: center;\n }\n\n .lg\\:text-4xl {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n letter-spacing: var(--tw-tracking, var(--text-4xl--letter-spacing));\n }\n }\n\n @media (width >= 80rem) {\n .xl\\:rounded-none {\n border-radius: 0;\n }\n }\n\n .dark\\:bg-white\\/50:where(.dark-theme, .dark-theme *) {\n background-color: color-mix(in srgb, var(--color-white) 50%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .dark\\:bg-white\\/50:where(.dark-theme, .dark-theme *) {\n background-color: color-mix(in oklab, var(--color-white) 50%, transparent);\n }\n }\n\n .dark\\:fill-black:where(.dark-theme, .dark-theme *) {\n fill: var(--color-black);\n }\n\n .dark\\:text-black:where(.dark-theme, .dark-theme *), :is(.dark\\:\\*\\:text-black:where(.dark-theme, .dark-theme *) > *) {\n color: var(--color-black);\n }\n\n @media (hover: hover) {\n :is(.dark\\:hover\\:\\*\\:text-black:where(.dark-theme, .dark-theme *):hover > *) {\n color: var(--color-black);\n }\n }\n\n :is(.dark\\:focus\\:\\*\\:text-black:where(.dark-theme, .dark-theme *):focus > *), .dark\\:data-\\[state\\=active\\]\\:text-black:where(.dark-theme, .dark-theme *)[data-state=\"active\"] {\n color: var(--color-black);\n }\n\n .dark\\:data-\\[state\\=active\\]\\:text-white:where(.dark-theme, .dark-theme *)[data-state=\"active\"] {\n color: var(--color-white);\n }\n\n .dark\\:data-\\[state\\=checked\\]\\:bg-black:where(.dark-theme, .dark-theme *)[data-state=\"checked\"] {\n background-color: var(--color-black);\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 [cmdk-group-heading] {\n padding-inline: calc(var(--spacing) * 2);\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 [cmdk-group-heading] {\n padding-block: calc(var(--spacing) * 1.5);\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-sm [cmdk-group-heading] {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n letter-spacing: var(--tw-tracking, var(--text-sm--letter-spacing));\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium [cmdk-group-heading] {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n\n .\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-black [cmdk-group-heading] {\n color: var(--color-black);\n }\n\n .\\[\\&_tr\\]\\:border-b tr {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n\n .\\[\\&_tr\\:active\\]\\:bg-gray-50 tr:active {\n background-color: var(--color-gray-50);\n }\n\n .\\[\\&_tr\\:hover\\]\\:bg-gray-25 tr:hover {\n background-color: var(--color-gray-25);\n }\n\n .\\[\\&_tr\\:hover\\:active\\]\\:bg-gray-50 tr:hover:active {\n background-color: var(--color-gray-50);\n }\n\n .\\[\\&_tr\\:last-child\\]\\:border-0 tr:last-child {\n border-style: var(--tw-border-style);\n border-width: 0;\n }\n\n .aria-selected\\:\\[\\&\\.day-outside\\]\\:bg-blue-100\\/50[aria-selected=\"true\"].day-outside {\n background-color: color-mix(in srgb, var(--color-blue-100) 50%, transparent);\n }\n\n @supports (color: color-mix(in lab, red, red)) {\n .aria-selected\\:\\[\\&\\.day-outside\\]\\:bg-blue-100\\/50[aria-selected=\"true\"].day-outside {\n background-color: color-mix(in oklab, var(--color-blue-100) 50%, transparent);\n }\n }\n\n .\\[\\&\\.day-range-end\\]\\:rounded-r-md.day-range-end, .aria-selected\\:\\[\\&\\.day-range-end\\]\\:rounded-r-md[aria-selected=\"true\"].day-range-end {\n border-top-right-radius: var(--radius-md);\n border-bottom-right-radius: var(--radius-md);\n }\n\n .\\[\\&\\.day-range-start\\]\\:rounded-l-md.day-range-start {\n border-top-left-radius: var(--radius-md);\n border-bottom-left-radius: var(--radius-md);\n }\n\n .\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-0:has([role=\"checkbox\"]) {\n padding-right: calc(var(--spacing) * 0);\n }\n\n .\\[\\&\\>\\[role\\=checkbox\\]\\]\\:translate-y-\\[2px\\] > [role=\"checkbox\"] {\n --tw-translate-y: 2px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n\n .\\[\\&\\>button\\]\\:w-full > button {\n width: 100%;\n }\n\n .\\[\\&\\>svg\\]\\:h-4 > svg {\n height: calc(var(--spacing) * 4);\n }\n\n .\\[\\&\\>svg\\]\\:w-auto > svg {\n width: auto;\n }\n\n .\\[\\&\\>svg\\]\\:text-black > svg {\n color: var(--color-black);\n }\n\n .\\[\\&\\>svg\\]\\:text-blue-700 > svg {\n color: var(--color-blue-700);\n }\n\n .\\[\\&\\>svg\\]\\:text-red-700 > svg {\n color: var(--color-red-700);\n }\n\n .\\[\\&\\>svg\\]\\:text-white > svg {\n color: var(--color-white);\n }\n\n .dark\\:\\[\\&\\>svg\\]\\:text-black:where(.dark-theme, .dark-theme *) > svg {\n color: var(--color-black);\n }\n}\n\n* {\n box-sizing: border-box;\n -webkit-font-smoothing: antialiased;\n}\n\n:root, .light-theme {\n --color-white: #fff;\n --color-black: #121212;\n --color-gray-25: #fcfcfc;\n --color-gray-50: #f7f7f7;\n --color-gray-100: #f2f2f2;\n --color-gray-200: #ededed;\n --color-gray-300: #e8e8e8;\n --color-gray-400: #e3e3e3;\n --color-gray-500: #dbdbdb;\n --color-gray-600: #c7c7c7;\n --color-gray-700: #8f8f8f;\n --color-gray-800: #858585;\n --color-gray-900: #707070;\n --color-gray-1000: #171717;\n --color-blue-25: #fafcff;\n --color-blue-50: #f5f9ff;\n --color-blue-100: #f0f6ff;\n --color-blue-200: #d7e7fe;\n --color-blue-300: #c7deff;\n --color-blue-400: #b8d5ff;\n --color-blue-500: #85b8ff;\n --color-blue-600: #579dff;\n --color-blue-700: #006aff;\n --color-blue-800: #005bdb;\n --color-blue-900: #004db8;\n --color-blue-1000: #002252;\n --color-red-25: snow;\n --color-red-50: snow;\n --color-red-100: #fff0f0;\n --color-red-200: #ffe5e5;\n --color-red-300: #fdd8d8;\n --color-red-400: #f9c8c8;\n --color-red-500: #f3afb0;\n --color-red-600: #ea8f90;\n --color-red-700: #e5484d;\n --color-red-800: #db3d42;\n --color-red-900: #ce2c31;\n --color-red-1000: #391417;\n --color-amber-25: #fffcf6;\n --color-amber-50: #fffaf2;\n --color-amber-100: #fff9ed;\n --color-amber-200: #fff3de;\n --color-amber-300: #ffefd1;\n --color-amber-400: #ffe8bd;\n --color-amber-500: #ffdd9f;\n --color-amber-600: #ffcf77;\n --color-amber-700: #ffb224;\n --color-amber-800: #f9a710;\n --color-amber-900: #e4980c;\n --color-amber-1000: #4e2009;\n --color-green-25: #fbfefc;\n --color-green-50: #f3fcf5;\n --color-green-100: #ebfaf0;\n --color-green-200: #ddf3e4;\n --color-green-300: #ccebd7;\n --color-green-400: #b4dfc4;\n --color-green-500: #92ceac;\n --color-green-600: #5bb98b;\n --color-green-700: #30a66d;\n --color-green-800: #2a9865;\n --color-green-900: #18774c;\n --color-green-1000: #153226;\n --color-tomato-25: snow;\n --color-tomato-50: #fff6f5;\n --color-tomato-100: #fff1f0;\n --color-tomato-200: #ffe4e0;\n --color-tomato-300: #fdd8d3;\n --color-tomato-400: #fac6bd;\n --color-tomato-500: #f3aea0;\n --color-tomato-600: #ea9280;\n --color-tomato-700: #e54d2e;\n --color-tomato-800: #db4224;\n --color-tomato-900: #cc3314;\n --color-tomato-1000: #361811;\n --color-crimson-25: #fffafc;\n --color-crimson-50: #fff5fa;\n --color-crimson-100: #fef1f7;\n --color-crimson-200: #fce4ef;\n --color-crimson-300: #f9d7e6;\n --color-crimson-400: #f4c7dc;\n --color-crimson-500: #edabc7;\n --color-crimson-600: #e58fb2;\n --color-crimson-700: #ea3e83;\n --color-crimson-800: #e13378;\n --color-crimson-900: #d21e66;\n --color-crimson-1000: #3f0d1e;\n --color-pink-25: #fffafd;\n --color-pink-50: #fff5fb;\n --color-pink-100: #feecf7;\n --color-pink-200: #fce4f3;\n --color-pink-300: #f9d7eb;\n --color-pink-400: #f3c4e1;\n --color-pink-500: #ecacd3;\n --color-pink-600: #e28dc2;\n --color-pink-700: #d742a0;\n --color-pink-800: #d23297;\n --color-pink-900: #cd1d8d;\n --color-pink-1000: #3d0a2b;\n --color-plum-25: #fdfaff;\n --color-plum-50: #fffaff;\n --color-plum-100: #fceefc;\n --color-plum-200: #f9e6f9;\n --color-plum-300: #f3d7f4;\n --color-plum-400: #ecc9ee;\n --color-plum-500: #dfb0e3;\n --color-plum-600: #cf92d9;\n --color-plum-700: #ab4aba;\n --color-plum-800: #a43cb4;\n --color-plum-900: #9a2bab;\n --color-plum-1000: #340c3b;\n --color-purple-25: #fefbfe;\n --color-purple-50: #fdfaff;\n --color-purple-100: #f9f1fe;\n --color-purple-200: #f4e8fc;\n --color-purple-300: #eddcf9;\n --color-purple-400: #e4cdf4;\n --color-purple-500: #d4b5ed;\n --color-purple-600: #bf95e4;\n --color-purple-700: #8e4ec6;\n --color-purple-800: #8344bb;\n --color-purple-900: #793bb0;\n --color-purple-1000: #2b0e44;\n --color-violet-25: #fcfbfe;\n --color-violet-50: #fbfaff;\n --color-violet-100: #f3f0ff;\n --color-violet-200: #ebe7fe;\n --color-violet-300: #e4defc;\n --color-violet-400: #d5cdf9;\n --color-violet-500: #c5b9f3;\n --color-violet-600: #a898ec;\n --color-violet-700: #6d54cf;\n --color-violet-800: #634ec1;\n --color-violet-900: #5746af;\n --color-violet-1000: #1f1249;\n --color-indigo-25: #fcfcfd;\n --color-indigo-50: #fafbff;\n --color-indigo-100: #f0f4ff;\n --color-indigo-200: #e7edfe;\n --color-indigo-300: #d9e2fc;\n --color-indigo-400: #c8d5f9;\n --color-indigo-500: #adbff5;\n --color-indigo-600: #8fa6ef;\n --color-indigo-700: #3c61dd;\n --color-indigo-800: #385bcc;\n --color-indigo-900: #3451b2;\n --color-indigo-1000: #101d47;\n --color-cyan-25: #fbfdfe;\n --color-cyan-50: #f2fcfd;\n --color-cyan-100: #e9f9fb;\n --color-cyan-200: #daf4f7;\n --color-cyan-300: #c3e9ef;\n --color-cyan-400: #a8dee6;\n --color-cyan-500: #85cedb;\n --color-cyan-600: #3fb9cf;\n --color-cyan-700: #05a2c2;\n --color-cyan-800: #0895b4;\n --color-cyan-900: #0c7792;\n --color-cyan-1000: #04323e;\n --color-teal-25: #fbfefd;\n --color-teal-50: #f2fcfa;\n --color-teal-100: #e7f9f5;\n --color-teal-200: #d8f3ed;\n --color-teal-300: #c7ebe5;\n --color-teal-400: #afdfd7;\n --color-teal-500: #8dcec3;\n --color-teal-600: #55b9ac;\n --color-teal-700: #12a594;\n --color-teal-800: #0e9a8a;\n --color-teal-900: #067a6e;\n --color-teal-1000: #11322d;\n --color-grass-25: #fbfefb;\n --color-grass-50: #f3fcf3;\n --color-grass-100: #ebf9eb;\n --color-grass-200: #def2de;\n --color-grass-300: #cceacd;\n --color-grass-400: #b9dfbc;\n --color-grass-500: #96cf9b;\n --color-grass-600: #64b974;\n --color-grass-700: #45a557;\n --color-grass-800: #3d994f;\n --color-grass-900: #297a3a;\n --color-grass-1000: #1b311e;\n --color-brown-25: #fefcfb;\n --color-brown-50: #fcfaf7;\n --color-brown-100: #f9f2ec;\n --color-brown-200: #f4e8dc;\n --color-brown-300: #efddcd;\n --color-brown-400: #e8cdb5;\n --color-brown-500: #ddb997;\n --color-brown-600: #d09e71;\n --color-brown-700: #ad7f58;\n --color-brown-800: #a27653;\n --color-brown-900: #886349;\n --color-brown-1000: #3f2c22;\n --color-orange-25: #fefcfb;\n --color-orange-50: #fef9f6;\n --color-orange-100: #fff0e5;\n --color-orange-200: #ffe8d6;\n --color-orange-300: #ffdbc2;\n --color-orange-400: #ffcca8;\n --color-orange-500: #ffb280;\n --color-orange-600: #fa924c;\n --color-orange-700: #f76808;\n --color-orange-800: #eb5e00;\n --color-orange-900: #bd4b00;\n --color-orange-1000: #451e11;\n --color-sky-25: #fafeff;\n --color-sky-50: #f0fcff;\n --color-sky-100: #e5f9ff;\n --color-sky-200: #d3f3fd;\n --color-sky-300: #c3ecf9;\n --color-sky-400: #a2def1;\n --color-sky-500: #7bd0ea;\n --color-sky-600: #2ebee5;\n --color-sky-700: #68ddfd;\n --color-sky-800: #5dd3f4;\n --color-sky-900: #007aa3;\n --color-sky-1000: #003242;\n --color-mint-25: #fbfefe;\n --color-mint-50: #f1fefa;\n --color-mint-100: #e0fbf3;\n --color-mint-200: #d4f7ee;\n --color-mint-300: #c2efe4;\n --color-mint-400: #a5e4d4;\n --color-mint-500: #7dd4bf;\n --color-mint-600: #40c4aa;\n --color-mint-700: #70e1c8;\n --color-mint-800: #68d9c1;\n --color-mint-900: #147b6d;\n --color-mint-1000: #09342e;\n --color-lime-25: #fdfefb;\n --color-lime-50: #f6fcee;\n --color-lime-100: #eefadb;\n --color-lime-200: #e3f7c5;\n --color-lime-300: #d7f2b0;\n --color-lime-400: #cae996;\n --color-lime-500: #b1d16b;\n --color-lime-600: #94ba2c;\n --color-lime-700: #99d52a;\n --color-lime-800: #93c926;\n --color-lime-900: #5d770d;\n --color-lime-1000: #273409;\n --color-yellow-25: #fcfcf7;\n --color-yellow-50: #fffce5;\n --color-yellow-100: #fffbd1;\n --color-yellow-200: #fff8bd;\n --color-yellow-300: #fef2a4;\n --color-yellow-400: #f9e78b;\n --color-yellow-500: #efd26c;\n --color-yellow-600: #f5d90a;\n --color-yellow-700: #ebbc00;\n --color-yellow-800: #f5cc00;\n --color-yellow-900: #946800;\n --color-yellow-1000: #34280f;\n --color-gold-25: #fdfdfc;\n --color-gold-50: #fbfaf3;\n --color-gold-100: #f6f3ea;\n --color-gold-200: #eeeadd;\n --color-gold-300: #e6e0d1;\n --color-gold-400: #dad1be;\n --color-gold-500: #cbbda4;\n --color-gold-600: #b8a384;\n --color-gold-700: #968264;\n --color-gold-800: #8d7a5e;\n --color-gold-900: #776750;\n --color-gold-1000: #3b352b;\n --color-bronze-25: #fdfcfc;\n --color-bronze-50: #fdf8f7;\n --color-bronze-100: #f8f0ed;\n --color-bronze-200: #f2e8e3;\n --color-bronze-300: #eaddd7;\n --color-bronze-400: #e0cec7;\n --color-bronze-500: #d0b8af;\n --color-bronze-600: #be9f93;\n --color-bronze-700: #a18072;\n --color-bronze-800: #967669;\n --color-bronze-900: #846358;\n --color-bronze-1000: #44312c;\n}\n\n.dark-theme {\n --color-white: #121212;\n --color-black: #fff;\n --color-gray-25: #171717;\n --color-gray-50: #1c1c1c;\n --color-gray-100: #242424;\n --color-gray-200: #292929;\n --color-gray-300: #2e2e2e;\n --color-gray-400: #333;\n --color-gray-500: #3d3d3d;\n --color-gray-600: #4f4f4f;\n --color-gray-700: #707070;\n --color-gray-800: #7d7d7d;\n --color-gray-900: #a1a1a1;\n --color-gray-1000: #ededed;\n --color-blue-25: #0f161f;\n --color-blue-50: #0f1c2e;\n --color-blue-100: #10233d;\n --color-blue-200: #102a4c;\n --color-blue-300: #0f2f57;\n --color-blue-400: #0d3868;\n --color-blue-500: #0a4380;\n --color-blue-600: #0954a5;\n --color-blue-700: #0091ff;\n --color-blue-800: #389fff;\n --color-blue-900: #52a8ff;\n --color-blue-1000: #ebf6ff;\n --color-red-25: #201315;\n --color-red-50: #291415;\n --color-red-100: #3a1719;\n --color-red-200: #471a1d;\n --color-red-300: #551b1f;\n --color-red-400: #671e21;\n --color-red-500: #832126;\n --color-red-600: #a82428;\n --color-red-700: #e5484d;\n --color-red-800: #f2545a;\n --color-red-900: #ff6166;\n --color-red-1000: #feecee;\n --color-amber-25: #1f1300;\n --color-amber-50: #291800;\n --color-amber-100: #331b00;\n --color-amber-200: #3d2100;\n --color-amber-300: #4d2a00;\n --color-amber-400: #573300;\n --color-amber-500: #6b4105;\n --color-amber-600: #804d00;\n --color-amber-700: #ffb224;\n --color-amber-800: #ffbb3d;\n --color-amber-900: #ffc457;\n --color-amber-1000: #fef3dc;\n --color-green-25: #0c1811;\n --color-green-50: #0b1d16;\n --color-green-100: #0f291e;\n --color-green-200: #113123;\n --color-green-300: #133929;\n --color-green-400: #164531;\n --color-green-500: #1b553b;\n --color-green-600: #226d49;\n --color-green-700: #30a66d;\n --color-green-800: #3caf77;\n --color-green-900: #4bc389;\n --color-green-1000: #e5fbea;\n --color-tomato-25: #1c1412;\n --color-tomato-50: #29130f;\n --color-tomato-100: #3a1713;\n --color-tomato-200: #481a14;\n --color-tomato-300: #561d15;\n --color-tomato-400: #642016;\n --color-tomato-500: #7f2315;\n --color-tomato-600: #a52b12;\n --color-tomato-700: #e54d2e;\n --color-tomato-800: #ec5d41;\n --color-tomato-900: #f16b50;\n --color-tomato-1000: #feefec;\n --color-crimson-25: #1e1519;\n --color-crimson-50: #28151d;\n --color-crimson-100: #3a1726;\n --color-crimson-200: #471a2d;\n --color-crimson-300: #551b33;\n --color-crimson-400: #631d3a;\n --color-crimson-500: #811d45;\n --color-crimson-600: #ae1955;\n --color-crimson-700: #ea3e83;\n --color-crimson-800: #f05189;\n --color-crimson-900: #f75f8f;\n --color-crimson-1000: #feecf4;\n --color-pink-25: #20131c;\n --color-pink-50: #281522;\n --color-pink-100: #3a182f;\n --color-pink-200: #461b38;\n --color-pink-300: #501b3f;\n --color-pink-400: #621d4a;\n --color-pink-500: #7c1d5b;\n --color-pink-600: #a51871;\n --color-pink-700: #d742a0;\n --color-pink-800: #e34aa8;\n --color-pink-900: #f65ab5;\n --color-pink-1000: #feecf7;\n --color-plum-25: #1c121c;\n --color-plum-50: #241424;\n --color-plum-100: #331a33;\n --color-plum-200: #3e1c3f;\n --color-plum-300: #48214a;\n --color-plum-400: #552659;\n --color-plum-500: #6b2e70;\n --color-plum-600: #883894;\n --color-plum-700: #ab4aba;\n --color-plum-800: #bc53c6;\n --color-plum-900: #d864d8;\n --color-plum-1000: #fbedfc;\n --color-purple-25: #1c151e;\n --color-purple-50: #231528;\n --color-purple-100: #2e1938;\n --color-purple-200: #3a1e48;\n --color-purple-300: #422154;\n --color-purple-400: #4f2768;\n --color-purple-500: #5f2e85;\n --color-purple-600: #7938b2;\n --color-purple-700: #8e4ec6;\n --color-purple-800: #9c5bd2;\n --color-purple-900: #bf7af0;\n --color-purple-1000: #f8edfc;\n --color-violet-25: #17151e;\n --color-violet-50: #1c172b;\n --color-violet-100: #241d3e;\n --color-violet-200: #2b224f;\n --color-violet-300: #32265e;\n --color-violet-400: #392c72;\n --color-violet-500: #443592;\n --color-violet-600: #5741c3;\n --color-violet-700: #6d54cf;\n --color-violet-800: #7b65dc;\n --color-violet-900: #9f8dfc;\n --color-violet-1000: #efecfe;\n --color-indigo-25: #131620;\n --color-indigo-50: #15192d;\n --color-indigo-100: #18203e;\n --color-indigo-200: #1c274f;\n --color-indigo-300: #1f2c5c;\n --color-indigo-400: #22336d;\n --color-indigo-500: #273f8b;\n --color-indigo-600: #2f4db1;\n --color-indigo-700: #3c61dd;\n --color-indigo-800: #5474e8;\n --color-indigo-900: #859dff;\n --color-indigo-1000: #edf0fd;\n --color-cyan-25: #07191d;\n --color-cyan-50: #061d23;\n --color-cyan-100: #072931;\n --color-cyan-200: #07303b;\n --color-cyan-300: #073945;\n --color-cyan-400: #064251;\n --color-cyan-500: #044f62;\n --color-cyan-600: #006680;\n --color-cyan-700: #05a2c2;\n --color-cyan-800: #00b1cc;\n --color-cyan-900: #00c1d6;\n --color-cyan-1000: #e0f8fa;\n --color-teal-25: #091a16;\n --color-teal-50: #04201b;\n --color-teal-100: #062822;\n --color-teal-200: #07312b;\n --color-teal-300: #083a33;\n --color-teal-400: #09443c;\n --color-teal-500: #0b564c;\n --color-teal-600: #0c6e63;\n --color-teal-700: #12a594;\n --color-teal-800: #10b2a2;\n --color-teal-900: #0ac7b4;\n --color-teal-1000: #e0faf4;\n --color-grass-25: #0c1811;\n --color-grass-50: #0f1f13;\n --color-grass-100: #142a1a;\n --color-grass-200: #16311e;\n --color-grass-300: #193921;\n --color-grass-400: #1d4427;\n --color-grass-500: #255631;\n --color-grass-600: #2f6f3b;\n --color-grass-700: #45a557;\n --color-grass-800: #55b466;\n --color-grass-900: #62c073;\n --color-grass-1000: #e5fbea;\n --color-brown-25: #1a1614;\n --color-brown-50: #211712;\n --color-brown-100: #2e201a;\n --color-brown-200: #35251d;\n --color-brown-300: #3f2c22;\n --color-brown-400: #483528;\n --color-brown-500: #5d4332;\n --color-brown-600: #775940;\n --color-brown-700: #ad7f58;\n --color-brown-800: #bd8c61;\n --color-brown-900: #dba270;\n --color-brown-1000: #faf0e5;\n --color-orange-25: #1e1106;\n --color-orange-50: #291300;\n --color-orange-100: #3a1b03;\n --color-orange-200: #431e04;\n --color-orange-300: #4d2205;\n --color-orange-400: #602a06;\n --color-orange-500: #763205;\n --color-orange-600: #943e00;\n --color-orange-700: #f76808;\n --color-orange-800: #ff7e29;\n --color-orange-900: #ff8b3d;\n --color-orange-1000: #feeadc;\n --color-sky-25: #0d1921;\n --color-sky-50: #071e2c;\n --color-sky-100: #082535;\n --color-sky-200: #082c40;\n --color-sky-300: #08344a;\n --color-sky-400: #083e59;\n --color-sky-500: #064a6a;\n --color-sky-600: #005d85;\n --color-sky-700: #68ddfd;\n --color-sky-800: #8ae8ff;\n --color-sky-900: #2fc8ee;\n --color-sky-1000: #ebf8ff;\n --color-mint-25: #071715;\n --color-mint-50: #051f1d;\n --color-mint-100: #052926;\n --color-mint-200: #042f2a;\n --color-mint-300: #033a34;\n --color-mint-400: #01463e;\n --color-mint-500: #00574b;\n --color-mint-600: #006b59;\n --color-mint-700: #70e1c8;\n --color-mint-800: #95f3d9;\n --color-mint-900: #25d0ab;\n --color-mint-1000: #e8fcf8;\n --color-lime-25: #141807;\n --color-lime-50: #171c08;\n --color-lime-100: #1e260d;\n --color-lime-200: #252e0f;\n --color-lime-300: #2b3711;\n --color-lime-400: #354314;\n --color-lime-500: #405115;\n --color-lime-600: #546916;\n --color-lime-700: #99d52a;\n --color-lime-800: #c4f042;\n --color-lime-900: #88bf22;\n --color-lime-1000: #f0fbdf;\n --color-yellow-25: #1a1300;\n --color-yellow-50: #241b00;\n --color-yellow-100: #2e2200;\n --color-yellow-200: #332600;\n --color-yellow-300: #3d2f00;\n --color-yellow-400: #473a00;\n --color-yellow-500: #574805;\n --color-yellow-600: #705e00;\n --color-yellow-700: #f5d90a;\n --color-yellow-800: #ffef5c;\n --color-yellow-900: #f0c000;\n --color-yellow-1000: #fffad1;\n --color-gold-25: #161512;\n --color-gold-50: #1d1b16;\n --color-gold-100: #26231c;\n --color-gold-200: #2c2920;\n --color-gold-300: #353027;\n --color-gold-400: #3f392c;\n --color-gold-500: #4f4636;\n --color-gold-600: #6b5d47;\n --color-gold-700: #968264;\n --color-gold-800: #a59173;\n --color-gold-900: #bfa888;\n --color-gold-1000: #f7f5e8;\n --color-bronze-25: #191514;\n --color-bronze-50: #201a18;\n --color-bronze-100: #29201e;\n --color-bronze-200: #332824;\n --color-bronze-300: #3c2f2a;\n --color-bronze-400: #453530;\n --color-bronze-500: #57443d;\n --color-bronze-600: #74594e;\n --color-bronze-700: #a18072;\n --color-bronze-800: #b08c7d;\n --color-bronze-900: #cca494;\n --color-bronze-1000: #f9ede7;\n}\n\n.inter {\n font-family: Inter, sans-serif;\n}\n\n@supports (font-variation-settings: normal) {\n .inter {\n font-family: Inter var, sans-serif;\n }\n}\n\n.pulse-red-700 {\n animation: 2s infinite pulse-red-700;\n transform: scale(1);\n box-shadow: 0 0 #e5484d;\n}\n\n@keyframes pulse-red-700 {\n 0% {\n transform: scale(.95);\n box-shadow: 0 0 #e5484db3;\n }\n\n 70% {\n transform: scale(1);\n box-shadow: 0 0 0 6px #e5484d00;\n }\n\n to {\n transform: scale(.95);\n box-shadow: 0 0 #e5484d00;\n }\n}\n\n@keyframes enter {\n 0% {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n\n@keyframes exit {\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateX(0);\n}\n\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateY(0);\n}\n\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateZ(0);\n}\n\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n initial-value: skewX(0);\n}\n\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n initial-value: skewY(0);\n}\n\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-divide-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n\n@property --tw-divide-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-leading {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0;\n}\n\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n\n@property --tw-blur {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-invert {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-duration {\n syntax: \"*\";\n inherits: false\n}\n\n@property --tw-ease {\n syntax: \"*\";\n inherits: false\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n\n@keyframes accordion-down {\n 0% {\n height: 0;\n }\n\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n\n@keyframes accordion-up {\n 0% {\n height: var(--radix-accordion-content-height);\n }\n\n to {\n height: 0;\n }\n}\n\n@keyframes flash {\n 0% {\n opacity: .9;\n }\n\n to {\n opacity: 0;\n }\n}\n";
|
|
16020
15854
|
|
|
16021
15855
|
|
|
16022
15856
|
const $24075a5d702d64b3$var$browser = (0, $3Sbms$bowser).parse(window.navigator.userAgent);
|