@tern-secure/auth 1.1.0-canary.v20251205154353 → 1.1.0-canary.v20251205173403

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.
Files changed (25) hide show
  1. package/dist/signin_ternsecure_f8e824_1.1.0-canary.v20251205173403.css +2 -0
  2. package/dist/signup_ternsecure_f8e824_1.1.0-canary.v20251205173403.css +2 -0
  3. package/dist/ternsecure.browser.js +2 -2
  4. package/dist/ternsecure.css +1 -1
  5. package/dist/ternsecure.js +2 -2
  6. package/dist/ternsecure.mjs +2 -2
  7. package/dist/types/resources/SignIn.d.ts +1 -5
  8. package/dist/types/ui/components/sign-in/SignInSocialButtons.d.ts +1 -1
  9. package/dist/types/ui/components/sign-up/SignUpSocialButtons.d.ts +1 -1
  10. package/dist/types/ui/elements/SocialButtons.d.ts +4 -2
  11. package/dist/ui-common_ternsecure_f8e824_1.1.0-canary.v20251205173403.js +1 -0
  12. package/dist/userbutton_ternsecure_f8e824_1.1.0-canary.v20251205173403.css +2 -0
  13. package/package.json +3 -3
  14. package/dist/signin_ternsecure_65c840_1.1.0-canary.v20251205154353.css +0 -2
  15. package/dist/signup_ternsecure_65c840_1.1.0-canary.v20251205154353.css +0 -2
  16. package/dist/ui-common_ternsecure_65c840_1.1.0-canary.v20251205154353.js +0 -1
  17. package/dist/userbutton_ternsecure_65c840_1.1.0-canary.v20251205154353.css +0 -2
  18. /package/dist/{492_ternsecure_65c840_1.1.0-canary.v20251205154353.js → 492_ternsecure_f8e824_1.1.0-canary.v20251205173403.js} +0 -0
  19. /package/dist/{687_ternsecure_65c840_1.1.0-canary.v20251205154353.js → 687_ternsecure_f8e824_1.1.0-canary.v20251205173403.js} +0 -0
  20. /package/dist/{68_ternsecure_65c840_1.1.0-canary.v20251205154353.js → 68_ternsecure_f8e824_1.1.0-canary.v20251205173403.js} +0 -0
  21. /package/dist/{framework_ternsecure_65c840_1.1.0-canary.v20251205154353.js → framework_ternsecure_f8e824_1.1.0-canary.v20251205173403.js} +0 -0
  22. /package/dist/{signin_ternsecure_65c840_1.1.0-canary.v20251205154353.js → signin_ternsecure_f8e824_1.1.0-canary.v20251205173403.js} +0 -0
  23. /package/dist/{signup_ternsecure_65c840_1.1.0-canary.v20251205154353.js → signup_ternsecure_f8e824_1.1.0-canary.v20251205173403.js} +0 -0
  24. /package/dist/{userbutton_ternsecure_65c840_1.1.0-canary.v20251205154353.js → userbutton_ternsecure_f8e824_1.1.0-canary.v20251205173403.js} +0 -0
  25. /package/dist/{vendors_ternsecure_65c840_1.1.0-canary.v20251205154353.js → vendors_ternsecure_f8e824_1.1.0-canary.v20251205173403.js} +0 -0
@@ -1,4 +1,4 @@
1
- import type { AttemptFirstFactorParams, SignInCreateParams, SignInFirstFactor, SignInJson, SignInPasswordParams, SignInPhoneParams, SignInResource, SignInResponse as SignInResponseFromTypes, SignInStatus, SignInVerificationResponse, SocialProviderOptions, TernSecureUser } from '@tern-secure/types';
1
+ import type { AttemptFirstFactorParams, SignInCreateParams, SignInFirstFactor, SignInJson, SignInPasswordParams, SignInPhoneParams, SignInResource, SignInResponse as SignInResponseFromTypes, SignInStatus, SignInVerificationResponse, SocialProviderOptions, SupportedProvider, TernSecureUser } from '@tern-secure/types';
2
2
  import type { ApplicationVerifier, Auth, UserCredential } from 'firebase/auth';
3
3
  import { TernSecureBase } from './Base';
4
4
  type SignInResponse = SignInResponseFromTypes;
@@ -7,10 +7,6 @@ export type SignInParams = {
7
7
  idToken: string;
8
8
  csrfToken: string | undefined;
9
9
  };
10
- /**
11
- * Supported OAuth providers
12
- */
13
- export type SupportedProvider = 'google' | 'apple' | 'microsoft' | 'github' | 'twitter' | 'facebook' | string;
14
10
  export declare class SignIn extends TernSecureBase implements SignInResource {
15
11
  pathRoot: string;
16
12
  pathSessionRoot: string;
@@ -1 +1 @@
1
- export declare const SignInSocialButtons: () => import("react/jsx-runtime").JSX.Element;
1
+ export declare const SignInSocialButtons: () => import("react/jsx-runtime").JSX.Element | null;
@@ -1 +1 @@
1
- export declare const SignUpSocialButtons: () => import("react/jsx-runtime").JSX.Element;
1
+ export declare const SignUpSocialButtons: () => import("react/jsx-runtime").JSX.Element | null;
@@ -1,6 +1,8 @@
1
+ import type { SocialProvider } from '@tern-secure/types';
1
2
  interface SocialButtonsProps {
2
- onProviderClick: (provider: string) => void;
3
+ onProviderClick: (provider: SocialProvider) => void;
3
4
  disabled?: boolean;
5
+ providers: SocialProvider[];
4
6
  }
5
- export declare const SocialButtons: ({ onProviderClick, disabled }: SocialButtonsProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const SocialButtons: ({ onProviderClick, disabled, providers }: SocialButtonsProps) => import("react/jsx-runtime").JSX.Element;
6
8
  export {};
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunk_tern_secure_auth=globalThis.webpackChunk_tern_secure_auth||[]).push([["666"],{9953:function(e,t,r){r.d(t,{T:()=>a});var n=r(4557);r(4105);let a=({id:e,className:t})=>{switch(e){case"google":return(0,n.jsxs)("svg",{className:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:[(0,n.jsx)("path",{d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z",fill:"#4285F4"}),(0,n.jsx)("path",{d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z",fill:"#34A853"}),(0,n.jsx)("path",{d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z",fill:"#FBBC05"}),(0,n.jsx)("path",{d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z",fill:"#EA4335"})]});case"github":return(0,n.jsx)("svg",{className:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,n.jsx)("path",{d:"M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"})});case"microsoft":return(0,n.jsxs)("svg",{className:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 23 23",fill:"currentColor",children:[(0,n.jsx)("path",{fill:"#f35325",d:"M1 1h10v10H1z"}),(0,n.jsx)("path",{fill:"#81bc06",d:"M12 1h10v10H12z"}),(0,n.jsx)("path",{fill:"#05a6f0",d:"M1 12h10v10H1z"}),(0,n.jsx)("path",{fill:"#ffba08",d:"M12 12h10v10H12z"})]});case"apple":return(0,n.jsx)("svg",{className:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,n.jsx)("path",{d:"M17.05 20.28c-.98.95-2.05.88-3.08.4-1.09-.5-2.08-.48-3.24.02-1.44.62-2.2.44-3.06-.4C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.74 1.18 0 2.45-1.62 4.37-1.62 1.71.12 2.7.84 3.4 1.84-3.18 1.62-2.67 5.86.34 7.1-.68 1.75-1.6 3.47-3.19 4.91zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z"})});case"facebook":return(0,n.jsx)("svg",{className:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,n.jsx)("path",{d:"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z",fill:"#1877F2"})});case"twitter":return(0,n.jsx)("svg",{className:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,n.jsx)("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})});default:return null}}},2648:function(e,t,r){r.d(t,{_:()=>l});var n=r(4557),a=r(4853),s=r(6147),i=r(384);let l=e=>{let{navigate:t}=(0,i.rd)(),r=(0,s.f0)();return(0,n.jsx)("div",{className:"tern:relative tern:flex tern:justify-center tern:p-6 tern:md:p-10",children:(0,n.jsx)("div",{className:"tern:w-full tern:max-w-sm",children:(0,n.jsxs)(s.Zp,{className:(0,a.cn)("tern:mt-8 tern:w-full tern:max-w-md"),children:[(0,n.jsxs)(s.aR,{className:"tern:space-y-1 tern:text-center",children:[(0,n.jsx)(s.ZB,{children:"Verify your email"}),(0,n.jsx)(s.BT,{className:(0,a.cn)("tern:text-muted-foreground"),children:e.emailSent?"We've sent a verification link to your email address. Please check your inbox and click the link to continue.":"Sending verification email..."})]}),(0,n.jsxs)(s.Wu,{className:"tern:space-y-4",children:[r.error&&(0,n.jsx)(s.Fc,{variant:"destructive",className:"tern:animate-in tern:fade-in-50",children:(0,n.jsx)(s.TN,{children:r.error.message})}),e.emailSent&&e.onResend&&(0,n.jsxs)("div",{className:"tern:space-y-2",children:[(0,n.jsx)(s.Fc,{children:(0,n.jsx)(s.TN,{children:"Didn't receive the email? Check your spam folder or click the button below to resend."})}),(0,n.jsx)(s.MS,{onClick:()=>void e.onResend?.(),disabled:e.isLoading,variant:"outline",className:"tern:w-full",startDisabled:!0,throttleTimeInSec:60,children:e.isLoading?"Sending...":"Resend verification email"})]})]}),(0,n.jsx)(s.ry,{className:"tern:text-center",children:(0,n.jsx)("a",{onClick:()=>void t("../"),children:"Go back"})})]})})})}},1687:function(e,t,r){r.r(t),r.d(t,{PasswordResetSuccess:()=>f,PasswordReset:()=>h,SignIn:()=>q,SignInModal:()=>B}),r(4518);var n=r(4557),a=r(802),s=r(4105),i=r(5197),l=r(5977),o=r(384),c=r(4853),d=r(6147);function u(){let e=(0,l.o1)(),t=(0,d.f0)(),{navigate:r}=(0,o.rd)(),a=(0,d.T3)({defaultValues:{email:""},validators:{onSubmitAsync:async({value:n})=>{try{await e?.sendPasswordResetEmail(n.email),r("../reset-password-success")}catch(e){throw t.setError({status:"error",name:"ResetPasswordError",message:e.message||"Failed to send reset email",error:e}),e}}}});return(0,n.jsx)("div",{className:"tern:relative tern:flex tern:justify-center tern:p-6 tern:md:p-10",children:(0,n.jsxs)(d.Zp,{className:(0,c.cn)("tern:mt-8 tern:w-full tern:max-w-md"),children:[(0,n.jsxs)(d.aR,{className:"tern:space-y-1",children:[(0,n.jsx)(d.ZB,{children:"Reset Password"}),(0,n.jsx)(d.BT,{children:"Enter your email address and we'll send you a link to reset your password"})]}),(0,n.jsxs)(d.Wu,{children:[t.error&&(0,n.jsx)(d.Fc,{variant:"destructive",className:"tern:animate-in tern:fade-in-50 tern:mb-4",children:(0,n.jsx)(d.TN,{children:t.error.message})}),(0,n.jsx)("form",{onSubmit:e=>{e.preventDefault(),e.stopPropagation(),a.handleSubmit()},children:(0,n.jsxs)(d.M_,{children:[(0,n.jsx)(a.AppField,{name:"email",children:e=>(0,n.jsx)(e.TernEmailField,{label:"Email",placeholder:"Enter your email",disabled:a.state.isSubmitting,required:!0})}),(0,n.jsxs)("div",{className:"tern:flex tern:gap-3",children:[(0,n.jsx)(d.$n,{type:"submit",disabled:!a.state.canSubmit||a.state.isSubmitting,className:"tern:flex-1",children:a.state.isSubmitting?"Sending...":"Send Reset Link"}),(0,n.jsx)(d.$n,{type:"button",variant:"outline",onClick:()=>{r("../")},disabled:a.state.isSubmitting,className:"tern:flex-1",children:"Cancel"})]})]})})]})]})})}let h=()=>(0,n.jsx)(d.pe,{children:(0,n.jsx)(u,{})});var m=r(3873);function f(){let{navigate:e}=(0,o.rd)();return(0,n.jsx)("div",{className:"tern:relative tern:flex tern:items-center tern:justify-center",children:(0,n.jsxs)(d.Zp,{className:(0,c.cn)("tern:w-full tern:max-w-md tern:mx-auto tern:mt-8"),children:[(0,n.jsxs)(d.aR,{className:"tern:space-y-1 tern:text-center",children:[(0,n.jsx)("div",{className:"tern:w-12 tern:h-12 tern:mx-auto tern:bg-green-500 tern:rounded-full tern:flex tern:items-center tern:justify-center tern:text-white",children:(0,n.jsx)(m.Jl,{className:"tern:w-6 tern:h-6"})}),(0,n.jsx)(d.ZB,{className:"tern:font-bold",children:"Check your email"}),(0,n.jsx)(d.BT,{className:"tern:text-muted-foreground",children:"Password reset instructions sent"})]}),(0,n.jsx)(d.Wu,{className:"tern:space-y-4",children:(0,n.jsx)(d.$n,{onClick:()=>e("../"),className:"tern:w-full",children:"Back to sign in"})})]})})}var p=r(6282),x=r(4904),g=r(3777);let v={password:""},j=e=>{let t=(0,d.f0)(),{signInWithPassword:r,onForgotPassword:a}=e,s=(0,d.T3)({defaultValues:v,validators:{onSubmitAsync:({value:e})=>r?.(e.password)}});return(0,n.jsx)("div",{className:"tern:relative tern:flex tern:justify-center tern:p-6 tern:md:p-10",children:(0,n.jsx)("div",{className:"tern:w-full tern:max-w-sm",children:(0,n.jsxs)(d.Zp,{className:(0,c.cn)("tern:mt-8 tern:w-full tern:max-w-md"),children:[(0,n.jsxs)(d.aR,{className:"tern:space-y-1 tern:text-center",children:[(0,n.jsx)(d.ZB,{className:(0,c.cn)("tern:font-bold"),children:"Enter your password"}),(0,n.jsx)(d.BT,{className:(0,c.cn)("tern:text-muted-foreground"),children:"Enter the password for your account to continue"})]}),(0,n.jsxs)(d.Wu,{className:"tern:space-y-4",children:[t.error&&(0,n.jsx)(d.Fc,{variant:"destructive",className:"tern:animate-in tern:fade-in-50",children:(0,n.jsx)(d.TN,{children:t.error.message})}),(0,n.jsx)(d.M_,{children:(0,n.jsx)("form",{onSubmit:e=>{e.preventDefault(),e.stopPropagation(),s.handleSubmit()},className:"tern:flex tern:flex-col tern:gap-4",children:(0,n.jsx)(s.Subscribe,{selector:e=>[e.canSubmit,e.isSubmitting],children:([e,r])=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.AppField,{name:"password",children:e=>(0,n.jsx)(e.TernPasswordField,{label:"Password",placeholder:"Enter your password",disabled:r||t.isLoading,required:!0,onForgotPassword:a})}),(0,n.jsx)(g.pr,{canSubmit:e,isSubmitting:r,submitText:"Continue",submittingText:"Signing in..."})]})})})})]})]})})})},b=e=>{let t=(0,d.f0)(),r=(0,d.xM)({onCodeEntryFinished:(t,r,n)=>{e.onCodeEntryFinishedAction(t,r,n)},onResendCodeClicked:e.onResendCodeClicked});return(0,n.jsx)("div",{className:"tern:relative tern:flex tern:justify-center tern:p-6 tern:md:p-10",children:(0,n.jsx)("div",{className:"tern:w-full tern:max-w-sm",children:(0,n.jsxs)(d.Zp,{className:(0,c.cn)("tern:mt-8 tern:w-full tern:max-w-md"),children:[(0,n.jsxs)(d.aR,{className:"tern:space-y-1 tern:text-center",children:[(0,n.jsx)(d.ZB,{children:e.cardTitle}),(0,n.jsx)(d.BT,{children:e.cardDescription})]}),(0,n.jsxs)(d.Wu,{className:"tern:space-y-4",children:[t.error&&(0,n.jsx)(d.Fc,{variant:"destructive",children:(0,n.jsx)(d.TN,{children:t.error.message})}),(0,n.jsx)(w,{...r,label:e.inputLabel,onResendCode:r.onResendCode}),(0,n.jsx)(d.$n,{disabled:r.isLoading,onClick:r.onFakeContinue,children:e.submitButtonText})]})]})})})},w=e=>{let{otpControl:t,label:r,resendButton:a,description:s,isLoading:i,isDisabled:l,onResendCode:o,centerAlign:c}=e,{ref:u,...h}=t.otpInputProps,{values:m,setValues:f,clearFeedback:p,feedback:x,feedbackType:g,...v}=h;return(0,n.jsx)(d.D0,{...v,children:(0,n.jsxs)(d.oA,{label:r,resendButton:a,description:s,isLoading:i,isDisabled:l,onResendCode:o,otpControl:t,centerAlign:c,children:[(0,n.jsx)(d.iG,{ref:u}),(0,n.jsx)(d.Ro,{})]})})},y=e=>{let t=(0,l.o1)(),r=(0,d.f0)(),{navigate:i}=(0,o.rd)(),{afterSignInUrl:c}=(0,l.r3)(),u=(0,a.qn)(),h=s.useRef(null),[m,f]=s.useState(null),[p,x]=s.useState(!1),g=s.useRef(!1),v=s.useCallback(async e=>{if(!t?.identifier)return;let n=await t.authenticateWithPhoneNumber({phoneNumber:t.identifier,appVerifier:e});"error"===n.status&&r.setError({status:"error",message:n.message,error:n.error})},[t,r]),j=s.useCallback(async()=>{if("phone_code"===e.factor.strategy&&t&&h.current&&!m&&!p&&!g.current){g.current=!0,x(!0);try{let e=h.current;e.id||(e.id="recaptcha-container");let r=t.createRecaptchaVerifier(e,{size:"invisible",callback:e=>{},"expired-callback":()=>{f(null),x(!1),g.current=!1}});f(r),await v(r)}catch(e){r.setError({status:"error",message:"Failed to initialize security verification",error:e}),x(!1),g.current=!1}}},[e.factor.strategy,t,m,p,v,r]);return s.useEffect(()=>{j()},[j]),(0,n.jsxs)(n.Fragment,{children:["phone_code"===e.factor.strategy&&(0,n.jsx)("div",{ref:h,id:"recaptcha-container",style:{minHeight:"78px",display:"flex",justifyContent:"center",alignItems:"center",width:"100%"}}),(0,n.jsx)(b,{cardTitle:"Enter Code",cardDescription:`Please enter the code sent to your ${"phone_code"===e.factor.strategy?"phone":"email"}.`,onCodeEntryFinishedAction:(r,n,a)=>{(async()=>{try{let s;"phone_code"===e.factor.strategy&&(s=await t?.attemptPhoneNumberVerification({code:r})),s?.status==="success"?(await n(),t?.user&&await u.createActiveSession({session:t.user,redirectUrl:c})):await a(Error("Verification failed"))}catch(e){await a(e)}})()},onResendCodeClicked:r=>{r.preventDefault(),(async()=>{"phone_code"===e.factor.strategy&&t?.identifier&&m&&await v(m)})()},onBackLinkClicked:()=>{i("../")},inputLabel:"SignIn PhoneCode",submitButtonText:"Continue"})]})},N=e=>(0,n.jsx)(y,{...e}),S=(0,d.dm)(function(){let e=(0,l.o1)(),t=(0,a.qn)(),r=t.requiresVerification,i=(0,d.f0)(),c=(0,o.rd)(),{navigate:u}=c,{afterSignInUrl:h}=(0,p.r)(),[m,f]=s.useState(null),g=(0,x.u)(m,e?.supportedFirstFactors);s.useEffect(()=>{(e?.status==="needs_identifier"||e?.status===null)&&c.navigate("../")},[e?.status,c]);let v=async n=>{if(!e?.identifier)return void i.setError({status:"error",message:"Identifier is missing"});let a=await e?.authenticateWithPassword({email:e.identifier,password:n});if(a?.status==="error"&&i.setError({status:"error",message:a.message,error:a.error}),a?.status==="success"){if(r&&!a.user.emailVerified)return void u("../verify-email-address");await t.createActiveSession({session:a.user,redirectUrl:h})}};if(!g&&e?.status)return(0,n.jsx)(d.Jr,{});if(!g)return(0,n.jsx)(d.B0,{});switch(g?.strategy){case"password":return(0,n.jsx)(j,{signInWithPassword:v,onForgotPassword:()=>{u("../reset-password")}});case"phone_code":return(0,n.jsx)(N,{factor:{...g}});default:return(0,n.jsx)(d.B0,{})}});var E=r(5305);r(9953);let P=e=>{let{isExternal:t,children:r,href:a,onClick:s,...i}=e,l=s?e=>{a||e.preventDefault(),s(e)}:void 0;return(0,n.jsx)("a",{...i,onClick:l,href:a||"",target:a&&t?"_blank":void 0,rel:a&&t?"noopener":void 0,children:r})},C=e=>{let{to:t,onClick:r,...a}=e,s=(0,o.rd)(),i=s.resolve(t||s.indexPath);return(0,n.jsx)(P,{...a,onClick:e=>(e.preventDefault(),r&&!t)?r(e):s.navigate(i.href),href:i.href})},k=()=>{let e=(0,l.o1)(),t=(0,a.qn)(),r=(0,d.f0)(),{afterSignInUrl:s,socialProviders:i}=(0,l.r3)(),o=(0,l.At)(),c=i||o.socialProviders||[],u=async n=>{let a=n.options||{mode:"popup"},i=await e?.authenticateWithSocialProvider(n.name,{mode:a.mode||"popup",customParameters:a.customParameters,scopes:a.scopes});i?.status==="error"&&r.setError({status:"error",message:i.message,error:i.error}),i?.status==="success"&&await t.createActiveSession({session:i.user,redirectUrl:s})};return 0===c.length?null:(0,n.jsx)(d.VR,{onProviderClick:e=>void u(e),disabled:r.isLoading,providers:c})},R={email:"",password:""},U=e=>{let{onError:t,isDisabled:r,signInWithPassword:a,onForgotPassword:s}=e,i=(0,d.T3)({defaultValues:R,validators:{onSubmitAsync:async({value:e})=>{try{a&&await a(e.email,e.password)}catch(e){throw t?.(e),e}}}});return(0,n.jsxs)(d.M_,{children:[(0,n.jsx)("form",{onSubmit:e=>{e.preventDefault(),e.stopPropagation(),i.handleSubmit()},className:"tern:flex tern:flex-col tern:gap-7",children:(0,n.jsx)(i.Subscribe,{selector:e=>[e.canSubmit,e.isSubmitting],children:([e,t])=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.AppField,{name:"email",children:e=>(0,n.jsx)(e.TernEmailField,{label:"Email",placeholder:"Enter your email",disabled:t||r,required:!0})}),(0,n.jsx)(i.AppField,{name:"password",children:e=>(0,n.jsx)(e.TernPasswordField,{label:"Password",placeholder:"Enter your password",disabled:t||r,required:!0,onForgotPassword:s})}),(0,n.jsx)(g.pr,{canSubmit:e,isSubmitting:t,submitText:"Sign In",submittingText:"Signing in..."}),(0,n.jsx)(d.KB,{children:"Or continue with"})]})})}),(0,n.jsx)(k,{})]})},A=({src:e,alt:t})=>(0,n.jsx)("div",{className:"tern:mb-4 tern:flex tern:justify-center",children:(0,n.jsx)("img",{src:e,alt:t,className:"tern:h-10 tern:w-auto"})}),F=(0,d.dm)(function(){let e=(0,l.o1)(),t=(0,a.qn)(),r=(0,l.At)(),{appName:i}=r,u=(0,p.r)(),h=r.signUpMode||"public",m=r.passwordAuthentication??!0,f=t.requiresVerification,x=(0,d.f0)(),{navigate:v}=(0,o.rd)(),{afterSignInUrl:j,signUpUrl:b,showCombinedForm:w,appearance:y}=u,N=u.preferredEmailStrategy||"password",S=(0,s.useMemo)(()=>["email_address","phone_number"],[]),P=y?.layout,R=P?.logoPlacement||"inside",F=P?.logoImageUrl,T=P?.socialButtonsPlacement||"bottom",I=u.initialValues?.phoneNumber!==void 0&&void 0===u.initialValues.emailAddress&&S.includes("phone_number"),[_,L]=(0,s.useState)(I?"phone_number":S[0]||""),M=u.initialValues||{},q=(0,s.useMemo)(()=>({email_address:M.emailAddress,email_address_username:M.emailAddress||M.username,username:M.username,phone_number:M.phoneNumber}),[M.emailAddress,M.phoneNumber,M.username]),{fieldName:B,label:$,placeholder:D}=(0,s.useMemo)(()=>"phone_number"===_?{fieldName:"phoneNumber",label:"Phone number",placeholder:"Enter your phone number"}:{fieldName:"email",label:"Email",placeholder:"Enter your email"},[_]),O=(u.socialProviders||r.socialProviders||[]).length>0,V=(0,s.useMemo)(()=>"phone_number"===_?"tel":"email",[_]),W=(0,s.useMemo)(()=>({[B]:q[_]||""}),[B,_,q[_]]),z=(0,d.T3)({defaultValues:W,validators:{onSubmitAsync:({value:e})=>H(e)}}),H=async r=>{try{let n,a,s=await e?.create((n=r.phoneNumber||r.email||r.identifier||"",a="phone_number"===_?"phone_code":"email_code",("phone_number"!==_&&"password"===N&&(a="password"),"password"===a)?{strategy:"password",identifier:n}:{strategy:a,identifier:n}));switch(s?.status){case"needs_first_factor":return v("factor-one");case"needs_email_verification":return v("verify-email-address");case"success":return t.createActiveSession({redirectUrl:j})}}catch(e){if(e instanceof E.yS){let t=e.errors[0];x.setError({status:"error",message:t?.message||e.message,error:t})}else x.setError({status:"error",message:"An unexpected error occurred.",error:e})}},Z=async(r,n)=>{let a=await e?.authenticateWithPassword({email:r,password:n});if(a?.status==="error"&&x.setError({status:"error",message:a.message,error:a.error}),a?.status==="success"){if(f&&a?.user.emailVerified===!1)return void v("verify-email-address");await t.createActiveSession({session:a.user,redirectUrl:j})}};return(0,n.jsx)("div",{className:"tern:relative tern:flex tern:justify-center tern:p-6 tern:md:p-10",children:(0,n.jsxs)("div",{className:"tern:w-full tern:max-w-sm",children:["outside"===R&&F&&(0,n.jsx)(A,{src:F,alt:i||"App Logo"}),(0,n.jsxs)(d.Zp,{className:(0,c.cn)("tern:mt-8 tern:w-full tern:max-w-md"),children:[(0,n.jsxs)(d.aR,{className:"tern:space-y-1 tern:text-center",children:["inside"===R&&F&&(0,n.jsx)(A,{src:F,alt:i||"App Logo"}),(0,n.jsx)(d.ZB,{className:(0,c.cn)("tern:font-bold"),children:i?`Sign in to ${i}`:"Sign in"}),(0,n.jsx)(d.BT,{className:(0,c.cn)("tern:text-muted-foreground"),children:"Please sign in to continue"})]}),(0,n.jsxs)(d.Wu,{className:"tern:space-y-4",children:[x.error&&(0,n.jsx)(d.Fc,{variant:"destructive",className:"tern:animate-in tern:fade-in-50",children:(0,n.jsx)(d.TN,{children:x.error.message})}),w?(0,n.jsxs)(d.M_,{children:["top"===T&&O&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(k,{}),m&&(0,n.jsx)(d.KB,{children:"Or continue with"})]}),m&&(0,n.jsx)("form",{onSubmit:e=>{e.preventDefault(),e.stopPropagation(),z.handleSubmit()},className:"tern:flex tern:flex-col tern:gap-7",children:(0,n.jsx)(z.Subscribe,{selector:e=>[e.canSubmit,e.isSubmitting],children:([e,t])=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(z.AppField,{name:B,children:e=>"tel"===V?(0,n.jsx)(e.TernTextField,{label:$,placeholder:D,disabled:t||x.isLoading,required:!0}):(0,n.jsx)(e.TernEmailField,{label:$,placeholder:D,disabled:t||x.isLoading,required:!0})}),(0,n.jsx)(g.pr,{canSubmit:e,isSubmitting:t,submitText:"Continue",submittingText:"Continuing..."}),"bottom"===T&&O&&(0,n.jsx)(d.KB,{children:"Or continue with"})]})})}),"bottom"===T&&O&&(0,n.jsx)(k,{})]}):m&&(0,n.jsx)(U,{signInWithPassword:Z,onError:e=>{x.setError(e)},isDisabled:x.isLoading,onForgotPassword:()=>{v("reset-password")}}),"public"===h&&(0,n.jsxs)(d.ry,{className:"tern:text-center",children:["Don't have an account? ",(0,n.jsx)(C,{to:b,children:"Sign up"})]})]})]})]})})});var T=r(2648);function I(){let e=(0,l.o1)(),{afterSignInUrl:t}=(0,l.r3)(),r=(0,d.f0)(),[a,i]=s.useState(!1);s.useEffect(()=>{o()},[]);let o=async()=>{let n=await e?.attemptEmailVerification({url:t,handleCodeInApp:!0});n?.status==="error"?r.setError({status:"error",message:n.message,error:n.error}):i(!0)},c=async()=>{r.setLoading(),await o(),r.setIdle()};return(0,n.jsx)(T._,{emailSent:a,onResend:c,isLoading:r.isLoading})}let _=(0,d.dm)(()=>(0,n.jsx)(I,{}));function L(){let e=(0,a.qn)();return s.useEffect(()=>{e.redirectToSignIn()},[]),null}function M(){return(0,n.jsx)("div",{className:"tern tern:w-full tern:min-h-full",children:(0,n.jsxs)(o.dO,{children:[(0,n.jsx)(o.qh,{path:"reset-password",children:(0,n.jsx)(h,{})}),(0,n.jsx)(o.qh,{path:"reset-password-success",children:(0,n.jsx)(f,{})}),(0,n.jsx)(o.qh,{path:"factor-one",children:(0,n.jsx)(S,{})}),(0,n.jsx)(o.qh,{path:"verify-email-address",canActivate:e=>!!e.signIn?.identifier,children:(0,n.jsx)(_,{})}),(0,n.jsx)(o.qh,{index:!0,children:(0,n.jsx)(F,{})}),(0,n.jsx)(o.qh,{children:(0,n.jsx)(L,{})})]})})}M.displayName="SignIn";let q=function(){let e=(0,l.r3)(),t={componentName:"SignUp",forceRedirectUrl:e.signUpForceRedirectUrl,fallbackRedirectUrl:e.signUpFallbackRedirectUrl,signInUrl:e.signInUrl,...(0,i.C)({routing:e?.routing,path:e?.path})};return(0,n.jsx)(l.gh.Provider,{value:t,children:(0,n.jsx)(M,{})})},B=e=>(0,n.jsx)(o.qh,{path:"sign-in",children:(0,n.jsx)(l.QI.Provider,{value:{componentName:"SignIn",...e,routing:"virtual",mode:"modal"},children:(0,n.jsx)("div",{children:(0,n.jsx)(q,{...e,routing:"virtual"})})})})},8102:function(e,t,r){r.r(t),r.d(t,{SignUp:()=>v,SignUpModal:()=>j,SignUpVerifyEmail:()=>p,SignUpStart:()=>h}),r(4518);var n=r(4557),a=r(802),s=r(4105),i=r(5977),l=r(384),o=r(4853),c=r(6147),d=r(3777);let u=()=>{let e=(0,i.o1)(),t=(0,a.qn)(),r=(0,c.f0)(),{afterSignUpUrl:s,socialProviders:l}=(0,i.Xu)(),o=(0,i.At)(),d=l||o.socialProviders||[],u=async n=>{let a=n.options||{mode:"popup"},i=await e?.authenticateWithSocialProvider(n.name,{mode:a.mode||"popup",customParameters:a.customParameters,scopes:a.scopes});i?.status==="error"&&r.setError({status:"error",message:i.message,error:i.error}),i?.status==="success"&&await t.createActiveSession({session:i.user,redirectUrl:s})};return 0===d.length?null:(0,n.jsx)(c.VR,{onProviderClick:e=>void u(e),disabled:r.isLoading,providers:d})},h=(0,c.dm)(function(){let e=(0,i.Kp)(),t=(0,c.f0)(),{navigate:r}=(0,l.rd)(),s=(0,i.Xu)(),{afterSignUpUrl:h,signInUrl:m,shouldShowForm:f=!0}=s,{createActiveSession:p}=(0,a.qn)(),x=(0,i.At)(),{appName:g}=x,v=(s.socialProviders||x.socialProviders||[]).length>0,j=(0,c.T3)({defaultValues:{email:"",password:""},validators:{onSubmitAsync:async({value:e})=>await b(e.email,e.password)}}),b=async(n,a)=>{if(!e)return;let i=await e.withEmailAndPassword({email:n,password:a});if("error"===i.status)return void t.setError({status:"error",message:i.message,error:i.error});let l=s.afterSignUpUrl||"/";await (({signUp:e,verifyEmailPath:t,navigate:r,handleComplete:n})=>"complete"===e.status?n&&n():"missing_requirements"===e.status&&e.unverifiedFields?.includes("email_address")&&t?r(t):void 0)({signUp:i,verifyEmailPath:"verify-email-address",handleComplete:async()=>p({session:i.user,redirectUrl:h}),navigate:r,redirectUrlComplete:l})};return(0,n.jsx)("div",{className:"tern:relative tern:flex tern:justify-center tern:p-6 tern:md:p-10",children:(0,n.jsx)("div",{className:"tern:w-full tern:max-w-sm",children:(0,n.jsxs)(c.Zp,{className:(0,o.cn)("tern:mt-8 tern:w-full tern:max-w-md"),children:[(0,n.jsxs)(c.aR,{className:"tern:space-y-1 tern:text-center",children:[(0,n.jsx)(c.ZB,{children:g?`Create your ${g} account`:"Create your account"}),(0,n.jsx)(c.BT,{className:(0,o.cn)("tern:text-muted-foreground"),children:f?"Welcome! Please fill in the details to get started.":"Welcome! Please sign up to continue."})]}),(0,n.jsxs)(c.Wu,{className:"tern:space-y-4",children:[t.error&&(0,n.jsx)(c.Fc,{variant:"destructive",className:"tern:animate-in tern:fade-in-50",children:(0,n.jsx)(c.TN,{children:t.error.message})}),(0,n.jsxs)(c.M_,{children:[f&&(0,n.jsx)("form",{onSubmit:e=>{e.preventDefault(),e.stopPropagation(),j.handleSubmit()},className:"tern:flex tern:flex-col tern:gap-7",children:(0,n.jsx)(j.Subscribe,{selector:e=>[e.canSubmit,e.isSubmitting],children:([e,r])=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(j.AppField,{name:"email",children:e=>(0,n.jsx)(e.TernEmailField,{label:"Email",placeholder:"Enter your email",disabled:r||t.isLoading,required:!0})}),(0,n.jsx)(j.AppField,{name:"password",children:e=>(0,n.jsx)(e.TernPasswordField,{label:"Password",placeholder:"Enter your password",disabled:r||t.isLoading,required:!0})}),(0,n.jsx)(d.pr,{canSubmit:e,isSubmitting:r,submitText:"Continue",submittingText:"Creating Account..."}),v&&(0,n.jsx)(c.KB,{children:"Or continue with"})]})})}),v&&(0,n.jsx)(u,{})]})]}),(0,n.jsxs)(c.ry,{className:"tern:text-center",children:["Already have an account? ",(0,n.jsx)("a",{href:m,children:"Sign In"})]})]})})})});var m=r(2648);function f(){let e=(0,i.Kp)(),{afterSignUpUrl:t}=(0,i.Xu)(),r=(0,c.f0)(),[a,l]=s.useState(!1);s.useEffect(()=>{o()},[]);let o=async()=>{let n=await e?.attemptEmailVerification({url:t,handleCodeInApp:!0});n?.status==="error"?r.setError({status:"error",message:n.message,error:n.error}):l(!0)},d=async()=>{r.setLoading(),await o(),r.setIdle()};return(0,n.jsx)(m._,{emailSent:a,onResend:d,isLoading:r.isLoading})}let p=(0,c.dm)(()=>(0,n.jsx)(f,{}));function x(){let e=(0,a.qn)();return s.useEffect(()=>{e.redirectToSignUp()},[]),null}function g(){return(0,n.jsx)("div",{className:"tern",children:(0,n.jsxs)(l.dO,{children:[(0,n.jsx)(l.qh,{path:"verify-email-address",canActivate:e=>!!e.signUp?.user?.email,children:(0,n.jsx)(p,{})}),(0,n.jsx)(l.qh,{index:!0,children:(0,n.jsx)(h,{})}),(0,n.jsx)(l.qh,{children:(0,n.jsx)(x,{})})]})})}g.displayName="SignUp";let v=g,j=e=>(0,n.jsx)(l.qh,{path:"sign-up",children:(0,n.jsx)(i.gh.Provider,{value:{componentName:"SignUp",...e,routing:"virtual",mode:"modal"},children:(0,n.jsx)("div",{children:(0,n.jsx)(v,{...e,routing:"virtual"})})})})},7947:function(e,t,r){r.r(t),r.d(t,{UserButton:()=>l});var n=r(4557);r(4518);var a=r(802),s=r(5977),i=r(6147);function l(){let e,t=(0,s.ZY)(),r=(0,a.qn)(),l="User Avatar";return t?(e=t.displayName?.charAt(0).toUpperCase()||"U",t.displayName&&(l=`${t.displayName}'s Avatar`)):(e="?",l="Guest Avatar"),(0,n.jsx)("div",{className:"tern",style:{display:"contents"},children:t?(0,n.jsxs)(i.$n,{onClick:()=>{r.signOut()},variant:"outline",className:"tern:flex tern:items-center tern:gap-2",children:[(0,n.jsxs)(i.eu,{children:[(0,n.jsx)(i.BK,{src:t?.photoURL||void 0,alt:l}),(0,n.jsx)(i.q5,{children:e})]}),"Sign Out"]}):(0,n.jsxs)(i.$n,{onClick:()=>{r.redirectToSignIn()},variant:"outline",className:"tern:flex tern:items-center tern:gap-2",children:[(0,n.jsxs)(i.eu,{children:[(0,n.jsx)(i.BK,{src:void 0,alt:l}),(0,n.jsx)(i.q5,{children:e})]}),"Sign In"]})})}},4967:function(e,t,r){r.d(t,{At:()=>l,az:()=>i});var n=r(4557),a=r(4105);let s=a.createContext({});function i({children:e,value:t}){return(0,n.jsx)(s.Provider,{value:t,children:e})}function l(){let e=a.useContext(s);if(void 0===e)throw Error("TernSecureAuthOptions context is not available. Ensure that the context is properly initialized.");return e}},6282:function(e,t,r){r.d(t,{Q:()=>u,r:()=>h});var n=r(802),a=r(8978),s=r(4105),i=r(5407),l=r(2117),o=r(384),c=r(4967),d=r(4904);let u=(0,s.createContext)(null),h=()=>{let e=(0,s.useContext)(u),{navigate:t}=(0,o.rd)(),{queryParams:r,queryString:h}=(0,o.rd)(),m=(0,c.At)(),f=(0,n.qn)();if(null===e||"SignIn"!==e.componentName)throw Error("useSignInContext called outside of the mounted SignIn component.");let p="restricted"!==m.signUpMode&&!!(!m.signUpUrl&&m.signInUrl&&!(0,a.v)(m.signInUrl)),x=e.showCombinedForm??!0,{componentName:g,mode:v,...j}=e,b=(0,s.useMemo)(()=>(0,d.t)(h,i.e8),[]),w=(0,s.useCallback)((e,t,r="AuthError",n)=>{let a=Error(e);return a.name=r,a.code=t,a.response=n,a},[]),y=(0,s.useCallback)(e=>{console.error(e)},[]),N=new l.nQ(m,{...j,signInFallbackRedirectUrl:j.signInFallbackRedirectUrl||j.fallbackRedirectUrl,signInForceRedirectUrl:j.signInForceRedirectUrl||j.forceRedirectUrl},r,v);delete j.fallbackRedirectUrl,delete j.forceRedirectUrl;let S=f.constructUrlWithAuthRedirect(N.getAfterSignInUrl()),E=f.constructUrlWithAuthRedirect(N.getAfterSignUpUrl()),P=()=>t(S),C="path"===j.routing&&j.path||m.signInUrl,k=p?"path"===j.routing&&j.path||m.signUpUrl:j.signUpUrl||m.signUpUrl,R=N.getPreservedSearchParams();C=(0,l.kZ)({base:C,hashSearchParams:[r,R]},{stringify:!0}),k=(0,l.kZ)({base:k,hashSearchParams:[r,R]},{stringify:!0});let U=N.toSearchParams().toString(),A=(0,s.useCallback)(async(e,t)=>{try{if(await f.createActiveSession({session:e}),t?.onPreRedirect)try{await t.onPreRedirect()&&P()}catch(t){let e=w("Pre-redirect validation failed","PRE_REDIRECT_FAILED","PreRedirectError",t);y(e)}else P()}catch(e){y(w(e instanceof Error?e.message:"Failed to create session","SESSION_CREATION_FAILED","SessionError",e))}},[f,w,y,P]),F=(0,s.useCallback)(async()=>{try{let e=await f.getRedirectResult();if(e&&e.success)await A(e.user);else if(e&&!e.success){let t=w(e.message||"Redirect sign-in failed",e.error||"REDIRECT_FAILED","RedirectError",e);y(t)}}catch(e){y(w(e instanceof Error?e.message:"Failed to check redirect result","REDIRECT_CHECK_FAILED","RedirectError",e))}},[f,A,y,w]);return p&&(k=(0,l.kZ)({base:C,hashPath:"/challenge",hashSearchParams:[r,R]},{stringify:!0})),{...j,componentName:g,afterSignInUrl:S,afterSignUpUrl:E,signInUrl:C,signUpUrl:k,queryParams:r,initialValues:{...j.initialValues,...b},authQueryString:U,checkRedirectResult:F,onSignInSuccess:A,handleSignInError:y,redirectAfterSignIn:P,isCombinedFlow:p,showCombinedForm:x}}},5977:function(e,t,r){r.d(t,{g7:()=>b,gh:()=>g,ZY:()=>c,TernSecureContextWrapper:()=>i,r3:()=>u.r,At:()=>d.At,Kp:()=>o,QI:()=>u.Q,TernSecureOptionsProvider:()=>d.az,o1:()=>l,Xu:()=>v});var n=r(4557),a=r(802),s=r(4105);function i(e){let t=e.ternsecure,[r,i]=s.useState({user:t.user,session:t.currentSession});s.useEffect(()=>t.addListener(e=>i({...e})),[]);let l=s.useMemo(()=>({value:t}),[]);return(0,n.jsx)(a.sQ.Provider,{value:l,children:e.children})}function l(){let e=(0,a.xq)();return(0,a._x)(e,a.sQ),e.signIn}function o(){let e=(0,a.xq)();return(0,a._x)(e,a.sQ),e.signUp}function c(){let e=(0,a.xq)();return(0,a._x)(e,a.sQ),e.user||null}var d=r(4967),u=r(6282),h=r(5407),m=r(2117),f=r(8177),p=r(384),x=r(4904);let g=(0,s.createContext)(null),v=()=>{let e=(0,s.useContext)(g),{navigate:t}=(0,p.rd)(),{queryParams:r,queryString:n}=(0,p.rd)(),i=(0,d.At)(),l=(0,a.qn)(),o=(0,s.useMemo)(()=>(0,x.t)(n,h.UU),[]);if(!e||"SignUp"!==e.componentName)throw Error("useSignUpContext called outside of the mounted SignUp component.");let{componentName:c,mode:u,...v}=e,j=new f.n(i,{...v,signUpFallbackRedirectUrl:v.signUpFallbackRedirectUrl||v.fallbackRedirectUrl,signUpForceRedirectUrl:v.signUpForceRedirectUrl||v.forceRedirectUrl},r,u);delete v.fallbackRedirectUrl,delete v.forceRedirectUrl;let b=l.constructUrlWithAuthRedirect(j.getAfterSignInUrl()),w=l.constructUrlWithAuthRedirect(j.getAfterSignInUrl()),y="path"===v.routing&&v.path||i.signUpUrl,N=v.signInUrl||i.signInUrl,S=j.getPreservedSearchParams();N=(0,m.kZ)({base:N,hashSearchParams:[r,S]},{stringify:!0}),y=(0,m.kZ)({base:y,hashSearchParams:[r,S]},{stringify:!0});let E=j.toSearchParams().toString();return{...v,componentName:c,signInUrl:N,signUpUrl:y,afterSignUpUrl:b,afterSignInUrl:w,navigateAfterSignUp:()=>t(b),queryParams:r,initialValues:{...v.initialValues,...o},authQueryString:E}},j=(0,s.createContext)(null);function b({componentName:e,props:t,children:r}){switch(e){case"SignIn":return(0,n.jsx)(u.Q.Provider,{value:{componentName:e,...t},children:r});case"SignUp":return(0,n.jsx)(g.Provider,{value:{componentName:e,...t},children:r});case"UserButton":return(0,n.jsx)(j.Provider,{value:{componentName:e,...t},children:r});default:throw Error(`unknown component context: ${e}`)}}},4904:function(e,t,r){r.d(t,{t:()=>a,u:()=>s});var n=r(2782);function a(e,t){let r={};return new URLSearchParams(e).forEach((e,a)=>{t.includes(a)&&"string"==typeof e&&(r[(0,n.sF)(a)]=e)}),r}function s(e,t){return e||t?.[0]||null}},6147:function(e,t,r){r.d(t,{aR:()=>w,JU:()=>T,BT:()=>N,Fc:()=>K,TN:()=>X,q5:()=>H,Wu:()=>S,ZB:()=>y,Jr:()=>ee,iG:()=>eh,MS:()=>en,xM:()=>ei,dm:()=>A,$n:()=>u,bg:()=>O,Ro:()=>eu,Zp:()=>b,KB:()=>D,pe:()=>U,oA:()=>ed,f0:()=>k,dh:()=>B,B0:()=>Y,pd:()=>G,T3:()=>g,ry:()=>$,M_:()=>L,D0:()=>q,VR:()=>er,eu:()=>W,BK:()=>z});var n=r(4557),a=r(4105),s=r(3873),i=r(8943),l=r(3796),o=r(4478),c=r(4853);let d=(0,o.F)("tern:inline-flex tern:items-center tern:justify-center tern:gap-2 tern:whitespace-nowrap tern:rounded-md tern:text-sm tern:font-medium tern:transition-all disabled:tern:pointer-events-none disabled:tern:opacity-50 [&_svg]:tern:pointer-events-none [&_svg:not([class*='size-'])]:tern:size-4 tern:shrink-0 [&_svg]:tern:shrink-0 tern:outline-none focus-visible:tern:border-ring focus-visible:tern:ring-ring/50 focus-visible:tern:ring-[3px] aria-invalid:tern:ring-destructive/20 dark:aria-invalid:tern:ring-destructive/40 aria-invalid:tern:border-destructive",{variants:{variant:{default:"tern:bg-primary tern:text-primary-foreground tern:shadow-xs hover:tern:bg-primary/90",destructive:"tern:bg-destructive tern:text-white tern:shadow-xs hover:tern:bg-destructive/90 focus-visible:tern:ring-destructive/20 dark:focus-visible:tern:ring-destructive/40 dark:tern:bg-destructive/60",outline:"tern:border tern:bg-background tern:shadow-xs hover:tern:bg-accent hover:tern:text-accent-foreground dark:tern:bg-input/30 dark:tern:border-input dark:hover:tern:bg-input/50",secondary:"tern:bg-secondary tern:text-secondary-foreground tern:shadow-xs hover:tern:bg-secondary/80",ghost:"hover:tern:bg-accent hover:tern:text-accent-foreground dark:hover:tern:bg-accent/50",link:"tern:text-primary tern:underline-offset-4 hover:tern:underline"},size:{default:"tern:h-9 tern:px-4 tern:py-2 has-[>svg]:tern:px-3",sm:"tern:h-8 tern:rounded-md tern:gap-1.5 tern:px-3 has-[>svg]:tern:px-2.5",lg:"tern:h-10 tern:rounded-md tern:px-6 has-[>svg]:tern:px-4",icon:"tern:size-9"}},defaultVariants:{variant:"default",size:"default"}});function u({className:e,variant:t,size:r,asChild:a=!1,...s}){let i=a?l.DX:"button";return(0,n.jsx)(i,{"data-slot":"button",className:(0,c.cn)(d({variant:t,size:r,className:e})),...s})}let h=()=>{let e=f().state.meta.errors;if(!e||0===e.length)return null;let t=e.map(e=>({message:e}));return(0,n.jsx)(O,{errors:t})},{fieldContext:m,useFieldContext:f,formContext:p,useFormContext:x}=(0,i.s)(),{useAppForm:g,withForm:v}=(0,i.K)({fieldContext:m,formContext:p,fieldComponents:{EmailField:function({label:e,placeholder:t,disabled:r,required:a}){let s=f();return(0,n.jsxs)("div",{className:"space-y-2",children:[e&&(0,n.jsx)(T,{htmlFor:s.name,children:e}),(0,n.jsx)(G,{id:s.name,name:s.name,type:"email",value:s.state.value,onBlur:s.handleBlur,onChange:e=>s.handleChange(e.target.value),placeholder:t,disabled:r,required:!0}),(0,n.jsx)(j,{})]})},PasswordField:function({label:e,placeholder:t,disabled:r,required:i}){let l=f(),[o,c]=(0,a.useState)(!1);return(0,n.jsxs)("div",{className:"space-y-2",children:[e&&(0,n.jsx)(T,{htmlFor:l.name,children:e}),(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsx)(G,{id:l.name,name:l.name,type:o?"text":"password",value:l.state.value,onBlur:l.handleBlur,onChange:e=>l.handleChange(e.target.value),placeholder:t,disabled:r,required:!0,className:"pr-10"}),(0,n.jsxs)("button",{type:"button",className:"absolute right-2 top-1/2 h-8 w-8 -translate-y-1/2 hover:bg-transparent",onClick:()=>c(!o),disabled:r,children:[o?(0,n.jsx)(s.X_,{className:"text-muted-foreground hover:text-foreground h-4 w-4"}):(0,n.jsx)(s.kU,{className:"text-muted-foreground hover:text-foreground h-4 w-4"}),(0,n.jsx)("span",{className:"sr-only",children:o?"Hide password":"Show password"})]})]}),(0,n.jsx)(j,{})]})},TernEmailField:({label:e,placeholder:t,disabled:r,required:a})=>{let s=f();return(0,n.jsxs)(q,{children:[e&&(0,n.jsx)(B,{htmlFor:s.name,children:e}),(0,n.jsx)(G,{id:s.name,name:s.name,type:"email",value:s.state.value,onBlur:s.handleBlur,onChange:e=>s.handleChange(e.target.value),placeholder:t,disabled:r,required:a}),(0,n.jsx)(h,{})]})},TernPasswordField:({label:e,placeholder:t,disabled:r,required:i,onForgotPassword:l})=>{let o=f(),[c,d]=a.useState(!1);return(0,n.jsxs)(q,{children:[e&&(0,n.jsxs)("div",{className:"tern:flex tern:items-center",children:[(0,n.jsx)(B,{htmlFor:o.name,children:e}),l&&(0,n.jsx)("button",{type:"button",onClick:l,disabled:r,className:"tern:ml-auto tern:inline-block tern:text-sm tern:underline-offset-4 hover:tern:underline",children:"Forgot your password?"})]}),(0,n.jsxs)("div",{className:"tern:relative",children:[(0,n.jsx)(G,{id:o.name,name:o.name,type:c?"text":"password",value:o.state.value,onBlur:o.handleBlur,onChange:e=>o.handleChange(e.target.value),placeholder:t,disabled:r,required:i,className:"tern:pr-10"}),(0,n.jsxs)("button",{type:"button",className:"tern:absolute tern:right-2 tern:top-1/2 tern:h-8 tern:w-8 tern:-translate-y-1/2 hover:tern:bg-transparent",onClick:()=>d(!c),disabled:r,children:[c?(0,n.jsx)(s.X_,{className:"tern:text-muted-foreground hover:tern:text-foreground tern:h-4 tern:w-4"}):(0,n.jsx)(s.kU,{className:"tern:text-muted-foreground hover:tern:text-foreground tern:h-4 tern:w-4"}),(0,n.jsx)("span",{className:"tern:sr-only",children:c?"Hide password":"Show password"})]})]}),(0,n.jsx)(h,{})]})},TernTextField:({label:e,placeholder:t,disabled:r,required:a})=>{let s=f();return(0,n.jsxs)(q,{children:[e&&(0,n.jsx)(B,{htmlFor:s.name,children:e}),(0,n.jsx)(G,{id:s.name,name:s.name,value:s.state.value,onBlur:s.handleBlur,onChange:e=>s.handleChange(e.target.value),placeholder:t,disabled:r,required:a}),(0,n.jsx)(h,{})]})}},formComponents:{SubscribeButton:({label:e})=>{let t=x();return(0,n.jsx)(t.Subscribe,{selector:e=>e.isSubmitting,children:t=>(0,n.jsx)(u,{disabled:t,children:e})})}}});function j(){let e=f().state.meta.errors;return e&&0!==e.length?(0,n.jsx)("div",{className:"mt-1 text-sm text-red-500",children:e.map((e,t)=>(0,n.jsx)("div",{children:e},t))}):null}function b({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"card",className:(0,c.cn)("tern:bg-card tern:text-card-foreground tern:flex tern:flex-col tern:gap-6 tern:rounded-xl tern:border tern:py-6 tern:shadow-sm",e),...t})}function w({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"card-header",className:(0,c.cn)("tern:@container/card-header tern:grid tern:auto-rows-min tern:grid-rows-[auto_auto] tern:items-start tern:gap-2 tern:px-6 tern:has-data-[slot=card-action]:grid-cols-[1fr_auto] tern:[.border-b]:pb-6",e),...t})}function y({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("tern:leading-none tern:font-semibold",e),...t})}function N({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"card-description",className:(0,c.cn)("tern:text-muted-foreground tern:text-sm",e),...t})}function S({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("tern:px-6",e),...t})}function E({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"card-footer",className:(0,c.cn)("tern:flex tern:items-center tern:px-6 tern:[.border-t]:pt-6",e),...t})}var P=r(802);let[C,k]=(0,P.e3)("CardState"),R={status:"idle",error:null};function U({children:e}){let[t,r]=a.useState(R),s=(0,a.useCallback)(e=>{r(t=>({...t,...e}))},[]),i=(0,a.useCallback)(e=>{r(t=>({...t,status:e,error:"error"===e?t.error:null}))},[]),l=(0,a.useCallback)(()=>{r(e=>({...e,status:"loading",error:null}))},[]),o=(0,a.useCallback)(e=>{r(t=>({...t,status:"error",error:{success:!1,message:e.message,error:"code"in e?e.code:void 0,...e}}))},[]),c=(0,a.useCallback)(()=>{r(e=>({...e,status:"idle",error:null}))},[]),d=(0,a.useCallback)(()=>{r(e=>({...e,error:null,status:"idle"}))},[]),u=a.useMemo(()=>({value:{...t,setCardState:s,setStatus:i,setLoading:l,setError:o,setIdle:c,clearError:d,isLoading:"loading"===t.status,isError:"error"===t.status,isSuccess:"success"===t.status,isIdle:"idle"===t.status}}),[t,s,i,l,o,c,d]);return(0,n.jsx)(C.Provider,{value:u,children:e})}let A=e=>t=>(0,n.jsx)(U,{children:(0,n.jsx)(e,{...t})});var F=r(1964);function T({className:e,...t}){return(0,n.jsx)(F.b,{"data-slot":"label",className:(0,c.cn)("tern:flex tern:items-center tern:gap-2 tern:text-sm tern:leading-none tern:font-medium tern:select-none tern:group-data-[disabled=true]:pointer-events-none tern:group-data-[disabled=true]:opacity-50 tern:peer-disabled:cursor-not-allowed tern:peer-disabled:opacity-50",e),...t})}var I=r(6146);function _({className:e,orientation:t="horizontal",decorative:r=!0,...a}){return(0,n.jsx)(I.b,{"data-slot":"separator",decorative:r,orientation:t,className:(0,c.cn)("tern:bg-border tern:shrink-0 tern:data-[orientation=horizontal]:h-px tern:data-[orientation=horizontal]:w-full tern:data-[orientation=vertical]:h-full tern:data-[orientation=vertical]:w-px",e),...a})}function L({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"field-group",className:(0,c.cn)("group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4",e),...t})}let M=(0,o.F)("group/field flex w-full gap-3 data-[invalid=true]:text-destructive",{variants:{orientation:{vertical:["flex-col [&>*]:w-full [&>.sr-only]:w-auto"],horizontal:["flex-row items-center","[&>[data-slot=field-label]]:flex-auto","has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"],responsive:["flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto","@md/field-group:[&>[data-slot=field-label]]:flex-auto","@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"]}},defaultVariants:{orientation:"vertical"}});function q({className:e,orientation:t="vertical",...r}){return(0,n.jsx)("div",{role:"group","data-slot":"field","data-orientation":t,className:(0,c.cn)(M({orientation:t}),e),...r})}function B({className:e,...t}){return(0,n.jsx)(T,{"data-slot":"field-label",className:(0,c.cn)("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50","has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-4","has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10",e),...t})}function $({className:e,...t}){return(0,n.jsx)("p",{"data-slot":"field-description",className:(0,c.cn)("text-muted-foreground text-sm leading-normal font-normal group-has-[[data-orientation=horizontal]]/field:text-balance","last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5","[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",e),...t})}function D({children:e,className:t,...r}){return(0,n.jsxs)("div",{"data-slot":"field-separator","data-content":!!e,className:(0,c.cn)("relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",t),...r,children:[(0,n.jsx)(_,{className:"absolute inset-0 top-1/2"}),e&&(0,n.jsx)("span",{className:"bg-background text-muted-foreground relative mx-auto block w-fit px-2","data-slot":"field-separator-content",children:e})]})}function O({className:e,children:t,errors:r,...s}){let i=(0,a.useMemo)(()=>{if(t)return t;if(!r?.length)return null;let e=[...new Map(r.map(e=>[e?.message,e])).values()];return e?.length==1?e[0]?.message:(0,n.jsx)("ul",{className:"ml-4 flex list-disc flex-col gap-1",children:e.map((e,t)=>e?.message&&(0,n.jsx)("li",{children:e.message},t))})},[t,r]);return i?(0,n.jsx)("div",{role:"alert","data-slot":"field-error",className:(0,c.cn)("text-destructive text-sm font-normal",e),...s,children:i}):null}var V=r(5318);function W({className:e,...t}){return(0,n.jsx)(V.bL,{"data-slot":"avatar",className:(0,c.cn)("tern:relative tern:flex tern:size-8 tern:shrink-0 tern:overflow-hidden tern:rounded-full",e),...t})}function z({className:e,...t}){return(0,n.jsx)(V._V,{"data-slot":"avatar-image",className:(0,c.cn)("tern:aspect-square tern:size-full",e),...t})}function H({className:e,...t}){return(0,n.jsx)(V.H4,{"data-slot":"avatar-fallback",className:(0,c.cn)("tern:bg-muted tern:flex tern:size-full tern:items-center tern:justify-center tern:rounded-full",e),...t})}let Z=(0,o.F)("tern:relative tern:w-full tern:rounded-lg tern:border tern:px-4 tern:py-3 tern:text-sm tern:grid tern:has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] tern:grid-cols-[0_1fr] tern:has-[>svg]:gap-x-3 tern:gap-y-0.5 tern:items-start tern:[&>svg]:size-4 tern:[&>svg]:translate-y-0.5 tern:[&>svg]:text-current",{variants:{variant:{default:"tern:bg-card tern:text-card-foreground",destructive:"tern:text-destructive tern:bg-card tern:[&>svg]:text-current tern:*:data-[slot=alert-description]:text-destructive/90"}},defaultVariants:{variant:"default"}});function K({className:e,variant:t,...r}){return(0,n.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,c.cn)(Z({variant:t}),e),...r})}function Q({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"alert-title",className:(0,c.cn)("tern:col-start-2 tern:line-clamp-1 tern:min-h-4 tern:font-medium tern:tracking-tight",e),...t})}function X({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"alert-description",className:(0,c.cn)("tern:text-muted-foreground tern:col-start-2 tern:grid tern:justify-items-start tern:gap-1 tern:text-sm tern:[&_p]:leading-relaxed",e),...t})}function G({className:e,type:t,...r}){return(0,n.jsx)("input",{type:t,"data-slot":"input",className:(0,c.cn)("tern:file:text-foreground tern:placeholder:text-muted-foreground tern:selection:bg-primary tern:selection:text-primary-foreground tern:dark:bg-input/30 tern:border-input tern:h-9 tern:w-full tern:min-w-0 tern:rounded-md tern:border tern:bg-transparent tern:px-3 tern:py-1 tern:text-base tern:shadow-xs tern:transition-[color,box-shadow] tern:outline-none tern:file:inline-flex tern:file:h-7 tern:file:border-0 tern:file:bg-transparent tern:file:text-sm tern:file:font-medium tern:disabled:pointer-events-none tern:disabled:cursor-not-allowed tern:disabled:opacity-50 tern:md:text-sm","tern:focus-visible:border-ring tern:focus-visible:ring-ring/50 tern:focus-visible:ring-[3px]","tern:aria-invalid:ring-destructive/20 tern:dark:aria-invalid:ring-destructive/40 tern:aria-invalid:border-destructive",e),...r})}let J=({children:e})=>(0,n.jsx)("div",{className:"flex flex-col items-center justify-center py-8",children:e}),Y=A(()=>(0,n.jsx)("div",{className:"relative flex justify-center p-6 md:p-10",children:(0,n.jsx)("div",{className:"w-full max-w-sm",children:(0,n.jsxs)(b,{className:"w-full max-w-md",children:[(0,n.jsx)(w,{className:"space-y-1 text-center",children:(0,n.jsx)(y,{children:"Loading"})}),(0,n.jsx)(S,{children:(0,n.jsx)(J,{children:(0,n.jsx)(s.wm,{className:"text-muted-foreground h-8 w-8 animate-spin"})})})]})})})),ee=A(({cardTitle:e="Unable to sign in",cardSubtitle:t="An error occurred during the sign in process",message:r,onBackLinkClick:a})=>{let i=k(),l=r||i.error?.message||"An unexpected error occurred";return(0,n.jsx)("div",{className:"relative flex justify-center p-6 md:p-10",children:(0,n.jsx)("div",{className:"w-full max-w-sm",children:(0,n.jsxs)(b,{className:"w-full max-w-md",children:[(0,n.jsxs)(w,{className:"space-y-1 text-center",children:[(0,n.jsx)(y,{className:"font-bold text-destructive",children:e}),(0,n.jsx)(N,{children:t})]}),(0,n.jsx)(S,{className:"grid gap-4",children:(0,n.jsxs)(K,{variant:"destructive",children:[(0,n.jsx)(s.RI,{className:"h-4 w-4"}),(0,n.jsx)(Q,{children:"Error"}),(0,n.jsx)(X,{children:l})]})}),a&&(0,n.jsx)(E,{children:(0,n.jsx)(u,{variant:"outline",className:"w-full",onClick:a,children:"Go back"})})]})})})});var et=r(9953);let er=({onProviderClick:e,disabled:t,providers:r})=>(0,n.jsx)("div",{className:"tern:grid tern:gap-4 tern:sm:grid-cols-2",children:r.map((a,s)=>(0,n.jsxs)(u,{variant:"outline",className:(0,c.cn)("tern:w-full tern:gap-2",r.length%2!=0&&s===r.length-1&&"tern:sm:col-span-2"),onClick:()=>e(a),disabled:t,children:[(0,n.jsx)(et.T,{id:a.name,className:"h-4 w-4"}),a.name.charAt(0).toUpperCase()+a.name.slice(1)]},a.name))}),en=({onClick:e,children:t,startDisabled:r,throttleTimeInSec:s=30,showCounter:i=!0,...l})=>{let[o,c]=a.useState(0),d=a.useRef(void 0);(0,P.UQ)(()=>{r&&h()},[]),(0,a.useEffect)(()=>()=>clearInterval(d.current),[]);let h=()=>{c(s),d.current=window.setInterval(()=>{c(e=>(1===e&&clearInterval(d.current),e-1))},1e3)};return(0,n.jsxs)(u,{...l,variant:l.variant||"link",disabled:o>0||l.disabled,onClick:t=>{o||(e?.(t),h())},children:[t,o>0&&i?` (${o})`:""]})};var ea=r(1643);let es=e=>new Promise(t=>setTimeout(t,e)),ei=e=>{let t=k(),{id:r="code",onCodeEntryFinished:n,onResendCodeClicked:s,onResolve:i}=e,l=el({length:6}),o=(0,ea.mN)(),c=async e=>{await es(750),await i?.(e)},d=async e=>{let r=e?.message||(e instanceof Error?e.message:"Invalid code");t.setError({status:"error",message:r,error:e}),l.setError(r),o.setIdle(),await es(750),l.reset()};l.onCodeEntryFinished(e=>{o.setLoading(),l.otpInputProps.clearFeedback(),n(e,c,d)});let u=(0,a.useCallback)(e=>{l.reset(),s?.(e)},[l,s]);return{isLoading:o.isLoading,otpControl:l,onResendCode:s?u:void 0,onFakeContinue:()=>{l.otpInputProps.clearFeedback(),n("",c,d)}}},el=e=>{let t=a.useRef(null),r=a.useRef(void 0),{length:n=6}=e||{},[s,i]=a.useState(Array(n).fill("")),[l,o]=a.useState(null),[c,d]=a.useState(null);return a.useEffect(()=>{if(s.filter(e=>e).length===n){let e=s.map(e=>e||" ").join("");r.current?.(e)}},[s,n]),{otpInputProps:{length:n,values:s,setValues:i,feedback:l,feedbackType:c,clearFeedback:()=>{o(null),d(null)},ref:t},onCodeEntryFinished:e=>{r.current=e},reset:()=>t.current?.reset(),setError:e=>{o(e),d("error")}}},[eo,ec]=(0,P.e3)("OTPInputContext"),ed=({children:e,...t})=>(0,n.jsx)(eo.Provider,{value:{value:t},children:e}),eu=()=>{let{resendButton:e,onResendCode:t,isLoading:r,otpControl:a}=ec();return t?(0,n.jsx)(en,{onClick:t,startDisabled:!0,disabled:"success"===a.otpInputProps.feedbackType||r,showCounter:"success"!==a.otpInputProps.feedbackType,throttleTimeInSec:60}):null},eh=a.forwardRef((e,t)=>{let[r,s]=a.useState(!1),i=a.useRef([]),l=a.useRef(!1),{otpControl:o,isLoading:d,isDisabled:u,centerAlign:h=!0}=ec(),{feedback:m,values:f,setValues:p,feedbackType:x,length:g}=o.otpInputProps;a.useImperativeHandle(t,()=>({reset:()=>{p(f.map(()=>"")),s(!1),setTimeout(()=>j(0),0)}})),a.useLayoutEffect(()=>{setTimeout(()=>j(0),0)},[]),a.useEffect(()=>{m&&s(!0)},[m]);let v=({eventValue:e,inputPosition:t})=>{let r=(e||"").split("");if(0!==r.length&&r.every(e=>ef(e))){if(r.length===g){p([...r]),j(g-1);return}p(f.map((e,n)=>n<t?e:r[n-t]||e)),j(t+r.length)}},j=e=>{let t=Math.min(Math.max(0,e),i.current.length-1),r=i.current[t];r&&(r.focus(),f[t]&&r.select())};return(0,n.jsx)("div",{className:(0,c.cn)("direction-ltr -ml-1 flex gap-2 p-1",h?"justify-center items-center":"",d&&"pointer-events-none opacity-50","error"===x&&"text-red-500"),children:f.map((e,t)=>(0,n.jsx)(em,{value:e,onClick:e=>{if(e.preventDefault(),!l.current){j(0),l.current=!0;return}j(t)},onChange:e=>{e.preventDefault(),v({eventValue:e.target.value||"",inputPosition:t})},onKeyDown:e=>{switch(e.key){case"Backspace":let r;e.preventDefault(),(r=[...f])[t]="",p(r),j(t-1);return;case"ArrowLeft":e.preventDefault(),j(t-1);return;case"ArrowRight":e.preventDefault(),j(t+1);return;case" ":e.preventDefault();return}},onInput:e=>{e.preventDefault(),ef(e.target.value)&&j(t+1)},onPaste:e=>{e.preventDefault(),v({eventValue:e.clipboardData.getData("text/plain")||"",inputPosition:t})},id:`digit-${t}-field`,ref:e=>{i.current[t]=e},autoFocus:0===t||void 0,autoComplete:"one-time-code","aria-label":`${0===t?"Enter verification code. ":""}Digit ${t+1}`,disabled:u||d||r||"success"===x,hasError:"error"===x,isSuccessfullyFilled:"success"===x,type:"text",inputMode:"numeric",name:`codeInput-${t}`},t))})}),em=a.forwardRef((e,t)=>{let{isSuccessfullyFilled:r,hasError:a,className:s,...i}=e;return(0,n.jsx)(G,{ref:t,type:"text",className:(0,c.cn)("h-10 w-10 rounded-md bg-transparent p-0.5 text-center sm:h-8 sm:w-8",r?"border-green-500":"",a?"border-red-500":"",s),...i})}),ef=e=>void 0!=e&&Number.isInteger(+e)},1643:function(e,t,r){r.d(t,{Cb:()=>i,U3:()=>a,mN:()=>l});var n=r(4105);let a=(e,t)=>{n.useEffect(()=>{let r=[e].flat().filter(e=>!!e);if(r.length)return r.forEach(e=>window.addEventListener(e,t)),()=>{r.forEach(e=>window.removeEventListener(e,t))}},[e,t])};var s=r(384);let i=()=>{let e=(0,s.rd)();return{navigateToFlowStart:async()=>{let t=e.indexPath;return t!==e.currentPath?e.navigate(t):e.urlStateParam?.path?e.navigate("/"+e.basePath+e.urlStateParam?.startPath):void 0}}},l=e=>{let[t,r]=function(e){let[t,r]=n.useState(e),a=n.useRef(!0);return n.useEffect(()=>()=>{a.current=!1},[]),[t,n.useCallback(e=>{a.current&&r(e)},[])]}({status:"idle",metadata:void 0,...e});return{status:t.status,setIdle:e=>r({status:"idle",metadata:e}),setError:e=>r({status:"error",metadata:e}),setLoading:e=>r({status:"loading",metadata:e}),loadingMetadata:"loading"===t.status?t.metadata:void 0,isLoading:"loading"===t.status,isIdle:"idle"===t.status}}},3873:function(e,t,r){r.d(t,{kU:()=>g,X_:()=>j,RI:()=>p,Jl:()=>w,wm:()=>m});var n,a,s,i,l,o,c,d,u=r(4105);function h(){return(h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}let m=e=>u.createElement("svg",h({xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,className:"lucide lucide-loader-circle-icon lucide-loader-circle",viewBox:"0 0 24 24"},e),n||(n=u.createElement("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})));function f(){return(f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}let p=e=>u.createElement("svg",f({xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,className:"lucide lucide-alert-circle",viewBox:"0 0 24 24"},e),a||(a=u.createElement("circle",{cx:12,cy:12,r:10})),s||(s=u.createElement("path",{d:"M12 8v4M12 16h.01"})));function x(){return(x=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}let g=e=>u.createElement("svg",x({xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,className:"lucide lucide-eye",viewBox:"0 0 24 24"},e),i||(i=u.createElement("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7"})),l||(l=u.createElement("circle",{cx:12,cy:12,r:3})));function v(){return(v=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}let j=e=>u.createElement("svg",v({xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,className:"lucide lucide-eye-off",viewBox:"0 0 24 24"},e),o||(o=u.createElement("path",{d:"M9.88 9.88a3 3 0 1 0 4.24 4.24M10.73 5.08A10 10 0 0 1 12 5c7 0 10 7 10 7a13.2 13.2 0 0 1-1.67 2.68"})),c||(c=u.createElement("path",{d:"M6.61 6.61A13.5 13.5 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61M2 2l20 20"})));function b(){return(b=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(null,arguments)}let w=e=>u.createElement("svg",b({xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,className:"lucide lucide-check",viewBox:"0 0 24 24"},e),d||(d=u.createElement("path",{d:"M20 6 9 17l-5-5"})))},8869:function(e,t,r){r.d(t,{createRoot:()=>n.createRoot}),r(5977);var n=r(9292)},5530:function(e,t,r){r.d(t,{Portal:()=>d});var n=r(4557),a=r(4105),s=r(3923),i=r(5407),l=r(5197),o=r(5977),c=r(384);function d({props:e,component:t,componentName:r,node:d}){let u={...e,...(0,l.C)({routing:e?.routing,path:e?.path})},h=(0,n.jsx)(o.g7,{componentName:r,props:u,children:(0,n.jsx)(a.Suspense,{fallback:"",children:a.createElement(t,u)})});if(u?.routing==="path"){if(!u?.path)throw Error("PathRouter requires a path to be specified in routing options.");return s.createPortal((0,n.jsx)(c.$,{preservedParams:i.Ej,basePath:u.path,children:h}),d)}return s.createPortal((0,n.jsx)(c.I9,{preservedParams:i.Ej,children:h}),d)}},384:function(e,t,r){r.d(t,{$:()=>j,qh:()=>p,dO:()=>b,I9:()=>v,rd:()=>s});var n=r(4105);let a=n.createContext(null);a.displayName="RouteContext";let s=()=>{let e=n.useContext(a);if(!e)throw Error("useRouter called while Router is null");return e};var i=r(4557),l=r(802),o=r(2117),c=r(1643);let d=(e,t,r,n)=>{let a=e;r&&(a=t,n||(a+="/"+r)),a.startsWith("//")&&(a=a.substr(1));let s=t+(r?"/"+r:"");return s.startsWith("//")&&(s=s.substr(1)),[a,s]};function u(e,t){let r=[];return function(e,t,r={}){let{decode:n=e=>e}=r;return function(r){let a=e.exec(r);if(!a)return!1;let{0:s,index:i}=a,l=Object.create(null);for(let e=1;e<a.length;e++){if(void 0===a[e])continue;let r=t[e-1];"*"===r.modifier||"+"===r.modifier?l[r.name]=a[e].split(r.prefix+r.suffix).map(e=>n(e,r)):l[r.name]=n(a[e],r)}return{path:s,index:i,params:l}}}(function e(t,r,n){if(t instanceof RegExp){if(!r)return t;let e=t.source.match(/\((?!\?)/g);if(e)for(let t=0;t<e.length;t++)r.push({name:t,prefix:"",suffix:"",modifier:"",pattern:""});return t}if(Array.isArray(t)){let a;return a=t.map(t=>e(t,r,n).source),RegExp(`(?:${a.join("|")})`,m(n))}return function(e,t,r={}){let{strict:n=!1,start:a=!0,end:s=!0,encode:i=e=>e}=r,l=`[${h(r.endsWith||"")}]|$`,o=`[${h(r.delimiter||"/#?")}]`,c=a?"^":"";for(let r of e)if("string"==typeof r)c+=h(i(r));else{let e=h(i(r.prefix)),n=h(i(r.suffix));if(r.pattern)if(t&&t.push(r),e||n)if("+"===r.modifier||"*"===r.modifier){let t="*"===r.modifier?"?":"";c+=`(?:${e}((?:${r.pattern})(?:${n}${e}(?:${r.pattern}))*)${n})${t}`}else c+=`(?:${e}(${r.pattern})${n})${r.modifier}`;else c+=`(${r.pattern})${r.modifier}`;else c+=`(?:${e}${n})${r.modifier}`}if(s)n||(c+=`${o}?`),c+=r.endsWith?`(?=${l})`:"$";else{let t=e[e.length-1],r="string"==typeof t?o.indexOf(t[t.length-1])>-1:void 0===t;n||(c+=`(?:${o}(?=${l}))?`),r||(c+=`(?=${o}|${l})`)}return new RegExp(c,m(r))}(function(e,t={}){let r=function(e){let t=[],r=0;for(;r<e.length;){let n=e[r];if("*"===n||"+"===n||"?"===n){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if("\\"===n){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if("{"===n){t.push({type:"OPEN",index:r,value:e[r++]});continue}if("}"===n){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(":"===n){let n="",a=r+1;for(;a<e.length;){let t=e.charCodeAt(a);if(t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122||95===t){n+=e[a++];continue}break}if(!n)throw TypeError(`Missing parameter name at ${r}`);t.push({type:"NAME",index:r,value:n}),r=a;continue}if("("===n){let n=1,a="",s=r+1;if("?"===e[s])throw TypeError(`Pattern cannot start with "?" at ${s}`);for(;s<e.length;){if("\\"===e[s]){a+=e[s++]+e[s++];continue}if(")"===e[s]){if(0==--n){s++;break}}else if("("===e[s]&&(n++,"?"!==e[s+1]))throw TypeError(`Capturing groups are not allowed at ${s}`);a+=e[s++]}if(n)throw TypeError(`Unbalanced pattern at ${r}`);if(!a)throw TypeError(`Missing pattern at ${r}`);t.push({type:"PATTERN",index:r,value:a}),r=s;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}(e),{prefixes:n="./"}=t,a=`[^${h(t.delimiter||"/#?")}]+?`,s=[],i=0,l=0,o="",c=e=>{if(l<r.length&&r[l].type===e)return r[l++].value},d=e=>{let t=c(e);if(void 0!==t)return t;let{type:n,index:a}=r[l];throw TypeError(`Unexpected ${n} at ${a}, expected ${e}`)},u=()=>{let e,t="";for(;e=c("CHAR")||c("ESCAPED_CHAR");)t+=e;return t};for(;l<r.length;){let e=c("CHAR"),t=c("NAME"),r=c("PATTERN");if(t||r){let l=e||"";-1===n.indexOf(l)&&(o+=l,l=""),o&&(s.push(o),o=""),s.push({name:t||i++,prefix:l,suffix:"",pattern:r||a,modifier:c("MODIFIER")||""});continue}let l=e||c("ESCAPED_CHAR");if(l){o+=l;continue}if(o&&(s.push(o),o=""),c("OPEN")){let e=u(),t=c("NAME")||"",r=c("PATTERN")||"",n=u();d("CLOSE"),s.push({name:t||(r?i++:""),pattern:t&&!r?a:r,prefix:e,suffix:n,modifier:c("MODIFIER")||""});continue}d("END")}return s}(t,n),r,n)}(e,r,t),r,t)}function h(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function m(e){return e&&e.sensitive?"":"i"}let f=({canActivate:e,children:t})=>{let{navigateToFlowStart:r}=(0,c.Cb)(),a=(0,l.qn)();return(n.useEffect(()=>{e(a)||r()}),e(a))?(0,i.jsx)(i.Fragment,{children:t}):null};function p(e){let t=s();if(!e.children)return null;if(!e.index&&!e.path)return(0,i.jsx)(i.Fragment,{children:e.children});if(!t.matches(e.path,e.index))return null;let[r,n]=d(t.indexPath,t.fullPath,e.path,e.index),l=(e,{searchParams:t}={})=>{let r=new URL(e,window.location.origin+n+"/");return t&&(r.search=t.toString()),r.pathname=(0,o.Kj)(r.pathname),r},c=(e,a)=>{let[s,i]=d(r,n,e,a),l=(0,o.Kj)(t.currentPath),c=e&&u(i+"/:foo*")(l)||a&&u(s)(l)||a&&u(i)(l)||!1;return!1!==c&&c.params},h=t.getMatchData(e.path,e.index)||{},m={};for(let[e,t]of Object.entries(h))m[e]=t;let p=(e.flowStart?(0,o.yY)(t.fullPath).replace("/"+t.basePath,""):t.flowStartPath)||t.startPath;return(0,i.jsx)(a.Provider,{value:{basePath:t.basePath,startPath:t.startPath,flowStartPath:p,fullPath:n,indexPath:r,currentPath:t.currentPath,baseNavigate:t.baseNavigate,getMatchData:c,matches:(e,t)=>!!c(e,t),navigate:(e,{searchParams:r}={})=>{let n=l(e,{searchParams:r});return t.baseNavigate(n)},resolve:l,refresh:t.refresh,params:m,queryString:t.queryString,queryParams:t.queryParams,urlStateParam:t.urlStateParam},children:e.canActivate?(0,i.jsx)(f,{canActivate:e.canActivate,children:e.children}):e.children})}let x=({basePath:e,startPath:t,getPath:r,getQueryString:s,internalNavigate:h,refreshEvents:m,preservedParams:f,urlStateParam:x,children:g})=>{let{navigate:v}=(0,l.qn)(),[j,b]=n.useState({path:r(),queryString:s()}),w=j.path,y=j.queryString,N=(0,o.vA)(j.queryString),S=(e,t)=>{let[r,n]=d("","",e,t),a=(0,o.Kj)(w),s=e&&u(n+"/:foo*")(a)||t&&u(r)(a)||t&&u(n)(a)||!1;return!1!==s&&s.params},E=n.useCallback(()=>{let e=r(),t=s();(e!==w||t!==y)&&b({path:e,queryString:t})},[w,y,r,s]);(0,c.U3)(m,E);let P=async t=>{if(!t)return;let r=t.origin!==window.location.origin;if(!t.pathname.startsWith("/"+e)||r){let e=await v(t.href);return E(),e}if(f){let e=(0,o.vA)(t.search);f.forEach(t=>{!e[t]&&N[t]&&(e[t]=N[t])}),t.search=(0,o.Ws)(e)}let n=await h(t,{metadata:{navigationType:"internal"}});return b({path:t.pathname,queryString:t.search}),n};return(0,i.jsx)(a.Provider,{value:{basePath:e,startPath:t,flowStartPath:t,fullPath:"",indexPath:"",currentPath:w,queryString:y,queryParams:N,getMatchData:S.bind(void 0),matches:((e,t)=>!!S(e,t)).bind(void 0),baseNavigate:P.bind(void 0),navigate:async()=>{},resolve:(e=>new URL(e,window.location.origin)).bind(void 0),refresh:E.bind(void 0),params:{},urlStateParam:x},children:(0,i.jsx)(p,{path:e,children:g})})},g="TERNSECURE-ROUTER/HASH",v=({preservedParams:e,children:t})=>{let r=async e=>{if(e)return window.location.hash=(0,o.FV)(e).substring(1+g.length),Promise.resolve()},n=()=>new URL((0,o.tL)(window.location.hash)?window.location.origin+window.location.hash.substring(1):window.location.origin);return(0,i.jsx)(x,{getPath:()=>"/"===n().pathname?"/"+g:"/"+g+n().pathname,basePath:g,startPath:"",getQueryString:()=>n().search,internalNavigate:r,refreshEvents:["popstate","hashchange"],preservedParams:e,children:t})},j=({basePath:e,preservedParams:t,children:r})=>{let{navigate:a}=(0,l.qn)(),[s,c]=n.useState(!1);if(!a)throw Error("Missing navigate option.");let d=(e,t)=>{if(e)return a((0,o.FV)(e),t)};return(n.useEffect(()=>{(async()=>{if((0,o.tL)(window.location.hash)){let e=(0,o.yR)(new URL(window.location.href));await d(e.href,{replace:!0}),c(!0)}})()},[c,a,window.location.hash]),(0,o.tL)(window.location.hash)&&!s)?null:(0,i.jsx)(x,{basePath:e.substring(1),startPath:"",getPath:()=>window.location.pathname,getQueryString:()=>window.location.search,internalNavigate:d,refreshEvents:["popstate"],preservedParams:t,children:r})};function b({children:e}){let t=s(),r=null;return n.Children.forEach(e,e=>{if(r||!(e&&n.isValidElement(e)&&"object"==typeof e&&e.type===p))return;let{index:a,path:s}=e.props;(!a&&!s||t.matches(s,a))&&(r=e)}),(0,i.jsx)(i.Fragment,{children:r})}},3777:function(e,t,r){r.d(t,{pr:()=>l});var n=r(4557),a=r(4853),s=r(6147),i=r(3873);function l({canSubmit:e,isSubmitting:t,submitText:r,submittingText:l,className:o}){return(0,n.jsx)(s.$n,{type:"submit",disabled:!e||t,className:(0,a.cn)("tern:w-full",o),children:t?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.wm,{className:"tern:mr-2 tern:h-4 tern:w-4 tern:animate-spin"}),l]}):r})}}}]);
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){.tern *,.tern :before,.tern :after{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}.tern ::-ms-backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}.tern ::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{.tern{--tern-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--tern-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--tern-color-green-500:#00c758;--tern-color-white:#fff;--tern-spacing:.25rem;--tern-container-sm:24rem;--tern-container-md:28rem;--tern-text-sm:.875rem;--tern-text-sm--line-height:calc(1.25/.875);--tern-text-base:1rem;--tern-text-base--line-height:calc(1.5/1);--tern-font-weight-normal:400;--tern-font-weight-medium:500;--tern-font-weight-semibold:600;--tern-font-weight-bold:700;--tern-tracking-tight:-.025em;--tern-leading-snug:1.375;--tern-leading-normal:1.5;--tern-leading-relaxed:1.625;--tern-animate-spin:spin 1s linear infinite;--tern-default-transition-duration:.15s;--tern-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--tern-default-font-family:var(--tern-font-sans);--tern-default-mono-font-family:var(--tern-font-mono)}@supports (color:lab(0% 0 0)){.tern{--tern-color-green-500:lab(70.5521% -66.5147 45.8073)}}.tern :host{--tern-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--tern-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--tern-color-green-500:#00c758;--tern-color-white:#fff;--tern-spacing:.25rem;--tern-container-sm:24rem;--tern-container-md:28rem;--tern-text-sm:.875rem;--tern-text-sm--line-height:calc(1.25/.875);--tern-text-base:1rem;--tern-text-base--line-height:calc(1.5/1);--tern-font-weight-normal:400;--tern-font-weight-medium:500;--tern-font-weight-semibold:600;--tern-font-weight-bold:700;--tern-tracking-tight:-.025em;--tern-leading-snug:1.375;--tern-leading-normal:1.5;--tern-leading-relaxed:1.625;--tern-animate-spin:spin 1s linear infinite;--tern-default-transition-duration:.15s;--tern-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--tern-default-font-family:var(--tern-font-sans);--tern-default-mono-font-family:var(--tern-font-mono)}@supports (color:lab(0% 0 0)){.tern :host{--tern-color-green-500:lab(70.5521% -66.5147 45.8073)}}}@layer base{.tern *,.tern :after,.tern :before{box-sizing:border-box;border:0 solid;margin:0;padding:0}.tern ::-ms-backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}.tern ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}.tern ::-webkit-file-upload-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}.tern ::-ms-browse{box-sizing:border-box;border:0 solid;margin:0;padding:0}.tern ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}.tern{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--tern-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--tern-default-font-feature-settings,normal);font-variation-settings:var(--tern-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}.tern :host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--tern-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--tern-default-font-feature-settings,normal);font-variation-settings:var(--tern-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}.tern hr{height:0;color:inherit;border-top-width:1px}.tern abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.tern h1,.tern h2,.tern h3,.tern h4,.tern h5,.tern h6{font-size:inherit;font-weight:inherit}.tern a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.tern b,.tern strong{font-weight:bolder}.tern code,.tern kbd,.tern samp,.tern pre{font-family:var(--tern-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--tern-default-mono-font-feature-settings,normal);font-variation-settings:var(--tern-default-mono-font-variation-settings,normal);font-size:1em}.tern small{font-size:80%}.tern sub,.tern sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}.tern sub{bottom:-.25em}.tern sup{top:-.5em}.tern table{text-indent:0;border-color:inherit;border-collapse:collapse}.tern :-moz-focusring{outline:auto}.tern progress{vertical-align:baseline}.tern summary{display:list-item}.tern ol,.tern ul,.tern menu{list-style:none}.tern img,.tern svg,.tern video,.tern canvas,.tern audio,.tern iframe,.tern embed,.tern object{vertical-align:middle;display:block}.tern img,.tern video{max-width:100%;height:auto}.tern button,.tern input,.tern select,.tern optgroup,.tern textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent;border-radius:0}.tern ::-webkit-file-upload-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent;border-radius:0}.tern ::-ms-browse{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent;border-radius:0}.tern ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent;border-radius:0}.tern :where(select:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}.tern :where(select:-moz-any([multiple],[size])) optgroup{font-weight:bolder}.tern :where(select:is([multiple],[size])) optgroup{font-weight:bolder}.tern :where(select:-webkit-any([multiple],[size])) optgroup option:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}.tern :where(select:-moz-any([multiple],[size])) optgroup option:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}.tern :where(select:is([multiple],[size])) optgroup option:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}.tern :where(select:-webkit-any([multiple],[size])) optgroup option:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}.tern :where(select:-moz-any([multiple],[size])) optgroup option:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}.tern :where(select:is([multiple],[size])) optgroup option:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}.tern :not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)))::-webkit-file-upload-button{margin-right:4px}.tern :not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)))::file-selector-button{margin-right:4px}.tern :not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)))::-ms-browse{margin-right:4px}.tern :not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)))::file-selector-button{margin-right:4px}.tern :-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))::-webkit-file-upload-button{margin-left:4px}.tern :-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))::file-selector-button{margin-left:4px}.tern :is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))::-ms-browse{margin-left:4px}.tern :is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))::file-selector-button{margin-left:4px}.tern ::-webkit-input-placeholder{opacity:1}.tern ::-ms-input-placeholder{opacity:1}.tern ::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){.tern ::-webkit-input-placeholder{color:currentColor}.tern ::-ms-input-placeholder{color:currentColor}.tern ::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){.tern ::-webkit-input-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}.tern ::-ms-input-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}.tern ::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}.tern textarea{resize:vertical}.tern ::-webkit-search-decoration{-webkit-appearance:none}.tern ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}.tern ::-webkit-datetime-edit{display:inline-flex}.tern ::-webkit-datetime-edit-fields-wrapper{padding:0}.tern ::-webkit-datetime-edit{padding-top:0;padding-bottom:0}.tern ::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}.tern ::-webkit-datetime-edit-month-field{padding-top:0;padding-bottom:0}.tern ::-webkit-datetime-edit-day-field{padding-top:0;padding-bottom:0}.tern ::-webkit-datetime-edit-hour-field{padding-top:0;padding-bottom:0}.tern ::-webkit-datetime-edit-minute-field{padding-top:0;padding-bottom:0}.tern ::-webkit-datetime-edit-second-field{padding-top:0;padding-bottom:0}.tern ::-webkit-datetime-edit-millisecond-field{padding-top:0;padding-bottom:0}.tern ::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}.tern ::-webkit-calendar-picker-indicator{line-height:1}.tern :-moz-ui-invalid{box-shadow:none}.tern button{-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button}.tern input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button}.tern ::-webkit-file-upload-button{-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button}.tern ::-ms-browse{-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button}.tern ::file-selector-button{-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button}.tern ::-webkit-inner-spin-button{height:auto}.tern ::-webkit-outer-spin-button{height:auto}.tern [hidden]:where(:not([hidden=until-found])){display:none!important}.tern *{border-color:var(--tern-border);outline-color:var(--tern-ring)}@supports (color:color-mix(in lab, red, red)){.tern *{outline-color:color-mix(in oklab,var(--tern-ring)50%,transparent)}}.tern{color:var(--tern-foreground)}}@layer components;@layer utilities{.tern .tern\:\@container\/card-header,.tern.tern\:\@container\/card-header{container:card-header/inline-size}.tern .tern\:\@container\/field-group,.tern.tern\:\@container\/field-group{container:field-group/inline-size}.tern .tern\:sr-only,.tern.tern\:sr-only{-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tern .tern\:absolute,.tern.tern\:absolute{position:absolute}.tern .tern\:relative,.tern.tern\:relative{position:relative}.tern .tern\:inset-0,.tern.tern\:inset-0{inset:calc(var(--tern-spacing)*0)}.tern .tern\:top-1\/2,.tern.tern\:top-1\/2{top:50%}.tern .tern\:right-2,.tern.tern\:right-2{right:calc(var(--tern-spacing)*2)}.tern .tern\:col-start-2,.tern.tern\:col-start-2{grid-column-start:2}.tern .tern\:row-span-2,.tern.tern\:row-span-2{grid-row:span 2/span 2}.tern .tern\:row-start-1,.tern.tern\:row-start-1{grid-row-start:1}.tern .tern\:mx-auto,.tern.tern\:mx-auto{margin-left:auto;margin-right:auto}.tern .tern\:-my-2,.tern.tern\:-my-2{margin-block:calc(var(--tern-spacing)*-2)}.tern .tern\:mt-8,.tern.tern\:mt-8{margin-top:calc(var(--tern-spacing)*8)}.tern .tern\:mr-2,.tern.tern\:mr-2{margin-right:calc(var(--tern-spacing)*2)}.tern .tern\:mb-3,.tern.tern\:mb-3{margin-bottom:calc(var(--tern-spacing)*3)}.tern .tern\:mb-4,.tern.tern\:mb-4{margin-bottom:calc(var(--tern-spacing)*4)}.tern .tern\:ml-4,.tern.tern\:ml-4{margin-left:calc(var(--tern-spacing)*4)}.tern .tern\:ml-auto,.tern.tern\:ml-auto{margin-left:auto}.tern .tern\:line-clamp-1,.tern.tern\:line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tern .tern\:block,.tern.tern\:block{display:block}.tern .tern\:flex,.tern.tern\:flex{display:flex}.tern .tern\:grid,.tern.tern\:grid{display:grid}.tern .tern\:inline-block,.tern.tern\:inline-block{display:inline-block}.tern .tern\:inline-flex,.tern.tern\:inline-flex{display:inline-flex}.tern .tern\:aspect-square,.tern.tern\:aspect-square{aspect-ratio:1}.tern .tern\:size-8,.tern.tern\:size-8{width:calc(var(--tern-spacing)*8);height:calc(var(--tern-spacing)*8)}.tern .tern\:size-9,.tern.tern\:size-9{width:calc(var(--tern-spacing)*9);height:calc(var(--tern-spacing)*9)}.tern .tern\:size-full,.tern.tern\:size-full{width:100%;height:100%}.tern .tern\:h-4,.tern.tern\:h-4{height:calc(var(--tern-spacing)*4)}.tern .tern\:h-5,.tern.tern\:h-5{height:calc(var(--tern-spacing)*5)}.tern .tern\:h-6,.tern.tern\:h-6{height:calc(var(--tern-spacing)*6)}.tern .tern\:h-8,.tern.tern\:h-8{height:calc(var(--tern-spacing)*8)}.tern .tern\:h-9,.tern.tern\:h-9{height:calc(var(--tern-spacing)*9)}.tern .tern\:h-10,.tern.tern\:h-10{height:calc(var(--tern-spacing)*10)}.tern .tern\:h-12,.tern.tern\:h-12{height:calc(var(--tern-spacing)*12)}.tern .tern\:min-h-4,.tern.tern\:min-h-4{min-height:calc(var(--tern-spacing)*4)}.tern .tern\:min-h-full,.tern.tern\:min-h-full{min-height:100%}.tern .tern\:w-4,.tern.tern\:w-4{width:calc(var(--tern-spacing)*4)}.tern .tern\:w-6,.tern.tern\:w-6{width:calc(var(--tern-spacing)*6)}.tern .tern\:w-8,.tern.tern\:w-8{width:calc(var(--tern-spacing)*8)}.tern .tern\:w-12,.tern.tern\:w-12{width:calc(var(--tern-spacing)*12)}.tern .tern\:w-auto,.tern.tern\:w-auto{width:auto}.tern .tern\:w-fit,.tern.tern\:w-fit{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.tern .tern\:w-full,.tern.tern\:w-full{width:100%}.tern .tern\:max-w-md,.tern.tern\:max-w-md{max-width:var(--tern-container-md)}.tern .tern\:max-w-sm,.tern.tern\:max-w-sm{max-width:var(--tern-container-sm)}.tern .tern\:min-w-0,.tern.tern\:min-w-0{min-width:calc(var(--tern-spacing)*0)}.tern .tern\:flex-1,.tern.tern\:flex-1{flex:1}.tern .tern\:shrink-0,.tern.tern\:shrink-0{flex-shrink:0}.tern .tern\:-translate-y-1\/2,.tern.tern\:-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.tern .tern\:animate-in,.tern.tern\:animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tern .tern\:animate-spin,.tern.tern\:animate-spin{animation:var(--tern-animate-spin)}.tern .tern\:list-disc,.tern.tern\:list-disc{list-style-type:disc}.tern .tern\:auto-rows-min,.tern.tern\:auto-rows-min{grid-auto-rows:min-content}.tern .tern\:grid-cols-\[0_1fr\],.tern.tern\:grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.tern .tern\:grid-rows-\[auto_auto\],.tern.tern\:grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.tern .tern\:flex-col,.tern.tern\:flex-col{flex-direction:column}.tern .tern\:items-center,.tern.tern\:items-center{align-items:center}.tern .tern\:items-start,.tern.tern\:items-start{align-items:flex-start}.tern .tern\:justify-center,.tern.tern\:justify-center{justify-content:center}.tern .tern\:justify-items-start,.tern.tern\:justify-items-start{justify-items:start}.tern .tern\:gap-1,.tern.tern\:gap-1{gap:calc(var(--tern-spacing)*1)}.tern .tern\:gap-1\.5,.tern.tern\:gap-1\.5{gap:calc(var(--tern-spacing)*1.5)}.tern .tern\:gap-2,.tern.tern\:gap-2{gap:calc(var(--tern-spacing)*2)}.tern .tern\:gap-3,.tern.tern\:gap-3{gap:calc(var(--tern-spacing)*3)}.tern .tern\:gap-4,.tern.tern\:gap-4{gap:calc(var(--tern-spacing)*4)}.tern .tern\:gap-6,.tern.tern\:gap-6{gap:calc(var(--tern-spacing)*6)}.tern .tern\:gap-7,.tern.tern\:gap-7{gap:calc(var(--tern-spacing)*7)}.tern :where(.tern\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-top:calc(calc(var(--tern-spacing)*1)*var(--tw-space-y-reverse));margin-bottom:calc(calc(var(--tern-spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}.tern :where(.tern\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-top:calc(calc(var(--tern-spacing)*2)*var(--tw-space-y-reverse));margin-bottom:calc(calc(var(--tern-spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.tern :where(.tern\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-top:calc(calc(var(--tern-spacing)*4)*var(--tw-space-y-reverse));margin-bottom:calc(calc(var(--tern-spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.tern .tern\:gap-y-0\.5,.tern.tern\:gap-y-0\.5{row-gap:calc(var(--tern-spacing)*.5)}.tern .tern\:self-start,.tern.tern\:self-start{align-self:flex-start}.tern .tern\:justify-self-end,.tern.tern\:justify-self-end{justify-self:flex-end}.tern .tern\:overflow-hidden,.tern.tern\:overflow-hidden{overflow:hidden}.tern .tern\:rounded-full,.tern.tern\:rounded-full{border-radius:3.40282e38px}.tern .tern\:rounded-lg,.tern.tern\:rounded-lg{border-radius:var(--tern-radius)}.tern .tern\:rounded-md,.tern.tern\:rounded-md{border-radius:calc(var(--tern-radius) - 2px)}.tern .tern\:rounded-xl,.tern.tern\:rounded-xl{border-radius:calc(var(--tern-radius) + 4px)}.tern .tern\:border,.tern.tern\:border{border-style:var(--tw-border-style);border-width:1px}.tern .tern\:border-input,.tern.tern\:border-input{border-color:var(--tern-input)}.tern .tern\:bg-background,.tern.tern\:bg-background{background-color:var(--tern-background)}.tern .tern\:bg-border,.tern.tern\:bg-border{background-color:var(--tern-border)}.tern .tern\:bg-card,.tern.tern\:bg-card{background-color:var(--tern-card)}.tern .tern\:bg-destructive,.tern.tern\:bg-destructive{background-color:var(--tern-destructive)}.tern .tern\:bg-green-500,.tern.tern\:bg-green-500{background-color:var(--tern-color-green-500)}.tern .tern\:bg-muted,.tern.tern\:bg-muted{background-color:var(--tern-muted)}.tern .tern\:bg-primary,.tern.tern\:bg-primary{background-color:var(--tern-primary)}.tern .tern\:bg-secondary,.tern.tern\:bg-secondary{background-color:var(--tern-secondary)}.tern .tern\:bg-transparent,.tern.tern\:bg-transparent{background-color:transparent}.tern .tern\:p-6,.tern.tern\:p-6{padding:calc(var(--tern-spacing)*6)}.tern .tern\:px-2,.tern.tern\:px-2{padding-inline:calc(var(--tern-spacing)*2)}.tern .tern\:px-3,.tern.tern\:px-3{padding-inline:calc(var(--tern-spacing)*3)}.tern .tern\:px-4,.tern.tern\:px-4{padding-inline:calc(var(--tern-spacing)*4)}.tern .tern\:px-6,.tern.tern\:px-6{padding-inline:calc(var(--tern-spacing)*6)}.tern .tern\:py-1,.tern.tern\:py-1{padding-block:calc(var(--tern-spacing)*1)}.tern .tern\:py-2,.tern.tern\:py-2{padding-block:calc(var(--tern-spacing)*2)}.tern .tern\:py-3,.tern.tern\:py-3{padding-block:calc(var(--tern-spacing)*3)}.tern .tern\:py-6,.tern.tern\:py-6{padding-block:calc(var(--tern-spacing)*6)}.tern .tern\:pr-10,.tern.tern\:pr-10{padding-right:calc(var(--tern-spacing)*10)}.tern .tern\:text-center,.tern.tern\:text-center{text-align:center}.tern .tern\:text-base,.tern.tern\:text-base{font-size:var(--tern-text-base);line-height:var(--tw-leading,var(--tern-text-base--line-height))}.tern .tern\:text-sm,.tern.tern\:text-sm{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}.tern .tern\:leading-none,.tern.tern\:leading-none{--tw-leading:1;line-height:1}.tern .tern\:leading-normal,.tern.tern\:leading-normal{--tw-leading:var(--tern-leading-normal);line-height:var(--tern-leading-normal)}.tern .tern\:leading-snug,.tern.tern\:leading-snug{--tw-leading:var(--tern-leading-snug);line-height:var(--tern-leading-snug)}.tern .tern\:font-bold,.tern.tern\:font-bold{--tw-font-weight:var(--tern-font-weight-bold);font-weight:var(--tern-font-weight-bold)}.tern .tern\:font-medium,.tern.tern\:font-medium{--tw-font-weight:var(--tern-font-weight-medium);font-weight:var(--tern-font-weight-medium)}.tern .tern\:font-normal,.tern.tern\:font-normal{--tw-font-weight:var(--tern-font-weight-normal);font-weight:var(--tern-font-weight-normal)}.tern .tern\:font-semibold,.tern.tern\:font-semibold{--tw-font-weight:var(--tern-font-weight-semibold);font-weight:var(--tern-font-weight-semibold)}.tern .tern\:tracking-tight,.tern.tern\:tracking-tight{--tw-tracking:var(--tern-tracking-tight);letter-spacing:var(--tern-tracking-tight)}.tern .tern\:whitespace-nowrap,.tern.tern\:whitespace-nowrap{white-space:nowrap}.tern .tern\:text-card-foreground,.tern.tern\:text-card-foreground{color:var(--tern-card-foreground)}.tern .tern\:text-destructive,.tern.tern\:text-destructive{color:var(--tern-destructive)}.tern .tern\:text-muted-foreground,.tern.tern\:text-muted-foreground{color:var(--tern-muted-foreground)}.tern .tern\:text-primary,.tern.tern\:text-primary{color:var(--tern-primary)}.tern .tern\:text-primary-foreground,.tern.tern\:text-primary-foreground{color:var(--tern-primary-foreground)}.tern .tern\:text-secondary-foreground,.tern.tern\:text-secondary-foreground{color:var(--tern-secondary-foreground)}.tern .tern\:text-white,.tern.tern\:text-white{color:var(--tern-color-white)}.tern .tern\:underline-offset-4,.tern.tern\:underline-offset-4{text-underline-offset:4px}.tern .tern\:shadow-sm,.tern.tern\:shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,rgba(0,0,0,.1)),0 1px 2px -1px var(--tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tern .tern\:shadow-xs,.tern.tern\:shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,rgba(0,0,0,.05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tern .tern\:transition-\[color\,box-shadow\],.tern.tern\:transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--tern-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tern-default-transition-duration))}.tern .tern\:transition-all,.tern.tern\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--tern-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tern-default-transition-duration))}.tern .tern\:fade-in-50,.tern.tern\:fade-in-50{--tw-enter-opacity:.5}.tern .tern\:outline-none,.tern.tern\:outline-none{--tw-outline-style:none;outline-style:none}.tern .tern\:select-none,.tern.tern\:select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tern .tern\:group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance:is(:where(.tern\:group\/field):has([data-orientation=horizontal]) *){text-wrap:balance}.tern.tern\:group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance:is(:where(.tern\:group\/field):has([data-orientation=horizontal]) *){text-wrap:balance}.tern .tern\:group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.tern\:group)[data-disabled=true] *){pointer-events:none}.tern.tern\:group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.tern\:group)[data-disabled=true] *){pointer-events:none}.tern .tern\:group-data-\[disabled\=true\]\:opacity-50:is(:where(.tern\:group)[data-disabled=true] *){opacity:.5}.tern.tern\:group-data-\[disabled\=true\]\:opacity-50:is(:where(.tern\:group)[data-disabled=true] *){opacity:.5}.tern .tern\:group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.tern\:group\/field)[data-disabled=true] *){opacity:.5}.tern.tern\:group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.tern\:group\/field)[data-disabled=true] *){opacity:.5}.tern .tern\:group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.tern\:group\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--tern-spacing)*-2)}.tern.tern\:group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.tern\:group\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--tern-spacing)*-2)}.tern .tern\:peer-disabled\:cursor-not-allowed:is(:where(.tern\:peer):disabled~*){cursor:not-allowed}.tern.tern\:peer-disabled\:cursor-not-allowed:is(:where(.tern\:peer):disabled~*){cursor:not-allowed}.tern .tern\:peer-disabled\:opacity-50:is(:where(.tern\:peer):disabled~*){opacity:.5}.tern.tern\:peer-disabled\:opacity-50:is(:where(.tern\:peer):disabled~*){opacity:.5}.tern .tern\:selection\:bg-primary ::-moz-selection{background-color:var(--tern-primary)}.tern .tern\:selection\:bg-primary ::selection{background-color:var(--tern-primary)}.tern.tern\:selection\:bg-primary ::-moz-selection{background-color:var(--tern-primary)}.tern.tern\:selection\:bg-primary ::selection{background-color:var(--tern-primary)}.tern .tern\:selection\:bg-primary::-moz-selection{background-color:var(--tern-primary)}.tern .tern\:selection\:bg-primary::selection{background-color:var(--tern-primary)}.tern.tern\:selection\:bg-primary::-moz-selection{background-color:var(--tern-primary)}.tern.tern\:selection\:bg-primary::selection{background-color:var(--tern-primary)}.tern .tern\:selection\:text-primary-foreground ::-moz-selection{color:var(--tern-primary-foreground)}.tern .tern\:selection\:text-primary-foreground ::selection{color:var(--tern-primary-foreground)}.tern.tern\:selection\:text-primary-foreground ::-moz-selection{color:var(--tern-primary-foreground)}.tern.tern\:selection\:text-primary-foreground ::selection{color:var(--tern-primary-foreground)}.tern .tern\:selection\:text-primary-foreground::-moz-selection{color:var(--tern-primary-foreground)}.tern .tern\:selection\:text-primary-foreground::selection{color:var(--tern-primary-foreground)}.tern.tern\:selection\:text-primary-foreground::-moz-selection{color:var(--tern-primary-foreground)}.tern.tern\:selection\:text-primary-foreground::selection{color:var(--tern-primary-foreground)}.tern .tern\:file\:inline-flex::-webkit-file-upload-button{display:inline-flex}.tern .tern\:file\:inline-flex::-ms-browse{display:inline-flex}.tern .tern\:file\:inline-flex::file-selector-button{display:inline-flex}.tern.tern\:file\:inline-flex::-webkit-file-upload-button{display:inline-flex}.tern.tern\:file\:inline-flex::-ms-browse{display:inline-flex}.tern.tern\:file\:inline-flex::file-selector-button{display:inline-flex}.tern .tern\:file\:h-7::-webkit-file-upload-button{height:calc(var(--tern-spacing)*7)}.tern .tern\:file\:h-7::-ms-browse{height:calc(var(--tern-spacing)*7)}.tern .tern\:file\:h-7::file-selector-button{height:calc(var(--tern-spacing)*7)}.tern.tern\:file\:h-7::-webkit-file-upload-button{height:calc(var(--tern-spacing)*7)}.tern.tern\:file\:h-7::-ms-browse{height:calc(var(--tern-spacing)*7)}.tern.tern\:file\:h-7::file-selector-button{height:calc(var(--tern-spacing)*7)}.tern .tern\:file\:border-0::-webkit-file-upload-button{border-style:var(--tw-border-style);border-width:0}.tern .tern\:file\:border-0::-ms-browse{border-style:var(--tw-border-style);border-width:0}.tern .tern\:file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.tern.tern\:file\:border-0::-webkit-file-upload-button{border-style:var(--tw-border-style);border-width:0}.tern.tern\:file\:border-0::-ms-browse{border-style:var(--tw-border-style);border-width:0}.tern.tern\:file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.tern .tern\:file\:bg-transparent::-webkit-file-upload-button{background-color:transparent}.tern .tern\:file\:bg-transparent::-ms-browse{background-color:transparent}.tern .tern\:file\:bg-transparent::file-selector-button{background-color:transparent}.tern.tern\:file\:bg-transparent::-webkit-file-upload-button{background-color:transparent}.tern.tern\:file\:bg-transparent::-ms-browse{background-color:transparent}.tern.tern\:file\:bg-transparent::file-selector-button{background-color:transparent}.tern .tern\:file\:text-sm::-webkit-file-upload-button{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}.tern .tern\:file\:text-sm::-ms-browse{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}.tern .tern\:file\:text-sm::file-selector-button{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}.tern.tern\:file\:text-sm::-webkit-file-upload-button{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}.tern.tern\:file\:text-sm::-ms-browse{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}.tern.tern\:file\:text-sm::file-selector-button{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}.tern .tern\:file\:font-medium::-webkit-file-upload-button{--tw-font-weight:var(--tern-font-weight-medium);font-weight:var(--tern-font-weight-medium)}.tern .tern\:file\:font-medium::-ms-browse{--tw-font-weight:var(--tern-font-weight-medium);font-weight:var(--tern-font-weight-medium)}.tern .tern\:file\:font-medium::file-selector-button{--tw-font-weight:var(--tern-font-weight-medium);font-weight:var(--tern-font-weight-medium)}.tern.tern\:file\:font-medium::-webkit-file-upload-button{--tw-font-weight:var(--tern-font-weight-medium);font-weight:var(--tern-font-weight-medium)}.tern.tern\:file\:font-medium::-ms-browse{--tw-font-weight:var(--tern-font-weight-medium);font-weight:var(--tern-font-weight-medium)}.tern.tern\:file\:font-medium::file-selector-button{--tw-font-weight:var(--tern-font-weight-medium);font-weight:var(--tern-font-weight-medium)}.tern .tern\:file\:text-foreground::-webkit-file-upload-button{color:var(--tern-foreground)}.tern .tern\:file\:text-foreground::-ms-browse{color:var(--tern-foreground)}.tern .tern\:file\:text-foreground::file-selector-button{color:var(--tern-foreground)}.tern.tern\:file\:text-foreground::-webkit-file-upload-button{color:var(--tern-foreground)}.tern.tern\:file\:text-foreground::-ms-browse{color:var(--tern-foreground)}.tern.tern\:file\:text-foreground::file-selector-button{color:var(--tern-foreground)}.tern .tern\:placeholder\:text-muted-foreground::-webkit-input-placeholder{color:var(--tern-muted-foreground)}.tern .tern\:placeholder\:text-muted-foreground::-ms-input-placeholder{color:var(--tern-muted-foreground)}.tern .tern\:placeholder\:text-muted-foreground::placeholder{color:var(--tern-muted-foreground)}.tern.tern\:placeholder\:text-muted-foreground::-webkit-input-placeholder{color:var(--tern-muted-foreground)}.tern.tern\:placeholder\:text-muted-foreground::-ms-input-placeholder{color:var(--tern-muted-foreground)}.tern.tern\:placeholder\:text-muted-foreground::placeholder{color:var(--tern-muted-foreground)}.tern .tern\:last\:mt-0:last-child,.tern.tern\:last\:mt-0:last-child{margin-top:calc(var(--tern-spacing)*0)}.tern .tern\:focus-visible\:border-ring:focus-visible{border-color:var(--tern-ring)}.tern.tern\:focus-visible\:border-ring:focus-visible{border-color:var(--tern-ring)}.tern .tern\:focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tern.tern\:focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tern .tern\:focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--tern-ring)}.tern.tern\:focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--tern-ring)}@supports (color:color-mix(in lab, red, red)){.tern .tern\:focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--tern-ring)50%,transparent)}.tern.tern\:focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--tern-ring)50%,transparent)}}.tern .tern\:disabled\:pointer-events-none:disabled,.tern.tern\:disabled\:pointer-events-none:disabled{pointer-events:none}.tern .tern\:disabled\:cursor-not-allowed:disabled,.tern.tern\:disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.tern .tern\:disabled\:opacity-50:disabled,.tern.tern\:disabled\:opacity-50:disabled{opacity:.5}.tern .tern\:has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.tern.tern\:has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.tern .tern\:has-data-\[state\=checked\]\:border-primary:has([data-state=checked]){border-color:var(--tern-primary)}.tern.tern\:has-data-\[state\=checked\]\:border-primary:has([data-state=checked]){border-color:var(--tern-primary)}.tern .tern\:has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:var(--tern-primary)}.tern.tern\:has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:var(--tern-primary)}@supports (color:color-mix(in lab, red, red)){.tern .tern\:has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:color-mix(in oklab,var(--tern-primary)5%,transparent)}.tern.tern\:has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:color-mix(in oklab,var(--tern-primary)5%,transparent)}}.tern .tern\:has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--tern-spacing)*3)}.tern.tern\:has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--tern-spacing)*3)}.tern .tern\:has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.tern.tern\:has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.tern .tern\:has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.tern.tern\:has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.tern .tern\:has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:calc(var(--tern-radius) - 2px)}.tern.tern\:has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:calc(var(--tern-radius) - 2px)}.tern .tern\:has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.tern.tern\:has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.tern .tern\:has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--tern-spacing)*3)}.tern.tern\:has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--tern-spacing)*3)}.tern .tern\:has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.tern.tern\:has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.tern .tern\:has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--tern-spacing)*3)}.tern.tern\:has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--tern-spacing)*3)}.tern .tern\:aria-invalid\:border-destructive[aria-invalid=true],.tern.tern\:aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--tern-destructive)}.tern .tern\:aria-invalid\:ring-destructive\/20[aria-invalid=true],.tern.tern\:aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--tern-destructive)}@supports (color:color-mix(in lab, red, red)){.tern .tern\:aria-invalid\:ring-destructive\/20[aria-invalid=true],.tern.tern\:aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--tern-destructive)20%,transparent)}}.tern .tern\:data-\[invalid\=true\]\:text-destructive[data-invalid=true],.tern.tern\:data-\[invalid\=true\]\:text-destructive[data-invalid=true]{color:var(--tern-destructive)}.tern .tern\:data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal],.tern.tern\:data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.tern .tern\:data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal],.tern.tern\:data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.tern .tern\:data-\[orientation\=vertical\]\:h-full[data-orientation=vertical],.tern.tern\:data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.tern .tern\:data-\[orientation\=vertical\]\:w-px[data-orientation=vertical],.tern.tern\:data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.tern :is(.tern\:\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:var(--tern-destructive)}@supports (color:color-mix(in lab, red, red)){.tern :is(.tern\:\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab,var(--tern-destructive)90%,transparent)}}.tern .tern\:data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group],.tern.tern\:data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:calc(var(--tern-spacing)*3)}.tern .tern\:data-\[variant\=label\]\:text-sm[data-variant=label],.tern.tern\:data-\[variant\=label\]\:text-sm[data-variant=label]{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}.tern .tern\:data-\[variant\=legend\]\:text-base[data-variant=legend],.tern.tern\:data-\[variant\=legend\]\:text-base[data-variant=legend]{font-size:var(--tern-text-base);line-height:var(--tw-leading,var(--tern-text-base--line-height))}.tern .tern\:nth-last-2\:-mt-1:nth-last-child(2),.tern.tern\:nth-last-2\:-mt-1:nth-last-child(2){margin-top:calc(var(--tern-spacing)*-1)}@media (min-width:40rem){.tern .tern\:sm\:col-span-2,.tern.tern\:sm\:col-span-2{grid-column:span 2/span 2}.tern .tern\:sm\:grid-cols-2,.tern.tern\:sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.tern .tern\:md\:p-10,.tern.tern\:md\:p-10{padding:calc(var(--tern-spacing)*10)}.tern .tern\:md\:text-sm,.tern.tern\:md\:text-sm{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}}.tern .tern\:dark\:bg-input\/30:is(.dark *){background-color:var(--tern-input)}.tern.tern\:dark\:bg-input\/30:is(.dark *){background-color:var(--tern-input)}@supports (color:color-mix(in lab, red, red)){.tern .tern\:dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--tern-input)30%,transparent)}.tern.tern\:dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--tern-input)30%,transparent)}}.tern .tern\:dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state=checked]){background-color:var(--tern-primary)}.tern.tern\:dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state=checked]){background-color:var(--tern-primary)}@supports (color:color-mix(in lab, red, red)){.tern .tern\:dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state=checked]){background-color:color-mix(in oklab,var(--tern-primary)10%,transparent)}.tern.tern\:dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state=checked]){background-color:color-mix(in oklab,var(--tern-primary)10%,transparent)}}.tern .tern\:dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--tern-destructive)}.tern.tern\:dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--tern-destructive)}@supports (color:color-mix(in lab, red, red)){.tern .tern\:dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--tern-destructive)40%,transparent)}.tern.tern\:dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--tern-destructive)40%,transparent)}}.tern .tern\:\[\&_p\]\:leading-relaxed p,.tern.tern\:\[\&_p\]\:leading-relaxed p{--tw-leading:var(--tern-leading-relaxed);line-height:var(--tern-leading-relaxed)}.tern .tern\:\[\.border-b\]\:pb-6.border-b,.tern.tern\:\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--tern-spacing)*6)}.tern .tern\:\[\.border-t\]\:pt-6.border-t,.tern.tern\:\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--tern-spacing)*6)}.tern .tern\:\[\&\>\*\]\:data-\[slot\=field\]\:p-4>[data-slot=field],.tern.tern\:\[\&\>\*\]\:data-\[slot\=field\]\:p-4>[data-slot=field]{padding:calc(var(--tern-spacing)*4)}.tern .tern\:\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group],.tern.tern\:\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group]{gap:calc(var(--tern-spacing)*4)}.tern .tern\:\[\&\>a\]\:underline>a,.tern.tern\:\[\&\>a\]\:underline>a{-webkit-text-decoration-line:underline;text-decoration-line:underline}.tern .tern\:\[\&\>a\]\:underline-offset-4>a,.tern.tern\:\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.tern .tern\:\[\&\>a\:hover\]\:text-primary>a:hover,.tern.tern\:\[\&\>a\:hover\]\:text-primary>a:hover{color:var(--tern-primary)}.tern .tern\:\[\&\>svg\]\:size-4>svg,.tern.tern\:\[\&\>svg\]\:size-4>svg{width:calc(var(--tern-spacing)*4);height:calc(var(--tern-spacing)*4)}.tern .tern\:\[\&\>svg\]\:translate-y-0\.5>svg,.tern.tern\:\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:calc(var(--tern-spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.tern .tern\:\[\&\>svg\]\:text-current>svg,.tern.tern\:\[\&\>svg\]\:text-current>svg{color:currentColor}.tern [data-variant=legend]+.tern\:\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:calc(var(--tern-spacing)*-1.5)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.tern{--tern-background:#fff;--tern-foreground:#0a0a0a;--tern-card:#fff;--tern-card-foreground:#0a0a0a;--tern-popover:#fff;--tern-popover-foreground:#0a0a0a;--tern-primary:#171717;--tern-primary-foreground:#fafafa;--tern-secondary:#f5f5f5;--tern-secondary-foreground:#171717;--tern-muted:#f5f5f5;--tern-muted-foreground:#737373;--tern-accent:#f5f5f5;--tern-accent-foreground:#171717;--tern-destructive:#e40014;--tern-destructive-foreground:#e40014;--tern-border:#e5e5e5;--tern-input:#e5e5e5;--tern-ring:#a1a1a1;--tern-chart-1:#f05100;--tern-chart-2:#009588;--tern-chart-3:#104e64;--tern-chart-4:#fcbb00;--tern-chart-5:#f99c00;--tern-radius:.625rem;--tern-sidebar:#fafafa;--tern-sidebar-foreground:#0a0a0a;--tern-sidebar-primary:#171717;--tern-sidebar-primary-foreground:#fafafa;--tern-sidebar-accent:#f5f5f5;--tern-sidebar-accent-foreground:#171717;--tern-sidebar-border:#e5e5e5;--tern-sidebar-ring:#a1a1a1}@supports (color:lab(0% 0 0)){.tern{--tern-background:lab(100% 0 0);--tern-foreground:lab(2.75381% 0 0);--tern-card:lab(100% 0 0);--tern-card-foreground:lab(2.75381% 0 0);--tern-popover:lab(100% 0 0);--tern-popover-foreground:lab(2.75381% 0 0);--tern-primary:lab(7.78201% -.0000149012 0);--tern-primary-foreground:lab(98.26% 0 0);--tern-secondary:lab(96.52% -.0000298023 .0000119209);--tern-secondary-foreground:lab(7.78201% -.0000149012 0);--tern-muted:lab(96.52% -.0000298023 .0000119209);--tern-muted-foreground:lab(48.496% 0 0);--tern-accent:lab(96.52% -.0000298023 .0000119209);--tern-accent-foreground:lab(7.78201% -.0000149012 0);--tern-destructive:lab(48.4493% 77.4328 61.5452);--tern-destructive-foreground:lab(48.4493% 77.4328 61.5452);--tern-border:lab(90.952% 0 -.0000119209);--tern-input:lab(90.952% 0 -.0000119209);--tern-ring:lab(66.128% -.0000298023 .0000119209);--tern-chart-1:lab(57.1026% 64.2584 89.8886);--tern-chart-2:lab(55.0223% -41.0774 -3.90277);--tern-chart-3:lab(30.372% -13.1853 -18.7887);--tern-chart-4:lab(80.1641% 16.6016 99.2089);--tern-chart-5:lab(72.7183% 31.8672 97.9407);--tern-sidebar:lab(98.26% 0 0);--tern-sidebar-foreground:lab(2.75381% 0 0);--tern-sidebar-primary:lab(7.78201% -.0000149012 0);--tern-sidebar-primary-foreground:lab(98.26% 0 0);--tern-sidebar-accent:lab(96.52% -.0000298023 .0000119209);--tern-sidebar-accent-foreground:lab(7.78201% -.0000149012 0);--tern-sidebar-border:lab(90.952% 0 -.0000119209);--tern-sidebar-ring:lab(66.128% -.0000298023 .0000119209)}}.tern .dark,.tern.dark,.dark .tern{--tern-background:#0a0a0a;--tern-foreground:#fafafa;--tern-card:#0a0a0a;--tern-card-foreground:#fafafa;--tern-popover:#0a0a0a;--tern-popover-foreground:#fafafa;--tern-primary:#fafafa;--tern-primary-foreground:#171717;--tern-secondary:#262626;--tern-secondary-foreground:#fafafa;--tern-muted:#262626;--tern-muted-foreground:#a1a1a1;--tern-accent:#262626;--tern-accent-foreground:#fafafa;--tern-destructive:#82181a;--tern-destructive-foreground:#fb2c36;--tern-border:#262626;--tern-input:#262626;--tern-ring:#525252;--tern-chart-1:#1447e6;--tern-chart-2:#00bb7f;--tern-chart-3:#f99c00;--tern-chart-4:#ac4bff;--tern-chart-5:#ff2357;--tern-sidebar:#171717;--tern-sidebar-foreground:#fafafa;--tern-sidebar-primary:#1447e6;--tern-sidebar-primary-foreground:#fafafa;--tern-sidebar-accent:#262626;--tern-sidebar-accent-foreground:#fafafa;--tern-sidebar-border:#262626;--tern-sidebar-ring:#525252}@supports (color:lab(0% 0 0)){.tern .dark,.tern.dark,.dark .tern{--tern-background:lab(2.75381% 0 0);--tern-foreground:lab(98.26% 0 0);--tern-card:lab(2.75381% 0 0);--tern-card-foreground:lab(98.26% 0 0);--tern-popover:lab(2.75381% 0 0);--tern-popover-foreground:lab(98.26% 0 0);--tern-primary:lab(98.26% 0 0);--tern-primary-foreground:lab(7.78201% -.0000149012 0);--tern-secondary:lab(15.204% 0 -.00000596046);--tern-secondary-foreground:lab(98.26% 0 0);--tern-muted:lab(15.204% 0 -.00000596046);--tern-muted-foreground:lab(66.128% -.0000298023 .0000119209);--tern-accent:lab(15.204% 0 -.00000596046);--tern-accent-foreground:lab(98.26% 0 0);--tern-destructive:lab(28.5139% 44.5539 29.0463);--tern-destructive-foreground:lab(55.4814% 75.0732 48.8528);--tern-border:lab(15.204% 0 -.00000596046);--tern-input:lab(15.204% 0 -.00000596046);--tern-ring:lab(34.924% 0 0);--tern-chart-1:lab(36.9089% 35.0961 -85.6872);--tern-chart-2:lab(66.9756% -58.27 19.5419);--tern-chart-3:lab(72.7183% 31.8672 97.9407);--tern-chart-4:lab(52.0183% 66.11 -78.2316);--tern-chart-5:lab(56.101% 79.4328 31.4532);--tern-sidebar:lab(7.78201% -.0000149012 0);--tern-sidebar-foreground:lab(98.26% 0 0);--tern-sidebar-primary:lab(36.9089% 35.0961 -85.6872);--tern-sidebar-primary-foreground:lab(98.26% 0 0);--tern-sidebar-accent:lab(15.204% 0 -.00000596046);--tern-sidebar-accent-foreground:lab(98.26% 0 0);--tern-sidebar-border:lab(15.204% 0 -.00000596046);--tern-sidebar-ring:lab(34.924% 0 0)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));-webkit-filter:blur(var(--tw-enter-blur,0));filter:blur(var(--tw-enter-blur,0))}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tern-secure/auth",
3
- "version": "1.1.0-canary.v20251205154353",
3
+ "version": "1.1.0-canary.v20251205173403",
4
4
  "description": "Firebase authentication client ready to use functions",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,8 +31,8 @@
31
31
  "tailwindcss-animate": "^1.0.7",
32
32
  "tslib": "2.8.1",
33
33
  "tw-animate-css": "^1.3.3",
34
- "@tern-secure/shared": "1.3.0-canary.v20251205154353",
35
- "@tern-secure/types": "1.1.0-canary.v20251205154353"
34
+ "@tern-secure/shared": "1.3.0-canary.v20251205173403",
35
+ "@tern-secure/types": "1.1.0-canary.v20251205173403"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@radix-ui/react-avatar": "^1.1.11",
@@ -1,2 +0,0 @@
1
- /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){.tern *,.tern :before,.tern :after{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}.tern ::-ms-backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}.tern ::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 transparent;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 transparent;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 transparent;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 transparent;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 transparent;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{.tern{--tern-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--tern-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--tern-color-green-500:#00c758;--tern-color-white:#fff;--tern-spacing:.25rem;--tern-container-sm:24rem;--tern-container-md:28rem;--tern-text-sm:.875rem;--tern-text-sm--line-height:calc(1.25/.875);--tern-text-base:1rem;--tern-text-base--line-height:calc(1.5/1);--tern-font-weight-normal:400;--tern-font-weight-medium:500;--tern-font-weight-semibold:600;--tern-font-weight-bold:700;--tern-tracking-tight:-.025em;--tern-leading-snug:1.375;--tern-leading-normal:1.5;--tern-leading-relaxed:1.625;--tern-animate-spin:spin 1s linear infinite;--tern-default-transition-duration:.15s;--tern-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--tern-default-font-family:var(--tern-font-sans);--tern-default-mono-font-family:var(--tern-font-mono)}@supports (color:lab(0% 0 0)){.tern{--tern-color-green-500:lab(70.5521% -66.5147 45.8073)}}.tern :host{--tern-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--tern-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--tern-color-green-500:#00c758;--tern-color-white:#fff;--tern-spacing:.25rem;--tern-container-sm:24rem;--tern-container-md:28rem;--tern-text-sm:.875rem;--tern-text-sm--line-height:calc(1.25/.875);--tern-text-base:1rem;--tern-text-base--line-height:calc(1.5/1);--tern-font-weight-normal:400;--tern-font-weight-medium:500;--tern-font-weight-semibold:600;--tern-font-weight-bold:700;--tern-tracking-tight:-.025em;--tern-leading-snug:1.375;--tern-leading-normal:1.5;--tern-leading-relaxed:1.625;--tern-animate-spin:spin 1s linear infinite;--tern-default-transition-duration:.15s;--tern-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--tern-default-font-family:var(--tern-font-sans);--tern-default-mono-font-family:var(--tern-font-mono)}@supports (color:lab(0% 0 0)){.tern :host{--tern-color-green-500:lab(70.5521% -66.5147 45.8073)}}}@layer base{.tern *,.tern :after,.tern :before{box-sizing:border-box;border:0 solid;margin:0;padding:0}.tern ::-ms-backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}.tern ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}.tern ::-webkit-file-upload-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}.tern ::-ms-browse{box-sizing:border-box;border:0 solid;margin:0;padding:0}.tern ::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}.tern{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--tern-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--tern-default-font-feature-settings,normal);font-variation-settings:var(--tern-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}.tern :host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--tern-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--tern-default-font-feature-settings,normal);font-variation-settings:var(--tern-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}.tern hr{height:0;color:inherit;border-top-width:1px}.tern abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.tern h1,.tern h2,.tern h3,.tern h4,.tern h5,.tern h6{font-size:inherit;font-weight:inherit}.tern a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.tern b,.tern strong{font-weight:bolder}.tern code,.tern kbd,.tern samp,.tern pre{font-family:var(--tern-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--tern-default-mono-font-feature-settings,normal);font-variation-settings:var(--tern-default-mono-font-variation-settings,normal);font-size:1em}.tern small{font-size:80%}.tern sub,.tern sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}.tern sub{bottom:-.25em}.tern sup{top:-.5em}.tern table{text-indent:0;border-color:inherit;border-collapse:collapse}.tern :-moz-focusring{outline:auto}.tern progress{vertical-align:baseline}.tern summary{display:list-item}.tern ol,.tern ul,.tern menu{list-style:none}.tern img,.tern svg,.tern video,.tern canvas,.tern audio,.tern iframe,.tern embed,.tern object{vertical-align:middle;display:block}.tern img,.tern video{max-width:100%;height:auto}.tern button,.tern input,.tern select,.tern optgroup,.tern textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent;border-radius:0}.tern ::-webkit-file-upload-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent;border-radius:0}.tern ::-ms-browse{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent;border-radius:0}.tern ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent;border-radius:0}.tern :where(select:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}.tern :where(select:-moz-any([multiple],[size])) optgroup{font-weight:bolder}.tern :where(select:is([multiple],[size])) optgroup{font-weight:bolder}.tern :where(select:-webkit-any([multiple],[size])) optgroup option:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}.tern :where(select:-moz-any([multiple],[size])) optgroup option:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}.tern :where(select:is([multiple],[size])) optgroup option:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:20px}.tern :where(select:-webkit-any([multiple],[size])) optgroup option:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}.tern :where(select:-moz-any([multiple],[size])) optgroup option:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}.tern :where(select:is([multiple],[size])) optgroup option:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:20px}.tern :not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)))::-webkit-file-upload-button{margin-right:4px}.tern :not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)))::file-selector-button{margin-right:4px}.tern :not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)))::-ms-browse{margin-right:4px}.tern :not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)))::file-selector-button{margin-right:4px}.tern :-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))::-webkit-file-upload-button{margin-left:4px}.tern :-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))::file-selector-button{margin-left:4px}.tern :is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))::-ms-browse{margin-left:4px}.tern :is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))::file-selector-button{margin-left:4px}.tern ::-webkit-input-placeholder{opacity:1}.tern ::-ms-input-placeholder{opacity:1}.tern ::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){.tern ::-webkit-input-placeholder{color:currentColor}.tern ::-ms-input-placeholder{color:currentColor}.tern ::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){.tern ::-webkit-input-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}.tern ::-ms-input-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}.tern ::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}.tern textarea{resize:vertical}.tern ::-webkit-search-decoration{-webkit-appearance:none}.tern ::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}.tern ::-webkit-datetime-edit{display:inline-flex}.tern ::-webkit-datetime-edit-fields-wrapper{padding:0}.tern ::-webkit-datetime-edit{padding-top:0;padding-bottom:0}.tern ::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}.tern ::-webkit-datetime-edit-month-field{padding-top:0;padding-bottom:0}.tern ::-webkit-datetime-edit-day-field{padding-top:0;padding-bottom:0}.tern ::-webkit-datetime-edit-hour-field{padding-top:0;padding-bottom:0}.tern ::-webkit-datetime-edit-minute-field{padding-top:0;padding-bottom:0}.tern ::-webkit-datetime-edit-second-field{padding-top:0;padding-bottom:0}.tern ::-webkit-datetime-edit-millisecond-field{padding-top:0;padding-bottom:0}.tern ::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}.tern ::-webkit-calendar-picker-indicator{line-height:1}.tern :-moz-ui-invalid{box-shadow:none}.tern button{-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button}.tern input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button}.tern ::-webkit-file-upload-button{-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button}.tern ::-ms-browse{-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button}.tern ::file-selector-button{-webkit-appearance:button;-moz-appearance:button;-ms-appearance:button;appearance:button}.tern ::-webkit-inner-spin-button{height:auto}.tern ::-webkit-outer-spin-button{height:auto}.tern [hidden]:where(:not([hidden=until-found])){display:none!important}.tern *{border-color:var(--tern-border);outline-color:var(--tern-ring)}@supports (color:color-mix(in lab, red, red)){.tern *{outline-color:color-mix(in oklab,var(--tern-ring)50%,transparent)}}.tern{background-color:var(--tern-background);color:var(--tern-foreground)}}@layer components;@layer utilities{.tern .tern\:\@container\/card-header,.tern.tern\:\@container\/card-header{container:card-header/inline-size}.tern .tern\:\@container\/field-group,.tern.tern\:\@container\/field-group{container:field-group/inline-size}.tern .tern\:sr-only,.tern.tern\:sr-only{-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tern .tern\:absolute,.tern.tern\:absolute{position:absolute}.tern .tern\:relative,.tern.tern\:relative{position:relative}.tern .tern\:inset-0,.tern.tern\:inset-0{inset:calc(var(--tern-spacing)*0)}.tern .tern\:top-1\/2,.tern.tern\:top-1\/2{top:50%}.tern .tern\:right-2,.tern.tern\:right-2{right:calc(var(--tern-spacing)*2)}.tern .tern\:col-start-2,.tern.tern\:col-start-2{grid-column-start:2}.tern .tern\:row-span-2,.tern.tern\:row-span-2{grid-row:span 2/span 2}.tern .tern\:row-start-1,.tern.tern\:row-start-1{grid-row-start:1}.tern .tern\:mx-auto,.tern.tern\:mx-auto{margin-left:auto;margin-right:auto}.tern .tern\:-my-2,.tern.tern\:-my-2{margin-block:calc(var(--tern-spacing)*-2)}.tern .tern\:mt-8,.tern.tern\:mt-8{margin-top:calc(var(--tern-spacing)*8)}.tern .tern\:mr-2,.tern.tern\:mr-2{margin-right:calc(var(--tern-spacing)*2)}.tern .tern\:mb-3,.tern.tern\:mb-3{margin-bottom:calc(var(--tern-spacing)*3)}.tern .tern\:mb-4,.tern.tern\:mb-4{margin-bottom:calc(var(--tern-spacing)*4)}.tern .tern\:ml-4,.tern.tern\:ml-4{margin-left:calc(var(--tern-spacing)*4)}.tern .tern\:ml-auto,.tern.tern\:ml-auto{margin-left:auto}.tern .tern\:line-clamp-1,.tern.tern\:line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tern .tern\:block,.tern.tern\:block{display:block}.tern .tern\:flex,.tern.tern\:flex{display:flex}.tern .tern\:grid,.tern.tern\:grid{display:grid}.tern .tern\:inline-block,.tern.tern\:inline-block{display:inline-block}.tern .tern\:inline-flex,.tern.tern\:inline-flex{display:inline-flex}.tern .tern\:aspect-square,.tern.tern\:aspect-square{aspect-ratio:1}.tern .tern\:size-8,.tern.tern\:size-8{width:calc(var(--tern-spacing)*8);height:calc(var(--tern-spacing)*8)}.tern .tern\:size-9,.tern.tern\:size-9{width:calc(var(--tern-spacing)*9);height:calc(var(--tern-spacing)*9)}.tern .tern\:size-full,.tern.tern\:size-full{width:100%;height:100%}.tern .tern\:h-4,.tern.tern\:h-4{height:calc(var(--tern-spacing)*4)}.tern .tern\:h-5,.tern.tern\:h-5{height:calc(var(--tern-spacing)*5)}.tern .tern\:h-6,.tern.tern\:h-6{height:calc(var(--tern-spacing)*6)}.tern .tern\:h-8,.tern.tern\:h-8{height:calc(var(--tern-spacing)*8)}.tern .tern\:h-9,.tern.tern\:h-9{height:calc(var(--tern-spacing)*9)}.tern .tern\:h-10,.tern.tern\:h-10{height:calc(var(--tern-spacing)*10)}.tern .tern\:h-12,.tern.tern\:h-12{height:calc(var(--tern-spacing)*12)}.tern .tern\:min-h-4,.tern.tern\:min-h-4{min-height:calc(var(--tern-spacing)*4)}.tern .tern\:min-h-full,.tern.tern\:min-h-full{min-height:100%}.tern .tern\:w-4,.tern.tern\:w-4{width:calc(var(--tern-spacing)*4)}.tern .tern\:w-6,.tern.tern\:w-6{width:calc(var(--tern-spacing)*6)}.tern .tern\:w-8,.tern.tern\:w-8{width:calc(var(--tern-spacing)*8)}.tern .tern\:w-12,.tern.tern\:w-12{width:calc(var(--tern-spacing)*12)}.tern .tern\:w-auto,.tern.tern\:w-auto{width:auto}.tern .tern\:w-fit,.tern.tern\:w-fit{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.tern .tern\:w-full,.tern.tern\:w-full{width:100%}.tern .tern\:max-w-md,.tern.tern\:max-w-md{max-width:var(--tern-container-md)}.tern .tern\:max-w-sm,.tern.tern\:max-w-sm{max-width:var(--tern-container-sm)}.tern .tern\:min-w-0,.tern.tern\:min-w-0{min-width:calc(var(--tern-spacing)*0)}.tern .tern\:flex-1,.tern.tern\:flex-1{flex:1}.tern .tern\:shrink-0,.tern.tern\:shrink-0{flex-shrink:0}.tern .tern\:-translate-y-1\/2,.tern.tern\:-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.tern .tern\:animate-in,.tern.tern\:animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tern .tern\:animate-spin,.tern.tern\:animate-spin{animation:var(--tern-animate-spin)}.tern .tern\:list-disc,.tern.tern\:list-disc{list-style-type:disc}.tern .tern\:auto-rows-min,.tern.tern\:auto-rows-min{grid-auto-rows:min-content}.tern .tern\:grid-cols-\[0_1fr\],.tern.tern\:grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.tern .tern\:grid-rows-\[auto_auto\],.tern.tern\:grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.tern .tern\:flex-col,.tern.tern\:flex-col{flex-direction:column}.tern .tern\:items-center,.tern.tern\:items-center{align-items:center}.tern .tern\:items-start,.tern.tern\:items-start{align-items:flex-start}.tern .tern\:justify-center,.tern.tern\:justify-center{justify-content:center}.tern .tern\:justify-items-start,.tern.tern\:justify-items-start{justify-items:start}.tern .tern\:gap-1,.tern.tern\:gap-1{gap:calc(var(--tern-spacing)*1)}.tern .tern\:gap-1\.5,.tern.tern\:gap-1\.5{gap:calc(var(--tern-spacing)*1.5)}.tern .tern\:gap-2,.tern.tern\:gap-2{gap:calc(var(--tern-spacing)*2)}.tern .tern\:gap-3,.tern.tern\:gap-3{gap:calc(var(--tern-spacing)*3)}.tern .tern\:gap-4,.tern.tern\:gap-4{gap:calc(var(--tern-spacing)*4)}.tern .tern\:gap-6,.tern.tern\:gap-6{gap:calc(var(--tern-spacing)*6)}.tern .tern\:gap-7,.tern.tern\:gap-7{gap:calc(var(--tern-spacing)*7)}.tern :where(.tern\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-top:calc(calc(var(--tern-spacing)*1)*var(--tw-space-y-reverse));margin-bottom:calc(calc(var(--tern-spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}.tern :where(.tern\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-top:calc(calc(var(--tern-spacing)*2)*var(--tw-space-y-reverse));margin-bottom:calc(calc(var(--tern-spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.tern :where(.tern\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-top:calc(calc(var(--tern-spacing)*4)*var(--tw-space-y-reverse));margin-bottom:calc(calc(var(--tern-spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.tern .tern\:gap-y-0\.5,.tern.tern\:gap-y-0\.5{row-gap:calc(var(--tern-spacing)*.5)}.tern .tern\:self-start,.tern.tern\:self-start{align-self:flex-start}.tern .tern\:justify-self-end,.tern.tern\:justify-self-end{justify-self:flex-end}.tern .tern\:overflow-hidden,.tern.tern\:overflow-hidden{overflow:hidden}.tern .tern\:rounded-full,.tern.tern\:rounded-full{border-radius:3.40282e38px}.tern .tern\:rounded-lg,.tern.tern\:rounded-lg{border-radius:var(--tern-radius)}.tern .tern\:rounded-md,.tern.tern\:rounded-md{border-radius:calc(var(--tern-radius) - 2px)}.tern .tern\:rounded-xl,.tern.tern\:rounded-xl{border-radius:calc(var(--tern-radius) + 4px)}.tern .tern\:border,.tern.tern\:border{border-style:var(--tw-border-style);border-width:1px}.tern .tern\:border-input,.tern.tern\:border-input{border-color:var(--tern-input)}.tern .tern\:bg-background,.tern.tern\:bg-background{background-color:var(--tern-background)}.tern .tern\:bg-border,.tern.tern\:bg-border{background-color:var(--tern-border)}.tern .tern\:bg-card,.tern.tern\:bg-card{background-color:var(--tern-card)}.tern .tern\:bg-destructive,.tern.tern\:bg-destructive{background-color:var(--tern-destructive)}.tern .tern\:bg-green-500,.tern.tern\:bg-green-500{background-color:var(--tern-color-green-500)}.tern .tern\:bg-muted,.tern.tern\:bg-muted{background-color:var(--tern-muted)}.tern .tern\:bg-primary,.tern.tern\:bg-primary{background-color:var(--tern-primary)}.tern .tern\:bg-secondary,.tern.tern\:bg-secondary{background-color:var(--tern-secondary)}.tern .tern\:bg-transparent,.tern.tern\:bg-transparent{background-color:transparent}.tern .tern\:p-6,.tern.tern\:p-6{padding:calc(var(--tern-spacing)*6)}.tern .tern\:px-2,.tern.tern\:px-2{padding-inline:calc(var(--tern-spacing)*2)}.tern .tern\:px-3,.tern.tern\:px-3{padding-inline:calc(var(--tern-spacing)*3)}.tern .tern\:px-4,.tern.tern\:px-4{padding-inline:calc(var(--tern-spacing)*4)}.tern .tern\:px-6,.tern.tern\:px-6{padding-inline:calc(var(--tern-spacing)*6)}.tern .tern\:py-1,.tern.tern\:py-1{padding-block:calc(var(--tern-spacing)*1)}.tern .tern\:py-2,.tern.tern\:py-2{padding-block:calc(var(--tern-spacing)*2)}.tern .tern\:py-3,.tern.tern\:py-3{padding-block:calc(var(--tern-spacing)*3)}.tern .tern\:py-6,.tern.tern\:py-6{padding-block:calc(var(--tern-spacing)*6)}.tern .tern\:pr-10,.tern.tern\:pr-10{padding-right:calc(var(--tern-spacing)*10)}.tern .tern\:text-center,.tern.tern\:text-center{text-align:center}.tern .tern\:text-base,.tern.tern\:text-base{font-size:var(--tern-text-base);line-height:var(--tw-leading,var(--tern-text-base--line-height))}.tern .tern\:text-sm,.tern.tern\:text-sm{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}.tern .tern\:leading-none,.tern.tern\:leading-none{--tw-leading:1;line-height:1}.tern .tern\:leading-normal,.tern.tern\:leading-normal{--tw-leading:var(--tern-leading-normal);line-height:var(--tern-leading-normal)}.tern .tern\:leading-snug,.tern.tern\:leading-snug{--tw-leading:var(--tern-leading-snug);line-height:var(--tern-leading-snug)}.tern .tern\:font-bold,.tern.tern\:font-bold{--tw-font-weight:var(--tern-font-weight-bold);font-weight:var(--tern-font-weight-bold)}.tern .tern\:font-medium,.tern.tern\:font-medium{--tw-font-weight:var(--tern-font-weight-medium);font-weight:var(--tern-font-weight-medium)}.tern .tern\:font-normal,.tern.tern\:font-normal{--tw-font-weight:var(--tern-font-weight-normal);font-weight:var(--tern-font-weight-normal)}.tern .tern\:font-semibold,.tern.tern\:font-semibold{--tw-font-weight:var(--tern-font-weight-semibold);font-weight:var(--tern-font-weight-semibold)}.tern .tern\:tracking-tight,.tern.tern\:tracking-tight{--tw-tracking:var(--tern-tracking-tight);letter-spacing:var(--tern-tracking-tight)}.tern .tern\:whitespace-nowrap,.tern.tern\:whitespace-nowrap{white-space:nowrap}.tern .tern\:text-card-foreground,.tern.tern\:text-card-foreground{color:var(--tern-card-foreground)}.tern .tern\:text-destructive,.tern.tern\:text-destructive{color:var(--tern-destructive)}.tern .tern\:text-muted-foreground,.tern.tern\:text-muted-foreground{color:var(--tern-muted-foreground)}.tern .tern\:text-primary,.tern.tern\:text-primary{color:var(--tern-primary)}.tern .tern\:text-primary-foreground,.tern.tern\:text-primary-foreground{color:var(--tern-primary-foreground)}.tern .tern\:text-secondary-foreground,.tern.tern\:text-secondary-foreground{color:var(--tern-secondary-foreground)}.tern .tern\:text-white,.tern.tern\:text-white{color:var(--tern-color-white)}.tern .tern\:underline-offset-4,.tern.tern\:underline-offset-4{text-underline-offset:4px}.tern .tern\:shadow-sm,.tern.tern\:shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,rgba(0,0,0,.1)),0 1px 2px -1px var(--tw-shadow-color,rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tern .tern\:shadow-xs,.tern.tern\:shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,rgba(0,0,0,.05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tern .tern\:transition-\[color\,box-shadow\],.tern.tern\:transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--tern-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tern-default-transition-duration))}.tern .tern\:transition-all,.tern.tern\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--tern-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tern-default-transition-duration))}.tern .tern\:fade-in-50,.tern.tern\:fade-in-50{--tw-enter-opacity:.5}.tern .tern\:outline-none,.tern.tern\:outline-none{--tw-outline-style:none;outline-style:none}.tern .tern\:select-none,.tern.tern\:select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tern .tern\:group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance:is(:where(.tern\:group\/field):has([data-orientation=horizontal]) *){text-wrap:balance}.tern.tern\:group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance:is(:where(.tern\:group\/field):has([data-orientation=horizontal]) *){text-wrap:balance}.tern .tern\:group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.tern\:group)[data-disabled=true] *){pointer-events:none}.tern.tern\:group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.tern\:group)[data-disabled=true] *){pointer-events:none}.tern .tern\:group-data-\[disabled\=true\]\:opacity-50:is(:where(.tern\:group)[data-disabled=true] *){opacity:.5}.tern.tern\:group-data-\[disabled\=true\]\:opacity-50:is(:where(.tern\:group)[data-disabled=true] *){opacity:.5}.tern .tern\:group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.tern\:group\/field)[data-disabled=true] *){opacity:.5}.tern.tern\:group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.tern\:group\/field)[data-disabled=true] *){opacity:.5}.tern .tern\:group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.tern\:group\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--tern-spacing)*-2)}.tern.tern\:group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.tern\:group\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--tern-spacing)*-2)}.tern .tern\:peer-disabled\:cursor-not-allowed:is(:where(.tern\:peer):disabled~*){cursor:not-allowed}.tern.tern\:peer-disabled\:cursor-not-allowed:is(:where(.tern\:peer):disabled~*){cursor:not-allowed}.tern .tern\:peer-disabled\:opacity-50:is(:where(.tern\:peer):disabled~*){opacity:.5}.tern.tern\:peer-disabled\:opacity-50:is(:where(.tern\:peer):disabled~*){opacity:.5}.tern .tern\:selection\:bg-primary ::-moz-selection{background-color:var(--tern-primary)}.tern .tern\:selection\:bg-primary ::selection{background-color:var(--tern-primary)}.tern.tern\:selection\:bg-primary ::-moz-selection{background-color:var(--tern-primary)}.tern.tern\:selection\:bg-primary ::selection{background-color:var(--tern-primary)}.tern .tern\:selection\:bg-primary::-moz-selection{background-color:var(--tern-primary)}.tern .tern\:selection\:bg-primary::selection{background-color:var(--tern-primary)}.tern.tern\:selection\:bg-primary::-moz-selection{background-color:var(--tern-primary)}.tern.tern\:selection\:bg-primary::selection{background-color:var(--tern-primary)}.tern .tern\:selection\:text-primary-foreground ::-moz-selection{color:var(--tern-primary-foreground)}.tern .tern\:selection\:text-primary-foreground ::selection{color:var(--tern-primary-foreground)}.tern.tern\:selection\:text-primary-foreground ::-moz-selection{color:var(--tern-primary-foreground)}.tern.tern\:selection\:text-primary-foreground ::selection{color:var(--tern-primary-foreground)}.tern .tern\:selection\:text-primary-foreground::-moz-selection{color:var(--tern-primary-foreground)}.tern .tern\:selection\:text-primary-foreground::selection{color:var(--tern-primary-foreground)}.tern.tern\:selection\:text-primary-foreground::-moz-selection{color:var(--tern-primary-foreground)}.tern.tern\:selection\:text-primary-foreground::selection{color:var(--tern-primary-foreground)}.tern .tern\:file\:inline-flex::-webkit-file-upload-button{display:inline-flex}.tern .tern\:file\:inline-flex::-ms-browse{display:inline-flex}.tern .tern\:file\:inline-flex::file-selector-button{display:inline-flex}.tern.tern\:file\:inline-flex::-webkit-file-upload-button{display:inline-flex}.tern.tern\:file\:inline-flex::-ms-browse{display:inline-flex}.tern.tern\:file\:inline-flex::file-selector-button{display:inline-flex}.tern .tern\:file\:h-7::-webkit-file-upload-button{height:calc(var(--tern-spacing)*7)}.tern .tern\:file\:h-7::-ms-browse{height:calc(var(--tern-spacing)*7)}.tern .tern\:file\:h-7::file-selector-button{height:calc(var(--tern-spacing)*7)}.tern.tern\:file\:h-7::-webkit-file-upload-button{height:calc(var(--tern-spacing)*7)}.tern.tern\:file\:h-7::-ms-browse{height:calc(var(--tern-spacing)*7)}.tern.tern\:file\:h-7::file-selector-button{height:calc(var(--tern-spacing)*7)}.tern .tern\:file\:border-0::-webkit-file-upload-button{border-style:var(--tw-border-style);border-width:0}.tern .tern\:file\:border-0::-ms-browse{border-style:var(--tw-border-style);border-width:0}.tern .tern\:file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.tern.tern\:file\:border-0::-webkit-file-upload-button{border-style:var(--tw-border-style);border-width:0}.tern.tern\:file\:border-0::-ms-browse{border-style:var(--tw-border-style);border-width:0}.tern.tern\:file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.tern .tern\:file\:bg-transparent::-webkit-file-upload-button{background-color:transparent}.tern .tern\:file\:bg-transparent::-ms-browse{background-color:transparent}.tern .tern\:file\:bg-transparent::file-selector-button{background-color:transparent}.tern.tern\:file\:bg-transparent::-webkit-file-upload-button{background-color:transparent}.tern.tern\:file\:bg-transparent::-ms-browse{background-color:transparent}.tern.tern\:file\:bg-transparent::file-selector-button{background-color:transparent}.tern .tern\:file\:text-sm::-webkit-file-upload-button{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}.tern .tern\:file\:text-sm::-ms-browse{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}.tern .tern\:file\:text-sm::file-selector-button{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}.tern.tern\:file\:text-sm::-webkit-file-upload-button{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}.tern.tern\:file\:text-sm::-ms-browse{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}.tern.tern\:file\:text-sm::file-selector-button{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}.tern .tern\:file\:font-medium::-webkit-file-upload-button{--tw-font-weight:var(--tern-font-weight-medium);font-weight:var(--tern-font-weight-medium)}.tern .tern\:file\:font-medium::-ms-browse{--tw-font-weight:var(--tern-font-weight-medium);font-weight:var(--tern-font-weight-medium)}.tern .tern\:file\:font-medium::file-selector-button{--tw-font-weight:var(--tern-font-weight-medium);font-weight:var(--tern-font-weight-medium)}.tern.tern\:file\:font-medium::-webkit-file-upload-button{--tw-font-weight:var(--tern-font-weight-medium);font-weight:var(--tern-font-weight-medium)}.tern.tern\:file\:font-medium::-ms-browse{--tw-font-weight:var(--tern-font-weight-medium);font-weight:var(--tern-font-weight-medium)}.tern.tern\:file\:font-medium::file-selector-button{--tw-font-weight:var(--tern-font-weight-medium);font-weight:var(--tern-font-weight-medium)}.tern .tern\:file\:text-foreground::-webkit-file-upload-button{color:var(--tern-foreground)}.tern .tern\:file\:text-foreground::-ms-browse{color:var(--tern-foreground)}.tern .tern\:file\:text-foreground::file-selector-button{color:var(--tern-foreground)}.tern.tern\:file\:text-foreground::-webkit-file-upload-button{color:var(--tern-foreground)}.tern.tern\:file\:text-foreground::-ms-browse{color:var(--tern-foreground)}.tern.tern\:file\:text-foreground::file-selector-button{color:var(--tern-foreground)}.tern .tern\:placeholder\:text-muted-foreground::-webkit-input-placeholder{color:var(--tern-muted-foreground)}.tern .tern\:placeholder\:text-muted-foreground::-ms-input-placeholder{color:var(--tern-muted-foreground)}.tern .tern\:placeholder\:text-muted-foreground::placeholder{color:var(--tern-muted-foreground)}.tern.tern\:placeholder\:text-muted-foreground::-webkit-input-placeholder{color:var(--tern-muted-foreground)}.tern.tern\:placeholder\:text-muted-foreground::-ms-input-placeholder{color:var(--tern-muted-foreground)}.tern.tern\:placeholder\:text-muted-foreground::placeholder{color:var(--tern-muted-foreground)}.tern .tern\:last\:mt-0:last-child,.tern.tern\:last\:mt-0:last-child{margin-top:calc(var(--tern-spacing)*0)}.tern .tern\:focus-visible\:border-ring:focus-visible{border-color:var(--tern-ring)}.tern.tern\:focus-visible\:border-ring:focus-visible{border-color:var(--tern-ring)}.tern .tern\:focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tern.tern\:focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tern .tern\:focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--tern-ring)}.tern.tern\:focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--tern-ring)}@supports (color:color-mix(in lab, red, red)){.tern .tern\:focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--tern-ring)50%,transparent)}.tern.tern\:focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--tern-ring)50%,transparent)}}.tern .tern\:disabled\:pointer-events-none:disabled,.tern.tern\:disabled\:pointer-events-none:disabled{pointer-events:none}.tern .tern\:disabled\:cursor-not-allowed:disabled,.tern.tern\:disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.tern .tern\:disabled\:opacity-50:disabled,.tern.tern\:disabled\:opacity-50:disabled{opacity:.5}.tern .tern\:has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.tern.tern\:has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.tern .tern\:has-data-\[state\=checked\]\:border-primary:has([data-state=checked]){border-color:var(--tern-primary)}.tern.tern\:has-data-\[state\=checked\]\:border-primary:has([data-state=checked]){border-color:var(--tern-primary)}.tern .tern\:has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:var(--tern-primary)}.tern.tern\:has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:var(--tern-primary)}@supports (color:color-mix(in lab, red, red)){.tern .tern\:has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:color-mix(in oklab,var(--tern-primary)5%,transparent)}.tern.tern\:has-data-\[state\=checked\]\:bg-primary\/5:has([data-state=checked]){background-color:color-mix(in oklab,var(--tern-primary)5%,transparent)}}.tern .tern\:has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--tern-spacing)*3)}.tern.tern\:has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--tern-spacing)*3)}.tern .tern\:has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.tern.tern\:has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.tern .tern\:has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.tern.tern\:has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.tern .tern\:has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:calc(var(--tern-radius) - 2px)}.tern.tern\:has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:calc(var(--tern-radius) - 2px)}.tern .tern\:has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.tern.tern\:has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.tern .tern\:has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--tern-spacing)*3)}.tern.tern\:has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--tern-spacing)*3)}.tern .tern\:has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.tern.tern\:has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.tern .tern\:has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--tern-spacing)*3)}.tern.tern\:has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--tern-spacing)*3)}.tern .tern\:aria-invalid\:border-destructive[aria-invalid=true],.tern.tern\:aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--tern-destructive)}.tern .tern\:aria-invalid\:ring-destructive\/20[aria-invalid=true],.tern.tern\:aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--tern-destructive)}@supports (color:color-mix(in lab, red, red)){.tern .tern\:aria-invalid\:ring-destructive\/20[aria-invalid=true],.tern.tern\:aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--tern-destructive)20%,transparent)}}.tern .tern\:data-\[invalid\=true\]\:text-destructive[data-invalid=true],.tern.tern\:data-\[invalid\=true\]\:text-destructive[data-invalid=true]{color:var(--tern-destructive)}.tern .tern\:data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal],.tern.tern\:data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.tern .tern\:data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal],.tern.tern\:data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.tern .tern\:data-\[orientation\=vertical\]\:h-full[data-orientation=vertical],.tern.tern\:data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.tern .tern\:data-\[orientation\=vertical\]\:w-px[data-orientation=vertical],.tern.tern\:data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.tern :is(.tern\:\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:var(--tern-destructive)}@supports (color:color-mix(in lab, red, red)){.tern :is(.tern\:\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab,var(--tern-destructive)90%,transparent)}}.tern .tern\:data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group],.tern.tern\:data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:calc(var(--tern-spacing)*3)}.tern .tern\:data-\[variant\=label\]\:text-sm[data-variant=label],.tern.tern\:data-\[variant\=label\]\:text-sm[data-variant=label]{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}.tern .tern\:data-\[variant\=legend\]\:text-base[data-variant=legend],.tern.tern\:data-\[variant\=legend\]\:text-base[data-variant=legend]{font-size:var(--tern-text-base);line-height:var(--tw-leading,var(--tern-text-base--line-height))}.tern .tern\:nth-last-2\:-mt-1:nth-last-child(2),.tern.tern\:nth-last-2\:-mt-1:nth-last-child(2){margin-top:calc(var(--tern-spacing)*-1)}@media (min-width:40rem){.tern .tern\:sm\:col-span-2,.tern.tern\:sm\:col-span-2{grid-column:span 2/span 2}.tern .tern\:sm\:grid-cols-2,.tern.tern\:sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.tern .tern\:md\:p-10,.tern.tern\:md\:p-10{padding:calc(var(--tern-spacing)*10)}.tern .tern\:md\:text-sm,.tern.tern\:md\:text-sm{font-size:var(--tern-text-sm);line-height:var(--tw-leading,var(--tern-text-sm--line-height))}}.tern .tern\:dark\:bg-input\/30:is(.dark *){background-color:var(--tern-input)}.tern.tern\:dark\:bg-input\/30:is(.dark *){background-color:var(--tern-input)}@supports (color:color-mix(in lab, red, red)){.tern .tern\:dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--tern-input)30%,transparent)}.tern.tern\:dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--tern-input)30%,transparent)}}.tern .tern\:dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state=checked]){background-color:var(--tern-primary)}.tern.tern\:dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state=checked]){background-color:var(--tern-primary)}@supports (color:color-mix(in lab, red, red)){.tern .tern\:dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state=checked]){background-color:color-mix(in oklab,var(--tern-primary)10%,transparent)}.tern.tern\:dark\:has-data-\[state\=checked\]\:bg-primary\/10:is(.dark *):has([data-state=checked]){background-color:color-mix(in oklab,var(--tern-primary)10%,transparent)}}.tern .tern\:dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--tern-destructive)}.tern.tern\:dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--tern-destructive)}@supports (color:color-mix(in lab, red, red)){.tern .tern\:dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--tern-destructive)40%,transparent)}.tern.tern\:dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--tern-destructive)40%,transparent)}}.tern .tern\:\[\&_p\]\:leading-relaxed p,.tern.tern\:\[\&_p\]\:leading-relaxed p{--tw-leading:var(--tern-leading-relaxed);line-height:var(--tern-leading-relaxed)}.tern .tern\:\[\.border-b\]\:pb-6.border-b,.tern.tern\:\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--tern-spacing)*6)}.tern .tern\:\[\.border-t\]\:pt-6.border-t,.tern.tern\:\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--tern-spacing)*6)}.tern .tern\:\[\&\>\*\]\:data-\[slot\=field\]\:p-4>[data-slot=field],.tern.tern\:\[\&\>\*\]\:data-\[slot\=field\]\:p-4>[data-slot=field]{padding:calc(var(--tern-spacing)*4)}.tern .tern\:\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group],.tern.tern\:\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group]{gap:calc(var(--tern-spacing)*4)}.tern .tern\:\[\&\>a\]\:underline>a,.tern.tern\:\[\&\>a\]\:underline>a{-webkit-text-decoration-line:underline;text-decoration-line:underline}.tern .tern\:\[\&\>a\]\:underline-offset-4>a,.tern.tern\:\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.tern .tern\:\[\&\>a\:hover\]\:text-primary>a:hover,.tern.tern\:\[\&\>a\:hover\]\:text-primary>a:hover{color:var(--tern-primary)}.tern .tern\:\[\&\>svg\]\:size-4>svg,.tern.tern\:\[\&\>svg\]\:size-4>svg{width:calc(var(--tern-spacing)*4);height:calc(var(--tern-spacing)*4)}.tern .tern\:\[\&\>svg\]\:translate-y-0\.5>svg,.tern.tern\:\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:calc(var(--tern-spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.tern .tern\:\[\&\>svg\]\:text-current>svg,.tern.tern\:\[\&\>svg\]\:text-current>svg{color:currentColor}.tern [data-variant=legend]+.tern\:\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:calc(var(--tern-spacing)*-1.5)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.tern{--tern-background:#fff;--tern-foreground:#0a0a0a;--tern-card:#fff;--tern-card-foreground:#0a0a0a;--tern-popover:#fff;--tern-popover-foreground:#0a0a0a;--tern-primary:#171717;--tern-primary-foreground:#fafafa;--tern-secondary:#f5f5f5;--tern-secondary-foreground:#171717;--tern-muted:#f5f5f5;--tern-muted-foreground:#737373;--tern-accent:#f5f5f5;--tern-accent-foreground:#171717;--tern-destructive:#e40014;--tern-destructive-foreground:#e40014;--tern-border:#e5e5e5;--tern-input:#e5e5e5;--tern-ring:#a1a1a1;--tern-chart-1:#f05100;--tern-chart-2:#009588;--tern-chart-3:#104e64;--tern-chart-4:#fcbb00;--tern-chart-5:#f99c00;--tern-radius:.625rem;--tern-sidebar:#fafafa;--tern-sidebar-foreground:#0a0a0a;--tern-sidebar-primary:#171717;--tern-sidebar-primary-foreground:#fafafa;--tern-sidebar-accent:#f5f5f5;--tern-sidebar-accent-foreground:#171717;--tern-sidebar-border:#e5e5e5;--tern-sidebar-ring:#a1a1a1}@supports (color:lab(0% 0 0)){.tern{--tern-background:lab(100% 0 0);--tern-foreground:lab(2.75381% 0 0);--tern-card:lab(100% 0 0);--tern-card-foreground:lab(2.75381% 0 0);--tern-popover:lab(100% 0 0);--tern-popover-foreground:lab(2.75381% 0 0);--tern-primary:lab(7.78201% -.0000149012 0);--tern-primary-foreground:lab(98.26% 0 0);--tern-secondary:lab(96.52% -.0000298023 .0000119209);--tern-secondary-foreground:lab(7.78201% -.0000149012 0);--tern-muted:lab(96.52% -.0000298023 .0000119209);--tern-muted-foreground:lab(48.496% 0 0);--tern-accent:lab(96.52% -.0000298023 .0000119209);--tern-accent-foreground:lab(7.78201% -.0000149012 0);--tern-destructive:lab(48.4493% 77.4328 61.5452);--tern-destructive-foreground:lab(48.4493% 77.4328 61.5452);--tern-border:lab(90.952% 0 -.0000119209);--tern-input:lab(90.952% 0 -.0000119209);--tern-ring:lab(66.128% -.0000298023 .0000119209);--tern-chart-1:lab(57.1026% 64.2584 89.8886);--tern-chart-2:lab(55.0223% -41.0774 -3.90277);--tern-chart-3:lab(30.372% -13.1853 -18.7887);--tern-chart-4:lab(80.1641% 16.6016 99.2089);--tern-chart-5:lab(72.7183% 31.8672 97.9407);--tern-sidebar:lab(98.26% 0 0);--tern-sidebar-foreground:lab(2.75381% 0 0);--tern-sidebar-primary:lab(7.78201% -.0000149012 0);--tern-sidebar-primary-foreground:lab(98.26% 0 0);--tern-sidebar-accent:lab(96.52% -.0000298023 .0000119209);--tern-sidebar-accent-foreground:lab(7.78201% -.0000149012 0);--tern-sidebar-border:lab(90.952% 0 -.0000119209);--tern-sidebar-ring:lab(66.128% -.0000298023 .0000119209)}}.tern .dark,.tern.dark,.dark .tern{--tern-background:#0a0a0a;--tern-foreground:#fafafa;--tern-card:#0a0a0a;--tern-card-foreground:#fafafa;--tern-popover:#0a0a0a;--tern-popover-foreground:#fafafa;--tern-primary:#fafafa;--tern-primary-foreground:#171717;--tern-secondary:#262626;--tern-secondary-foreground:#fafafa;--tern-muted:#262626;--tern-muted-foreground:#a1a1a1;--tern-accent:#262626;--tern-accent-foreground:#fafafa;--tern-destructive:#82181a;--tern-destructive-foreground:#fb2c36;--tern-border:#262626;--tern-input:#262626;--tern-ring:#525252;--tern-chart-1:#1447e6;--tern-chart-2:#00bb7f;--tern-chart-3:#f99c00;--tern-chart-4:#ac4bff;--tern-chart-5:#ff2357;--tern-sidebar:#171717;--tern-sidebar-foreground:#fafafa;--tern-sidebar-primary:#1447e6;--tern-sidebar-primary-foreground:#fafafa;--tern-sidebar-accent:#262626;--tern-sidebar-accent-foreground:#fafafa;--tern-sidebar-border:#262626;--tern-sidebar-ring:#525252}@supports (color:lab(0% 0 0)){.tern .dark,.tern.dark,.dark .tern{--tern-background:lab(2.75381% 0 0);--tern-foreground:lab(98.26% 0 0);--tern-card:lab(2.75381% 0 0);--tern-card-foreground:lab(98.26% 0 0);--tern-popover:lab(2.75381% 0 0);--tern-popover-foreground:lab(98.26% 0 0);--tern-primary:lab(98.26% 0 0);--tern-primary-foreground:lab(7.78201% -.0000149012 0);--tern-secondary:lab(15.204% 0 -.00000596046);--tern-secondary-foreground:lab(98.26% 0 0);--tern-muted:lab(15.204% 0 -.00000596046);--tern-muted-foreground:lab(66.128% -.0000298023 .0000119209);--tern-accent:lab(15.204% 0 -.00000596046);--tern-accent-foreground:lab(98.26% 0 0);--tern-destructive:lab(28.5139% 44.5539 29.0463);--tern-destructive-foreground:lab(55.4814% 75.0732 48.8528);--tern-border:lab(15.204% 0 -.00000596046);--tern-input:lab(15.204% 0 -.00000596046);--tern-ring:lab(34.924% 0 0);--tern-chart-1:lab(36.9089% 35.0961 -85.6872);--tern-chart-2:lab(66.9756% -58.27 19.5419);--tern-chart-3:lab(72.7183% 31.8672 97.9407);--tern-chart-4:lab(52.0183% 66.11 -78.2316);--tern-chart-5:lab(56.101% 79.4328 31.4532);--tern-sidebar:lab(7.78201% -.0000149012 0);--tern-sidebar-foreground:lab(98.26% 0 0);--tern-sidebar-primary:lab(36.9089% 35.0961 -85.6872);--tern-sidebar-primary-foreground:lab(98.26% 0 0);--tern-sidebar-accent:lab(15.204% 0 -.00000596046);--tern-sidebar-accent-foreground:lab(98.26% 0 0);--tern-sidebar-border:lab(15.204% 0 -.00000596046);--tern-sidebar-ring:lab(34.924% 0 0)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 transparent}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));-webkit-filter:blur(var(--tw-enter-blur,0));filter:blur(var(--tw-enter-blur,0))}}